html { font-size: clamp(14px, 1.25vw, 20px); }
html { scroll-behavior: smooth; }

:root { --sidecol-width: 20vw; }


.neve-main > .single-post-container .nv-single-post-wrap.col { max-width: 100%; margin-bottom: 0px; }
.nv-single-post-wrap>div:first-child { margin-top: 0px; }
.nv-single-post-wrap>div:last-child { padding-bottom: 0px; }


/* fonts */
p { margin-bottom: 1.4rem; }
p.has-x-large-font-size { font-size: var(--h2fontsize)!important; font-weight: var(--h2fontweight); line-height: var(--h2lineheight); letter-spacing: var(--h2letterspacing); text-transform: var(--h2texttransform); font-family: var(--headingsfontfamily), var(--nv-fallback-ff); }
p.has-large-font-size { font-size: var(--h3fontsize)!important; font-weight: var(--h3fontweight); line-height: var(--h3lineheight); letter-spacing: var(--h3letterspacing); text-transform: var(--h3texttransform); font-family: var(--headingsfontfamily), var(--nv-fallback-ff); }
p.has-medium-font-size { font-size: var(--h4fontsize)!important; font-weight: var(--h4fontweight); line-height: var(--h4lineheight); letter-spacing: var(--h4letterspacing); text-transform: var(--h4texttransform); font-family: var(--h4fontfamily); }
p.has-small-font-size { font-size: 0.8rem!important; line-height: 1.3; }




h1, h2, h3, h4, h5, h6 { margin-bottom: 1.4rem; color: var(--nv-primary-accent); }


/* container */
.alignfull > .wp-block-group-is-layout-constrained { margin: auto; max-width: calc(var(--container) - 15px); }
@media (max-width: 1760px) { .container, .alignfull > .wp-block-group-is-layout-constrained { padding-right: 3rem; padding-left: 3rem; } }
@media (max-width: 768px) { .container, .alignfull > .wp-block-group-is-layout-constrained { padding-right: 2rem; padding-left: 2rem; } }
@media (max-width: 500px) { .container, .alignfull > .wp-block-group-is-layout-constrained { padding-right: 1rem; padding-left: 1rem; } }
.alignfull { padding-left: 0px; padding-right: 0px; }

/* headings */
.h1 { font-size: var(--h1fontsize); font-weight: var(--h1fontweight); line-height: var(--h1lineheight); letter-spacing: var(--h1letterspacing); text-transform: var(--h1texttransform); font-family: var(--headingsfontfamily), var(--nv-fallback-ff); }
.h2 { font-size: var(--h2fontsize); font-weight: var(--h2fontweight); line-height: var(--h2lineheight); letter-spacing: var(--h2letterspacing); text-transform: var(--h2texttransform); font-family: var(--h4fontfamily); }
.h3 { font-size: var(--h3fontsize); font-weight: var(--h3fontweight); line-height: var(--h3lineheight); letter-spacing: var(--h3letterspacing); text-transform: var(--h3texttransform); font-family: var(--headingsfontfamily), var(--nv-fallback-ff); }
.h4 { font-size: var(--h4fontsize); font-weight: var(--h4fontweight); line-height: var(--h4lineheight); letter-spacing: var(--h4letterspacing); text-transform: var(--h4texttransform); font-family: var(--h4fontfamily); }
.h5 { font-size: var(--h5fontsize); font-weight: var(--h5fontweight); line-height: var(--h5lineheight); letter-spacing: var(--h5letterspacing); text-transform: var(--h5texttransform); font-family: var(--h5fontfamily); }
.h6 { font-size: var(--h6fontsize); font-weight: var(--h6fontweight); line-height: var(--h6lineheight); letter-spacing: var(--h6letterspacing); text-transform: var(--h6texttransform); font-family: var(--h6fontfamily); }


.has-max-width-1360 {
  max-width: 1346px;
}

.has-max-width-1040 {
  max-width: 1040px;
}

.has-max-width-960 {
  max-width: 960px;
}

.has-max-width-600 {
  max-width: 600px;
}

.has-max-width-520 {
  max-width: 520px;
}

.has-max-width-360 {
  max-width: 360px;
}

/* uusi */
.has-width-50vw {
  width: 50vw;
  max-width: 100%;
}

figure.has-width-50vw > img {
  width: 50vw;
  max-width: 100%;
}




/* tekstityylit */
.font-style-large { font-family: var(--h4fontfamily); font-size: var(--h4fontsize)!important; font-weight: var(--h4fontweight); line-height: var(--h4lineheight); letter-spacing: var(--h4letterspacing); text-transform: var(--h4texttransform); margin-bottom: 2rem;  }
.font-style-small { font-size: 0.7rem; }
.font-style-hepta { font-family: var(--h4fontfamily); font-size: 0.95rem; font-weight: 500; }





