html,
body {
	padding: 0;
	margin: 0;
	font-size: 15px;
}
body {
	background-color: #fff;
	/*font-family: 'Roboto', Verdana, Tahoma, Arial, sans-serif;*/
	font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
	font-weight:400;
	color: #000;
	position: relative;
	-webkit-text-size-adjust: none;
}

nav:not(.mm-menu) {
	display: none;
}
NAV#menu {
	font-size:0.95rem !important;
	font-weight:400;
	padding-top:1.5rem;
}
NAV#menu A.txt_s {
	font-size:1rem;
}

:root {
	--mm-sidebar-expanded-size: 350px;
}

.mm-menu {
	--mm-listitem-size: 2.4rem;
	--mm-navbar-size: 0rem;
	--mm-color-background-emphasis:#0ea19a;
	--mm-color-text:#EEE;
	--mm-color-text-dimmed:#EEE;
}

NAV#menu li.valittu {
	background-color: #0ea19a;
}

NAV#menu li.vuokratuotteet {
	margin-top:0.9rem;
}
NAV#menu li.vuokratuotteet A {
	font-size: 0.8rem;
	font-weight: bold;
	letter-spacing: 0.03rem;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	body:not(.docready) {
		background-color:#000;
	}
	body:not(.docready) #page {
		width: calc(100% - 350px);
		-webkit-transform: translate3d(350px, 0, 0);
				transform: translate3d(350px, 0, 0);
		-webkit-transition: none;
		-o-transition: none;
		transition: none;
		background-color:#FFF;
	}
	body:not(.docready) NAV#menu UL,
	body:not(.docready) NAV#menu {
		background-color:#000 !important;
	}
}
		



.header {
	color: #fff;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	height: 8rem;
	padding: 0;
	background-color: #000;
}
.header.fixed {
	position: fixed;
	top: 0;
	left: 0;
}
.header a {
	display: block;
	width: 28px;
	height: 18px;
	padding: 11px;
	margin: 2px;
	position: absolute;
	top: 0;
	left: 0;
}
.header a:before,
.header a:after {
	content: '';
	display: block;
	background: #fff;
	height: 2px;
}
.header a span {
	background: #fff;
	display: block;
	height: 2px;
	margin: 6px 0;
}

/* hdr sisältö */
.hdr_s {
	position:absolute;
	left:3.5rem;
	top:0;

	display:grid;
	column-gap: 1rem;
	row-gap: 0rem;
	
}
.hdr_otsikkokuva {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	place-self: center;
}
.hdr_logo {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	place-self: right;
}

FORM#hakuHdr {
	grid-column: 1 / 2;
	grid-row: 2 / 2;
	
}
.hdr_kori {
	grid-column: 2 / 3;
	grid-row: 2 / 2;
}

.hdr_info,
.hdr_info2,
.hdr_info_oneline {
	display: none;
}


.hdr_s A:link, 
.hdr_s A:visited {
	color:#FFF;
	text-decoration:none;
}
.hdr_s A:hover, 
.hdr_s A:active {
	text-decoration:underline;
}

.hdr_otsikkokuva {
	padding-left:0rem;
}
.hdr_otsikkokuva IMG {
	height:1.6rem;
}

.hdr_logo {
	padding-top:0.3rem;
}
.hdr_logo IMG {
	height:3rem;
}
.hdr_logo A {
	
}

FORM#hakuHdr {
	
	
}
FORM#hakuHdr INPUT[type=text] {
	font-size: 0.8rem;
	padding:0.3rem 0.5rem;
	width:8rem !important;
}
FORM#hakuHdr INPUT[type=submit] {
	padding:0.2rem 0.3rem;
	border-radius: 0.15rem;
	margin-left:0.1rem;
	margin-top:1rem;
	font-size:0.8rem;

}


