@charset "utf-8";
@import "https://fonts.googleapis.com/css?family=Raleway:100,400,700";
@font-face {
  font-family: 'LMRomanSlant10';
  src: url("fonts/lmromanslant10-regular-webfont.eot");
  src: url("fonts/lmromanslant10-regular-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/lmromanslant10-regular-webfont.woff") format("woff"), url("fonts/lmromanslant10-regular-webfont.ttf") format("truetype"), url("fonts/lmromanslant10-regular-webfont.svg#latin_modern_roman_slante10Rg") format("svg");
  font-weight: normal;
  font-style: normal
} 
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0;
  background-color: #efefef;
  overflow: hidden; 
  font-size: 16px;
  line-height: 1.6;
  font-family: "LMRomanSlant10", serif;
  color: #111;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
a{
  text-decoration: none;
  color: black;
}
header {
  position:fixed;
  display: block;
  width:100vw;
  height: 80px;
  text-align:right;
  z-index: 10;
  background-color: #cf9e35;
  background-image: url('../../kuvia/bg.jpg');
  background-attachment: fixed;  /* tärkein rivi */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

header .flags {
  display: block;
  width: 50px;
  cursor: pointer;
  position: absolute;
  right:30px;
    
}
header .flags img {
  width:20px;
}


/*ALKUintro*/
#logo{
  position: fixed;
  z-index: 21;
  top:50px;
  left: 0; 
  right: 0; 
  margin-inline: auto; 
  width: fit-content;
  max-width: 100vw;
  -webkit-filter: drop-shadow(5px 5px 5px #1c1c1c);
  filter: drop-shadow(5px 5px 5px #252525);
}



#introblock{
  position: absolute;
  background-color: #cf9e35;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background-image: url('../../kuvia/bg.jpg');
  display: block;
  text-align: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}


#social{
  display: inline-block;
  position: absolute;
  z-index: 16;
  height: 33px;
  top: 5px; left: 0; bottom: 0; right: 0;
  text-align: center;
}
#social img{
  height: 20px;
}
#locations{
  font-family: "Raleway", Helvetica, sans-serif;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  position: absolute;
  z-index: 16;
  height: 33px;
  top: 500px; left: 0; bottom: 0; right: 0;
  text-align: center;
}


/*{border: 1px solid red;}*/
.scroll-container {
    height: calc(100vh - 100px);
    width: 100vw;
    padding-right: 10px;
    overflow-y: auto;   
    overflow-x: hidden; 
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: y mandatory;
    position: absolute;
    top:93px;
  }