/* maskit */
.featured-mask-1 img {
    width: 100%;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(../img/mask1.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
    mask-image: url(../img/mask1.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
}


/* header */
header .container { max-width: 100%; padding: 0px; } header .container > .row { margin: 0px; height: 170px; }
.has-center .row--wrapper { grid-template-columns: var(--sidecol-width) auto auto; }
header .hfg-slot.left { width: var(--sidecol-width); border-right: 1px solid var(--nv-c-1); padding: 0px 40px; text-align: center; justify-content: center; }
header .hfg-slot.center { justify-content: flex-start; padding-left: 40px; }
header .hfg-slot.right .builder-item.hfg-start { margin-right: 40px; padding-right: 0px; }
header .hfg-slot.right > * { height: 100%; display: flex; align-items: center; }
header .hfg-slot.right .builder-item:not(.hfg-start) { border-left: 1px solid var(--nv-c-1); width: 170px; justify-content: center; }

#nv-primary-navigation-main > li:first-child {
  margin-left: 0px;
}

.builder-item.has-nav, .nav-ul li.menu-item-has-children { position: static; }
#nv-primary-navigation-main ul.sub-menu { position: absolute; left: var(--sidecol-width)!important; top: 171px; width: calc(100vw - var(--sidecol-width) )!important;  }


@media (max-width: 1199px) {
  header .hfg-slot.right .builder-item.hfg-start { display: none; }
}

@media (max-width: 959.99px) {
  header .container > .row { height: 140px; }
  header .hfg-slot.right .builder-item:not(.hfg-start) {  width: 140px; }
}

@media (max-width: 600px) {
  header .container > .row { height: 100px; }
  header .hfg-slot.right .builder-item:not(.hfg-start) {  width: 100px; }
}

#header-menu-sidebar { margin-top: 170px; height: fit-content; position: absolute; }
#header-menu-sidebar-inner > div { margin: 0px!important; padding: 0px!important; }
.avautuva_valikko { align-items: unset!important; }
.avautuva_valikko .mainlink { border-bottom: 1px solid var(--nv-c-1); }
.avautuva_valikko .mainlink a { display: block; margin-bottom: 0.5rem; font-size: var(--h2fontsize); font-weight: var(--h2fontweight); line-height: var(--h2lineheight); letter-spacing: var(--h2letterspacing); text-transform: var(--h2texttransform); font-family: var(--h4fontfamily); color: var(--nv-secondary-accent); }
.avautuva_valikko .mainlink a:hover { color: var(--nv-light-bg); }
.header-menu-sidebar .navbar-toggle-wrapper { position: absolute; top: -170px; right: 0px; width: 170px; height: 170px; background-color: var(--nv-dark-bg); justify-content: center; }
.avautuva_valikko .yhteystietopalsta { width: var(--sidecol-width); border-right: 1px solid var(--nv-c-1); padding: 40px;     justify-content: space-between; }
.avautuva_valikko .valikkoalue { flex: auto; }
.avautuva_valikko .valikkoalue > div > div { padding: 40px 40px 40px 0px; gap: 40px; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); }
.avautuva_valikko .valikkoalue .wp-block-page-list { margin-bottom: 1.5rem;  }
.avautuva_valikko .valikkoalue .wp-block-page-list li a { display: inline-block; margin: 0.4rem 0px; color: var(--nv-secondary-accent); font-size: var(--h4fontsize); font-weight: var(--h4fontweight); line-height: var(--h4lineheight); letter-spacing: var(--h4letterspacing); text-transform: var(--h4texttransform); font-family: var(--h4fontfamily); }

.avautuva_valikko .valikkoalue .wp-block-page-list li a::after,
.avautuva_valikko .mainlink a::after {
  content: "chevron_right";
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}

@media (max-width: 1200px) {
  .avautuva_valikko { flex-direction: column-reverse;}
  .avautuva_valikko .valikkoalue > div > div { padding: 40px; }
  .avautuva_valikko .valikkoalue, .avautuva_valikko .yhteystietopalsta {
    flex: 100%;
    width: 100%;
    border-right: 0px solid var(--nv-c-1);
  }
  .avautuva_valikko .yhteystietopalsta {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}

@media (max-width: 959.99px) {
  #header-menu-sidebar { margin-top: 140px;  }
  .header-menu-sidebar .navbar-toggle-wrapper { top: -140px; width: 140px; height: 140px; }
}

@media (max-width: 600px) {
  #header-menu-sidebar { margin-top: 100px;  }
  .header-menu-sidebar .navbar-toggle-wrapper { top: -100px; width: 100px; height: 100px; }
}



.hfg-slot.center .builder-item.has-nav { height: 100%; margin: 0px; padding: 0px; }


.hfg-slot.center .builder-item.has-nav .builder-item--primary-menu,
.hfg-slot.center .builder-item.has-nav .builder-item--primary-menu > *,
.hfg-slot.center .builder-item.has-nav .builder-item--primary-menu > * > * { height: 100%; }
#nv-primary-navigation-main { margin-left: 0px; margin-right: 0px; height: 100%; }
#nv-primary-navigation-main > li { display: flex; }


#nv-primary-navigation-main ul.sub-menu {
  width: 28rem;
    left: 0px;
    padding: 40px;
}

#nv-primary-navigation-main ul.sub-menu a {

}

#nv-primary-navigation-main ul.sub-menu a::after {
  content: "chevron_right";
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}






/* footer */
.footer_1 > div { max-width: 100%!important; padding-right: 0px !important; padding-left: 0px !important; }
.footer_2 { grid-template-columns: var(--sidecol-width) auto!important; }
.footer_2 { gap: 0px!important; }
.footer_2.row1 .sidecol { padding-top: 60px; text-align: center; }
.footer_2 .contentcol > div { display: grid; grid-template-columns: 2fr 1fr 1fr; }
.footer_2 .contentcol .rightcol { border-left: 1px solid var(--nv-c-1); }
.footer_2.row1 .contentcol .leftcol > * { padding: 60px 40px; }
.footer_2.row1 .contentcol .rightcol > * { padding: 60px 40px; }

.footer_2 .sidecol.border-right { border-right: 1px solid var(--nv-c-1); }

.footer_2.row3 { border-top: 1px solid var(--nv-c-1);; }
.footer_2.row3 .sidecol > * { padding: 20px 20px; }
.footer_2.row3 .contentcol .leftcol > * { padding: 20px 40px; }
.footer_2.row3 .contentcol .rightcol > * { padding: 20px 40px; }
.footer_2.row3 p, .footer_2.row3 a { margin-bottom: 0px; }

@media (max-width: 1299px) {

  .footer_2 .contentcol > div {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  /* iso sarake täysleveäksi */
  .footer_2 .contentcol > div > :first-child {
    grid-column: 1 / -1;
  }
  .footer_2 .contentcol .rightcol { border-left: 0px solid var(--nv-c-1); }

}

@media (max-width: 600px) {
  .footer_2 { grid-template-columns: 1fr!important; }
}

@media (max-width: 400px) {
  .footer_2 .contentcol > div {
    grid-template-columns: 1fr;
  }
  .footer_2.row3 .sidecol { order: 2; border-top: 1px solid var(--nv-c-1);  }
  .footer_2.row3 .contentcol { order: 1;}
  .footer_2.row3 { border-top: 0px solid var(--nv-c-1); }
  .emptyrow { display: none!important; }
  .footer_2.row1 .contentcol .leftcol > * { padding: 20px 40px; }
  .footer_2.row1 .contentcol .rightcol > * { padding: 20px 40px; }
  .footer_2.row3 .contentcol .leftcol > * { padding: 5px 40px; }
  .footer_2.row3 .contentcol .rightcol > * { padding: 5px 40px; }
}


.mb-0 { margin-bottom: 0px; }

/* Oma tasaus */
.wp-block-group.is-layout-flex.has-mvr-row-space-between {
  justify-content: space-between;
}

/* Gap */
.wp-block-group.is-layout-flex {
  gap: var(--mvr-row-gap, 40px);
}

/* Divider käyttöön */
.wp-block-group.is-layout-flex.has-mvr-row-divider > * {
  position: relative;
}

/* Piirretään viiva elementtien väliin */
.wp-block-group.is-layout-flex.has-mvr-row-divider > * + *::before {
  content: "";
  position: absolute;
  left: calc(var(--mvr-row-gap, 40px) / -2);
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--nv-c-1);
}