.hdr_kori {
	height:1.8rem;	
	padding:0.35rem 0.5rem 0 0.4rem;
	border-radius: 0.3rem;
	background-color: #008000;
	margin-top: 0.8rem;
}
.hdr_kori A {
	font-size:0.8rem;

}
.hdr_kori A:hover {
	text-decoration: none;
}
.hdr_kori IMG {
	height:18px;
	float:left;
	margin-top: 0.15rem;
}
.hdr_yht {
	background-color: black;
	margin-left:1rem;
	margin-top:0.7rem;
	text-align: left;
}
.hdr_yht A.phone {
	margin-right: 0.5rem;
}




.clear {
	clear:both;
}

.main-img IMG {
	width:100%;
	height:auto;
}

/* SISÄLTÖ */

#s {
	position:relative;
	text-align:left;
	padding:0.8rem 0.8rem 1.2rem 0.8rem;
	background-color: #FFF;
	max-width: 80rem;
	font-weight: normal;
}



#s H1,
#s H2,
#s H3, 
#s H4,
#s .f2 {
	/*font-family: 'Playfair Display', serif;*/
	font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
}
#s H1,
#s H2,
#s H3,
#s H4 {
	color:#111;
	margin:0;
	padding:0;
	line-height:normal;
	font-weight: 600;
	letter-spacing:normal;

}
#s H1 {
	font-size: 1.3rem;
}
#s H2 {
	font-size: 1.2rem;
	margin-top:3rem;
	margin-bottom:0;
}
#s H3,
#s H4 {
	font-size:1.1rem;
}
#s P, 
#s TD, 
#s TH, 
#s LI, 
#s DIV {
	font-size:1rem;
	font-weight: 300;
	color:#000;
	line-height:1.2rem;
	text-align: left;
}
#s STRONG,
#s B {
	font-weight: 700;
}
#s A:link, 
#s A:visited {
	color:#0ea19a;
	color:#037e78;
	text-decoration:underline;
}
#s A.alleviivattu,
#s A:hover, 
#s A:active {
	text-decoration:none !important;
}

#s OL,
#s UL  {
	margin:0.2rem 0 0.5rem 0;
	padding:0 0 0 1rem;
	overflow: auto;
}
#s UL {
	list-style-type: square;
}
#s LI {
	margin: 0.3rem 0 0 0.4rem;
	font-size: 0.9rem;
}
#s UL.valja LI {
	margin: 1rem 0 0 0.4rem;
}
#s INPUT {
	padding:0.8rem;
}
#s INPUT[type=text],
#s INPUT[type=email] {
	width:90%;
	max-width:40rem;
	padding:0.8rem;
	font-size:1rem;
	background-color: #FFF;
}
.input_short {
	max-width:18rem !important;
}
.input_medium {
	max-width:30rem !important;
}
#s TEXTAREA {
	width:90%;
	max-width:40rem;
	height:12rem;
	padding:0.8rem;
	font-size:1rem;
	/*font-family: 'Roboto', Verdana, Tahoma, Arial, sans-serif;*/
	font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
}

#s IMG.kat_full {
	width:100%;
	height:auto;
}
.v {
	text-align: left !important;
}
.c {
	text-align: center !important;
}
.o {
	text-align: right !important;
}
.m_t { margin-top:1rem; }
.m_b { margin-bottom:1rem; }
.m_no { margin: 0 !important; }

.hotpink {
	color:hotpink !important;
}
.huomiolaatikko {
	border:0.2rem solid green;
	border-radius: 0.5rem;
	line-height: normal !important;
	max-width: 50rem;
}
.huomiolaatikko DIV {
	font-size:1rem !important;
	color:#FFF !important;
	background-color: green;
	padding:0.8rem;
	font-weight: bold !important;
	line-height: normal !important;
}
.huomiolaatikko P {
	font-size:1rem !important;
	padding:1rem;
	margin:0;
	line-height: normal !important;
	display: block;
}
.huomiolaatikko_error {
	border-color: #F00;
}
.huomiolaatikko_error DIV {
	background-color: #F00;
}
.huomiolaatikko_orange {
	border-color: #ec9a00;
}
.huomiolaatikko_orange DIV {
	background-color: #ec9a00;
	color:#FFF !important;
	letter-spacing: 0.02rem !important;
	text-transform: uppercase;
}

