.div {	border:1px red solid; 	}

body {	background-image:url(kuvat/taustakuva.jpg);  background-position:50% 0;  background-repeat:repeat-y;  background-size:1920px;  background-attachment:fixed;   
	margin:0;  color:rgb(0,0,0);  word-spacing:0.1em;  letter-spacing:0.07em;  
	font-family: Arial, Helvetica, sans-serif;   }
td { 	padding:0;  vertical-align:top;  }
table { 	border-collapse:collapse;  empty-cells:show;}
img {	border:0;  display:block; }
* {	box-sizing:border-box; 	}

.valikko .osoitetiedot {	font-family: 'Montserrat', sans-serif; 	}
.osoite .leipateksti {	font-family: 'Nunito Sans', sans-serif; 	}
.sloganit .huudahdukset  {	font-family: 'EB Garamond', serif; 	}
.taustakuva {		background-image:url(kuvat/taustakuva.jpg);  background-position:50% 0;  background-repeat:no-repeat;  background-size:1920px;  background-attachment:fixed;   	}
.liukuvari {		background:linear-gradient(90deg, rgba(255,255,255,  0.2) ,  rgba(255,255,255,  1) 20% , rgba(255,255,255,  1) 80% , rgba(255,255,255,  0.2)  );  }

.punavari {	background-color:hsl(0,100%,39%);	color:hsl(0,100%,39%); 	}


/*    runko    ..............................................................................................................................        */

.testamentti {	padding:1em 3%;  margin:55px 5%;  width:90%;  border:12px hsl(0,0%,0%) solid;  text-align:center;  font-size:122%;  line-height:155%;  font-family: 'Nunito Sans', sans-serif;  }
.sivu {		background-color:rgba(255,255,255, 0.1);  width:100%;  max-width:1920px;  margin:0 auto;  display:flex; 	}
.pilarirunko {	width:calc(100% - 300px);  	}
.aluevakio {	width:100%;  max-width:1222px;  margin-left:auto;  margin-right:auto;  padding: 0 7%; 	}
.pilarilinkki {	width:300px;  background-color:rgba(0,0,0, 0.75);  padding: 0 0 44px 0; }

.aluelevee {	width:100%;  max-width:1666px;  margin-left:auto;  margin-right:auto;  padding:0 2%; 	}

.ylaslogan {	padding:15px 3% 0 3%;  margin:0;  font-size:122%;  line-height:155%;  font-family: 'EB Garamond', serif; 	}
.alaslogan {	padding:44px 3% 0 3%;  text-align:center;  font-size:133%;  line-height:155%;  color:rgb(222,22,22);  font-style:italic; font-family: 'EB Garamond', serif; 	}



/*    logo    ..............................................................................................................................        */

.logolohko { 	width:100%;  background-color:hsl(0,100%,39%);  display:table;  margin: 44px 0 0 0;      }
.logokuva { 	width:80%;  max-width:333px;  margin:33px auto;  	  }

.kuvakeyksi {	width:111px;  margin:44px auto 0 auto; 	}
.kuvakerivi {	width:100%;  margin: 55px auto 0 auto;  text-align:center; 	}
.kuvake {		width:111px;  margin:0 22px;  display:inline; 	}



/*    tekstit    ..............................................................................................................................        */