.wp-block-group.is-layout-flex.is-nowrap.has-mvr-row-divider > * {
  position: relative;
}

.wp-block-group.is-layout-flex.is-nowrap.has-mvr-row-divider > * + *::before {
  content: "";
  position: absolute;
  left: calc(var(--mvr-row-gap, 40px) / -2);
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--nv-c-1);
}





.taxonomy-palvelu.wp-block-post-terms a { font-size: var(--h6fontsize); font-weight: var(--h6fontweight); line-height: var(--h6lineheight); letter-spacing: var(--h6letterspacing); text-transform: var(--h6texttransform); font-family: var(--h6fontfamily); }
.taxonomy-palvelu.wp-block-post-terms a, .taxonomy-palvelu.wp-block-post-terms a:hover { color: var(--nv-primary-accent); text-decoration: none; }
.single .taxonomy-palvelu.wp-block-post-terms { margin-bottom: 1rem; }

/* list block */
.wp-block-list li { font-family: var(--h4fontfamily); font-size: 0.95rem; font-weight: 500; list-style-image: url(../img/list-image.svg); border-bottom: 1px solid var(--custom-8); padding: 0.3rem 0 0.3rem 0.7rem; }


/* buttons */
.wp-block-button:not(.is-style-primary):not(.is-style-secondary) {  }

.wp-block-button:not(.is-style-primary):not(.is-style-secondary) a {     
  cursor: pointer;
  box-sizing: border-box;
  background: var(--primarybtnbg);
  color: var(--primarybtncolor);
  border-style: solid;
  border-color: currentColor;
  fill: currentColor;
  border-width: var(--primarybtnborderwidth, 0);
  border-radius: var(--primarybtnborderradius, 3px);
  padding: var(--primarybtnpadding, 13px 15px);
  font-weight: var(--btnfontweight, 700);
  font-size: var(--btnfs, var(--bodyfontsize));
  line-height: var(--btnlineheight, 1.6);
  letter-spacing: var(--btnletterspacing, var(--bodyletterspacing));
  text-transform: var(--btntexttransform, none);
} 

.has-neve-link-color-background-color .wp-block-button:not(.is-style-primary):not(.is-style-secondary) a,
.has-neve-link-color-background-color .wp-block-button.is-style-primary a,
.has-nv-dark-bg-background-color .wp-block-button:not(.is-style-primary):not(.is-style-secondary) a,
.has-nv-dark-bg-background-color .wp-block-button.is-style-primary a,
.is-bg-blue .wp-block-button:not(.is-style-primary):not(.is-style-secondary) a,
.is-bg-blue .wp-block-button.is-style-primary a,
.is-bg-dark .wp-block-button:not(.is-style-primary):not(.is-style-secondary) a,
.is-bg-dark .wp-block-button.is-style-primary a {
  color: var(--primarybtnbg);
  background: var(--primarybtncolor);
}

.wp-block-button.is-style-secondary a {
  padding-left: 0px;
}

.has-neve-link-color-background-color .wp-block-button.is-style-secondary a,
.has-nv-dark-bg-background-color .wp-block-button.is-style-secondary a,
.is-bg-blue .wp-block-button.is-style-secondary a,
.is-bg-dark .wp-block-button.is-style-secondary a {
  color: var(--primarybtncolor);
}

.wp-block-button.is-style-secondary a::after {
  content: "chevron_right";
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}



/* frontpage header */

.frontpage_header .header_video {
  width: 50vw;
  position: relative;
}


.frontpage_header .header_video video {
  object-fit: cover;
  aspect-ratio: 4 / 3!important;
  object-position: center;
}

.frontpage_header .header_video .wp-block-button {
  position: absolute;
  bottom: 0px;
  left: 0px;
}

.frontpage_header .header_video .wp-block-button a {
  background: var(--nv-c-1);
  color: var(--nv-text-color);
  padding: 1.8em 3em;
}

.frontpage_header .tekstialue { padding-left: 40px;}

@media (max-width: 1600px) {
  .frontpage_header h1 { font-size: 2.2rem; }
}

@media (max-width: 960px) {
  .frontpage_header { flex-direction: column-reverse; }
  .frontpage_header .header_video { width: 100%; }
  .frontpage_header .mvr-sisaltoalue__contentinner { padding: 0px; }
  .frontpage_header .tekstialue { width: 100%; }
}


/* subpage header */
@media (max-width: 1200px) {
  .subpage_header aside { display: none; }
}

@media (max-width: 960px) {
  .subpage_header figure { max-width: 35vw; }
  .subpage_header h1 { padding-top: 40px; padding-bottom: 40px; }
}

@media (max-width: 600px) {
  .subpage_header figure { width: 100vw; object-fit: cover; height: 120px; max-width: 100%; overflow: hidden; }
  .subpage_header .mvr-sisaltoalue__contentinner > div { flex-direction: column-reverse; }
  .subpage_header .mvr-sisaltoalue__contentinner { padding-left: 0px; }
  .subpage_header h1 { padding: 0px 40px 40px 40px; width: 100%;}
}









/* MVR-sisältölohko */
.mvr-sisaltoalue {
  width: 100%;

  --content-margin-top: 40px;
  --content-margin-right: 40px;
  --content-margin-bottom: 40px;
  --content-margin-left: 40px;

  --side-margin-top: 40px;
  --side-margin-right: 40px;
  --side-margin-bottom: 40px;
  --side-margin-left: 40px;
}

/* Taustavärit koko lohkolle */
.mvr-sisaltoalue.is-bg-default {
  background: transparent;
}
.mvr-sisaltoalue.is-bg-dark {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}
.mvr-sisaltoalue.is-bg-light {
  background: var(--nv-light-bg);
}
.mvr-sisaltoalue.is-bg-blue {
  background: var(--nv-secondary-accent);
}
.mvr-sisaltoalue.is-bg-violet {
  background: var(--nv-c-1);
}
.mvr-sisaltoalue.is-bg-yellow {
  background: var(--nv-c-2);
}

/* Dark background text colors */
.mvr-sisaltoalue.is-bg-dark h1,
.mvr-sisaltoalue.is-bg-dark h2,
.mvr-sisaltoalue.is-bg-dark h3,
.mvr-sisaltoalue.is-bg-dark h4,
.mvr-sisaltoalue.is-bg-dark h5,
.mvr-sisaltoalue.is-bg-dark h6,
.mvr-sisaltoalue.is-bg-dark p,
.mvr-sisaltoalue.is-bg-dark span,
.mvr-sisaltoalue.is-bg-dark li,
.mvr-sisaltoalue.is-bg-dark a {
  color: var(--nv-text-dark-bg);
}

