body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-family: 'Roboto', sans-serif;
	color: #333333;
}

a {
	text-decoration: none;
}

a:hover {
	cursor: pointer;
}

.clear::after {
	display: block;
	content: '';
	clear: both;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.noselect:hover {
	cursor: default;
}

/* YLÄPALKKI */
header {
    width: 100%;
    min-height: 82px;
    max-width: 1520px;
    padding: 0 1em;
    margin: 0 auto 1px auto;
}

header a#logo {
	display: block;
	width: 100%;
	max-height: 82px;
	max-width: 240px;
	float: left;
}

header a#logo img {
	width: 100%;
	height: auto;
}

/* NAVIGAATIO */
#mobile_toggle {
	display: none;
}

nav {
	float: right;
	max-height: 100%;
}

nav ul {
	margin: 0;
	padding: 0;
	max-height: 100%;
	list-style: none;
}

nav ul li {
	float: left;
	background-repeat: no-repeat;
	background-position: right top;
	background-color: #ffffff;
}

nav ul li.has-subnavi ul {
	display: none;
	position: absolute;
	top: 82px;
	/*left: 0;
	width: 100%;*/
  left: auto;
	width: auto;
	background: #333333;
	box-sizing: border-box;
	z-index: 15;
}

nav ul li.has-subnavi:hover ul {
	display: block;
}

nav ul li.has-subnavi ul li:first-of-type {
	display: none;
}

nav ul li:first-of-type {
	width: 71px;
	margin-right: 47px;
	background: url('/code/assets/images/navi_home_active.png');
	background: url('/code/assets/images/navi_home_inactive.png');
	background-repeat: no-repeat;
	background-position: center top 38px;
}

nav ul li:first-of-type.active, nav ul li:first-of-type:hover {
	background: url('/code/assets/images/navi_home_active.png');
	background-repeat: no-repeat;
	background-position: center top 38px;
	background-color: #333333;
}

nav ul li.active, nav ul li:hover {
	background-color: #333333;
	color: #fff;
}

nav ul li a {
	position: relative;
	display: block;
	height: 44px;
	padding: 38px 2.188em 0 2.188em;
	font-family: 'Roboto', sans-serif;
	color: #333333;
	text-transform: uppercase;
}

nav ul li:first-of-type a {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

nav ul li.active a, nav ul li a:hover {
	color: #ffffff;
}

nav ul li.has-subnavi a {
	background: url('/code/assets/images/navi_nuoli_valkoinen.png');
	background: url('/code/assets/images/navi_nuoli.png');
	background-repeat: no-repeat;
	background-position: center bottom 12px;
}

nav ul li.has-subnavi:hover > a, nav ul li.has-subnavi li a:hover, nav ul li.active.has-subnavi > a {
	background: url('/code/assets/images/navi_nuoli_valkoinen.png');
	background-repeat: no-repeat;
	background-position: center bottom 12px;
	color: #fff;
}

nav ul li.subpage {
  float: none;
  display: inline-block;
  width: 100%;
  background: #333;
  text-align: center;
  box-sizing: border-box;
}

nav ul li.subpage a {
    display: block;
    /*height: 82px;
    line-height: 82px;*/
    
    height: auto;
    line-height: 1.2em;
    padding: 1em;
    display: block; 
    text-align: left;
    
    font-size: 1em;
    margin: 0;
    /*padding: 0;*/
    font-weight: 900;
    color: #808080;
    background: none !important;
}

nav ul li.subpage a:hover {
	color: #333333 !important;
	background: #808080 !important;
}

/*nav ul li.subpage:nth-of-type(2) {
    margin-left: 27.5%;
}*/

/* Muutamat hienosäädöt, joita emme halua vahingossakaan mobiilipuolella */
@media screen and (min-width: 960px) {
	nav > ul {
		display: block !important;
	}
	
	nav ul li:first-of-type a span {
		display: none;
	}
	
	/* Nämä kaksi seuraavaa luovat ns. ylimääräistä mustaa taustaa elementin ulkopuolelle (1px suuntaansa), jotta seuraavan tai edellisen elementin musta "sivuborder" ei vahingossakaan näkyisi. Sama myös aktiivisen navilinkin kohdalla. */
	
  /*
  nav ul li.active a::before, nav ul li:hover a::before {
		display: block;
		content: '';
		position: absolute;
		top: 0px;
    margin-right: -1px;
		width: 1px;
		height: 82px;
		background: #333333;
		z-index: 1;
	}
  */
    
	nav ul li ul li a::before, 
	nav ul li ul li a::after {
    display: none !important;
  }
	/*
	nav ul li.active a::after, nav ul li:hover a::after {
		display: block;
		content: '';
		position: absolute;
		top: 0px;
		right: -1px;
		width: 1px;
		height: 82px;
		background: #333333;
		z-index: 1;
	}
*/
	/* Nämä kaksi luovat oikean kokoisen "sivuborderin" elementeille, tehdään vaan joka toiseen elementtiin jotta paksuus pysyy oikeana (eli eivät mene vierekkäin yhteen) */
	nav ul li a::after {
		display: block;
		content: '';
		position: absolute;
		top: 27px;
		right: -1px;
		width: 1px;
		height: 41px;
		background: #333333;
		z-index: 1;
	}	
  nav ul li:hover a::after,
  nav ul li.active a::after {
		display: none;
	}
  /*
	nav ul li:nth-of-type(2n) a::after {
		display: block;
		content: '';
		position: absolute;
		top: 27px;
		right: -1px;
		width: 1px;
		height: 41px;
		background: #333333;
		z-index: 1;
	}
  */
	/* Otetaan pois "sivuborder" etusivu-kuvan jälkeisestä elementistä */
	nav ul li:nth-of-type(2) a::before {
		display: none;
	}

	/* Otetaan pois "sivuborder" viimeisesen elementin oikeasta puolesta */
	nav ul li:last-of-type a::after {
		display: none;
	}
}

/*Etusivun kaksi isoa kuvaa = front_hugeimages */
#front_hugeimages {
	position: relative;
}