/*napit*/
.btn { 
  width: 130px;
  font-size: 16px;
  display: inline-block;
  text-decoration: none;
  line-height: 15px;
  appearance:none; 
  border:0; 
  margin: auto 10px;
  cursor:pointer; 
  padding:5px 12px; 
  font-weight:600; 
  border-radius:2px; 
  background:#c6c6c6; 
  color:#000000; 
  box-shadow:0 8px 24px rgba(0,0,0,.2); 
  transition: transform .12s ease, box-shadow .12s ease;
}
.btn:hover { 
  transform: translateY(-1px); 
  box-shadow: 0 12px 28px rgba(0,0,0,.18); 
  background:#fff; 
}
.btn:active { transform: translateY(0); box-shadow: 0 8px 18px rgba(0,0,0,.14); }
.alanapit{
  display: block;
  text-align: center;
  margin-top: 30px;
}
.alanapit .btn{
  vertical-align: bottom; 
  display: inline-block;
  padding: 10px 20px;
  margin:20px;
  height: 100px;
  width: 160px;
  border: #CCC 1px solid;
  border-radius:4px; 
}
.pieni{
  font-size: 11px;
  display: block;
}
.isompi{
  font-size: 10px;
  font-weight: 300;
  color: #111;
  display: block;
  margin-top: 5px;
}
/*MODAALI*/
:root { --overlay-bg: rgba(0,0,0,.6); --modal-bg:#fff; --radius:16px; --shadow:0 20px 50px rgba(0,0,0,.25); }
html, body { height: 100%; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial; background:#f8fafc; color:#111827; }
.no-scroll { overflow: hidden; }
main { min-height: 100dvh; display:grid; place-content:center; gap:16px; padding:24px; }



/* Yhteinen tausta kaikille modaalidialogeille */
.backdrop { 
    z-index:20 ;
    position:fixed; 
    inset:0; 
    background:var(--overlay-bg); backdrop-filter: blur(10px); opacity:0; pointer-events:none; transition: opacity .18s ease; }
.backdrop.is-open { opacity:1; pointer-events:auto; }

/* Jokainen modaali on <section> */
section.modal[role="dialog"] { 
  z-index:21 ;
  position:fixed; 
  left:50%; top:50%; transform:translate(-50%, -50%) scale(.98); 
  width:min(640px, 92vw); max-height:90dvh; 
  overflow:auto; 
  background:var(--modal-bg); 
  border-radius:var(--radius); 
  box-shadow:var(--shadow); 
  padding:40px 40px 24px ; 
  opacity:0; pointer-events:none; transition: opacity .18s ease, transform .18s ease; }
section.modal.is-open { opacity:1; pointer-events:auto; transform:translate(-50%, -50%) scale(1); }


.modal__close { position:absolute; top:15px; right:15px; border:none; background:transparent; cursor:pointer; font-size:24px; line-height:1; width:36px; height:36px; border-radius:999px; }
.modal__close:hover { background:#f3f4f6; }
.modal__close:focus { outline:2px solid #111827; outline-offset:2px; }


.modal__header { padding-right:40px; }
.modal__title { margin:6px 0 10px; font-size:1.25rem; }
.modal__content { color:#374151; }
iframe{
  margin-top: 100px;
}


section p{

}

h1 {
  display: block;
  padding-bottom:25px;
  font-size: 42px;
  font-family: "Raleway", Helvetica, sans-serif;
  font-weight: bold;
  margin: 20px auto;
}
.huge, h1 {
  font-size: 2em;
  line-height: 1.05;
  letter-spacing: -1px;
  font-weight: bold;
}
.large, h2 {
  font-size: 20px;
  line-height: 1.14
}
.bigger, h3 {
  font-size: 26px;
  line-height: 1.38
}
.big, h4 {
  font-size: 22px;
  line-height: 1.38
}
p {
  margin: 0 0 20px 0
}






#raflat{
  position: relative;
  width: 99vw;
  overflow: hidden;
  height: 500px;
  display: block;
  font-size: 42px;
  font-family: "Raleway", Helvetica, sans-serif;
  box-shadow: 0 8px 20px rgba(0,0,0,0.17);

}
.rafla1{
  position: absolute;
  display: flex;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  gap: 20px;   
  flex-direction: row;
  justify-content: center;
  align-items: top;
  color: #333;
  
}
#konepaja{
  background-image: url('../../kuvia/konepaja500aipeople.png');
  background-position: center;
  background-repeat: no-repeat; 
  background-size: cover; 
  z-index: 1;
  
}
#kruna{
  background-attachment:local fixed; 
  background-image: url('../../kuvia/kruna2.jpg');
  background-position: top 500px right 100px;
  z-index: 2;
  transition: transform 0.6s ease;
    --myValue:calc(50% - 12px);
  clip-path: inset(0 var(--myValue) 0 0);

}

#kruna::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: var(--myValue);
  width: 15px;
  background: white;
  z-index: 3;
}
#kruna .osoite span{
  margin-right: 200px;
}

.raflatxt{
  display: flex;
  width: 50%;
  margin-top: 50px; 
  margin-bottom: 50px; 
  align-items: center;
  justify-content: center;
}
.introtxt{
  font-size: 16px;
  font-weight: 500;
}
.osoite{
  font-size: 13px;
}
.osoite img, .col2 img{
  vertical-align: middle;
  margin-right: 5px;;
}
.osoite p, .col2 p{
 margin-left: 30px;
}


.aukioloajat{
  font-size: 12px;
}

.raflatxt span{
   display: inline-block;
   max-width: 200px;
   text-align: left;
   padding: 16px 28px;
   background-color: rgba(255, 255, 255, 1);
   box-shadow: 0 8px 20px rgba(0,0,0,0.5);
   border-radius:4px; 
}

.leftbox{
  justify-content: right;
  margin-right: 30px;
}
.rightbox{
  justify-content: left;
  padding-left: 20px;
}
.col2{
  width:45%;
  vertical-align:top ;
  display: inline-block;
}
@media (max-width: 1180px) {

   
}
@media (max-width: 1023px) {

#ajankohtaista {
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    
}
@media (max-width: 900px) {
    
}
@media (max-width: 767px) {
    
}
@media (max-width: 640px) {

}
@media (max-width: 415px) {
    .btn { 
        width: 100px;
        font-size: 50%;
        padding: 5px 8px;
        margin: -5px 10px;
    }
    .rafla1{
      position: absolute;
      display: flex;
      flex-direction: column;
      left: 0;
      top: 0;
      width: 100%;
      margin-top: 30px;
      gap: 0px;   
      color: #333;
    }
    .rev{
      flex-direction: column-reverse;
      padding-left: 30px;
    }
    .raflatxt{
      margin: 0;
      display: block;
      width: 90%;
      margin: 0;
      padding: 0;
      font-size: 50%;
    }

    .raflatxt span{
      display: block;
      margin: 5px auto;
      padding: 20px 30px;
      font-size: 50%;
    }

    .leftbox{
      justify-content: right;
      padding-right: 0px;
      margin-right: 0px;
    }
    #kruna .osoite span{
      margin: 0px auto;
    }
    
    
}