/* Reunan taustavärit */
.mvr-sisaltoalue.is-side-bg-default .mvr-sisaltoalue__sidecol {
  background: transparent;
}
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}
.mvr-sisaltoalue.is-side-bg-light .mvr-sisaltoalue__sidecol {
  background: var(--nv-light-bg);
}
.mvr-sisaltoalue.is-side-bg-blue .mvr-sisaltoalue__sidecol {
  background: var(--nv-secondary-accent);
}
.mvr-sisaltoalue.is-side-bg-violet .mvr-sisaltoalue__sidecol {
  background: var(--nv-c-1);
}
.mvr-sisaltoalue.is-side-bg-yellow .mvr-sisaltoalue__sidecol {
  background: var(--nv-c-2);
}

/* Reunan dark-tekstivärit */
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol h1,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol h2,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol h3,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol h4,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol h5,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol h6,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol p,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol span,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol li,
.mvr-sisaltoalue.is-side-bg-dark .mvr-sisaltoalue__sidecol a {
  color: var(--nv-text-dark-bg);
}

/* Sisältöalueen taustat samalla luokalla */
.mvr-sisaltoalue__contentcol.is-bg-default {
  background: transparent;
}
.mvr-sisaltoalue__contentcol.is-bg-dark {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}
.mvr-sisaltoalue__contentcol.is-bg-light {
  background: var(--nv-light-bg);
}
.mvr-sisaltoalue__contentcol.is-bg-blue {
  background: var(--nv-secondary-accent);
}
.mvr-sisaltoalue__contentcol.is-bg-violet {
  background: var(--nv-c-1);
}
.mvr-sisaltoalue__contentcol.is-bg-yellow {
  background: var(--nv-c-2);
}

/* Sisältöalueen dark-tekstivärit */
.mvr-sisaltoalue__contentcol.is-bg-dark h1,
.mvr-sisaltoalue__contentcol.is-bg-dark h2,
.mvr-sisaltoalue__contentcol.is-bg-dark h3,
.mvr-sisaltoalue__contentcol.is-bg-dark h4,
.mvr-sisaltoalue__contentcol.is-bg-dark h5,
.mvr-sisaltoalue__contentcol.is-bg-dark h6,
.mvr-sisaltoalue__contentcol.is-bg-dark p,
.mvr-sisaltoalue__contentcol.is-bg-dark span,
.mvr-sisaltoalue__contentcol.is-bg-dark li,
.mvr-sisaltoalue__contentcol.is-bg-dark a {
  color: var(--nv-text-dark-bg);
}

/* Päärakenne */
.mvr-sisaltoalue__inner {
  display: flex;
  align-items: stretch;
  width: 100%;
}

/* Vasen reuna */
.mvr-sisaltoalue__sidecol {
  width: var(--sidecol-width);
  flex: 0 0 var(--sidecol-width);
  padding-top: var(--side-margin-top);
  padding-right: var(--side-margin-right);
  padding-bottom: var(--side-margin-bottom);
  padding-left: var(--side-margin-left);
  box-sizing: border-box;
}

.mvr-sisaltoalue__sidetitle {
  margin: 0;
}

/* Oikea sisältöalue */
.mvr-sisaltoalue__contentcol {
  width: calc(100% - var(--sidecol-width));
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
}

.mvr-sisaltoalue__contentinner {
  width: 100%;
  box-sizing: border-box;
  padding:
    var(--content-margin-top)
    var(--content-margin-right)
    var(--content-margin-bottom)
    var(--content-margin-left);
}

/* Content types */
.mvr-sisaltoalue.is-content-default .mvr-sisaltoalue__contentinner {
  max-width: none;
}

.mvr-sisaltoalue.is-content-max1040 .mvr-sisaltoalue__contentinner {
  max-width: 1040px;
}

.mvr-sisaltoalue.is-content-max600 .mvr-sisaltoalue__contentinner {
  max-width: 600px;
}

/* Borderit */
.mvr-sisaltoalue.has-border-top-sidecol .mvr-sisaltoalue__sidecol {
  border-top: 1px solid var(--nv-c-1);
}

.mvr-sisaltoalue.has-border-bottom-sidecol .mvr-sisaltoalue__sidecol {
  border-bottom: 1px solid var(--nv-c-1);
}

.mvr-sisaltoalue.has-border-top-content .mvr-sisaltoalue__contentcol {
  border-top: 1px solid var(--nv-c-1);
}

.mvr-sisaltoalue.has-border-bottom-content .mvr-sisaltoalue__contentcol {
  border-bottom: 1px solid var(--nv-c-1);
}

.mvr-sisaltoalue.has-border-between .mvr-sisaltoalue__sidecol {
  border-right: 1px solid var(--nv-c-1);
}

/* Responsiivisuus */
@media (max-width: 959px) {
  .mvr-sisaltoalue__inner {
    flex-direction: column;
  }

  .mvr-sisaltoalue.has-no-side-title .mvr-sisaltoalue__sidecol {
    display: none;
  }

  .mvr-sisaltoalue__sidecol,
  .mvr-sisaltoalue__contentcol {
    width: 100%;
    flex: 0 0 100%;
  }

  .mvr-sisaltoalue.has-border-between .mvr-sisaltoalue__sidecol {
    border-right: 0;
    border-bottom: 1px solid var(--nv-c-1);
  }
}

@media (max-width: 768px) {
  .mvr-sisaltoalue {
    --content-margin-left: 20px;
    --content-margin-right: 20px;
    --side-margin-left: 20px;
    --side-margin-right: 20px;
  }
}









/* Faktat */
.faktat {
  width: 100%;
  margin: 4rem 0rem;
}

.faktat__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: stretch;
}

.faktat__item {
  width: 240px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.faktat__arvo {
  margin: 0;
  font-size: 80px;
  line-height: 0.95;
}

.faktat__divider {
  width: 100%;
  height: 1px;
  background: currentColor;
}

.faktat__kuvaus {
  margin: 0;
}

/* Parent dark background */
.is-bg-dark .faktat__item, .is-bg-dark .faktat__item * {
  color: var(--nv-secondary-accent)!important;
}

.is-bg-dark .faktat__divider {
  background: var(--nv-secondary-accent);
}


/* Responsiivinen */
@media (max-width: 767px) {
  .faktat__wrap {
      gap: 1.5rem;
  }

  .faktat__item {
      width: 100%;
  }

  .faktat__arvo {
      font-size: 56px;
  }
}











.yhteyshenkilot {
  width: 100%;
}

.yhteyshenkilot__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 80px;
  align-items: start;
}

