@charset "UTF-8";
/* CSS Document */

html, 
html * {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: "Darker Grotesque", sans-serif, Arial, Helvetica Neue, Helvetica, "sans-serif";
}










nav {
	position: fixed;
	overflow: hidden;
  	background-color: none;
  	top: 0;
	left: 0;
  	width: 100%; 
	

}

header {
	padding: 60px;
	background-color: #F15A24;
}



body {
	margin-left: auto;
	margin-right: auto;
	background: #F9F9F9;
}

main {
	background-color: #F9F9F9;
}


footer {
	padding: 20px 20px;
	background-color: #0071BC;
}


/***************/

only-deskotop{
	display: none;
}




img {
	width: 80%;
	/*max-width: 450px;*/
	height: auto;
	vertical-align: middle;
	display: block;
    margin: 0 auto;
	
}


.fullwidth {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	display: block;
    margin: 0 auto;
}








/* Mobiilinäkymä: logo keskelle */
.desktop-style-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); /* Siirtää sekä X- että Y-akselilla */
    height: 40px; /* Mobiilissa pienempi logo */
    width: auto; /* Säilytetään kuvasuhde */
	

}










/***********/


/*VALIKKO ALKAA*/
/* Add a black background color to the top navigation */
.topnav {
  background-color: #F9F9F9;
  overflow: hidden;
 border-bottom: 2px solid #F15A24;
	
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  /*color: #f2f2f2;*/
 /* text-align: center;*/
 /* padding: 14px 16px;*/
 /* text-decoration: none;*/
  font-size: 20px;	
	/*color: #FFFFFF;*/


}

/* Change the color of links on hover */
.topnav a:hover {
  background-color: none;
  color: none;

}



/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
  font-size: 30px;
  padding: 10px;
}




/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
 .topnav a {display: none;}
  .topnav a.icon {
    float: left;
    display: block;
	  
  }

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
.topnav.responsive {position: relative; padding-top: 50px;}
  .topnav.responsive a.icon {
    position: absolute;
    left: 0;
    top: 0;	

  }


.topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }




/*VALIKKO PÄÄTTYY*/



.topnav a {
  display: none;
  padding: 15px;
 /* text-decoration: none;*/
  transition: background 0.1s ease-in-out;
  font-family: "Darker Grotesque", sans-serif;
	
}
.topnav a.active {
  background: #F9F9F9;
  border-bottom: 0px solid black;
	font-weight: 600;
}



h2 .topnav a.active { /**/
	color: black;
	line-height: 1;
	
}


h2 .topnav a { /**/
	color: black;
	line-height: 1;	
	
}


/************/








/*linkkien säätö*/
a:link {
    text-decoration: none;
	color: #000000;
	outline: none;
}

a:visited {
    text-decoration: none;
	color: #000000;
	outline: none;
}

a:hover {
    text-decoration: none;
	color: #000000;
	outline: none;
}

a:active {
    text-decoration: none;
	color: #000000;
	outline: none;
	
}




/**//**/





i {
}











h1 {  /*OTSIKOT*/
	font-size: 28px;
	/*text-transform: uppercase;*/
	font-weight: 400;
	/*margin-bottom: 23px;*/
	letter-spacing: 0.03em;
}

h2 { /*LEIPÄTEKSTI*/
	font-size: 18px;
	margin-bottom: 23px;
	font-weight: 400;
	letter-spacing: 0.03em;
}

h3 { /*LEIPÄTEKSTI*/
	font-size: 20px;
	margin-bottom: 23px;
	font-weight: 400;
	 letter-spacing: 0.03em;
}

h4 { /*COPYRIGHT TEKSTI*/
	font-size: 15px;
	font-weight: 200;
	margin-bottom: 23px;
	margin-top: 25px;
	color: #F9F9F9;
}

p {
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 35px;
}


h3 a:hover{
	font-weight: 600;
}

h2 a:hover{
	color: darkgray;
}



.col {
	width: 100%;
}

.col-txt-100 {
	width: 100%;
	float: left;
	padding: 10px;
}

.osio{
	width: 100%;
	float: left;	
	background-color: #F9F9F9;
	padding: 10px;
	
}

