html {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
	/*width: 100%;
    height: 100%;*/
    margin: 0;
    padding: 0;

    font-size: 15px;
    font-family: tahoma, arial, sans-serif;
    text-align: center;
    line-height: 1.4;
    color: #444;

    background: #f6f6f2;
    border: none;
}

#container {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

header, nav, main, footer {
	
}

header {
	overflow: hidden;
	min-height: 100px;
	
	background-color: #efe;
}

nav {
	position: static;
	box-sizing: border-box;

	background-color: #fee;
}

main {
	text-align: left;
	background-color: #eef;
}
main > div {
	padding: 0 20px;
}

footer {
	background-color: #fef;
}

#sidepanel_left {
	position: static;
	top: auto;
	left: auto;
	width: 100%;

	background-color: #dff;
}

#sidepanel_right {
	position: static;
	top: auto;
	right: auto;
	width: 100%;

	background-color: #dff;
}


#veil {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;

	opacity: 0;
	background-color: rgba(0,0,0,0.6);
	z-index: 5;

	transition: opacity .2s ease;
}

#veil > #popup_wrap.window, #veil > #popup_wrap.full {
	position: relative;
	display: block;
	margin: 10% auto 0;
	padding: 0;
	overflow: auto;

	background-color: #fff;
}

#veil > #popup_wrap.window {
	width: 768px;
	height: 400px;
	max-width: 95%;
	max-height: 90%;
	margin: 10% auto 0;

	box-shadow: 0 0 10px rgba(0,0,0,.5);
}

#veil > #popup_wrap.full {
	width: 100%;
	height: 100%;
	margin: 0;
}


#veil #popup_close {
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;

	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}

#veil .window #popup_close {
	top: -25px;
	right: 0;

	color: #fff;
}

#veil .full #popup_close {
	top: 2%;
	right: 2%;

	color: #444;
}


#veil #popup_content {
	margin: 0;
	padding: 4% 2% 2%;
	overflow: auto;

	text-align: left;
}


/* Tags ------------------------------------------------------------------------------------------------------- */
a:link, a:visited, .js_link {
	color: #55a;
	cursor: pointer;
}
a:hover, a:active, .js_link:hover {
	text-decoration: none;
	color: #66d;
}

h1 { font-size: 1.5em; }
h2 { font-size: 1.3em; }
h3 { font-size: 1.1em; }

p { margin: 0; }

img	{
	max-width: 100%;
}


/* Navigation ------------------------------------------------------------------------------------------------------- */
nav ul {
	/*display: none;*/
	margin: 0;
	padding: 0;
	list-style: none;
}

nav ul li {
	float: left;
	display: block;
	position: relative;
}
nav ul li a:link, nav ul li a:visited {
	display: block;
	text-decoration: none;
}

nav ul li a > span {
	display: block;
	width: 100%;
	margin-left: 0;
}

nav ul li a .drop {
	display: inline-block;
	transition: transform .1s ease;
}
nav ul li:hover > a .drop { transform: rotate(90deg); }

nav ul li a:link, nav ul li a:visited, nav > ul li.nav_head {
	padding: 10px 20px;
	box-sizing: border-box;

	color: #444;
	background-color: #fff;
}
nav ul li a:hover, nav > ul li a:active {
	color: #fff;
	background-color: #444;
}

/*lv2*/
nav ul ul {
	/*display: none;*/
	position: relative;
	left: 0;
	top: 100%;
	width: 235px;
}
nav ul li:hover > ul { display: block; }

nav ul ul li {
	position: relative;
	width: 100%;
}

nav ul ul li a > span {
	width: 95%;
	margin-left: 5%;
}

/*lv3*/
nav ul ul ul {
	/*display: none;*/
	position: relative;
	top: 100%;
	left: 0;
	width: 235px;
}
nav ul ul > li:hover ul { display: block; }

nav ul ul ul li a > span {
	width: 90%;
	margin-left: 10%;
}


nav ul li ul li a:link, nav ul li ul li a:visited {
	padding: 10px 20px;

	color: #444;
	background-color: #fff;
}
nav ul li ul li a:hover, nav ul li ul li a:active {
	color: #fff;
	background-color: #444;
}



/* Tooltip ------------------------------------------------------------------------------------------------------- */
.pikkukuva .lisateksti {
	width: 100%;
	display: block;
	position: absolute;
	opacity: 0;
	bottom: 100%;
	pointer-events: none;

	box-sizing: border-box;
	padding: 4px;

	box-shadow: 0 0 5px rgba(0,0,0,.25);
	background-color: #fff;
	font-size: 12px;
	color: #444;

	transition: all .5s ease;
}
.pikkukuva:hover .lisateksti {
	opacity: 1;
	pointer-events: auto;
	-webkit-transform: translateY(-10px);
     -moz-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
       -o-transform: translateY(-10px);
          transform: translateY(-10px);
}

.kohdelista .pikkukuva {
	max-width: 200px;
	height: 235px;
}

.kohdelista .lisateksti {
	height: 80px;
	overflow: auto;

	position: relative;
	top: -5px;
	opacity: 1;
	pointer-events: auto;

	-webkit-transform: none !important;
     -moz-transform: none !important;
      -ms-transform: none !important;
       -o-transform: none !important;
          transform: none !important;
}