.yhteyshenkilot__card {
  min-width: 0;
}

.yhteyshenkilot__imagewrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 320px;
  background: var(--nv-light-bg);
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.yhteyshenkilot__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  padding: 24px;
  box-sizing: border-box;
}

.yhteyshenkilot__image--placeholder {
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.06);
  width: calc(100% - 48px);
  height: calc(100% - 48px);
}

.yhteyshenkilot__title {
  margin: 0 0 0.75rem;
}

.yhteyshenkilot__rooli {
  margin: 0 0 0.5rem;
}

.yhteyshenkilot__toimiala {
  margin: 0 0 1rem;
}

.yhteyshenkilot__contact {
  margin: 0;
}

.yhteyshenkilot__contact a {
  text-decoration: none;
}

.yhteyshenkilot__contact a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .yhteyshenkilot__grid {
      gap: 40px;
  }

  .yhteyshenkilot__imagewrap {
      max-width: 100%;
  }
}









.tyomaat {
  width: 100%;
}

.tyomaat__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 0;
  align-items: stretch;

  /* alueen omat reunat */

}

.tyomaat__card {
  min-width: 0;
  position: relative;
}

/* pystylinja korttien väliin */
.tyomaat__card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: var(--nv-c-1);
}

/* vaakalinja korttien väliin */
.tyomaat__card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--nv-c-1);
}

.tyomaat__inner {
  padding: 40px;
  height: 100%;
  box-sizing: border-box;
}

.tyomaat__title {
  margin: 0 0 1rem;
}

.tyomaat__meta {
  margin: 0 0 1.5rem;
}

.tyomaat__content {
  margin: 0;
}

.tyomaat__content > :first-child {
  margin-top: 0;
}

.tyomaat__content > :last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .tyomaat__grid {
    grid-template-columns: 1fr;
  }

  .tyomaat__inner {
    padding: 40px;
  }
}







.nostolaatikko {
  width: 100%;
  overflow: hidden;
}

/* Taustavärit */
.nostolaatikko.is-bg-default {
  background: transparent;
}
.nostolaatikko.is-bg-dark {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}
.nostolaatikko.is-bg-light {
  background: var(--nv-light-bg);
}
.nostolaatikko.is-bg-blue {
  background: var(--nv-secondary-accent);
}
.nostolaatikko.is-bg-violet {
  background: var(--nv-c-1);
}
.nostolaatikko.is-bg-yellow {
  background: var(--nv-c-2);
}

.nostolaatikko__link {
  display: grid;
  grid-template-columns: minmax(320px, 600px) minmax(0, 1fr);
  gap: 0;
  width: 100%;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
  align-items: stretch;
}

.nostolaatikko__media {
  width: 100%;
  height: 100%;
  line-height: 0;
  overflow: hidden;
}

.nostolaatikko__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.nostolaatikko__contentwrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 56px 64px;
  min-height: 100%;
  box-sizing: border-box;
}

.nostolaatikko__toprow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 80px;
}

.nostolaatikko__title {
  margin: 0;
  max-width: 520px;
}

.nostolaatikko__description {
  max-width: 520px;
}

.nostolaatikko__description > :first-child {
  margin-top: 0;
}

.nostolaatikko__description > :last-child {
  margin-bottom: 0;
}

.nostolaatikko__icon {
  width: 72px;
  height: 72px;
  min-width: 72px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  flex: 0 0 auto;
}

.nostolaatikko__icon::before {
  content: "";
  width: 14px;
  height: 14px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-55%, -50%) rotate(45deg);
}

.nostolaatikko__link:hover .nostolaatikko__image,
.nostolaatikko__link:focus-visible .nostolaatikko__image {
  transform: scale(1.02);
}

.nostolaatikko__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (max-width: 1100px) {
  .nostolaatikko__contentwrap {
      padding: 48px;
  }

  .nostolaatikko__toprow {
      margin-bottom: 56px;
  }
}

@media (max-width: 959px) {
  .nostolaatikko__link {
      grid-template-columns: 1fr;
  }

  .nostolaatikko__media {
      max-width: none;
  }

  .nostolaatikko__image {
      aspect-ratio: 16 / 10;
      height: auto;
      min-height: 0;
  }

  .nostolaatikko__contentwrap {
      padding: 40px;
  }

  .nostolaatikko__toprow {
      margin-bottom: 40px;
      gap: 24px;
  }

  .nostolaatikko__icon {
      width: 56px;
      height: 56px;
      min-width: 56px;
  }
}








.toiminta-haitari {
  width: 100%;
  border-top: 1px solid var(--nv-c-1);
}

/* ITEM = koko rivi linkkinä */
.toiminta-haitari__item {
  display: block;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid var(--nv-c-1);
  transition: background-color 0.3s ease;
}

.toiminta-haitari__item:hover, .toiminta-haitari__item:focus {
  background: var(--nv-secondary-accent);
}

/* RIVI */
.toiminta-haitari__row {
  display: grid;
  grid-template-columns: minmax(240px, min(600px, 40%)) 1fr;
  gap: 40px;
  align-items: stretch;
  min-height: 160px;
}

/* Vasen kuvapalsta */
.toiminta-haitari__media-col {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

.toiminta-haitari__media {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* Kuva normaalitilassa */
.toiminta-haitari__image {
  display: block;
  width: 240px;
  height: 160px;
  max-width: 100%;
  object-fit: cover;
  transition:
    width 0.8s ease,
    height 0.8s ease,
    transform 0.8s ease;
}

/* Aktiivinen */
.toiminta-haitari__item.is-active .toiminta-haitari__image {
  width: min(600px, 100%);
  height: auto;
  aspect-ratio: 3 / 2;
}

/* Oikea sisältöpalsta */
.toiminta-haitari__main-col {
  min-width: 0;
  width: 100%;
  display: flex;
  flex: 1 1 auto;
}

/* Sisältörivi */
.toiminta-haitari__toggle-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 160px;
  padding: 40px 40px 40px 40px;
  transition: min-height 0.6s ease;
}

.toiminta-haitari__item.is-active .toiminta-haitari__toggle-inner {

}

/* Content-alue */
.toiminta-haitari__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  justify-content: center;
}