h1 {		padding:66px 0 0 0;  font-size:222%;  text-align:center;  font-weight:normal;  font-family: 'Montserrat', sans-serif;    }
.tyonulkopuolelta {	padding:33px 0; text-align:left; 	}
.ingressi {	padding:44px 0 44px 0;  margin:0;  font-size:122%;  text-align:center; color:rgb(222,22,22);  font-weight:normal;  line-height:155%;  font-family: 'Nunito Sans', sans-serif;   }
.ingressi2 {	padding-bottom:11px;  color:rgb(0,0,0);  font-size:133%; text-align:center;  font-weight:normal;   }
.ingressi3 {	padding-top:0; margin-top:-22px;    }
.ingressi4 {	padding:44px 0 44px 0;  margin:0;  font-size:144%;  text-align:center; color:rgb(222,22,22);  font-weight:normal;  line-height:155%;  font-family: 'Nunito Sans', sans-serif;   }
h2 {		padding:44px 0 11px 0; margin:22px 0 22px 0;  font-size:145%;  font-weight:normal;  text-transform:uppercase;   font-family: 'Montserrat', sans-serif;    }
.boxiotsikko {	padding:44px 0% 11px 0%;  margin:0;  font-size:144%;  text-transform:uppercase;   font-family: 'Montserrat', sans-serif;    }

h3 {		padding:44px 0 0 0;   margin:22px 0 22px 0;  font-size:118%;  font-family: 'Montserrat', sans-serif;  }
h4 {		font-style:italic; padding:15px 0 0 0;  margin:0;  font-size:107%;  font-weight:normal; line-height:155%;  font-family: 'Nunito Sans', sans-serif; }
p {		padding:15px 0 0 0;  margin:0;  font-size:105%;  line-height:155%;  font-family: 'Nunito Sans', sans-serif;  }
.pampula {	padding:0px 0% 0px 7%;  margin:11px 0 0 0%; font-size:105%;  background-image:url(kuvat/pallomusta.png);  background-size:0.4em;  background-position: 0 0.56em;  background-repeat: no-repeat;  line-height:155%;  font-family: 'Nunito Sans', sans-serif;  }
.nuoli  {		padding:0px 0% 0px 9%;  margin:22px 0 0 0%; font-size:122%;  background-image:url(kuvat/nuoli.png);  background-size:33px;  background-position: 0 6px;  background-repeat: no-repeat;  line-height:155%;  font-family: 'Nunito Sans', sans-serif;  }
.nuoliylin {	margin-top:33px;	}

.tekstierotin {	width:222px; margin: 55px auto 22px auto; 	}
.tekstierotinreuna{	width:188px;  padding-right:55px;   margin: 33px auto 19px auto; 	}

.palstaslogan {	padding:0px 0 22px 0;  margin:0;  font-size:133%;  text-align:center;  }

.kelluvateksti {	padding:15px 22px;  margin:15px -5% 15px 3%;  width:333px;  font-size:111%;  line-height:155%;  float:right; font-family: 'Nunito Sans', sans-serif; 
		background-color:hsl(0,0%,100%); border-width: 0 0 0 12px;  border-color:hsl(0,0%,77%);  border-style:solid;  border-radius:12px 0 0 12px; 	}
.kursiivi {	font-style:italic;  font-family: 'EB Garamond', serif; 	}

.reunahuomautus {	padding:22px 22px;  margin:44em auto 0 auto; width:90%;  font-size:88%;  border:1px rgb(222,222,222) dotted; color:rgb(244,244,244);    }
.reunahuomautus p {		padding:11px 0 0 0;  margin:0;  line-height:188%;    }
.reunahuomautus .pampula {	padding:0px 0 0px 7%;  margin:11px 0 0 0;   background-image:url(kuvat/pallo188.png);    }


.osoiterivi {	background-color:hsl(0,0%,100%);  padding:33px 3%;  margin:66px 0 0 0;  text-align:center;  line-height:155%;   }
.osoiteriviteksti {	font-size:105%;  padding-right:33px; white-space:nowrap;  display:inline;  font-family: 'Nunito Sans', sans-serif;  }

address {		font-style:normal; padding:33px 3% 44px 9%;  margin:55px auto; width:100%; max-width:33em; border-radius:22px; 
		background-color:rgba(255,255,255, 0.5);  font-family: 'Nunito Sans', sans-serif;  }