.ylatilaa{
	padding-top: 30px;
}


.osio2{
	width: 100%;
	float: left;	
	background-color: #F9F9F9;
	padding: 10px;
}



.row:before, .row:after {
	content: "";
	display: table;
}

.row:after {
	clear: both;
}





.erottaja {
    border: none;
    height: 2px;
    background-color: #F15A24;
    margin: 30px auto;
    border-radius: 10px;
    width: 90%; 
    /*max-width: 700px;*/
}






/*YHTEYDENOTTOLOMAKE*/

.lomakkeenkeskitys{
	width: 100%;
	margin: auto;
}


form{
	margin-top: 20px;
	/*transition: all 4s ease-in-out;*/
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 30px;
	padding-bottom: 30px;
	margin-bottom: 50px;
	margin-left: 0px;
	margin-right: 0px;
	border: 1px solid black;
}

.form-control{
	width: 100%;
	background: transparent;
	border: none;
	outline: none;
	border-bottom: 1px solid gray;
	color: #000000;
	font-size: 16px;
	margin-bottom: 16px;
	
}



.form-control-laheta{
	width: 100%;
	background: transparent;
	border: none;
	outline: none;
	color: #000000;
	font-size: 16px;
	margin-bottom: 16px;
}



input{ 
	height: 35px;
	padding-left: 5px;
}

textarea{
	padding-left: 5px;
	padding-top: 1px;
}

form .submit{
	display: block;
	margin: auto;
	/*background: #ff5722;
	border-color: transparent;
	border: 1px #000000 solid;
	border-radius: 2px;*/
	color: #000000;
	font-size: 16px;
	/*font-weight: bold;*/
	letter-spacing: 2px;
	margin-top: 20px;
	height: 50px;
	width: 100px;
	padding: 0px 0px 0px 0px;
}

form .submit:hover{
	/*background-color:#F5F5F5;    #f44336;*/
	cursor:pointer;
	border-bottom: 1px #000000 solid;
	width: 100px;
	padding: 1px 0px 0px 0px;
}




/****************/












/**kuvagalleria**/
	
	  .gallery {
            display: flex;
            flex-wrap: wrap; /* Sallii kuvien kiinnittyä seuraaville riveille */
            justify-content: center; /* Keskittää kuvat */
            gap: 10px;
            max-width: 1500px;
            width: 100%;
        }

        .gallery img {
           	padding: 20px;
        	width: 100%;              /* Kuva per rivi */
  			aspect-ratio: 1;         /* Pitää kuvat neliöinä (1:1) */
  			object-fit: cover;       /* Leikataan kuva niin, että se täyttää neliön */
  			cursor: pointer;
  			border-radius: 5px;
			
        }

        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

     
	
	      .modal img {
            max-width: 80%;
            max-height: 80%;
            object-fit: contain; /* Näyttää kuvan alkuperäisessä mittasuhteessa */
            border-radius: 5px;
   }
        .controls {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
        }

        .controls span {
            color: white;
            font-size: 2em;
            cursor: pointer;
            user-select: none;
            padding: 10px;
        }

        .close {
            position: absolute;
            top: -15px;
            right: 10px;
            color: white;
            font-size: 3em;
            cursor: pointer;
        }
	

















/*Tablet View*/

@media (min-width: 768px){
	
body {
	/*max-width: 778px;*/
}
	
main {
}
	
	
/*VALIKKO ALKAA*/

/*VALIKKO LOPPUU*/
	

	
	
	
	
	
h1 {  /*OTSIKOT*/
	font-size: 30px;
	
}
	
h2 {  /*LEIPÄTEKSTI*/
	margin-bottom: 16px;
	font-size: 20px;

}
	
h3 { /*LEIPÄTEKSTI*/
	margin-bottom: 16px;
	font-size: 25px;


}


	
.col {
	float: left;
	padding: 15px 10px;
}
	
.col-txt-100 {
	width: 100%;
	float: left;
	padding: 20px;
}

	
.osio{
	width: 80%;
	float: none;	
	padding: 10px;
	margin: 0 auto;
}	
	
.ylatilaa{
	padding-top: 30px;
}
	

.osio2{
	width: 80%;
	float: none;	
	padding: 10px;
	margin: 0 auto;

}
	
	
.erottaja {
  
    width: 90%; 
    /*max-width: 700px;*/
}
	
		

	
/*YHTEYDENOTTOLOMAKE*/	
	
.lomakkeenkeskitys{
	width: 100%;
	margin: auto;
}


	
.form-control{
	width: 100%; /*600px;*/
	background: transparent;
	border: none;
	outline: none;
	border-bottom: 1px solid gray;
	color: #000000;
	font-size: 20px;
	margin-bottom: 16px;
}
	
	
	
}	
.form-control-laheta{
	width: 100%; /*600px;*/
	background: transparent;
	border: none;
	outline: none;;
	color: #000000;
	font-size: 20px;
	margin-bottom: 16px;
}