.toiminta-haitari__item.is-active .toiminta-haitari__content {
  justify-content: space-between;
}

/* Otsikko + meta samalle riville */
.toiminta-haitari__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 80px;
  width: 100%;
}

/* Otsikko */
.toiminta-haitari__title {
  margin: 0;
  hyphens: auto;
}

/* Oikea meta-alue */
.toiminta-haitari__meta {
  display: flex;
  align-items: center;
  gap: 40px;
  flex: 0 0 auto;
}

/* Kuvaus */
.toiminta-haitari__description {
  max-width: 600px;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  color: var(--nv-text-color);
  transform: translateY(8px);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    max-height 0.3s ease,
    visibility 0.3s ease;
}

.toiminta-haitari__item.is-active .toiminta-haitari__description {
  margin-top: 10px;
} 

.toiminta-haitari__description > :first-child {
  margin-top: 0;
}

.toiminta-haitari__description > :last-child {
  margin-bottom: 0;
}

.toiminta-haitari__item.is-active .toiminta-haitari__description {
  opacity: 1;
  visibility: visible;
  max-height: 300px;
  transform: translateY(0);
}

/* Badge */
.toiminta-haitari__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.3rem 1rem;
  border-radius: 999px;
  font-size: 0.9rem;
  line-height: 1;
  white-space: nowrap;
  color: var(--nv-text-color);
}

.toiminta-haitari__badge.is-bg-default {
  background: var(--nv-light-bg);
}

.toiminta-haitari__badge.is-bg-dark {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}

.toiminta-haitari__badge.is-bg-light {
  background: var(--nv-light-bg);
}

.toiminta-haitari__badge.is-bg-blue {
  background: var(--nv-secondary-accent);
}

.toiminta-haitari__badge.is-bg-violet {
  background: var(--nv-c-1);
}

.toiminta-haitari__badge.is-bg-yellow {
  background: var(--nv-c-2);
}

/* Valkoinen ympyrä + nuoli */
.toiminta-haitari__icon {
  width: 72px;
  height: 72px;
  min-width: 72px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  flex: 0 0 auto;
}

.toiminta-haitari__icon::before {
  content: "arrow_outward";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 28px;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--nv-text-color);
}

/* Responsiivisuus */
@media (max-width: 1400px) {
  
}
@media (max-width: 1200px) {
  .toiminta-haitari__item.is-active .toiminta-haitari__description p { font-size: 1.1rem; line-height: 1.3; }
  .toiminta-haitari__head h2 { font-size: 1.8rem; line-height: 1.3; }
  .toiminta-haitari__row { gap: 0px; }
  .toiminta-haitari__icon { width: 40px; height: 40px; min-width: 40px; }
  .toiminta-haitari__icon::before { font-size: 1rem; }
  .toiminta-haitari__toggle-inner { padding: 2rem; min-height: auto; }
  .toiminta-haitari__badge { min-height: 1rem; padding: 0.4rem 0.8rem; border-radius: 999px; font-size: 0.7rem; }
}
@media (max-width: 959px) {
  .toiminta-haitari__item.is-active .toiminta-haitari__description p { font-size: 0.9rem; line-height: 1.3; }
  .toiminta-haitari__head h2 { font-size: 1.6rem; }
  .toiminta-haitari__image { width: 150px; height: 100px; }

  .toiminta-haitari__item.is-active .toiminta-haitari__image { max-width: 400px; object-fit: cover; height: 100%; }


  .toiminta-haitari__row { grid-template-columns: minmax(240px, min(150px, 400px)) 1fr; min-height: 100px; }
  .toiminta-haitari__icon { width: 1.7rem; height: 1.7rem; min-width: 1.7rem; }
  .toiminta-haitari__icon::before { font-size: 0.8rem; }
  .toiminta-haitari__badge { min-height: 1rem; padding: 0.4rem 0.8rem; border-radius: 999px; font-size: 0.7rem; }

}

@media (max-width: 759px) {
  .toiminta-haitari__toggle-inner { padding: 1.5rem; }
  .toiminta-haitari__item:not(.is-active) .toiminta-haitari__row { grid-template-columns: 150px auto; }
  .toiminta-haitari__meta { gap: 0.8rem; }
  .toiminta-haitari__badge { min-height: 16px; padding: 0.3rem 0.6rem; border-radius: 999px; font-size: 0.6rem; }
  .toiminta-haitari__toggle-inner { min-height: 100px; }
  .toiminta-haitari__head h2 { font-size: 1.4rem; line-height: 1.2; letter-spacing: -2px; }
  .toiminta-haitari__head { gap: 1rem; }
  .toiminta-haitari__image {
    width: 100%;
    height: 100%;
}
}

@media (max-width: 500px) {
  .toiminta-haitari__item:not(.is-active) .toiminta-haitari__row { grid-template-columns: 120px auto; }
  .toiminta-haitari__item.is-active .toiminta-haitari__row { grid-template-columns: 1fr; }
  .toiminta-haitari__item.is-active .toiminta-haitari__image { max-width: 100%; }
  .toiminta-haitari__head h2 { font-size: 1.2rem; line-height: 1.2; letter-spacing: -2px; }
  .toiminta-haitari__toggle-inner { padding: 1rem; min-height: 50px; }
  .toiminta-haitari__row { min-height: 50px; }
}

@media (max-width: 500px) {
  .toiminta-haitari__item:not(.is-active) .toiminta-haitari__row { grid-template-columns: 80px auto; }
  .toiminta-haitari__item.is-active .toiminta-haitari__row { grid-template-columns: 1fr; }
  .toiminta-haitari__item.is-active .toiminta-haitari__image { max-width: 100%; }
  .toiminta-haitari__head h2 { font-size: 1.2rem; line-height: 1.2; letter-spacing: -2px; }
  .toiminta-haitari__toggle-inner { padding: 1rem; min-height: 50px; }
  .toiminta-haitari__row { min-height: 50px; }
}










.referenssit {
  width: 100%;
}

.referenssit__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
  align-items: end;
}

.referenssit__filters-title {
  flex: 0 0 100%;
}

.referenssit__filter {
  min-width: 25%;
  height: 80px;
}

.referenssit__filter-label {
  display: block;
  margin-bottom: 8px;
}

.referenssit__select {
  width: 100%;
  height: 100%;
  border: 0px;
  background: rgba(218, 206, 242, 0.15);
  padding: 0px 40px;
  border-right: 1px solid rgba(218, 206, 242, 1);
}


.referenssit__highlight,
.referenssit__col {
  border-top: 1px solid var(--nv-c-1);
}