.osoiteotsikko  {	padding:15px 0 11px 0;  margin:0;  font-size:122%;  line-height:155%;     }
.osoiteteksti  {	padding:5px 0 0 0;  margin:0;  font-size:105%;  line-height:155%;     }
.osoiterako  {	width:11em;  height:1px;  margin:30px 0 15px 11px; background: linear-gradient( 90deg, rgba(0,0,0, 0.1) , rgb(0,0,0), rgba(0,0,0, 0.1) ); }
.tekninentieto { 	margin:22px 3%; text-align:center;  line-height:144%;   }


.taustalohko {	padding:33px 3% 44px 9%;  margin:55px auto; width:100%; max-width:1111px; border-radius:33px; background-color:rgba(255,255,255, 0.5);  font-family: 'Nunito Sans', sans-serif;  }
.luettelorivi2 {	margin:22px 0; 	}
.luettelorivi3 {	margin:44px 0; 	}
.uusin {	margin:0 11px; 		}

.huomionappula:link { 	color:hsl(0,0%,100%); background:linear-gradient(rgb(222,22,22) ,  rgba(222,22,22, 0.7) , rgb(222,22,22) ); text-decoration:none;  }
.huomionappula:visited {  	color:hsl(0,0%,100%); background:linear-gradient(rgb(222,22,22) ,  rgba(222,22,22, 0.7) , rgb(222,22,22) ); text-decoration:none;  }
.huomionappula:hover {  	color:hsl(0,0%,100%); background:linear-gradient(rgb(177,177,177) ,  rgba(177,177,177, 0.7) , rgb(177,177,177) ); text-decoration:none;  }
.huomionappula {		margin: 22px 0; font-size:1em; padding: 0.25em 1.5em 0.15em 1.5em;  border-radius:1em;	}



/*    boxit    .......................................................................................................................................................        */



.boxialue1{	margin:66px 0 0 0;  padding:0 5% 33px 5%; width:100%;    }

.erityisalue {	width:100%;  margin:44px 0 22px 0;  padding:22px 5% 33px 5%; background-color:rgb(245,245,245);  border-radius:12px; 	}

.boxialue2{	width:100%;  padding: 0 5%;  display: flex; justify-content:space-between; 	}
.boxi2 {		margin:66px 0 0 0;  padding-bottom:11px; width:48%;  background-color:hsl(0,0%,100%);      }

.boxialuelevee {	margin:66px 0 0 0;  padding:0 0% 33px 0%; width:100%;    }
.boxialueetusivu{	width:100%;  padding:0 5% 33px 5%;   display: flex; justify-content:space-between; 	}
.boxikapee {	margin:66px 0 0 0;  padding:0px 3% 33px 5%;  width:40%;  background-color:hsl(0,0%,100%);  border-radius:12px;      }
.boxilevee {	margin:66px 0 0 0;  padding:0px 3% 33px 5%;  width:58%;  background-color:hsl(0,0%,100%);  border-radius:12px;        }
.boxiyksi {	width:999px;  max-width:100%;  margin: 0 auto;  padding: 0 5%;  display:table;	}

.linkkiele {	color:hsl(0,100%,39%);   text-align:right;  padding-right:33px; }

.kellukuva {	width:155px;  margin: 20px 0 22px 33px; float:right;  	}
.leveekuva1 {	margin: 0; height:133px; background-image:url(kuvat/kk1.jpg);  background-position:50% -88px;  background-repeat:no-repeat;    	}
.tekstikuva {	width:90%;  margin: 20px auto 22px auto;   	}



/*    linkit    .......................................................................................................................................................        */

a:link {		color: hsl(0,100%,39%); text-decoration: underline; }  
a:visited {	color: hsl(0,100%,39%); text-decoration: underline; }
a:hover {		color: hsl(0,100%,39%); text-decoration: none; }

.vaalealinkki:link { 	color:hsl(0,0%,100%); text-decoration:underline;  }
.vaalealinkki:visited {  	color:hsl(0,0%,100%); text-decoration:underline;  }
.vaalealinkki:hover { 	color:rgb(222,22,22); text-decoration:none;  }