input{ 
	height: 35px;
}

form .submit{
	display: block;
	margin: auto;
	/*background: #ff5722;
	border-color: transparent;
	border: 1px #000000 solid;
	border-radius: 2px;*/
	color: #000000;
	font-size: 20px;
	/*font-weight: bold;*/
	letter-spacing: 2px;
	height: 50px;
	margin-top: 20px;
	/*margin-left: 250px;*/
	width: 100px;
}

form .submit:hover{
	/*background-color:#F5F5F5;    #f44336;*/
	cursor:pointer;
	border-bottom: 1px #000000 solid;
	width: 100px;
	padding: 1px 0px 0px 0px;
}
	
		
	
	/**//**/	
	
	
	/**kuvagalleria**/



	
	  .gallery {
            display: flex;
            flex-wrap: wrap; /* Sallii kuvien kiinnittyä seuraaville riveille */
            justify-content: center; /* Keskittää kuvat */
            gap: 10px;
            max-width: 1500px;
            width: 100%;
		  padding: 10px 10px
        }

        .gallery img {
           	padding: 20px;
        	width: 48%;              /* Kolme kuvaa per rivi */
  			aspect-ratio: 1;         /* Pitää kuvat neliöinä (1:1) */
  			object-fit: cover;       /* Leikataan kuva niin, että se täyttää neliön */
  			cursor: pointer;
  			border-radius: 5px;
        }

        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

     
	
	      .modal img {
            max-width: 90%;
            max-height: 90%;
            object-fit: contain; /* Näyttää kuvan alkuperäisessä mittasuhteessa */
            border-radius: 5px;
   }
        .controls {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
        }

        .controls span {
            color: white;
            font-size: 2em;
            cursor: pointer;
            user-select: none;
            padding: 10px;
        }

        .close {
            position: absolute;
            top: -10px;
            right: 20px;
            color: white;
            font-size: 3em;
            cursor: pointer;
        }
	
	




/*Desktop View*/

@media (min-width: 1024px){
	
body {
	/*max-width: 1500px;*/
	/*max-width: 1500px;*/
}
	
nav{
	position: sticky;  /* Tämä tekee navista sticky */
    top: 0;  /* Nav pysyy ylhäällä sivua selattaessa */   
	width: 100%;
   /* max-width: 1500px;*/
    background-color: #F9F9F9; /* Kuvan mukainen taustaväri */
    height: 150px;
    border-bottom: 2px solid #F15A24;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Logo vasemmalle, nav oikealle */
    /* padding: 0 200px; Lisää tilaa reunoille */ 
    padding: 0 11vw;
	}	
	
header {
	margin-top: 0px;	
	height: 150px;
	}
	
main {
max-width: 1500px;
	 margin: 0 auto;
	
}	

/******/	
	

.desktop-style-logo {
	position: static; /* Poistetaan absoluuttinen sijainti */
    transform: none; /* Poistetaan muunnokset */
    height: 90px; /* Aseta sopiva korkeus logolle */
    width: auto; /* Säilytä oikea kuvasuhde */
}
	
	
	
/************

	
***********/
	
	
	
	
/*VALIKKO ALKAA*/
	
/* Add a black background color to the top navigation */

.topnav {
    display: flex;
    justify-content: flex-end; /* Siirretään linkit oikealle */
    align-items: center;
    gap: 20px; /* Lisää tilaa linkkien väliin */
	border-bottom: 0px solid black;
}
	



/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: inline-block;
  color: black;
  text-align: center;
  padding: 20px 16px;
  text-decoration: none;
  font-size: 30px;
}