.referenssit__highlight:first-child,
.referenssit__grid {
  border-top: 1px solid var(--nv-c-1);
}

.referenssit__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.referenssit__col:nth-child(odd) {
  border-right: 1px solid var(--nv-c-1);
}

.referenssit__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 40px;
  text-decoration: none;
  color: inherit;
  min-height: 100%;
  box-sizing: border-box;
}

.referenssit__card--highlight {
  grid-template-columns: 1fr 1fr;
}

.referenssit__media {
  width: 100%;
}

.referenssit__image {
  display: block;
  width: 100%;
  aspect-ratio: 360 / 240;
  object-fit: cover;
}

.referenssit__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.referenssit__terms {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}

.referenssit__toiminnat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.referenssit__palvelut {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.referenssit__palvelu {
  margin: 0;
}

.referenssit__toiminta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.3rem 1rem;
  border-radius: 999px;
  font-size: 0.9rem;
  line-height: 1;
  white-space: nowrap;
  color: var(--nv-text-color);
  text-decoration: none;
  pointer-events: none;
}

.referenssit__toiminta.is-bg-default {
  background: transparent;
}

.referenssit__toiminta.is-bg-dark {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}

.referenssit__toiminta.is-bg-light {
  background: var(--nv-light-bg);
}

.referenssit__toiminta.is-bg-blue {
  background: var(--nv-secondary-accent);
}

.referenssit__toiminta.is-bg-violet {
  background: var(--nv-c-1);
}

.referenssit__toiminta.is-bg-yellow {
  background: var(--nv-c-2);
}

.referenssit__term {
  display: inline-block;
}

.referenssit__titlewrap {
  margin-top: auto;
}

.referenssit__title {
  margin: 0;
}

.referenssit__title--highlight {
  margin: 0;
}

.referenssit__card--highlight .referenssit__content {
  justify-content: space-between;
}

.referenssit__card--highlight .referenssit__titlewrap {
  margin-top: 0;
  order: 1;
}

.referenssit__card--highlight .referenssit__terms {
  order: 2;
  margin-top: auto;
}

@media (max-width: 1199px) {
  .referenssit__grid {
    grid-template-columns: 1fr; 
  }
  .referenssit__card { padding: 0px; gap: 0px; }
  .referenssit__content { padding: 40px; }
  .referenssit__title--highlight { 
    font-size: var(--h4fontsize);
    font-weight: var(--h4fontweight);
    line-height: var(--h4lineheight);
    letter-spacing: var(--h4letterspacing);
    text-transform: var(--h4texttransform);
    font-family: var(--h4fontfamily);
  }
}

@media (max-width: 600px) {
  .referenssit__grid {
    grid-template-columns: 1fr;
  }

  .referenssit__col:nth-child(odd) {
    border-right: 0;
  }

  .referenssit__card,
  .referenssit__card--highlight {
    grid-template-columns: 1fr;
  }
}











.laatikkolinkit {
  width: 100%;
}

.laatikkolinkit__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 400px));
  gap: 0;
  justify-content: start;
  align-items: start;
}

.laatikkolinkit__item {
  display: flex;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.laatikkolinkit__item,
.laatikkolinkit__item * {
  color: inherit;
}

.laatikkolinkit__item:hover,
.laatikkolinkit__item:hover * {
  color: inherit;
}

.laatikkolinkit__item.is-width-1col {
  aspect-ratio: 1 / 1;
}

.laatikkolinkit__item.is-width-2col {
  aspect-ratio: 2 / 1;
  grid-column: span 2;
  height: 100%;
}

.laatikkolinkit__inner {
  width: 100%;
  flex: 1 1 auto;
  padding: 40px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
}

.laatikkolinkit__top {
  width: 100%;
}

.laatikkolinkit__bottom {
  width: 100%;
}

.laatikkolinkit__title {
  margin: 0;
}

.laatikkolinkit__item.is-width-2col .laatikkolinkit__title {
  font-size: var(--h2fontsize);
    font-weight: var(--h2fontweight);
    line-height: var(--h2lineheight);
    letter-spacing: var(--h2letterspacing);
    text-transform: var(--h2texttransform);
    font-family: var(--headingsfontfamily), var(--nv-fallback-ff);
} 

.laatikkolinkit__divider {
  width: 100%;
  height: 1px;
  background: currentColor;
  margin-bottom: 28px;
}

.laatikkolinkit__bottom {
  margin-top: auto;
  width: 100%;
}

.laatikkolinkit__linkrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.laatikkolinkit__linktext {
  font-size: 0.95rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}

.laatikkolinkit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.laatikkolinkit__icon::before {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
}

/* Taustavärit */
.laatikkolinkit__item.is-bg-default {
  background: transparent;
}

.laatikkolinkit__item.is-bg-dark {
  background: var(--nv-dark-bg);
  color: var(--nv-text-dark-bg);
}

.laatikkolinkit__item.is-bg-dark h4 {
  color: var(--nv-text-dark-bg);
}

.laatikkolinkit__item.is-bg-light {
  background: var(--nv-light-bg);
}

.laatikkolinkit__item.is-bg-blue {
  background: var(--nv-secondary-accent);
}

.laatikkolinkit__item.is-bg-violet {
  background: var(--nv-c-1);
}

.laatikkolinkit__item.is-bg-yellow {
  background: var(--nv-c-2);
}


.laatikkolinkit__item:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (max-width: 1100px) {
  .laatikkolinkit__grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }

  .laatikkolinkit__item {
    max-width: none;
  }
}

@media (max-width: 600px) {
  .laatikkolinkit__grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
  .laatikkolinkit__inner {
    padding: 1.3rem;
  }
}

@media (max-width: 400px) {
  .laatikkolinkit__grid {
    grid-template-columns: 1fr;
  }

  .laatikkolinkit__item.is-width-2col {
    grid-column: span 1;
  }

  .laatikkolinkit__inner {
    padding: 2rem;
  }

  .laatikkolinkit__item.is-width-1col, .laatikkolinkit__item.is-width-2col { aspect-ratio: auto; }
  .laatikkolinkit__title { margin-bottom: 1.3rem; }
}














.numeroidut-nostolaatikot {
  width: 100%;
}

.numeroidut-nostolaatikot__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: stretch;
}

.numeroidut-nostolaatikot__item {
  width: 440px;
  max-width: 100%;
  text-decoration: none;
  color: inherit;
  border-left: 1px solid var(--nv-c-1);
}