.nnkele { 	bottom: 4px; right: 4px; position: fixed; }
.nnk:link { 	background-image: url(kuvat/nnk255.png); }
.nnk:visited { 	background-image: url(kuvat/nnk255.png); }
.nnk:hover { 	background-image: url(kuvat/nnkx.png);  background-color: hsl(0,0%,100%);}
.nnk { 		background-color: rgb(0,0,0); height:40px; width:40px;  border-radius:5px; background-size:22px; background-repeat:no-repeat; background-position:50% 50%; display:block; text-decoration:none; }

.tietopakettilinkki:link { 		color:rgb(0,0,0); text-decoration:none;  }
.tietopakettilinkki:visited {  	color:rgb(0,0,0); text-decoration:none;  }
.tietopakettilinkki:hover { 		color:rgb(0,0,0); text-decoration:none;  }

.linkkinappi {	  	width:11em;  margin:1px auto 11px auto;  text-align:center;  display:block;     }
.linkkiteksti:link { 	color:hsl(0,0%,100%);  	background:linear-gradient( hsl(0,100%,39%) , hsl(0,100%,77%) , hsl(0,100%,39%) ); text-decoration: none;  }
.linkkiteksti:visited { 	color:hsl(0,0%,100%);  	background:linear-gradient( hsl(0,100%,39%) , hsl(0,100%,77%) , hsl(0,100%,39%) ); text-decoration: none;  }
.linkkiteksti:hover { 	color:hsl(0,0%,100%);  	background:linear-gradient( hsl(0,0%,0%) , hsl(0,0%,44%) , hsl(0,0%,0%)  );   text-decoration: none;  }
.linkkiteksti {		padding:0.5em;  border-radius:1.2em;  font-size:110%;  font-weight:bold;  text-decoration:none;  display:block;   }



/*    navigointi    .......................................................................................................................................................        */

nav {	width:100%;  margin:88px 0 0 0;  display:table;  position:relative;    }

ul { 	width:100%;  list-style-type:none;	 margin:0;  padding:0;  position:absolute;    }
li { 	display:inline-block;  	 	 }				
li a { 	display:block;  width:96%;  min-width:266px;  font-size:111%;    padding:29px 0 0 44px;   }	
.navilinkki:link { 		color:hsl(0,0%,100%); text-decoration:none;  }
.navilinkki:visited {  	color:hsl(0,0%,100%); text-decoration:none;  }
.navilinkki:hover { 	color:hsl(0,100%,39%); text-decoration:none;  	 }
.navilinkki {    		font-weight:bold;  }
.aktiivi:link, .aktiivi:visited {  		color:rgb(222,22,22);   }
.linkkirako {	width:66%;  height:1px;  margin:33px 0 0 44px; background: linear-gradient( 90deg, rgba(255,255,255, 0.1) , hsl(0,0%,100%), rgba(255,255,255, 0.1) ); }					

li ul { 			display: none; }											
ul li a:hover + .hidden, .hidden:hover { 	display:block; }						

.nnvlink { 	 	display: none; }		
input[type=checkbox]{    	display: none;    -webkit-appearance: none; }				
input[type=checkbox]:checked ~ #menu{     display: block; }						
					

.punainenteksti { 	color:hsl(0,100%,39%);  }
.punainentausta { 	background-color:hsl(0,100%,39%);  }





