/* prompt-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: 'Prompt';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/prompt-v12-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* prompt-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: 'Prompt';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/prompt-v12-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* prompt-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: 'Prompt';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/prompt-v12-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* prompt-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: 'Prompt';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/prompt-v12-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


    :root {
      --primary-color: #e05f1d;
      --base-font-size: min(max(1rem, 1.05vw), 18px);
      --base-font-color: #aca0a1;
      --base-line-height: 160%;
      --google-font: 'Prompt', sans-serif;
      --google-heading-font: 'Prompt', sans-serif;
      --navi-background: #e05f1d;
      --footer-navi-background: transparent;
      --navilink-font-size: min(max(0.8rem, 1.05vw), 18px);
      --navilink-color: #fff;
      --navilink-font-weight: 700;
      --navilink-padding: 40px 0;
      --navilink-selected-bg: #fff;
      --navilink-selected-color: #222222;
      --heading-size-1: min(max(1.6rem, 3vw), 58px);
      --heading-size-2: min(max(1.4rem, 1.6vw), 32px);
      --heading-size-3: min(max(1.8rem, 2.6vw), 52px);
      --heading-size-4: min(max(1.6rem, 2.1vw), 42px);
      --heading-size-5: min(max(1.4rem, 1.5vw), 30px);
      --heading-size-6: min(max(1.6rem, 2.4vw), 48px);
      --grid-gap: 2em 3em;
      --button-background: #fff;
      --button-text-color: #e05f1d;
      --button-font-size: min(max(1rem, 1vw), 1rem);
      --button-font-weight: 700;
      --button-padding: 15px 60px;
      --max-button-width: 450px;
      --max-input-width: 400px;
      --img-gallery-rows: repeat(auto-fit, minmax(200px, 1fr));
      --img-gallery-img-size: 300px;
      --mobilemenu-container-height: 63px;
      --mobilemenu-open-close-color: #fff;
      --mobilemenu-menutext-color: #fff;
      --mobilemenu-button-background: #fff;
      --mobilemenu-link-color: #fff;
      --mobilemenu-link-background: #e05f1d;
      --mobilemenu-expand-button: #fff;
      --mobilemenu-submenu-background: #d45311;
      --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;
      --footer-background: url(../img/header/footerbg.jpg) center -100px no-repeat;
      --footer-bg-scale: cover;
      --skew-positive:skew(33deg);
      --skew-negative:skew(-33deg);
    }
body, html, p {margin: 0;padding: 0;font-family: var(--google-font);color: var(--base-font-color);font-size: var(--base-font-size);line-height: var(--base-line-height); font-weight:500}  img {max-width: 100%;height: auto;display: block;}header.content-col { position: absolute;z-index: 2;overflow: hidden;background: #000000;background: linear-gradient(180deg, rgba(0, 0, 0, 0.67) 0%, rgba(0, 0, 0, 0) 100%);}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;text-transform:uppercase;}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}}

/* 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-nav{display:flex;background:url(../img/header/right-navi-bg.png) left center no-repeat}#main-navi, #main-navi-right,#top-navi, #footernavi {margin: 0 auto;padding: 0;list-style: none;z-index: 2;position: relative;flex-direction: row;justify-content:space-evenly;width:100%}#main-navi{background:var(--navi-background); position: relative;z-index: 2;justify-content:center;}#main-navi li{flex:1; text-align: center}#main-navi {transform: var(--skew-positive);}#main-navi li {transform: var(--skew-negative);}#main-navi .naviblock a {transform: var(--skew-positive);}.naviblock a span {transform: var(--skew-negative);display: block;}#main-navi-right{background:url(../img/header/right-navi-bg-2.jpg) left center no-repeat;position: relative;z-index: 1;}#main-navi-right li {flex:1}#main-navi-right a {transform:var(--skew-positive);text-align: center;}#main-navi-right span {transform:var(--skew-negative)}#main-navi{flex:2}#main-navi-right{flex:1}#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;transition:var(--animate); }#main-navi a:hover,#main-navi-right a:hover {background: rgba(255,255,255,.1)}.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: 16vw;padding:0px 0 0 20px}#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;}

@media screen and (max-width:1660px) {.mainnavi-link {padding: 30px 0;}}
@media screen and (max-width:1440px) {.naviblock a span{font-size:14px}.mainnavi-link {padding: 25px 0;}}
@media screen and (max-width:1280px) {header.content-col {grid-gap: 0;}#logo img {padding:0px}#main-navi{flex:2}#main-navi-right{flex:1}}


/* General classes, heroimg, banners */
#main-heroimg {width: 100%;}
.heroimg {position: relative;overflow:hidden;}
picture img {width:100%; max-height:1040px;object-fit:cover}
#herotext h2, #herotext h3, #herotext h4, #herotext h5, #herotext h6, #herotext p {color:#fff}
#hero-front .heroheader{font-size:min(max(2.3rem, 4vw), 80px);font-weight:800; line-height:100%; text-transform:uppercase;}
#hero-front .herotext-container {padding-top: 108px;}
#subpage-hero #main-heroimg {max-height:704px; object-fit:cover;min-height:300px}
#subpage-main h2 {font-size:min(max(1.6rem, 2.7vw), 52px);}
.subpage-header {bottom:10%; text-align: center}
.herotext-container {max-width: 50%;display: flex;flex-direction: column;align-items: flex-end;text-align: right;float: right;}
.herotext-container .headerbox span{color:var(--primary-color);transform: var(--skew-negative);display: block;}
.herotext-container .headerbox p{transform: var(--skew-positive);}
.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;width: 100%;z-index: 220;pointer-events:none; width: max-content;}
.headerbox p{font-family: var(--google-font);font-weight: 700;background: #1e1e22;color: var(--primary-color);text-shadow: none;display: block;max-width: max-content;margin: 0 auto;padding: 10px 3vw;text-align: center;text-transform: uppercase;}
.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 */
footer {background:var(--footer-background); background-size: var(--footer-bg-scale)}
#some-icons {display:flex;justify-content:center; align-items:center}
#some-icons p {padding-right:10px}
#main-content-wrapper {background-image:url(../img/header/bg-mask.png),url(../img/header/pattern-lightgray.jpg); background-position: left top, left top; background-repeat: no-repeat, repeat; background-size: 100%,auto; background-blend-mode:color-burn}
.subpage-main-content#main-content-wrapper {background-image:url(../img/header/subpage-patterbg.png),url(../img/header/pattern-darkgray.jpg);background-size: auto,auto; background-blend-mode:unset;background-position: left top, right top;}
.subpage-col, #main-content-wrapper-spage {background:url(../img/header/pattern-darkgray.jpg) left top repeat;}
.light-bg {background:url(../img/header/pattern-lightgray-alt.jpg) left top repeat;}

/* Frontpage -> Introduction */
#introduction .abs-element {left: 5%;width: 40%;}
#introduction img {max-height:850px; object-fit:cover;object-position: top right;box-sizing: border-box;object-position: top right;width: 100%;box-sizing: border-box;clip-path: polygon(35% 0, 100% 0%, 100% 100%, 0% 100%);float: right;}

/* Subpage -> Introduction */
.subpage-main-content #introduction .image-clipmask {align-self: flex-start;}
.subpage-main-content #introduction .abs-element {left: unset;right: 5%;width: 35%;}
.subpage-main-content #introduction img {clip-path: polygon(0 0, 65% 0, 100% 100%, 0% 100%);}

/* Frontpage -> Servicebanners */
#servicebanners{grid-gap:1em;padding-left: 1em;padding-right: 1em;grid-template-columns: 1fr 1fr 1fr;}
#servicebanners .abs-element {width:100%; left:0; bottom:0; padding:2em; box-sizing:border-box;background:url(../img/header/bannermask-bg.png) left bottom no-repeat; background-size:cover;}
#icons {grid-template-columns:1fr 1fr 1fr}
#icons img {margin:0 auto; padding-bottom:1em;}#icons img {max-width: 10vw;min-width: 100px;}
#icons h4,#icons h5 {text-align:center;text-transform:unset;}
#icons h5 {color:#fff}
#servicebanners .abs-element h2,#servicebanners .abs-element p, #servicebanners .abs-element a{max-width:70%}
#servicebanners .abs-element p, #servicebanners .abs-element a{color:#e05f1d}
#servicebanners .abs-element h2, #servicebanners .abs-element h3, #servicebanners .abs-element h4 {color:#fff}
.image-clipmask{align-self: flex-end;width: 63%;}
#servicebanners p {line-height: 140%;}
#servicebanners .col-full {margin-bottom:0}

/* Subpage -> Small banners */
#small-banners h3{font-size:min(max(1.4rem, 1.4vw), 28px);text-transform: unset; color:#fff}
#small-banners img {width: 100%;padding:0 0 1em 0 !important}
#small-banners .col-full {margin-bottom:0;grid-gap:2em}
#service-desc-wrapper h4,#service-desc-wrapper h5, #service-desc-wrapper h6 {text-transform:unset} 
#service-desc-wrapper .dgrid-2-cols > article,#service-desc-wrapper .dgrid-3-cols > article {padding:var(--padding-m); border:1px solid var(--primary-color)}
#service-features-wrapper h6 {text-transform:unset;font-size:min(max(1.5rem, 1.8vw), 36px)}
#service-features-wrapper p {color:#000000;font-size:min(max(1.2rem, 1.3vw), 22px); line-height:140%}
#subpage-secondary-content p {color:#000000;}

/* Subpage -> Contact table */
#subpage-secondary-content table, #subpage-secondary-content tbody,#subpage-secondary-content tr, #subpage-secondary-content td{width:100% !important; height:auto !important} #subpage-secondary-content tr {display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); grid-gap:1em;} @media screen and (max-width:575px) {#subpage-secondary-content tr {display:grid; grid-template-columns:1fr; grid-gap:1em;}#subpage-secondary-content table img {width: 100%;}}

/* Subpage -> Optional content */
.optional-content article div:empty{display:none;}
.optional-content .col-full > div{padding:2em;}

/* Frontpage -> Recruiting */
#rekry .abs-element {width:100%}
#rekry img {max-height:1107px; object-fit:cover; object-position:left bottom}
#rekry-text {max-width:40%}
#rekry h6 {text-transform:unset;}
#rekry .headerbox {margin-bottom:1em;}
#rekry .headerbox p{background:#e96520; color:#000}

/* Footer */
#contact-wrapper {grid-gap: 1em;}
#contact-logo,#contact-text {max-height:132px; overflow:hidden}
#contact-logo{background:url(../img/header/footer-logo-bg.png) right top no-repeat; background-size:cover;display: flex;justify-content: flex-end;align-items: center;padding-right: 7vw;}
#contact-logo img {max-width: 14vw;min-width: 190px;}
#contact-text{background:url(../img/header/footer-textcol-bg.png) left top no-repeat; background-size:cover;}
#contact-text-content{max-width:max-content;margin: 0 auto;grid-template-columns:1fr 180px;}
#contact-text-content .webiolinkkipainike {margin-top:0;white-space: nowrap;}
#contact-text h6{font-size:min(max(1.3rem, 2.1vw), 42px);}
#contact-text-phone h6,#contact-text-phone h6 a{font-size:min(max(1.1rem, 1.6vw), 32px);text-transform: unset}
/*#contact-text-phone h6 span {font-size:min(max(1rem, 1.4vw), 28px);font-weight:400; padding-right:30px; }*/
#contact-info {max-width:max-content}
#ftr-navi-bg {background:rgba(0,0,0,.4)}

@media screen and (max-width:1920px) {footer{background: #343434 url(../img/header/footerbg.jpg) center 0 no-repeat;background-size: 100%;}#introduction img {clip-path: polygon(42% 0, 100% 0%, 100% 100%, 0% 100%);}}
@media screen and (max-width:1440px) {#introduction img {clip-path: polygon(42% 0, 100% 0%, 100% 100%, 0% 100%);}#servicebanners .abs-element h2, #servicebanners .abs-element p, #servicebanners .abs-element a {max-width: 80%;}}
@media screen and (max-width:1280px) {#servicebanners .abs-element h2,#servicebanners .abs-element p, #servicebanners .abs-element a{max-width:90%}#servicebanners .abs-element {background: url(../img/header/bannermask-bg.png) 40% bottom no-repeat;}}
@media screen and (max-width:1024px) {#hero-front .herotext-container {padding-top: 0;}#contact-logo,#contact-text{max-width: 98%;text-align: center;justify-content: center;max-height: unset}#contact-text{justify-self: flex-end;width: 98%;}#introduction .banner {position: relative;}#introduction > .abs-element {padding: 0 2em 2em 2em;left:0; width:100%}.image-clipmask {width: 100%;} #introduction img {clip-path: unset;display: none;}.subpage-main-content #introduction img{display:block;}.subpage-main-content #introduction .image-clipmask {order: 2;}.subpage-main-content #introduction img{clip-path:unset}#rekry .abs-element {position: relative;order: 2;background: #000306;padding: 2em 0 4em 0;}#rekry-text {max-width: unset;}#main-content-wrapper {background-size: 160%,auto;}.subpage-main-content#main-content-wrapper {background: rgba(0,0,0,.75) url(../img/header/pattern-darkgray.jpg) left top repeat;}.subpage-main-content #introduction .abs-element{padding: 0 2em 2em 2em;left:0; width:100%; right:unset}#servicebanners {grid-template-columns: 1fr 1fr;}}
@media screen and (max-width:860px) {#contact-text-content {max-width: 100%;grid-template-columns: 1fr;}#contact-text h6 {font-size: min(max(1.8rem, 2.1vw), 42px);}#contact-text-phone h6, #contact-text-phone h6 a {font-size: 1.8rem;} #contact-text {width: 98%;padding-top: 3em;padding-bottom: 3em;background: rgba(0, 0, 0,0.8);}  footer {background-size: contain;}}
@media screen and (max-width:768px) {#icons {grid-template-columns:1fr 1fr}}
@media screen and (max-width:678px) {#main-content-wrapper {background-size: 180%,auto;}#servicebanners {grid-template-columns:1fr}#servicebanners .abs-element {background-size: cover;}}
@media screen and (max-width:575px) {#herotext {width: 100%;}#hero-front #main-heroimg {min-height: 500px;}#herotext{bottom: 10%;}#icons img {max-width: 14vw;min-width: 80px;}.herotext-container {max-width: 100%;flex-direction: column;align-items: center;text-align: center;float: unset;}.herotext-container .headerbox {width: 80%;}.herotext-container .headerbox span {white-space: pre-wrap;font-size: 14px;line-height: 130%;}#servicebanners .bnr img {aspect-ratio: 3/4;}#contact-text-phone h6 span {padding-right: 0;display:block;} #contact-text {width: 100%;max-width:100%}#contact-text-content .webiolinkkipainike {padding-left: 40px;padding-right: 40px;}#contact-info {text-align: center;}}
@media screen and (max-width:480px) {#main-content-wrapper {background-size: 200%,auto;}#icons {grid-template-columns:1fr}#rekry img {min-height: 350px;object-position: right;}}
@media screen and (max-width:440px) {#servicebanners .abs-element h2, #servicebanners .abs-element p, #servicebanners .abs-element a {max-width: 100%;line-height: 140%;}}
@media screen and (max-width:420px) {#main-content-wrapper {background-size: 220%,auto;}#hero-front .heroheader {font-size: 1.8rem}}
@media screen and (max-width:375px) {#main-content-wrapper {background-size: 240%,auto;}#servicebanners .abs-element {background: url(../img/header/bannermask-bg.png) -150px bottom no-repeat;background-size: cover;padding: 1.5em;}}
@media screen and (max-width:360px) {#main-content-wrapper {background-size: 260%,auto;}}

/* Mobile tags*/
#mobilemenu-container{height:var(--mobilemenu-container-height);position: absolute;right: 0;top: 0;z-index: 2000;width: 100%;}
#mobile-logo {position: absolute;top: 0;left: 0px;z-index: 50000}
#mobilelogo-img { max-width: 200px;height: auto;padding: 16px 0px 0 1em}
@media screen and (max-width:1024px) {#main-nav, #logo, footer nav, footer ul, #sidenavi {display: none}}

/* 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 {text-transform:uppercase;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 {clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);box-sizing: content-box;}.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 40px; 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: #7F7F7F; }.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: #fff;font-size: var(--button-font-size);background:var(--primary-color);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;}input[type="file"] {background: #fff;color: #000;}

 /* 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);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;font-family: var(--google-heading-font);font-weight: 700;}.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;color:#e05f1d;border:medium none;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;}#swlinkit a{color:#5A5A5A}}.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;}

/* Carousel */
#carousel-wrapper-ow{width:100%}.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}.tns-nav {text-align:center; margin:10px 0}.tns-nav button, .tns-nav-active {width: 20px;height: 20px;border-radius: 100%;border: none;background: #d5d5d5;margin:0 2px}button.tns-nav-active {background: #c0010c;}.tns-controls{position: absolute;z-index: 20;padding-bottom:40px}.tns-controls {width: 100%;}button[data-controls="prev"], button[data-controls="next"] {background: #2a2a2a;height: 40px;width: 40px;display: flex;justify-content: center;align-items: center;border: none; border-radius: 100px;color: #fff;font-size: 1.6rem;line-height: 100%;padding-bottom:5px; position:absolute}button[data-controls="prev"]{left:-25px}button[data-controls="next"]{right:16px; left:unset}