.numeroidut-nostolaatikot__inner {
  height: 100%;
  padding: 0 40px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.numeroidut-nostolaatikot__top {
  display: flex;
  flex-direction: column;
}

.numeroidut-nostolaatikot__number {
  margin: 0;
  color: var(--nv-c-1);
}

.numeroidut-nostolaatikot__title {
  margin: 50px 0 0;
}

.numeroidut-nostolaatikot__linkrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 50px;
}

.numeroidut-nostolaatikot__linktext {
  display: inline-block;
}

.numeroidut-nostolaatikot__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.numeroidut-nostolaatikot__icon::before {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
}

.numeroidut-nostolaatikot__bottom {
  margin-top: auto;
  padding-top: 50px;
}

.numeroidut-nostolaatikot__imagebg {
  width: 100%;
  aspect-ratio: 1 / 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.numeroidut-nostolaatikot__imagebg.is-bg-tyyli_1 {
  background-image: url('../img/kuvio_1.svg');
}

.numeroidut-nostolaatikot__imagebg.is-bg-tyyli_2 {
  background-image: url('../img/kuvio_2.svg');
}

.numeroidut-nostolaatikot__imagebg.is-bg-tyyli_3 {
  background-image: url('../img/kuvio_3.svg');
}

.numeroidut-nostolaatikot__imagewrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.numeroidut-nostolaatikot__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
  margin: 10px;
}

.numeroidut-nostolaatikot__item:hover,
.numeroidut-nostolaatikot__item:focus-visible {
  color: inherit;
}

.numeroidut-nostolaatikot__item:hover .numeroidut-nostolaatikot__image,
.numeroidut-nostolaatikot__item:focus-visible .numeroidut-nostolaatikot__image {
  transform: scale(1.02);
  transition: transform 0.2s ease;
}

.numeroidut-nostolaatikot__item:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (max-width: 1800px) {
  .numeroidut-nostolaatikot__item {
    width: 380px;
  }
}

@media (max-width: 1550px) {
  .numeroidut-nostolaatikot__item {
    width: 320px;
  }

  .numeroidut-nostolaatikot__grid {
    gap: 20px;
  }

  .numeroidut-nostolaatikot__inner {
    padding: 0 20px;
  }
}

@media (max-width: 1300px) {
  .numeroidut-nostolaatikot__item {
    width: 300px;
  }

  .numeroidut-nostolaatikot__grid {
    gap: 20px;
  }

  .numeroidut-nostolaatikot__inner {
    padding: 0 20px;
  }
}

@media (max-width: 1200px) and (min-width: 960px) {
  .numeroidut-nostolaatikot__item {
    width: 240px;
  }

  .numeroidut-nostolaatikot__item h4 {
    font-size: 1.5rem;
  }


}

@media (max-width: 959px) {
  .numeroidut-nostolaatikot__bottom { padding-top: 0px; }
  .numeroidut-nostolaatikot__item {
    width: 100%;
  }

  .numeroidut-nostolaatikot__inner { display: grid; gap: 40px; grid-template-columns: 2fr 1fr; align-items: flex-start; }

}

@media (max-width: 600px) {
  .numeroidut-nostolaatikot__bottom { padding-top: 40px; }
  .numeroidut-nostolaatikot__inner { display: block;}
  .numeroidut-nostolaatikot__item {margin-bottom: 3rem;}
}








/* 3col / 2col */
.ref_twocol {
  max-width: 1800px;
}

.ref_twocol > div:first-child {

}

.ref_twocol > div:last-child {

  padding: 0px 40px;
}

.ref_twocol > figure {
  max-width: 960px;
}
@media (min-width: 1800.01px) {
  .ref_twocol > div:last-child {
    width: 960px;
  }
}

@media (max-width: 1800px) {
  .ref_twocol > *:last-child { width: 900px; }
  .ref_twocol > figure { width: 900px; }
}

@media (max-width: 1600px) {
  .ref_twocol > *:last-child { width: 850px; }
  .ref_twocol > div:last-child { padding: 0px; }
  .ref_twocol > figure { width: 850px; }
}

@media (max-width: 1400px) {
  .ref_twocol { display: block!important; }
  .ref_header { margin-top: 80px; margin-bottom: 40px;}
}

.threecol h4 {
  display: flex;
  align-items: center;
  gap: 1rem;
} 





.ominaisuudet {
  width: 100%;
}

.ominaisuudet__list {
  width: 100%;
}

.ominaisuudet__row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
  align-items: stretch;
  border-top: 1px solid var(--nv-c-1);
}



.ominaisuudet__topic-inner,
.ominaisuudet__description-inner {
  padding: 40px;
  box-sizing: border-box;
}

.ominaisuudet__description-inner > :first-child {
  margin-top: 0;
}

.ominaisuudet__description-inner > :last-child {
  margin-bottom: 0;
}

.ominaisuudet__topic-inner {
  font-size: var(--h4fontsize)!important;
}

.ominaisuudet__description-inner p {
  font-size: var(--h4fontsize)!important; font-weight: var(--h4fontweight); line-height: var(--h4lineheight); letter-spacing: var(--h4letterspacing); text-transform: var(--h4texttransform); font-family: var(--h4fontfamily);
}

@media (max-width: 959px) {
  .ominaisuudet__row {
    grid-template-columns: 1fr;
  }

  .ominaisuudet__topic {
    border-right: 0;
  }

  .ominaisuudet__topic-inner,
  .ominaisuudet__description-inner {
    padding: 24px;
  }
}










.numerolista__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 72px 44px;
}

.numerolista__item {
  min-width: 0;
}

.numerolista__header {
  display: grid;
  grid-template-columns: 88px 1fr;
  align-items: start; /* muutettu */
  border-top: 2px solid var(--nv-c-1);
}

.numerolista__number {
  width: 88px;
  aspect-ratio: 1 / 1; /* tekee neliön */
  background: var(--nv-c-1);
  color: var(--nv-text-color);

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 30px;
  line-height: 1;
}

.numerolista__title {
  margin: 0;
  padding: 26px 0 20px 24px;
  color: var(--nv-text-color);
}

.numerolista__content {
  margin-top: 44px;
}

.numerolista__content > *:first-child {
  margin-top: 0;
}

.numerolista__content > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1500px) {
  .numerolista__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .numerolista__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .numerolista__header {
    grid-template-columns: 72px 1fr;
  }

  .numerolista__number {
    width: 72px;
    aspect-ratio: 1 / 1;
    font-size: 26px;
  }

  .numerolista__title {
    padding: 20px 0 16px 20px;
  }

  .numerolista__content {
    margin-top: 28px;
  }
}