.front_hugeimages_hover_container {
	position: relative;
	width: 50%;
	background: #000;
	float: left;
	box-sizing: border-box;
}

#front_hugeimages img {
	display: block;
	width: 100%;
	height: auto;
}

#front_hugeimages a {
	display: block;
	position: absolute;
	bottom: 2.375em;
	min-width: 14em;
	max-width: 23.438em;
	max-height: 6.250em;
	border: 1px solid #fff;
	padding: 1.500em 2.500em;
	z-index: 10;
}

#front_hugeimages a:hover {
	background: #333333;
}

#front_hugeimages a.left {
	left: 12em;
	text-align: left;
}

#front_hugeimages a.right {
	right: 12em;
	text-align: right;
}

#front_hugeimages a h2 {
	font-size: 0.875em;
	margin-top: 0;
	margin-bottom: 0.8em;
	text-transform: uppercase;
	font-weight: 300;
	color: #fff;
}

#front_hugeimages a p {
	font-size: 2.254em;
	margin: 0;
	text-transform: uppercase;
	color: #fff;
}

.front_hugeimages_hover {
	display: none;
}

#front_hugeimages a:hover + .front_hugeimages_hover, a#aitaus_link:hover + .front_hugeimages_hover {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #333333;
	opacity: 0.5;
}

#front_hugeimages h1 {
	display: block;
	max-width: 1100px;
	max-height: 180px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
  text-shadow: 0 0 0.1em #333;
	font-size: 6.625em;
	font-weight: 300;
	text-align: center;
	z-index: 2;
}

.copyright {
	position: absolute;
	color: #fff;
	font-size: 0.875em;
}

.copyright.bottomright {
	right: 2.500em;
	bottom: 2.500em;
}

/* Etusivun kolme "esittelykohtaa" */
#etusivu_esittely {
	width: 100%;
	max-width: 1100px;
	margin: 3.625em auto 6.000em auto;
}

#etusivu_esittely div {
	width: 33.3%;
	box-sizing: border-box;
	padding: 0 3em;
	text-align: center;
	float: left;
}

#etusivu_esittely h3 {
	color: #333333;
	font-size: 1.500em;
	font-weight: 300;
	text-transform: uppercase;
	margin: 1em 0;
}

#etusivu_esittely p {
	margin: 0;
	font-size: 1.125em;
	line-height: 1.5em;
	color: #808080;
}

/* Etusivun musta osio jossa linkki aitoihin */
#aitaus {
	position: relative;
	width: 100%;
}

#aitaus img {
	display: block;
	width: 100%;
	height: auto;
}

#aitaus_text {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	color: #fff;
	background: #333333;
	box-sizing: border-box;
	padding: 2em 12em;
	z-index: 9;
}