.viesti {
	margin:1rem 0 2rem 0;
	border:0.5rem solid;
	border-radius: 1.2rem;
	padding:1.5rem;
	font-size:1.2rem !important;
	max-width:60rem;
}
.positiivinen {
	border-color:green;
	background-color: #FFF !important;
	color:green !important;
}
.negatiivinen {
	border-color:red;
	background-color: #FFF;
	color:#F00 !important;
}
.viesti_pieni {
	border:0.15rem solid !important;
	margin:1rem 0 !important;
	border-radius:0.5rem !important; 
	padding:0.5rem !important; 
	font-size:0.9rem !important;
	font-weight: bold !important;
	max-width: 40rem !important;
}

DIV.kuvitus_v,
DIV.kuvitus_o {
	width:100%;
	margin:1rem 0;
}
DIV.kuvitus_v IMG,
DIV.kuvitus_o IMG {
	width:100%;
	height:auto;
}
DIV.kuvitus_v DIV,
DIV.kuvitus_o DIV {
	padding:0.2rem 0.4rem;
	font-size:0.85rem !important;
	font-style: italic !important;
}

.footnote {
	font-size:0.8rem !important;
	color:#555;
}
.txt_pieni {
	font-size:0.9rem !important;
	line-height: normal !important;
}
.txt_huomio {
	color:#F00 !important;
}

.table-viivoitettu {
	border-top:1px solid #DDD;
	border-left:1px solid #DDD;
}
.table-viivoitettu TH,
.table-viivoitettu TD {
	border-right:1px solid #DDD;
	border-bottom:1px solid #DDD;
	padding:0.4rem 0.5rem;
}
.table-viivoitettu TH {
	font-weight: bold !important;
	
}







/* kategoriat */
#s H2.tl_h2,
#s H3.tl_h3 {
	display: block;
	font-size: 1.3rem;
	color:#000;
	background-color: #FFF;
	text-align: left;
	padding:10rem 0 0 0;
	margin:0;
}
#s H2.tl_h2:first-of-type {
	padding-top:4rem;
}
#s H3.tl_h3 {
	font-size:1.1rem;
	padding-top:6rem;
	padding-bottom:0rem;
	margin:0 !important;
}
#s H3.tl_h3:first-of-type {
	padding-top:4rem;
}
.tl {
	display: grid;
  	grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  	grid-column-gap: 3rem;
	grid-row-gap: 3rem;
	justify-content: start;
	margin-top:2rem;
	margin-bottom:2rem;
	padding-top:3rem;
}
.tl .t {
	display:flex;
	flex-direction: column;
	align-items: flex-start;
}

.tl .t .k {
	height:10rem;
	display: flex;
	align-items:flex-end;
  	justify-content:left;
	position:relative;
}


.tl .t IMG {
	max-width:9rem;
	max-height:9rem;
	width:auto;
	height:auto;
}
.tl .t .txt {
	font-size:0.9rem !important;
	line-height: 1.2rem !important;

}
.tl .t .txt A {
	font-size:1rem !important;
	font-weight: bold;
	color:#000 !important;
	display: block;
	margin:0 0 0.5rem 0;
	text-decoration:none !important;
}
.tl .t .txt DIV FORM,
.tl .t .txt DIV FORM INPUT {
	border:none;
	background-color: #FFF;
	display: inline;
}
.tl .t .txt DIV FORM INPUT {
	text-decoration: none;
	color:#777;
	text-decoration: underline;
	font-size:0.75rem;
}
.tl .t .txt DIV FORM INPUT:hover {
	text-decoration: none;
}
.uutuus {
	color:#FFF !important;
	font-weight: bold !important;
	background-color: #008000;
	font-size: 0.8rem !important;
	padding:0.3rem 0.2rem;
	border-radius: 0.3rem;
	margin:-0.2rem 0 0.8rem 0 !important;
	text-align: center !important;
	letter-spacing: 0.02rem;
}


