/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/poppins-v23-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/poppins-v23-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/poppins-v23-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/poppins-v23-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/poppins-v23-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/poppins-v23-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
      --primary-color: #000;
      --base-font-size: min(max(1rem, 1.1vw), 20px);
      --base-font-color: #000;
      --base-line-height: 160%;
      --google-font: 'Poppins', sans-serif;
      --google-heading-font: 'Poppins', sans-serif;
      --navi-background: #ac4232;
      --footer-navi-background: #ac4232;
      --navilink-font-size: min(max(0.8rem, 1.125vw), 18px);
      --navilink-color: #fff;
      --navilink-font-weight: 700;
      --navilink-padding: 20px 15px;
      --navilink-selected-bg: #fff;
      --navilink-selected-color: #fff;
      --heading-size-1: min(max(1.8rem, 3vw), 60px);
      --heading-size-2: min(max(1.8rem, 2.7vw), 54px);
      --heading-size-3: min(max(1.8rem, 1.8vw), 36px);
      --heading-size-4: min(max(1.8rem, 1.6vw), 32px);
      --heading-size-5: min(max(1.8rem, 1.4vw), 28px);
      --heading-size-6: min(max(1.8rem, 1.2vw), 24px);
      --grid-gap: 2em 3em;
      --button-background: #000;
      --button-text-color: #fff;
      --button-font-size: min(max(1rem, 1vw), 1rem);
      --button-font-weight: 700;
      --button-padding: 8px 30px;
      --max-button-width: 450px;
      --max-input-width: max-content;
      --img-gallery-rows: repeat(auto-fit, minmax(200px, 1fr));
      --img-gallery-img-size: 300px;
      --mobilemenu-container-height: 63px;
      --mobilemenu-open-close-color: #000;
      --mobilemenu-menutext-color: #000;
      --mobilemenu-button-background: #000;
      --mobilemenu-link-color: #000;
      --mobilemenu-link-background: #fdc6c3;
      --mobilemenu-expand-button: #000;
      --mobilemenu-submenu-background: #fdc6c3;
      --padding-s: min(max(20px, 1vw), 20px);
      --padding-m: min(max(30px, 2vw), 40px);
      --padding-xl: min(max(40px, 3vw), 60px);
      --padding-xxl: min(max(60px, 4vw), 80px);
      --animate: all .3s ease 0s;
 }
body, html, p {margin: 0;padding: 0;font-family: var(--google-font);color: var(--base-text-color);font-size: var(--base-font-size);line-height: var(--base-line-height)}  img {max-width: 100%;height: auto;display: block;}header.content-col { position: absolute;z-index: 2;}a {color: var(--primary-color);text-decoration: none}a:hover {text-decoration: underline}h1, h1 a, h2, h2 a, h3, h3 a, h4, h4 a, h5, h5 a, h6, h6 a {font-family: var(--google-heading-font);margin: 0;padding: 0;line-height: 110%;color: var(--primary-color); font-weight:800;}h1, h1 a {font-size: var(--heading-size-1);}h2, h2 a {font-size: var(--heading-size-2);}h3, h3 a {font-size: var(--heading-size-3);}h4, h4 a {font-size: var(--heading-size-4);}h5, h5 a {font-size: var(--heading-size-5);}h6, h6 a {font-size: var(--heading-size-6);}picture {width: 100%}section, article, .center-col, .content-col{box-sizing:border-box;}table, td, tr {border-collapse: unset !important}@media screen and (max-width:1024px) {table, td, tr {height: auto !important;max-width: 100%}}@media screen and (max-width:480px) {body {line-height: calc(1rem + 1.2vw)}}@media screen and (max-width:375px) {h1, h2, h3, h4, h5, h6 {word-wrap: anywhere}}