/* Main ------------------------------------------------------------------------------------------------------- */
main .text_content_wrap img.left, main .text_content_wrap img.right {
	max-width: 40%;
}
main .text_content_wrap .left {
	padding: 0 15px 15px 0;
}
main .text_content_wrap .right {
	padding: 0 0 15px 15px;
}


/* Form ------------------------------------------------------------------------------------------------------- */
input, select, textarea, .button {
	height: 35px;
	padding: 0 5px;
	box-sizing: border-box;

	border-radius: 0;

	-webkit-border-radius: 0px;
    -webkit-appearance: none;
}
textarea { height: 60px; }

.button {
	text-align: center;
	background-color: #eee;

	cursor: pointer;
}

.add_button {
	background-color: #efe;
}

.field_char_limit {
	display: none;
}


/* Rows ------------------------------------------------------------------------------------------------------- */
/*.rows > div {
	float: none;
}

.rows .row_2, .rows .row_3, .rows .row_4, .rows .row_5 {
	width: 100%;
	margin-right: 0;
	margin-bottom: 5px;
}

.rows input, .rows select, .rows textarea {
	width: 100%;
}*/


/* Color icon ------------------------------------------------------------------------------------------------------- */
span.color_icon {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 18px;
	height: 18px;

	border-radius: 10px;
	
	z-index: 1;
}

span.color_selected {
	box-shadow: 0 0 4px #444;
}

span.color_icon > span.color_fill {
	display: block;
	height: 18px;
	width: 18px;
}

span.color_icon > span.color_2_top, span.color_icon > span.color_2_bot {
	display: block;
	position: absolute;
	height: 18px;
	width: 18px;

	transform: rotate(45deg);
}

span.color_icon > span.color_2_top {
	left: -5px;
	top: -5px;
}


span.color_icon > span.color_2_bot {
	bottom: -6px;
	right: -6px;
}


/* General ------------------------------------------------------------------------------------------------------- */
.left {
	float: left;
}

.right {
	float: right;
}

.clear { clear: both; }

.padding_top_m {
	padding-top: 15px;
}

.mobb { display: block; }
.mobi { display: inline; }
.mobtc { display: table-cell; }
.fullb, .fulli, .fulltc { display: none; }


/* Media query ------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
	nav {
		position: relative;
	}
	nav label {
		display: none;
	}
	nav ul {
		position: static;
		left: 0;
		max-width: none;
	}
	nav ul li {
		width: auto;
	}
	nav ul li ul, nav ul ul ul {
		position: absolute;
	}
	/*lv2*/
	nav ul li ul {
		display: none;
	}
	/*lv3*/
	nav ul ul ul {
		display: none;
		top: 0;
		left: 235px;
	}
	nav ul ul li a > span, nav ul ul ul li a > span {
		width: 100%;
		margin-left: 0;
	}

	#mobile_nav_btn {
		display: none;
	}

}

@media screen and (min-width: 1200px) {
	#container {
		width: 1200px;
		margin: 0 auto;
	}
	
	#sidepanel_left {
		position: absolute;
		top: 0;
		left: -30px;
		width: 30px;
	}

	#sidepanel_right {
		position: absolute;
		top: 0;
		right: -30px;
		width: 30px;
	}

	h1 { font-size: 1.8em; }
	h2 { font-size: 1.4em; }
	h3 { font-size: 1.2em; }

	.mobb, .mobi, .mobtc { display: none; }
	.fullb { display: block; }
	.fulli { display: inline; }
	.fulltc { display: table-cell; }
}






/* Rows ------------------------------------------------------------------------------------------------------- */
.rows > div:not(.clear) {
	float: left;
	margin-bottom: 10px;
}

.rows > div.row_1 { width: 100%; }

.rows > div.row_2 { width: 49%; }
.rows > div.row_2_75 { width: 74%; }
.rows > div.row_2_25 { width: 24%; }
.rows > div.row_2,
.rows > div.row_2_75, .rows > div.row_2_25  { margin-right: 2%; }
.rows > div.row_2:nth-of-type(2n),
.rows > div.row_2_75:nth-of-type(2n), .rows > div.row_2_25:nth-of-type(2n) { margin-right: 0; }

.rows > div.row_3 {
	width: 32%;
	margin-right: 2%;
}
.rows > div.row_3:nth-of-type(3n) { margin-right: 0; }

.rows > div.row_4 {
	width: 24%;
	margin-right: 1.3333%;
}
.rows > div.row_4:nth-of-type(4n) { margin-right: 0; }

.rows > div.row_5 {
	width: 19%;
	margin-right: 1.25%;
}
.rows > div.row_5:nth-of-type(5n) { margin-right: 0; }


.rows input, .rows select:not(.autowidth), .rows textarea {
	width: 100%;
}
.rows input.radio {
	position: relative;
	height: 40px;
	width: 40px;
}
.rows input.radio:checked:after {
	content: 'X';
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.rows input.radio + span {
	position: relative;
	top: -15px;
	margin-right: 10px;
}

@media screen and (max-width: 768px) {
	.rows_resp > div {
		float: none;
	}
	.rows_resp > div.row_1,
	.rows_resp > div.row_2, .rows_resp > div.row_2_25, .rows_resp > div.row_2_75,
	.rows_resp > div.row_3,
	.rows_resp > div.row_4,
	.rows_resp > div.row_5 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
}