DIV.varikoodi {
	float:left; 
	margin-right:0.5rem !important;
	margin-bottom:0.2rem !important;
	border:1px solid #999; 
	border-radius:0.2rem; 
	width:1rem; 
	height:1rem;

}

/* lomake */
FORM.t {
	margin:0.4rem 0 0 0;
}
FORM.t DIV {
	display: flex;
	flex-flow: row;
	align-items:flex-start;
}
FORM.t SELECT {
	display:block;
	max-width:9.5rem !important;
	border: 1px solid #BBB;
	padding:0.4rem 0.5rem;
	margin:0 0 0.2rem 0;
	background-color: #F2F2F2;
	font-size: 0.9rem;
	color:#333;
}

FORM.t INPUT[type="number"] {
	width:4rem;
	display: inline;
	padding:0.5rem 0 0.5rem 0.3rem !important;
	margin: 0.3rem 0.8rem 0 0;
	font-size: 0.9rem;
	border: 1px solid #CCC;
	border-radius: 0.1rem;
	text-align: center;
	background-color: #F2F2F2;

}
FORM.t INPUT[type="submit"] {
	width:auto !important;
	height:auto !important;
	display: inline;
	margin-top:0.4rem;
	padding:0.4rem 0.7rem !important;
	font-size: 0.8rem !important;
	font-weight: normal;
	border:0.08rem solid #BBB;
	border-radius: 0.2rem;
	color:#333;
}


/* muropolku */
NAV.breadcrumb {
	display: block;
	margin:0;
	padding:0 0 1rem 0;
	/*border:1px solid red;*/
}
.breadcrumb ul {
    padding:0 !important;
	margin:0;
}
.breadcrumb ul li {
	list-style: none;
	display: inline;
	margin:0 !important;
	padding:0 !important;
	line-height: normal !important;
}
.breadcrumb li:first-child {
	margin-left:0 !important;
}
.breadcrumb li,
.breadcrumb li a {
	font-size: 0.85rem !important;
	color:#555 !important;
}
.breadcrumb li a {
	text-decoration: none !important;
}
.breadcrumb li a:hover {
	text-decoration: underline !important;
}
.breadcrumb li:not(:last-child)::after {
	content: "»";
	/* content: "→"; */
	margin:0 0.4rem;
	font-size: 1rem;
}



#main-content {
	width:100%;
	background-color:#FFF;
	min-height: 40rem;

}

.es_nostot {
	width:100%;
}
.es_n {
	text-align: center !important;
	margin-bottom:2rem;
}
.es_n DIV {
	margin-bottom:0.5rem;
}
.es_n H2 {
	margin:0 !important;
}
.es_n H2 A {
	text-decoration: none !important;
}
.es_n P {
	display: block;
	text-align: center !important;
	margin:0.5rem 0 0 0 !important;
}
.es_n IMG {
	width:100%;
	height:auto;
}

/* Tuotesivu */
.tuotesivu H1 {
	padding:0 0 2rem 0 !important;
}

.tflex {
	display: flex;
	flex-flow: column nowrap;
}
.tuotesivu .tuotekuva {
	order:1;
}
.tuotesivu .tuoteteksti {
	order:2;
}




.tuotesivu .tuotekuva {
	text-align: center !important;

}
.tuotesivu .tuotekuva IMG.paakuva {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height:30rem;
	margin:0;
}
.tuotesivu .ltk {
	text-align: center !important;
	margin-top:1rem;
}
.tuotesivu .ltk IMG {
	max-height:2.5rem;
	margin:0.5rem;
	border:0.2rem solid #FFF;
	width:auto;
}
.tuotesivu .ltk IMG:hover {
	border-color: #0ea19a;
	border-color: #fff;
}


.tuotesivu .tuoteteksti {
	background-color: #fff;
}