#aitaus_text p {
	font-size: 1.125em;
	display: inline-block;
}

#aitaus_text h4 {
	font-size: 4.063em;
	margin: 0;
	font-weight: 300;
	display: inline-block;
}

#aitaus_link {
    position: absolute;
    max-width: 7.361em;
    top: auto;
    right: 5.333em;
    bottom: 1em;
    max-height: 60%;
    width: 20em;
    margin: auto;
    padding: 1.111em;
    border: 1px solid #fff;
    font-size: 2.254em;
    color: #fff;
    text-align: right;
    box-sizing: border-box;
    z-index: 10;
}

#aitaus_link:hover {
	background: #fff;
	color: #333333;
}

/* Alasivujen header (missä lukee sivun nimi) = #otsikko */
section#otsikko {
	width: 100%;
	max-width: 1932px;
	margin: 0 auto;
	background: url('/code/assets/images/header_otsikko.jpg');
	background-repeat: no-repeat;
	background-position: left top;
}

section#otsikko h1 {
	font-size: 6.625em;
	color: #fff;
	text-align: center;
	font-weight: 300;
	margin: 0;
	padding: 0.25em 0 0.453em 0;
	text-transform: uppercase;
}

section#otsikko h1.smallheading {
	padding: 0 0 0.453em 0;
}

section#otsikko h2 {
	font-size: 2.402em;
	color: #fff;
	text-align: center;
	font-weight: 300;
	margin: 0;
	padding-top: 0.7em;
	text-transform: uppercase;
}

/* Pääsisältö (tekstit, tuotelistaukset, tuote) */
main {
    width: 100%;
    max-width: 1520px;
    padding: 1em;
	margin: 0 auto;
}

/* Tuotelistaus */
ul#list_tuotteet {
	display: block;
	width: 100%;
	max-width: 1416px;
	margin: 1em auto;
	list-style: none;
	padding: 0;
}

ul#list_tuotteet li {
	display: block;
	width: 25%;
	float: left;
	box-sizing: border-box;
}

ul#list_tuotteet img {
	max-width: 100%;
	height: auto;
    display: block;
    margin: 0 auto;
}

ul#list_tuotteet li a {
	display: block;
	width: 100%;
	background: #fff;
	text-align: center;
	padding: 1em;
	box-sizing: border-box;
}

ul#list_tuotteet li a:hover {
	background: #e6e6e6;
}

ul#list_tuotteet li a h3 {
	font-size: 1.500em;
	text-transform: uppercase;
	color: #333333;
	font-weight: 300;
	margin: 0.8em;
}

ul#list_tuotteet li a p {
	font-size: 1.125em;
	line-height: 1.5em;
	color: #808080;
	margin: 0.8em;
}

img#bottom_img {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
}

/* Tuotesivu */
#product_left {
	box-sizing: border-box;
	width: 40%;
	float: left;
	margin-top: 25px;
}

#product_left img {
	display: block;
	max-width: 90% !important;
	height: auto;
	margin: 0 auto 4em auto;
	box-sizing: border-box;
}

#product_right {
	box-sizing: border-box;
	width: 60%;
	float: right;
	margin-top: 25px;
}

#product_right p, #product_right li {
	font-size: 1.125em;
	line-height: 1.5em;
	color: #808080;
}

#product_right h1 {
	font-size: 3.125em;
	font-weight: 300;
	text-transform: uppercase;
	margin-top: 0;
	color: #333333;
}

#product_right h2 {
	font-size: 2.188em;
	font-weight: 300;
	text-transform: uppercase;
	color: #333333;
}

#product_right h3 {
	font-size: 1.5em;
	font-weight: 300;
	text-transform: uppercase;
	color: #333333;
}

#product_right h4 {
	font-size: 1.3em;
	font-weight: 300;
	text-transform: uppercase;
	color: #333333;
}

#product_right h5 {
	font-size: 1.1em;
	font-weight: 300;
	text-transform: uppercase;
	color: #333333;
}

#product_right ul {
	padding-left: 1.313em;
}

#product_right img, #product_right #colormap img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	margin: 2em;
}

#product_right #colormap img {
	margin: 2em 0;
}

#product_right #colormap {
    display: inline-block;
	margin-top: 2em;
}

#product_bottom {
	clear: both;
	width: 100%;
	float: none;
	background: #333333;
	box-sizing: border-box;
	margin-top: 2em;
	padding: 2em;
}