@media screen and (max-width : 1200px)	{	/*	------------------------------------------------------------------------------------------------------------------------	*/

.sivu {		flex-direction:column;  background-color:rgba(255,255,255, 0.3);  	}
.pilarirunko {	width:100%;  	}
.pilarilinkki {	width:100%; padding: 0;  }
.tekninentieto { 	padding:33px 5%; margin:0;  }

.aluevakio {	width:100%;  padding: 0 3%; 	}
.boxialue1{	padding:0 3% 33px 3%;   }

.ylaslogan {	padding:55px 3% 0 3%;  	}

nav {		width:444px;  position:absolute;  top:4px;  right:4px;  margin:0;  }
ul { 		width:100%;  margin:42px 0 0 0;  border-width:1px 0 0 0;  border-color:rgb(111,111,111);  border-style:solid;  position:static;  display:none;	 }			
ul li, li a {  	width:100%;    }			
li a { 		background-color: rgb(55,55,55);  color:hsl(0,0%,100%);  margin-top:0; padding: 2em 1em 2em 3em;   
		border-width:0 0 1px 0;  border-color:rgb(111,111,111);  border-style:solid;    }
		
.nnvlink:link {	        }
.nnvlink:visited {	background-image: url(kuvat/nnv255.png);        }
.nnvlink:hover {	background-image: url(kuvat/nnvx.png); background-color:hsl(0,0%,100%);  }
.nnvlink {	float:right; background-image: url(kuvat/nnv255.png); height:40px;  width:40px;  background-color:rgb(0,0,0);
		background-size:24px;  border-radius:5px; background-repeat:no-repeat;  background-position:50% 50%;  display:block;  text-decoration:none;  }

.reunahuomautus {	display:none;}
.linkkirako   {	display:none;  }	
			
				}	/*	--------------------    */





      
@media screen and (max-width : 900px)	{	/*	------------------------------------------------------------------------------------------------------------------------	*/

.sivu {		background-color:rgba(255,255,255, 0.5);  	}
.kuvake {		width:66px;  margin:0 7px;  	}

h1 {		font-size:177%;    }
.ingressi {	font-size:111%;    }
.etuingressi {	font-size:122%;   }
h2 {		font-size:111%;  text-align:center;   }
h3 {		font-size:100%;    }

.kellukuva {	display:none;	}
.leveekuva1 {	display:none;    	}

.taustalohko {	padding:33px 3% 44px 9%;  }

.boxialueetusivu{	width:100%;  padding:0 5% 33px 3%;   display:table;	}
.boxikapee {	zzmargin:66px 0 0 0;  padding:0px 3% 33px 5%;  width:100%;      }
.boxilevee {	zzmargin:66px 0 0 0;  padding:0px 3% 33px 5%;  width:100%;      }
.boxiyksi {	width:999px;  max-width:100%;  margin: 0 auto;  padding: 0 5%;  display:table;	}




				}	/*	--------------------    */







      
@media screen and (max-width : 700px)	{	/*	------------------------------------------------------------------------------------------------------------------------	*/

.sivu {		background-color:rgba(255,255,255, 0.7);  	}
nav {	width:calc(100% - 8px);  top:4px;  right:4px;   }
li a { 	padding: 2em 1em 2em 10%;    }

.nuoli  {	padding:0px 0% 0px 22px;  background-size:15px;  }
.nuoli  {	font-size:111%;  background-position: 0 8px;   }

.kelluvateksti {	padding:22px 3%;  margin:15px 0 15px 0;   border-radius:12px;  width:100%;  float:none;  text-align:center; 
		border-width: 1px;  border-color:rgb(111,111,111);  border-style:solid; 	}
.taustalohko {	padding:11px 3% 44px 5%;  }
				}	/*	--------------------    */










/*	kestotietoa           --------------------------------------------------------------------------------------------   */

.levee100 {	width:100%;  }
.erotin {		width: 100%;  height: 1px;  display: block;  }
.eimarginaalia {	margin-right: 0;   }

.vasemmalle {	text-align: left; }
.keskelle {	text-align: center; }
.oikealle {	text-align: right; }
.kuvakeskelle {	margin-left: auto;  margin-right: auto; }

.vahvennettu {	font-weight: bold;  }
.yhdessa {	white-space: nowrap;   }