/* Change the color of links on hover */
.topnav a:hover {
  background-color: #F9F9F9;
  color: darkgray;
}



/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}

/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
 .topnav a:not(:first-child) {display: block;}
  .topnav a.icon {
    float: right;
    display: none;
  }

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
.topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: none;
    text-align: left;
  }

/*VALIKKO PÄÄTTYY*/
	

.topnav a {
  transition: background 0.1s ease-in-out;
  padding-bottom: 18px;

}
.topnav a.active {
  background: #F9F9F9;
  border-bottom: none;
  border: 0px solid #F9F9F9;
  padding-bottom: 18px;

	
}


h2 .topnav a.active { /**/
	color: black;
	line-height: 1;
}


h2 .topnav a { /**/
	color: black;
	line-height: 1;
}
	
.topnav a.active:hover{
		color: black;
	}

	/*************/
	
	
	
	
	
	
	/************/
	
	
	
	
	
.col-txt-100 {
	width: 100%;
	float: left;
	padding: 20px;
}
	
.osio{
	width: 50%;
	float: left;	
	padding: 20px;
}

.ylatilaa{
	padding-top: 30px;
}
.osio2{
	width: 1000px;
	padding: 20px;
	float: none;
    margin: 0 auto;
	}
	
	
	.erottaja {
      width: 100%; 
    /*max-width: 700px;*/
}
	
	
	img {
	width: 70%;
	height: auto;
	vertical-align: middle;
}
	
	.luotkumpkuva{
		padding-top: 50px;
	}

	
	
	
  .col-txt-100.osio-rivi {
    display: flex;
    align-items: center; /* Tämä keskittää matalamman pystysuunnassa */
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  .col-txt-100.osio-rivi .osio {
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
  }

  .col-txt-100.osio-rivi .osio img {
    width: 70%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
	
	
	
	
	
	
	
	
	/**kuvagalleria**/
	
	
	  .gallery {
            display: flex;
            flex-wrap: wrap; /* Sallii kuvien kiinnittyä seuraaville riveille */
            justify-content: center; /* Keskittää kuvat */
            gap: 10px;
            max-width: 1500px;
            width: 100%;
	

		 
        }

        .gallery img {
           	padding: 20px;
        	width: 30%;              /* Kolme kuvaa per rivi */
  			aspect-ratio: 1;         /* Pitää kuvat neliöinä (1:1) */
  			object-fit: cover;       /* Leikataan kuva niin, että se täyttää neliön */
  			cursor: pointer;
  			border-radius: 5px;
        }

        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

     
	
	      .modal img {
            max-width: 90%;
            max-height: 90%;
            object-fit: contain; /* Näyttää kuvan alkuperäisessä mittasuhteessa */
            border-radius: 5px;
   }
        .controls {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
        }

        .controls span {
            color: white;
            font-size: 2em;
            cursor: pointer;
            user-select: none;
            padding: 10px;
        }

        .close {
            position: absolute;
            top: -10px;
            right: 20px;
            color: white;
            font-size: 3em;
            cursor: pointer;
        }
	
	
	
	
}

@media (min-width: 1024px) and (max-width: 1550px) {
    .erottaja {
        width: 90%; /* Leveys 90% näytöillä 1024px-1500px */
    }
}

@media (min-width: 1024px) and (max-width: 1300px) {
   nav{
	position: sticky;  /* Tämä tekee navista sticky */
    top: 0;  /* Nav pysyy ylhäällä sivua selattaessa */   
	width: 100%;
   /* max-width: 1500px;*/
    background-color: #F9F9F9; /* Kuvan mukainen taustaväri */
    height: 150px;
    border-bottom: 0px solid #F9F9F9;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Logo vasemmalle, nav oikealle */
    /* padding: 0 200px; Lisää tilaa reunoille */ 
    padding: 0 6vw;
	}	
}