#product_bottom h2 {
	display: block;
	width: 100%;
	max-width: 1520px;
	margin: 0 auto;
	color: #fff;
	padding: 0 0 1.5em 0;
	font-weight: 300;
	text-transform: uppercase;
	font-size: 2.188em;
}

#product_bottom ul {
	margin: 0 auto 3.3em auto;
	padding: 0;
}

#product_bottom ul li {
	margin: 1em;
}

#product_bottom ul li img {
	
  max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
  
  /* LISÄYS 
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  */
}

	#product_bottom ul li a {
		display: flex;
    align-items: center;
    
    /* LISÄYS */
    overflow: hidden;
    position: relative;
    height: 190px;
	}

@media screen and (min-width: 960px) {
	#product_bottom ul {
		display: block;
		width: 100%;
		max-width: 1520px;
		margin: 0 auto 3.3em auto;
		padding: 0;
		list-style: none;
	}

	#product_bottom ul li a {
		display: flex;
    align-items: center;
    
    /* LISÄYS */
    overflow: hidden;
    position: relative;
    height: 190px;
	}

	#product_bottom ul li a:hover {
		background: #808080;
	}

	#product_bottom ul li {
		width: 24.5%;
		margin: 0 1em;
		/*margin: 0 0.25%;*/
		float: left;
		box-sizing: border-box;
	}
	
	/*#product_bottom ul li:first-of-type {
		margin-left: 0;
	}*/
}

#product_after {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1520px;
	margin: 0 auto;
	list-style: none;
	color: #fff;
}

#product_after h3 {
	font-size: 4.063em;
	font-weight: 300;
	text-transform: uppercase;
	margin: 0.1em 0;
}

#product_after h4 {
	font-size: 1.125em;
	margin: 0;
	font-weight: 300;
	text-transform: uppercase;
}

#product_after a {
	position: absolute;
	right: 0;
	top: 0;
	padding: 1em;
	height: 100%;
	border: 1px solid #fff;
	display: block;
	font-size: 2.254em;
	color: #fff;
	box-sizing: border-box;
}

#product_after a:hover {
	background: #fff;
	color: #333333;
}

.surface_holder {
	max-width: 23.25%;
	margin: 1%;
	float: left;
	text-align: center;
	box-sizing: border-box;
}

div.clear .surface_holder:first-of-type,
div.clear .surface_holder:nth-of-type(4n+1) {
	margin-left: 0;
}

@media screen and (max-width:800px) {
	.surface_holder {
		max-width: 48%;
		margin: 1%;
		float: left;
		text-align: center;
		box-sizing: border-box;
	}
	
	div.clear .surface_holder:first-of-type {
		margin-left: 1%;
	}
}

@media screen and (max-width:400px) {
	.surface_holder {
		max-width: 98%;
		margin: 1%;
		float: none;
		text-align: center;
		box-sizing: border-box;
	}
	
	div.clear .surface_holder:first-of-type {
		margin-left: 1%;
	}
}

.surface_holder a {
	display: block;
}



#product_right .surface_holder img.surface_img {
	max-width: 100%;
	height: auto;
	margin: 0;
}

#product_right .surface_holder img.surface_img:hover {
	opacity: 0.9;
}

/* Footer */
footer {
    width: 100%;
    max-width: 1520px;
    padding: 3.375em 2em;
    margin: 0 auto;
}

footer p {
	font-size: 1.125em;
	line-height: 1.5em;
	color: #808080;
}

#footer_top {
	width: 100%;
}

#footer_top img {
	max-width: 100%;
	height: auto;
}

#footer_left {
	width: 28%;
	margin-right: 5.3%;
	float: left;
}

#footer_yritys {
	display: inline-block;
	margin-top: 3.6em;
	padding: 0.920em;
	border: 1px solid #333333;
	font-size: 1.519em;
	background: #fff;
	color: #333333;
}

#footer_yritys:hover {
	background: #333333;
	color: #fff;
}

#footer_right {
	position: relative;
	width: 66.6%;
	float: left;
}

#footer_right p:last-of-type {
	margin-bottom: 0;
}

address {
	font-style: normal;
}

#wisniowski {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
}


main.contact, main.generic { padding: 2em; clear: both; width: 100%; float: left; }
main.contact .left,
main.generic .left,
main.contact .right,
main.generic .right { width: 50%; box-sizing: border-box; float: left; padding-bottom: 2em;  }
main img, main.generic img { max-width: 100%; box-sizing: border-box; margin: 2em; }
main.contact .map { clear: both; float: left; }