.tuotesivu .korialue {
	clear: both;
	margin:2rem 0;
	padding:0.8rem;
	background-color:#87cfcc;
	border-radius:1rem;
	font-size:0.8rem;
}
.tuotesivu .korialue form#kori H2,
.tuotesivu .korialue .hinta H3 {
	margin:0 0 0.4rem 0 !important;
	font-size:1rem;
	color:#000 !important;
}

/*.hinnastoalue {
	max-height:17rem; 
	overflow-x: hidden; 
	overflow-y: auto;
}*/

.tuotesivu .hinta {
	background-color: #FFF;
	margin-top:2rem;
	padding:0.8rem;
	border-radius: 0.3rem;
}
.tuotesivu .korialue .footnote {
	margin:1.5rem 0.5rem 0 0.5rem;
	line-height: 1.05rem !important;
}
.tuotesivu FORM#kori {
	display: block;
}
.tuotesivu FORM#kori SELECT{
	padding:0.4rem 0.6rem;
	margin:0.5rem 0 0.5rem 0;
	font-size:0.9rem;
	display: block;
	width: 100%;
	background-color: #FFF;
}

.tuotesivu FORM#kori INPUT[type=number] {
	width:4rem;
	font-size:1rem;
	text-align: center;
	padding:0.5rem 0.3rem;
	background-color: #FFF;
}
.tuotesivu FORM#kori INPUT[type=submit] {
	padding:0.4rem 0.8rem;
	font-size:0.8rem;
	margin-left:1rem;
	background-color: #FFF;
	font-weight: bold;
}



.lk {
	margin-bottom:5rem;
}
.lk IMG {
	width:100%;
	height:auto;
	margin:0;
	padding:0;
}
.lk P {
	margin:0.3rem 0 0 0 !important;
	padding:0 !important;
}


.galleriakuvat {
	clear:both;
	display: grid;
    
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    grid-column-gap: 1rem;
   
}
.gk P {
	font-size: 0.9rem !important;
}
.gk DIV.gkuva {
	height:12rem;
	display: flex;
  	align-items:end;
	
}
.gk IMG {
	max-height: 10rem;
    max-width: 12rem;
    width:auto;
	height:auto;
}
.gk DIV.kuvateksti {
	padding:0 0.2rem 0 0.2rem;
    font-size:0.9rem !important;
}



.kuvateksti_tuotelinkkaukset {
	margin:0.8rem 0 0 0 !important;
	font-size: 0.9rem !important;
	line-height: 1.6rem !important;
}
.hintataulukko {
	margin-top:0.5rem;
	width:100%;
	max-width: 40rem;
}
.hintasarake {
	min-width:4rem;
	max-width:5rem;
}
.hintataulukko TD {
	font-size: 0.9rem !important;
}
.hintataulukko TH {
	text-align: right;
	font-size: 0.8rem !important;
}

.additional_products {
	margin-top:2rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  	grid-column-gap: 1rem;
	grid-row-gap: 2rem;
	justify-content: end;
}
.add_prod {
	align-self: flex-end;
}
.add_prod DIV {
	font-size:0.9rem !important;
	min-height: 4rem;
}
.add_prod IMG {
	max-height: 7rem;
	max-width:10rem;
	height:auto;
	width:auto;
}
.add_prod DIV {
	margin-top:1rem;
}



FORM.korimuokkaus INPUT[type=number] {
	padding:1rem 0 1rem 0;
	font-size:1rem;
	width:5rem;
	text-align: center;
}
FORM.korimuokkaus INPUT[type=submit] {
	padding:0.6rem 1rem;
	font-size:1rem;
	text-align: center;
	margin-top:1rem;
}