.servicebox.yellow .headerbox p {background: #fce38a;}
.servicebox.green .headerbox p {background: #95e1d3;}

/* Wrappers */
.content-col, .center-col {width: 100%;clear: both;position: relative;}.center-col {width: min(max(60vw, 1600px), 90%);margin: 0 auto}.center-col iframe { max-width: 100%;margin: 0 auto}.narrow-col{max-width:1200px;}.erikoiskuva, .kuva, .kuva2 {box-sizing:border-box;border: 0;outline: 0;height: auto;margin: 0;cursor: pointer; max-width:100%;}

/* Grids */
.autogrid,.dgrid-2-cols, .dgrid-3-cols, .dgrid-4-cols, .dgrid-s-m-s-cols, .dgrid-s-xl-cols, .dgrid-xl-s-cols, .dgrid-m-l-cols, .dgrid-l-m-cols {display: grid;grid-gap: var(--grid-gap);clear: both;position: relative;} .dgrid-s-m-s-cols {grid-template-columns: 1fr 2fr 1fr}.dgrid-s-xl-cols {grid-template-columns: 1fr 3fr} .dgrid-xl-s-cols {grid-template-columns: 3fr 1fr}.dgrid-m-l-cols {grid-template-columns: 1fr 2fr}.dgrid-l-m-cols {grid-template-columns: 2fr 1fr}.autogrid, .dgrid-3-cols{grid-template-columns:repeat(auto-fit, minmax(350px,1fr))}.dgrid-2-cols {grid-template-columns:repeat(2,1fr)}.nogap {grid-gap: 2em 0;}.dgrid-4-cols{grid-template-columns:repeat(2,1fr);}@media screen and (max-width:1024px) {.dgrid-m-l-cols, .dgrid-l-m-cols, .dgrid-s-m-s-cols, .dgrid-s-xl-cols, .dgrid-xl-s-cols {grid-template-columns: 1fr}}@media screen and (max-width:768px) {.dgrid-2-cols, .dgrid-4-cols{grid-template-columns:1fr;}} @media screen and (max-width:480px) {.autogrid, .dgrid-2-cols, .dgrid-3-cols {grid-template-columns:repeat(auto-fit, minmax(220px,1fr))}}

/* Navigation */

#navi-wrap {grid-column:1 / -1}#main-navi, #top-navi, #footernavi {margin: 0 auto;padding: 0;list-style: none;z-index: 2;position: relative;flex-direction: row;justify-content:space-around;width:100%}#main-navi{background:var(--navi-background)}#top-navi {justify-content: flex-end} #footernavi{background:var(--footer-navi-background)}.mainnavi-link, .topnavi-link, .footerlink {padding: var(--navilink-padding);font-size: var(--navilink-font-size);font-weight: var(--navilink-font-weight);text-decoration: none;text-transform: uppercase; color: var(--navilink-color);display: block;}.topnavi-link{color:#919191}.mainnavi-link:hover, .topnavi-link:hover, .footerlink:hover {color: #c6c6c6;}.mainnavi-selected,#link-sel-1-3, #link-sel-2-4, #link-sel-3-5, #link-sel-4-6, #link-sel-5-7, #link-sel-6-8 {color: var(--navilink-selected-color);background: var(--navilink-selected-bg);text-decoration: none}#logoimg {max-width: 50%;margin: 0 auto;float: none;display: block;height: auto;padding: 40px 0;}#logo img {margin:0 auto; max-width:180px; padding:30px 0}#sidenavi ul, #sidenavi li{list-style:none; margin:0; padding:0;}#sidenavi > ul {padding: 1em 2em;height: auto;background: var(--primary-color);}#sidenavi > ul a.valikkolinkki,#sidenavi > ul a.valikkolinkki-sel{padding:5px 0} #sidenavi ul li ul {padding: 0 0 0 20px !important;margin: 0;}#sidenavi ul li ul li ul {padding-bottom: 2em !important;}

/* General classes, heroimg, banners */
#main-heroimg {width: 100%;}
.heroimg {position: relative;}
#fl-logo img {margin:0 auto;max-width: 11vw;min-width: 130px;}
#fl-logo .abs-element {top:0}
#fl-banners {grid-gap:1em}
picture img {width:100%;object-fit:cover}
#heroarticle {float:right; max-width:50%}
#maincontent-front {background:#f6e4e4}
#maincontent-front h2 {color:#f38181}
#ad-banner-wrapper {background:url(../img/header/alabg.jpg) center top no-repeat; background-size:cover}
#ad-banner-wrapper {padding-top:10vw}
#herotext > .center-col {padding-top: 100px;}
.abs-element {position: absolute;z-index: 200;max-width: 100%;flex-direction: column;display: flex;width: 80%; } 
.dflex {display: flex;flex-wrap: wrap;flex-direction: column;} 
.dflex-row {display: flex;flex-wrap: wrap;flex-direction: row;} 
.center-elements {align-items: center;justify-content: center}
.fwimg {width:100%}
.white-p {color: #fff}
.shadow {text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);}
.headerbox {position: relative;margin-bottom: 2em;width: 100%;display: flex;justify-content: center;align-items: center;z-index: 220;}
.headerbox p{background:#f38181;font-family: var(--google-font);font-weight: 700;color: #fff; border-radius:6px;text-shadow: none;display: block;max-width: max-content;margin: 0 auto;padding: 10px 3vw;text-align: center;text-transform: uppercase;line-height:120%}
.headerbox .col-full {margin: 0;}
.bnr {position:relative;} /* Bannerikuva position container */
.bnr img {width:100%;object-fit: cover;} /* Bannerikuvan maksimileveys */
.bnr.basic .bannertext img{width: auto;min-height:unset;max-height: unset}
.bgcolor-wrapper {background:#000} /* Optional */
.bgcolor-wrapper img {opacity:0.7} /* Optional */
#some-icons {display:flex;}
#some-icons p {padding-right:10px}

/* Banners, servicebanners */
#maincontent-front .dgrid-3-cols {grid-gap:1em; grid-template-columns:1fr 1fr 1fr}

/* Service endorse box -> Big */
.servicebox {border-radius:10px; box-shadow:0 0 22px rgba(0,0,0,.09); background:#fff;}
.servicebox .cpadding-b-xxl {padding-bottom:10vw;padding-left: 1em;padding-right: 1em;text-align: center;}
.servicebox.pink {background:#fff url(../img/header/show-packet-1.png) center bottom no-repeat; background-size:100%}
.servicebox.yellow {background:#fff url(../img/header/show-packet-2.png) center bottom no-repeat; background-size:100%}
.servicebox.green {background:#fff url(../img/header/show-packet-3.png) center bottom no-repeat; background-size:100%}
.pink.headerbox p{background:#f38181; color:#fff}

/* Service endorse box -> Small */
.greenbox {background:#00bbb5; border-radius:6px; padding:1em;grid-gap:20px}
.servicebox-s .greenbox {grid-template-columns:auto 1fr}
.greenbox h5 {color:#fff;word-wrap: normal;font-size:min(max(1.3rem, 1.2vw), 24px)}
.widebox.headerbox p{background:#fff;width:100%; color:#00bbb5; text-transform:unset}
.widebox.headerbox{grid-column:1/-1; margin-bottom:0}
.widebox.headerbox p {padding: 10px; line-height:120%;font-size:min(max(0.8rem, 1.1vw), 18px);max-width: unset;}
.service-content {justify-content: center;align-items: center;margin-bottom: 1em;grid-template-columns:auto 1fr;grid-gap: 20px;}
.service-content img {max-width: 7vw;min-width: 50px;max-height: 60px;object-fit: contain;}

/* Service endorse box -> Gradient */
.gradientbox {background: linear-gradient(45deg, rgba(169, 202, 255, 1.000) 0.000%, rgba(196, 203, 255, 1.000) 25.000%, rgba(240, 200, 249, 1.000) 50.000%, rgba(255, 195, 238, 1.000) 75.000%, rgba(255, 186, 236, 1.000) 100.000%); border-radius:8px}

/* Service color theme -> Google Ads */
#services-google-ads .dgrid-3-cols {grid-gap:1em}
#services-google-ads h2 {color:#00bbb5}

#bannersbg { grid-gap:1em}
#bannersbg .dgrid-2-cols,#bannersbg .dgrid-3-cols {grid-gap:1em}
#banners-narrow .abs-element h2,#banners-narrow .abs-element h3, #banners-narrow .abs-element h4,#banners-narrow .abs-element h5,#banners-narrow .abs-element h6, #banners-narrow .abs-element p,
#bannersbg .abs-element h2,#bannersbg .abs-element h3, #bannersbg .abs-element h4,#bannersbg .abs-element h5,#bannersbg .abs-element h6, #bannersbg .abs-element p{color:#fff}
#banners-narrow {grid-gap:1em}

@media screen and (max-width:1024px) {#herotext > .center-col {padding-top: 0px;}}
@media screen and (max-width:860px) {#maincontent-front .dgrid-3-cols {grid-template-columns: 1fr 1fr;}.servicebox .cpadding-b-xxl{padding-bottom:20vw;}.service-content {max-width: max-content;margin: 0 auto 1em auto;display: flex;justify-content: center;align-items: center;width: auto;}.service-content > section {flex:0;}.heroimg.cpadding-xl{padding:1em}#herotext {position: relative;order: 2;max-width: 100%;width: 100%;}#heroarticle {float: unset;max-width: 100%;padding: 2em 0;}#facelook-slogan {padding-top:1em}}
@media screen and (max-width:575px) {#maincontent-front .dgrid-3-cols {grid-template-columns: 1fr;}.servicebox .cpadding-b-xxl{padding-bottom:45vw;}.headerbox p {padding: 8px 40px;}.widebox.headerbox p {padding: 10px;font-size: 0.8rem;}.greenbox h5 {font-size: 1.4rem;}.service-content {padding:2em 0}}


/* Footer */
#google-partner {display: flex;justify-content: center;align-items: center;max-width: 1200px;margin: 0 auto;}
#google-partner section:first-of-type{min-width: 120px;}
#google-partner section:last-of-type{min-width: 140px;}

@media screen and (max-width:575px) {#google-partner {flex-direction: column;}footer h6.cpadding-b-xxl {padding-bottom:0em}#google-partner{font-size: 0.9rem;line-height: 160%;text-align: center;}}

/* Modal - OPTINONAL */
#modals-narrow {align-items: flex-start; grid-gap:1em}
#modals-abs{grid-gap:1em} 
#modals-abs img {border-radius:6px}
.basic-modal {padding:1em 1em 80px 1em;}
.modal {background: #fff;border-radius:6px;position:relative;border-radius: 6px;position: relative;flex-direction: column;display: flex;height: 100%;}
.modal-text {padding:1em }
.modal-img {width:100%;position: relative;object-fit: cover;}
.modal img{border-radius: 6px 6px 0 0;object-fit: cover;padding:0 !important; width:100%; height:100%; object-fit:cover;}
.modal h2 {font-size: 1.2rem;}
.modal-link {position: absolute;bottom: 1em;background: var(--primary-color); color: #fff;padding: 5px 3vw;font-size: 14px;font-weight: 700;left: 1.1em;border-radius: 4px;margin-left: 1em;}
.modal-link a{color:#fff !important}
.ap-modal {padding:0}
.ap-modal .abs-element {bottom:10%}
.ap-modal .abs-element p {color:#fff}

/* Contactbox - OPTIONAL */
#contactbox-wrapper{background: var(--primary-color) url(../img/header/yhteysbg.jpg) left top no-repeat; background-size: cover; text-align:center;}
#contactbox-wrapper .cpadding-rl-m{padding:0 0 0 2em !important}
#contactbox-wrapper .webiolinkkipainike {margin-top:0}
#contactbox-wrapper h3,contactbox-wrapper h4,contactbox-wrapper h5,#contactbox-wrapper h6 {color:#fff;font-size:min(max(1.5rem, 2vw), 2.2rem);}
.cboxdiv{display:grid; grid-template-columns: 44% auto;align-items: center; padding:0 0 0 4em !important;}
.greentext {font-weight: 500;color: #bccf02;}

@media screen and (max-width:1280px) {#contactbox-wrapper {grid-template-columns: 1fr;grid-gap: 2em;}}
@media screen and (max-width:1024px) {#contactbox-wrapper{background:var(--primary-color)}#contactbox-wrapper{grid-gap:0}#contactbox-wrapper,.cboxdiv {grid-template-columns: 1fr}#contactbox-wrapper .cpadding-rl-xl{padding:2em}#contactbox-wraper .cpadding-rl-m{padding:1em 0 0 0 !important}.cboxdiv{background:#313131; padding:2em !important}.cboxdiv .webiolinkkipainike{margin: 0 !important; max-width:max-content}.cboxdiv p {text-align:left !important;}#ftr-block .cpadding-rl-xxl{padding:0;}}
@media screen and (max-width:575px) {#contactbox-wrapper {grid-gap: 2em;}}
@media screen and (max-width:480px) {.cboxdiv .webiolinkkipainike {max-width: unset;padding: 10px 30px;max-width: unset !important;}}

/* Even/odd cols, <IMG> / text - OPTIONAL */
.feature-col .abs-element h2, .feature-col .abs-element h3, .feature-col .abs-element h4, .feature-col .abs-element h5, .feature-col .abs-element h6, .feature-col .abs-element p {color:#fff}
.feature-col .abs-element img {width:auto;}
.feature-col img {padding:0; width:100%; object-fit: cover;}
.feature-col .col-right,.feature-even .col-left{padding: 2em 4em;}
.feature-even .col-right{padding: 0;}
.feature-col .col-left,.feature-even .col-right{width: 100%;position:relative}
.feature-col {align-items:center; justify-content:center;grid-gap: 0;}
.feature-col img {height:auto; padding:0 !important;margin: 0 auto;}

@media screen and (max-width:1280px) {.feature-col .col-right, .feature-even .col-left {padding: 2em !important;}}
@media screen and (max-width:1024px) {.feature-col .col-right, .feature-even .col-left,.feature-col .col-left, .feature-even .col-right {padding: 0em !important;}}
@media screen and (max-width:768px) {.feature-even .col-left {order: 2;}}


/* Banner - imgmask (optional) */
.banner-imgmask {position: absolute;height: 100%; width: 100%;} /* Optional */
.bannermask-img {opacity: 1 !important;max-height: 100%;object-fit: cover;width: 100%;}

/* Mobile tags*/
#mobilemenu-container{height:var(--mobilemenu-container-height);position: relative;right: 0;top: 0;z-index: 2000;width: 100%;background: url(../img/header/mblnavi-bg.jpg) center top no-repeat;background-size: 63px;}
#mobile-logo {position: absolute;top: 0;left: 0px;z-index: 50000}
#mobilelogo-img { max-width: 160px;height: auto;padding: 10px 0px 0 1em}
@media screen and (max-width:1024px) {#main-nav, #logo, footer nav, footer ul, #sidenavi, #fl-logo {display: none}}
@media screen and (max-width:860px) {#google-partner {grid-template-columns: auto auto;display:grid;max-width:max-content}#google-partner section:nth-of-type(2){grid-column:1/-1}#google-partner section:last-of-type{order:1}#google-partner section:first-of-type{order:2}}
@media screen and (max-width:575px) {#mobilemenu-container {background-size: 30px;}}

/* Paddings */
.cpadding-s{padding:var(--padding-s)}.cpadding-m{padding:var(--padding-m)}.cpadding-xl{padding:var(--padding-xl)}.cpadding-xxl{padding:var(--padding-xxl)}.cpadding-tb-s{padding:var(--padding-s) 0}.cpadding-tb-m{padding:var(--padding-m) 0}.cpadding-tb-xl{padding:var(--padding-xl) 0}.cpadding-tb-xxl{padding:var(--padding-xxl) 0}.cpadding-t-s{padding-top:var(--padding-s)}.cpadding-t-m{padding-top:var(--padding-m)}.cpadding-t-xl{padding-top:var(--padding-xl)}.cpadding-t-xxl{padding-top:var(--padding-xxl)}.cpadding-b-s{padding-bottom:var(--padding-s)}.cpadding-b-m{padding-bottom:var(--padding-m)}.cpadding-b-xl{padding-bottom:var(--padding-xl)}.cpadding-b-xxl{padding-bottom:var(--padding-xxl)}.cpadding-rl-s{padding:0 var(--padding-s)}.cpadding-rl-m{padding:0 var(--padding-m)}.cpadding-rl-xl{padding:0 var(--padding-xl)}.cpadding-rl-xxl{padding:0 var(--padding-xxl)}

/* Webio cols classes */
.col-3,.col-full,.col-left,.col-right{width:100%;float:none; margin:0}.col-full, .colpadding{clear:both;margin-bottom:20px;}.center-col .colpadding:last-of-type, .content-col .colpadding:last-of-type {display: none;}

/* Webio content classes */
 .webiolinkkipainike, .lomakenappi_submit, .takaisinuutisiin,.open-btn {box-sizing: border-box;cursor: pointer;margin-top: 20px;display: inline-block;text-align: center;font-size: var(--button-font-size);padding: var(--button-padding);background: var(--button-background);color: var(--button-text-color);font-weight: var(--button-font-weight);width: auto;max-width: var(--max-button-width);}.webiolinkkipainike:hover,.takaisinuutisiin:hover { transition: all .3s ease 0s;-webkit-filter: brightness(110%);filter: brightness(110%);text-decoration: none}.tapahtumat, .tapahtumakalenteri_otsikko, .tapahtumakalenteri_valiotsikko, .uutis_otsikko.tapahtumakalenteri_valiotsikko, .uutis_otsikko, .nostettumoduli, .nostettumoduli a, a.nostouutis_otsikko {color: var(--primary-color);font-size: 1.2rem;display: block;}.acc-news-wrapper .uutis_otsikko{border-top: 1px solid #707070;font-family: var(--google-heading-font);margin: 0;line-height: 120%;font-size:0.9rem; text-transform:uppercase;padding: 15px 0 15px 0; font-weight:700}
details{position:relative;margin-top:20px;}
details:after,details[open]:after{position:absolute; right:0; top: 15px;font-weight: 700;pointer-events:none}
details:after{content:"+"}details[open]:after{content:"-"}.valikkolinkki, .valikkolinkki-sel, .valikkomodulilinkki, .valikkomodulilinkki-sel {text-decoration: none;color: #fff;padding: 5px 0;display: block;}@media screen and (max-width:480px) {.webiolinkkipainike, .lomakenappi_submit, .takaisinuutisiin {padding: 10px 30px; max-width:100%}}.popupkalenteri iframe {height: 239px;}
/* Image gallery */
.kuvagalleriagrid {display: grid;grid-template-columns: var(--img-gallery-rows);grid-gap: 1em}.kuvagalleriakuvatausta {width: 100% !important;height: auto !important;margin: 0 !important}.kuvagalleriakuvatausta .kuva {width: 100%;max-width: 100%;object-fit: cover; padding: 0 !important;aspect-ratio:4/3}@media screen and (max-width:575px) {.kuvagalleriagrid {grid-template-columns: repeat(2, 1fr)}}@media screen and (max-width:480px) {.kuva, .kuva2 {float: none !important;clear: both;padding: 20px 0; box-sizing:border-box;}}

/* Semio referencelinks*/
#swlinkit {text-align: center;padding:10px 0;}.swlinkki {font-family:var(--google-font);font-size: 12px;color: #424242; }.swlinkki:hover{color:#06b0a7; text-decoration: none;}

 @media screen and (max-width:678px) {.subpage table, .subpage td, .subpage tr {display: block;width: 100% !important;height: auto; clear: both;box-sizing: border-box}.subpage tbody {width: 100%;display: inline-block}.subpage tr {display: flex;}.subpage tr td {flex:1;}}@media screen and (max-width:480px) {.subpage tr {display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));}}
/* Forms */
.lomakeotsikko {color: var(--primary-color);font-weight: 700; padding:10px 0;}.lomake-ve-solu input[type=checkbox] {display: none}.lomake-ve-solu input[type=checkbox] + label, .lomake-ve-solu input[type=checkbox]:checked + label {-webkit-appearance: none;display: block;position: relative;height: auto;clear: both;}.lomake-ve-solu input[type=checkbox] + label::before, .lomake-ve-solu input[type=checkbox]:checked + label::before {border-radius: 100%;border: 1px solid #8e8e8e;border-radius: 4px;color: #fff;content: "✓";float: left;font-size: 1.2em !important;font-weight: 700;height: 18px;line-height: 11px;margin-right: 20px;padding: 8px 12px 0 8px;position: relative; width: 9px}.lomake-ve-solu input[type=checkbox] + label::before {content: ""}.lomake-ve-solu input[type=checkbox]:checked + label::before { background: #2a2a2a none repeat scroll 0 0;color: #fff !important;border: none;padding: 8px 15px 0 7px}#suodatin input[type=checkbox]:checked + label,.lomake-ve-solu input[type=checkbox]:checked + label {color: #000;box-shadow: 0 1px 2px rgba(0, 0, 0, .05), inset 0 -15px 10px -12px rgba(0, 0, 0, .05), inset 15px 10px -12px rgba(255, 255, 255, .1), inset 0 0 10px rgba(0, 0, 0, .1)}.lomake-ve-solu input[type=checkbox] + label:active, .lomake-ve-solu input[type=checkbox]:checked + label:active {box-shadow: 0 1px 2px rgba(0, 0, 0, .05), inset 0 1px 3px rgba(0, 0, 0, .1)}.lomake-ve-solu [type=radio]:checked, .lomake-ve-solu [type=radio]:not(:checked) {position: absolute;left: -9999px}.lomake-ve-solu [type=radio]:checked + label, .lomake-ve-solu [type=radio]:not(:checked) + label {position: relative; padding-left: 28px;cursor: pointer;line-height: 20px;padding-bottom: 10px;display: inline-block;color: #666}.lomake-ve-solu [type=radio]:checked + label:before, .lomake-ve-solu [type=radio]:not(:checked) + label:before {content: '';position: absolute;left: 0;top: 0;width: 18px; height: 18px;border: 1px solid #8e8e8e;border-radius: 100%;background: #fff}
.lomake-ve-solu [type=radio]:checked + label:after, .lomake-ve-solu[type=radio]:not(:checked) + label:after {content: '';width: 12px;height: 12px;background: #9ec72a;position: absolute;top: 4px;left: 4px;border-radius: 100%;-webkit-transition: all .2s ease;transition: all .2s ease}.lomake-ve-solu [type=radio]:not(:checked) + label:after {opacity: 0;-webkit-transform: scale(0);transform: scale(0)}.lomake-ve-solu [type=radio]:checked + label:after {opacity: 1;-webkit-transform: scale(1); transform: scale(1)}input[type="text"].pmvk, input[type="button"].lpainike { width: auto !important;}@media screen and (max-width:1200px) {.lomake-ve-solu input[type=checkbox] + label::before, .lomake-ve-solu input[type=checkbox]:checked + label::before { margin-bottom: 10px}}tr[id^=lomakerivi] {display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))}input[type=button], input[type=file], input[type=text], textarea {max-width: var(--max-input-width);height:35px;width: 100% !important;box-sizing: border-box;border: 1px solid #8e8e8e}textarea,.lomakenappi_submit, input[type=file] {height: auto}.lomakenappi_submit {-webkit-appearance: none;-moz-appearance: none;appearance: none;color: var(--button-text-color);font-size: var(--button-font-size);width: auto;border: none !important;border-radius: 6px;height: 45px !important;font-weight: 700;margin-top: 10px;line-height: 100%}tr[id^="lomakerivi"] select {border: 1px solid #888 !important;padding: 10px;border-radius: 4px;appearance: auto;-webkit-appearance: auto;-moz-appearance: auto;-ms-appearance: auto; width: auto !important;}.lpainike, .pmvk {width: auto;height: auto}.lomake-ve-solu {padding-bottom: 5px;padding-right: 10px}tr[id^="lomakerivi"] table tr {grid-gap: 2em;display: grid;grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));}tr[id^="lomakerivi"] table { width: 100%;}.rbcb-table tr {grid-gap: 0 !important;}

 /* Mobilemenu */
.meanmenu-reveal{display:none;font-size:30px!important}.meanmenu-reveal{color:var(--mobilemenu-open-close-color);cursor:pointer;display:block;font-size:1px;font-weight:700;height:47px;line-height:22px;margin-top:0;padding: 8px 10px 0 10px;position:absolute;text-decoration:none;text-indent:-9999em;top:4px;width:39px;}.meanmenu-reveal.meanclose {padding: 12px 12px 4px 12px;}.meanmenu-reveal span{background:var(--mobilemenu-button-background);border-radius:2px;display:block;height:6px;margin-top:4px;line-height:100%!important}.mean-nav{float:left;width:100%;margin-top:var(--mobilemenu-container-height)}.mean-nav ul{padding:0;margin:0;width:100%;list-style-type:none}.mean-nav li a{display:block;float:left;width:90%;padding:10px 5% 10px 5%;height:auto;margin:0;text-align:left;color:var(--mobilemenu-link-color);border-top:1px solid rgba(255,255,255,.2);text-decoration:none;font-size:14px;background:var(--mobilemenu-link-background);text-transform:uppercase}.mean-nav ul li li a{width:90%;padding:10px 5% 10px 8%;background:var(--mobilemenu-submenu-background)!important;visibility:visible}.mean-nav ul li{position:relative;float:left;width:100%}.mean-nav a.mean-expand{background:var(--mobilemenu-expand-button)!important;border:medium none;border-radius:3px;color:#fff;font-weight:700;height:20px!important;margin-top:3px !important;padding:3px 4px 4px!important;line-height: 120%;position:absolute;right:10px;text-align:center!important;top:6px;width:23px!important;z-index:2}.mean-remove{display:none!important}#main-navi-resp{display:none}@media screen and (max-width:1024px) {#mobilemenu-container, #main-navi-resp {display: block !important;}#mobile-logo {display: block;}}.acc-news-wrapper {font-family: var(--google-font);margin: 0;line-height: 120%;font-size:0.9rem;}

/* Accessibility */
#skip-to-content {position: absolute;left: -9999px; z-index: 999; padding: 1em;background-color: black;color: white;opacity: 0; }#skip-to-content:focus {left: 50%; transform: translateX(-50%); opacity: 1;}

/* Popup */
/* Avausnappi */
.open-btn {
  padding: 0.5rem 1rem;
  background: #333;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  width:100%
}



/* Overlay – piilotettuna oletuksena */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  display: flex; /* aina flex, näkyvyys kontrolloidaan opacitylla */
  justify-content: center;
  align-items: center;
  z-index: 999;
  opacity: 0;
  pointer-events: none; /* estää klikkauksen kun ei näy */
  transition: background 0.3s ease, opacity 0.3s ease; padding: 2rem 1rem;
}

/* Popup-sisältö */
.popup-inner {background:#fff;outline:none;box-sizing: border-box;min-width:600px; border:none; transition: transform 0.3s ease, opacity 0.3s ease; max-width:1000px;  /*max-height: 70vw;*/
  overflow: visible;
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);}

.popup-inner h2 {font-size:min(max(1.4rem, 1.7vw), 32px)}
.popup-inner h5 {font-size:min(max(1.2rem, 1.2vw), 20px)}
.popup-inner p {font-size:min(max(1rem, 1vw), 18px)}



/* Näytä kun sivu avataan */
.popup-overlay.visible {
  display: flex;
	width: 100%;
  height: 100%;
	background: linear-gradient(45deg, rgba(250, 218, 97, .9) 0.000%, rgba(255, 145, 136, .9) 50.000%, rgba(255, 90, 205, .9) 100.000%);
  opacity: 1;
  border: none;
  opacity: 1;
  pointer-events: auto;
  align-items: flex-start;
}

.popup-overlay.visible .popup-inner {
  transform: translateY(0);
  opacity: 1;
}

/* Sulkunappi */
.close-btn {
position: absolute;
  top: 10px;
  right: 10px;
  background: transparent;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 11;
  float: right;
  background: #fadc71;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 100%;
  border-radius: 200px;
  width: 30px;
  height: 30px;
  padding-bottom: 5px;
}

button[data-popup] {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent; /* poistaa mobiilin sinisen kohdistuksen */
}

.popup-inner .lomake-ve-solu [type="radio"]:checked + label::before, .popup-inner .lomake-ve-solu [type="radio"]:checked + label::after{left: -9999px;}
.popup-inner .lomake-ve-solu [type="radio"]:checked + label {background: #00bbb5;color: #fff;font-size: 1.2rem;line-height: 120%;font-weight: 700;padding: min(max(30px, 2vw), 40px);width:100%; box-sizing:border-box; border-radius:8px;text-align:center;}
.popup-inner .lomake-ve-solu [type="radio"]:not(:checked) + label::before,.popup-inner .lomake-ve-solu [type="radio"]:not(:checked) + label::after{left: -9999px;}
.popup-inner .lomake-ve-solu [type="radio"]:not(:checked) + label,.popup-inner .lomake-ve-solu [type="radio"]:not(:checked) + label {border: 1px solid #dedede;padding: min(max(30px, 2vw), 40px);width: 100%;box-sizing: border-box;border-radius: 8px;background: #f7f7f7;color: #000;font-size: 1.2rem;line-height: 120%;font-weight: 700;text-align:center;}



.popup-inner form > table {
background: linear-gradient(45deg, rgba(250, 218, 97, 1.000) 0.000%, rgba(255, 145, 136, 1.000) 50.000%, rgba(255, 90, 205, 1.000) 100.000%);
  padding: 3em;
  box-sizing: border-box;
  border-radius: 12px;
}

.popup-content {display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;width: 100%;}
.popup-inner summary {list-style:none; font-weight: 700;}

.product-benefits{background: #f7f7f7;border-radius: 12px;}

.popup-inner details:after {display:none;}

/* Responsiivisuus mobiiliin */
@media screen and (max-width:1024px) {.rbcb-table tr.formrow-wb {grid-template-columns: 1fr;}.popup-inner{min-width:90vw;max-width:90vw; min-width:unset;width: 95%;padding: 0.75rem;}.popup-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 1rem;
  z-index: 999;
  background: rgba(0,0,0,0.6);
}

.popup-inner {
  background: #fff;
  width: 96%;
  max-width: 96%;
  max-height: calc(100svh - 1rem);
  border-radius: 8px;
  padding: 1rem;
  overflow-y: auto;
}}

.popup-inner .rbcb-table{padding:1em 0}

@media screen and (max-width:678px) {.popup-inner input{max-width: 100% !important;}}
@media screen and (max-width:575px) {.popup-overlay ul, .popup-overlay li {padding: 0;}}
@media screen and (max-width:440px) {tr[id^="lomakerivi"] {grid-template-columns: 1fr;}.popup-inner .lomake-ve-solu [type="radio"]:not(:checked) + label, .popup-inner .lomake-ve-solu [type="radio"]:not(:checked) + label {padding: 10px;}.popup-inner form > table {padding: 3em 1em;}}