/* Lomakkeet */

label { padding: 0.5em 0em; float: left; clear: both; width: 100%; display: block; }
input, textarea { height: 2em; width: 95%; display: block; box-sizing: border-box; line-height: 1.8em; float: left; }
textarea { min-height: 100px; }

button {
    float: left;
    margin-top: 1em;
    display: inline-block;
    padding: 1em;
    border: 1px solid #333333;
    font-size: 1.2em;
    background: #fff;
    color: #333333;
}
button:hover {
    background: #333333;
    color: #fff;
}

/* Hienosäätöä (lähinnä fonttien tai tiettyjen elementtien koon säätöä) jos leveys menee tätä alemmas */
@media screen and (max-width: 1650px) {
	header, main {
		box-sizing: border-box;
	}
	
	#front_hugeimages h1 {
		max-height: 120px;
		font-size: 5em;
		top: 25%;
		left: 0;
		right: 0;
		bottom: auto;
		margin: 0 auto;
	}
	
	#front_hugeimages a {
		bottom: 3.8em;
		min-width: 0;
		max-width: 60%;
		box-sizing: border-box;
		width: 60%;
		max-height: 100%;
	}
	
	#front_hugeimages a.left {
		left: 5%;
		right: auto;
	}
	
	#front_hugeimages a.right {
		right: 5%;
		left: auto;
	}
	
	#product_after h3 {
		font-size: 3em;
	}
	
	#product_after a {
		font-size: 1.5em;
	}
	
	#aitaus_text {
		padding: 2em 4.938em;
	}
	
	#aitaus_text h4 {
		font-size: 3.063em;
		margin: 0;
	}
	
	#aitaus_link {
		right: 2.194em;
		bottom: 0.75em;
	}
	
	footer {
		box-sizing: border-box;
	}
}

/* Hienosäätöä (lähinnä fonttien tai tiettyjen elementtien koon säätöä) jos leveys menee tätä alemmas */
@media screen and (max-width: 1300px) {
	#front_hugeimages a {
		bottom: 3.8em;
		min-width: 0;
		max-width: 70%;
		box-sizing: border-box;
		width: 70%;
		max-height: 100%;
	}
	
	ul#list_tuotteet li a h3 {
		font-size: 1.2em;
	}
}

/* Hienosäätöä (lähinnä fonttien tai tiettyjen elementtien koon säätöä) jos leveys menee tätä alemmas */
@media screen and (max-width: 1200px) {
	nav ul li a {
		font-size: 0.8em;
		padding: 38px 1.5em 0 1.5em;
	}
	
	#front_hugeimages a {
		bottom: 3.8em;
		min-width: 0;
		max-width: 90%;
		box-sizing: border-box;
		width: 90%;
		max-height: 100%;
	}
	
	#front_hugeimages h1 {
		font-size: 4em;
		top: 15%;
	}
	
	#etusivu_esittely h3 {
		font-size: 1.200em;
	}
	
	#aitaus_text h4 {
		font-size: 2em;
		margin: 0;
	}
	
	#aitaus_text p {
		font-size: 0.8em;
		margin: 0;
	}
	
	#aitaus_link {
		font-size: 1.3em;
		bottom: 1.1em;
		right: 3.9em;
	}
	
	#product_after h3 {
		font-size: 2em;
	}
	
	#product_after a {
		font-size: 1.2em;
	}

	#footer_left {
		width: 45%;
		margin-right: 5%;
	}
	
	#footer_right {
		width: 50%;
	}
}