.tp_polku {
	float:left;
	margin:0 0 2rem 0;
	padding:0;
}
.tp_polku UL {
	margin:0 !important;
	padding:0 !important;
}
.tp_polku UL LI {
	/*display:inline;*/
	list-style:none;
	padding:0 !important;
	margin:0 0 0.2rem 0 !important;
}
.tp_polku UL LI A,
.tp_polku UL LI SPAN {
	padding:0;
	margin:0;
	font-size:0.9rem;
}
INPUT.kori_eteenpain {
	padding:0.6rem 0.8rem; 
	border-radius: 0.3rem;
	border:0.3rem solid #0ea19a;
	font-size:1rem; 
	background-color:#0ea19a; 
	color:#FFF;
	text-decoration: underline;
}
INPUT.kori_eteenpain:HOVER {
	background-color:#0ea19a; 
	color:#FFF;
	border-color:#000;
	text-decoration: none;
}
UL.tp_nav LI {
	border:0.1rem solid #FFF; 
	border-left:0.4rem solid #FFF; 
	padding:0.1rem 0.4rem !important;
}
UL.tp_nav LI.act {
	border-color:#afafaf; 
}
UL.tp_nav LI SPAN {
	float:right;
	font-size:0.8rem;
	padding-left:1rem;
}
.tp_tuotetaulukko TH {
	padding:1rem 0.5rem;
	color:#000 !important;
}
.tp_tuotetaulukko TD {
	padding:0.8rem 0.8rem;
	border-top:1px solid #BBB;
}
.tp_tuotetaulukko A {
	text-decoration: none !important;
}
.tp_tuotetaulukko A:hover {
	text-decoration: underline !important;
}

.tp_k_valintalaatikko {
	padding:0.5rem; 
	border-radius:0.4rem; 
	margin:0 0.3rem 1rem 0;
}
.tp_k_valintalaatikko_vihrea {
	background-color:#c0dfc0;
}
.tp_k_valintalaatikko_oranssi {
	background-color:#e4bc9e;
}
.himmea {
	opacity:0.6;
}

.form_input {
	margin:2rem 0;
}
DIV.tp_yv_muokkauslinkki {
	padding:0.2rem 0rem;
}


.tp2_container_alku,
.tp2_container_loppu {
	background-color: #FFF;
	padding:0 !important;
	border:0.2rem solid #0ea19a;
	border-radius: 0.5rem;
	margin-top:1rem;
}
.tp2_container_alku {
	margin-bottom:2rem !important;
	
}
.tp2_container_alku H3,
.tp2_container_loppu H3 {
	color:#fff !important;
	background-color: #0ea19a;
	padding:1rem 0.8rem !important;
	font-size:1.3rem !important;
}
.tp2_content {
	background-color: #fff;
	padding:0.2rem;
}


#yhteydenottolomake {
	border:0.2rem solid #0ea19a;
	border-radius:0.5rem;
	padding:1rem;
	background-color: #e0f3f2;
}
#yhteydenottolomake INPUT[type=text],
#yhteydenottolomake INPUT[type=email] {
	max-width:30rem !important;
}


/* alatunniste */
#s FOOTER {
	clear:both;
	background-color:#FFF;
	font-size: 0.85rem;
	margin:0;
	padding:8rem 0rem 1rem 0rem;
}
#s FOOTER div.f {
	display: grid;
  	grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  	grid-gap: 1rem;
}
#s FOOTER H3 {
	font-weight: bold;
	font-size:0.85rem;
	color:#444;
	letter-spacing: 0.03rem;
	margin:2rem 0 0.2rem 0;
	padding:0;
	line-height:normal;
}
#s FOOTER UL {
	margin:0;
	padding:0;
	list-style-type: none;
}
#s FOOTER LI {
	margin:0.8rem 0 0 0 !important;
	font-size: 0.85rem !important;
}
#s FOOTER LI:first-child {
	margin-top:0;
}
#s FOOTER P {
	margin:0 0 1rem 0;
	color:#333;
	font-size: 0.85rem !important;
	line-height: 1.4rem !important;
	
}
#s FOOTER LI A {
	font-size: 0.85rem !important;
	letter-spacing: 0.02rem;
	color:#007e77;
}
#s FOOTER A:link,
#s FOOTER A:visited {
	text-decoration: underline;
}
#s FOOTER A:hover,
#s FOOTER A:active {
	text-decoration: none;
}

#s FOOTER .bottom {
	margin:3rem 0;
}
#s FOOTER .bottom P {
	line-height: 1.2rem !important;
}