/* Tabletti ja alaspäin */
@media screen and (max-width: 960px) {
	/* Yläpalkki */
	header a#logo {
		width: 100%;
		float: none;
		margin: 0 auto;
	}
	
	/* Navigaatio */
	nav ul {
		display: none;
	}
	
	nav, nav ul {
		width: 100%;
		float: none;
		position: static !important;
	}
	
	nav > ul {
		margin-bottom: 1em;
	}
	
	#mobile_toggle {
		display: block;
		width: 100%;
		height: 40px;
		background: url('/code/assets/images/mobile_navigation_bg_black_small.png');
		background-repeat: no-repeat;
		background-position: center center;
		margin: 0 0 1em 0;
	}
	
	nav ul li, nav ul li:first-of-type, nav ul li.subpage {
		display: block;
		width: 100%;
		height: auto;
		float: none;
		margin-top: 0px;
		box-sizing: border-box;
		border-bottom: 1px solid #333333;
		background-image: none !important;
	}
	
	nav ul li a, nav ul li.subpage a {
		display: block;
		width: 100%;
		height: auto;
		line-height: normal;
		float: none;
		margin-top: 0px;
		padding: 15px 17px;
		font-size: 1.2em;
		background: #fff !important;
		color: #333333 !important;
		box-sizing: border-box;
		text-align: left;
		font-weight: normal;
	}

	nav ul li::before, nav ul li::after, nav ul li a::before, nav ul li a::after {
		display: none !important;
	}
	
	nav ul li.subpage:nth-of-type(2) {
		margin-left: 0;
	}
	
	nav ul li.has-subnavi > a:after {
		display: inline !important;
		content: ' »';
	}
	
	nav ul li a:hover, nav li.active a {
		background: #333333 !important;
		color: #fff !important;
	}
	
	nav ul li:first-of-type a {
		text-indent: 0;
		white-space: normal;
		overflow: visible;
	}
	
	/* Etusivun kaksi isoa kuvaa -> allekain mobiilissa. Myös otsikko tulostetaan kuvan yläpuolelle. */
	#front_hugeimages a p {
		font-size: 1.4em;
	}
	
	#front_hugeimages a.left, #front_hugeimages a.right {
		text-align: center;
		background-color:rgba(51, 51, 51, 0.85);
	}
	
	#front_hugeimages h1 {
		font-size: 8vw;
		position: initial;
		color: #000;
		text-shadow: none;
		margin: 1em 0;
	}

	.front_hugeimages_hover_container {
		position: relative;
		width: 100%;
		background: #000;
		float: none;
		box-sizing: border-box;
	}
	
	/* Etusivun kolme esittelylaatikkoa */
	#etusivu_esittely {
		margin: 2em auto;
	}

	#etusivu_esittely div {
		box-sizing: border-box;
		width: 100%;
		padding: 2em;
		float: none;
	}
	
	/* Etusivun aitaus-linkin osio */
	#aitaus_text {
		padding: 1em;
		position: relative;
		padding-bottom: 7em;
	}
	
	#aitaus_text h4 {
		font-size: 6.5vw;
		text-align: center;
		display: inherit;
	}
	
	#aitaus_text p {
		font-size: 1em;
		text-align: center;
		display: inherit;
		margin: 0;
	}
	
	#aitaus_link {
		left: 10%;
		text-align: center;
		width: 80%;
		max-width: 80%;
	}
	
	/* Pääosio */
	main {
		padding: 1em 2em;
	}
	
	/* Alasivujen otsikot */
	section#otsikko h1 {
		font-size: 8vw;
		position: initial;
		margin: 0 0 0.4em 0;
	}
	
	section#otsikko h2 {
		font-size: 6vw;
	}
	
	/* Tuotelistaus */
	ul#list_tuotteet li {
		box-sizing: border-box;
		width: 100%;
		padding: 1em;
		float: none;
	}
	
	/* Tuotesivu */
	#product_left, #product_right, #product_bottom {
		width: 100%;
		float: none;
	}
	
	#product_right h1 {
		font-size: 2em;
	}
	
	#product_right h2 {
		font-size: 1.8em;
	}
	
	#product_after h3 {
		font-size: 5.5vw;
		margin-bottom: 1em;
		text-align: center;
	}
	
	#product_bottom h4 {
		text-align: center;
		font-size: 3.2vw;
	}
	
	/* Otetaan pois slickin vuoksi
	#product_bottom ul li {
		width: 90%;
		margin: 0.5em auto;
		float: none;
		box-sizing: border-box;
	}*/
	
	#product_after a {
		position: initial;
		font-size: 1.5em;
	}
	
	/* Footer */
	footer {
		padding: 1em 2em;
	}

	#footer_left {
		width: 100%;
		margin: 0;
		float: none;
	}

	#footer_yritys {
		margin-top: 1em;
		display: inherit;
		text-align: center;
	}

	#footer_right {
		width: 100%;
		margin: 0;
		padding-bottom: 4em;
		float: none;
	}
}
/* Kännykkä ja alaspäin */
@media screen and (max-width: 600px) {
  main.contact .left,
  main.generic .left,
  main.contact .right,
  main.generic .right { 
    width: 100%; clear: both;
  }
  main.contact .map { clear: both; float: left; }

}