/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/***********************************************/
/* Global CSS variables for reusable assets    */
/* Define Base64 SVG arrows at root level      */
/***********************************************/

:root {
  --nuoli-svg-vaalea: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzcuNSAxNzcuMSI+PHBhdGggZmlsbD0iIzY2ZmY4MCIgZD0ibTMzNy41LDg3LjFjMCw4LjMtMyw3LjgtMzUuNiw0My40LTI4LjIsMzEuMy0zNS42LDUzLjQtNDYsNDQuNy0xMC40LTkuMSwxMC40LTE4LjcsMzcuNC00OS4xLDI4LjItMzIuMSwzNi45LTMzLjksMi42LTMzLjlzLTc2LjQsMC0xMjMuMy40Yy00OS45LDAtNzkuOS0uNC0xMjguNiwzLjVDMTIuMiw5OC44LDAsMTAyLjcsMCw4Ny4xczEyLjItMTIuNiw0My45LTkuMWM0Ni41LDUuMiw3OSw0LjMsMTI4LjYsNC44aDEyMy4zYzM0LjMsMCwyNi41LTIuMi00LjgtMzQuNy0yNC44LTI2LjEtNDYuNS0zNy40LTM2LjEtNDYsMTAuOS05LjEsMTkuMSwxNS42LD40LjMsNDEuMywzMy40LDw1LjIsMzguMiwzNiwzOC4yLDQzLjlaIi8+PC9zdmc+");
  --nuoli-svg-tumma: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzcuNSAxNzcuMSI+PHBhdGggZmlsbD0iIzAwMzEyOSIgZD0ibTMzNy41LDg3LjFjMCw4LjMtMyw3LjgtMzUuNiw0My40LTI4LjIsMzEuMy0zNS42LDUzLjQtNDYsNDQuNy0xMC40LTkuMSwxMC40LTE4LjcsMzcuNC00OS4xLDI4LjItMzIuMSwzNi45LTMzLjksMi42LTMzLjlzLTc2LjQsMC0xMjMuMy40Yy00OS45LDAtNzkuOS0uNC0xMjguNiwzLjVDMTIuMiw5OC44LDAsMTAyLjcsMCw4Ny4xczEyLjItMTIuNiw0My45LTkuMWM0Ni41LDUuMiw3OSw0LjMsMTI4LjYsNC44aDEyMy4zYzM0LjMsMCwyNi41LTIuMi00LjgtMzQuNy0yNC44LTI2LjEtNDYuNS0zNy40LTM2LjEtNDYsMTAuOS05LjEsMTkuMSwxNS42LD40LjMsNDEuMywzMy40LDw1LjIsMzguMiwzNiwzOC4yLDQzLjlaIi8+PC9zdmc+");
  --nuoli-svg-executive: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzcuNSAxNzcuMSI+PHBhdGggZmlsbD0iIzk1QjNGRiIgZD0ibTMzNy41LDg3LjFjMCw4LjMtMyw3LjgtMzUuNiw0My40LTI4LjIsMzEuMy0zNS42LDU3LjQtNDYsNDQuNy0xMC40LTkuMSwxMC40LTE4LjcsMzcuNC00OS4xLDI4LjItMzIuMSwzNi45LTMzLjksMi42LTMzLjlzLTc2LjQsMC0xMjMuMy40Yy00OS45LDAtNzkuOS0uNC0xMjguNiwzLjVDMTIuMiw5OC44LDAsMTAyLjcsMCw4Ny4xczEyLjItMTIuNiw0My45LTkuMWM0Ni41LDUuMiw3OSw0LjMsMTI4LjYsNC44aDEyMy4zYzM0LjMsMCwyNi41LTIuMi00LjgtMzQuNy0yNC44LTI2LjEtNDYuNS0zNy40LTM2LjEtNDYsMTAuOS05LjEsMTkuMSwxNS42LD40LjMsNDEuMywzMy40LDM1LjIsMzguMiwzNiwzOC4yLDQzLjlaIi8+PC9zdmc+");
  --nuoli-svg-white: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzcuNSAxNzcuMSI+PHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0ibTMzNy41LDg3LjFjMCw4LjMtMyw3LjgtMzUuNiw0My40LTI4LjIsMzEuMy0zNS42LDU3LjQtNDYsNDQuNy0xMC40LTkuMSwxMC40LTE4LjcsMzcuNC00OS4xLDI4LjItMzIuMSwzNi45LTMzLjksMi42LTMzLjlzLTc2LjQsMC0xMjMuMy40Yy00OS45LDAtNzkuOS0uNC0xMjguNiwzLjVDMTIuMiw5OC44LDAsMTAyLjcsMCw4Ny4xczEyLjItMTIuNiw0My45LTkuMWM0Ni41LDUuMiw3OSw0LjMsMTI4LjYsNC44aDEyMy4zYzM0LjMsMCwyNi41LTIuMi00LjgtMzQuNy0yNC44LTI2LjEtNDYuNS0zNy40LTM2LjEtNDYsMTAuOS05LjEsMTkuMSwxNS42LD40LjMsNDEuMywzMy40LDM1LjIsMzgwLDM2LDM4LjIsNDMuOWFaIi8+PC9zdmc+");
}

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

/* _base.css - change link color opacity for selected parts */

.body .rtext__content a:not(.btn):not(:has(img)),
.body .section-intro__desc a:not(.btn):not(:has(img)),
.body .team-card__info a:not(.btn):not(:has(img)) {
  opacity: 0.60;
}

.body .rtext__content a:not(.btn):not(:has(img)):hover,
.body .section-intro__desc a:not(.btn):not(:has(img)):hover,
.body .team-card__info a:not(.btn):not(:has(img)):hover {
  opacity: 1.00;
}

/* Modules */

/* Ensure all modules fit within mobile screens regardless of fixed inline widths */
@media (max-width: 767px) {
  .module__inner { 
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Single image wrapper */
.row-number-1 .module--image {
  /*width: 320px;/*280px*/
  overflow: hidden;

  opacity: 0;
  transform: translateY(12px);
  animation: heroRevealWrap 700ms ease-out forwards;
}

/* Gallery wrappers */
.row-number-1 .gallery,
.row-number-1 .gallery__item,
.row-number-1 .gallery__row > .col {
  overflow: hidden;
}

/* Gallery item reveal */
.row-number-1 .gallery__item {
  opacity: 0;
  transform: translateY(12px);
  animation: heroRevealWrap 700ms ease-out forwards;
}

/* Single image */
.row-number-1 .module--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  aspect-ratio: 2 / 3;
  display: block;

  transform: scale(1);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  backface-visibility: hidden;
}

/* Gallery images */
.row-number-1 .gallery__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 30% !important;
  aspect-ratio: 2 / 3 !important;
  display: block !important;

  transform: scale(1);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  backface-visibility: hidden;
}

/* Hover only on devices that support hover */
@media (hover: hover) and (pointer: fine) {
  .row-number-1 .module--image:hover img,
  .row-number-1 .gallery__row > .col:hover .gallery__img,
  .row-number-1 .gallery__item:hover .gallery__img {
    transform: scale(1.05);
  }
}

/* Medium screens */
@media (max-width: 1139px) {
  .row-number-1 .module--image {
    /*width: 280px;/**/
  }
}

/* Mobile / Small screens */
@media (max-width: 767px) {
  .row-number-1,
  .row-number-1 > .row-fluid,
  .row-number-1 .dnd-row {
    display: flex;
    flex-direction: column;
  }

  .row-number-1 .dnd-column:has(.module--image),
  .row-number-1 .dnd-column:has(.gallery) {
    order: -1;
    padding-top: 0 !important;
    padding-bottom: 48px !important;
  }

  .row-number-1 .module--image,
  .row-number-1 .gallery {
    width: 100% !important;
  }

  .row-number-1 .module--image img {
    aspect-ratio: 3 / 2;
  }

  .row-number-1 .gallery__img {
    aspect-ratio: 2 / 3 !important;
  }
}

/* Shared reveal animation for wrappers only */
@keyframes heroRevealWrap {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .row-number-1 .module--image,
  .row-number-1 .gallery__item,
  .row-number-1 .module--image img,
  .row-number-1 .gallery__img {
    animation: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Section intro media layout for non-hero rows (both columns inside the SAME row) */

/* Full column width for image module (up to natural width) */
:not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) .module--image {
  width: 100%;
  max-width: fit-content;
}

/* Base desktop aspect ratio (2:3) and focal position */
:not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) .module--image .module__inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  aspect-ratio: 2 / 3;
}

/* Mobile / Small screens (<= 767px) */
@media (max-width: 767px) {

  /* Enable flex column layout on the specific row container */
  :not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) {
    display: flex;
    flex-direction: column;
  }

  /* Move image column above intro text within the same row */
  :not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro) > .dnd-column:has(.module--image) {
    order: -1;
    padding-top: 0 !important;
    padding-bottom: 48px !important;
  }

  /* Full width container on mobile */
  :not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) .module--image {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Horizontal 3:2 aspect ratio on mobile */
  :not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) .module--image .module__inner img {
    aspect-ratio: 3 / 2;
  }
}

/* Custom class to show full intro image without cropping */
:not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) .module--image.img-fit .module__inner img {
  object-fit: contain;
}
/* Maintain original image aspect ratio while constrained within bounds */
:not(.row-number-1):not(.row-number-1 *) > .row-fluid:has(> .dnd-column .module--section-intro .section-intro):has(> .dnd-column .module--image .module__inner img) .module--image.img-fit .module__inner img {
  object-fit: contain;
  aspect-ratio: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

/* Mobile / Small screens (<= 767px) */
@media (max-width: 767px) {
  /* 1. Force the gallery into an even 2-column grid layout */
  .small-even-height .gallery__items,
  .small-even-height .row-fluid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Two equal-width columns */
    gap: 12px !important;                      /* Space between images */
  }

  /* 2. Force images into a 2:3 aspect ratio and cover the container area */
  .small-even-height img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 2 / 3 !important;            /* 2:3 portrait aspect ratio (equal height) */
    object-fit: cover !important;              /* Crop excess edges without distorting */
  }
}

/* icon.css */

/* Flexible container width matching inner content */
.row-number-1 .icon--type-image .icon__glyph {
    width: auto;
    height: 50px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Image controls container height while keeping aspect ratio */
.row-number-1 .icon--type-image img {
    width: auto;
    height: 100%;
    max-width: none;
    display: block;
}

/* Flexible container width matching inner content */
.footer .icon--type-image .icon__glyph {
    width: auto;
    height: 50px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Image controls container height while keeping aspect ratio */
.footer .icon--type-image img {
    width: auto;
    height: 100%;
    max-width: none;
    display: block;
}

/* icon.css */

/* Flexible container width matching inner content */
.row-number-1 .icon--type-image .icon__glyph {
    width: auto;
    height: 50px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Image controls container height while keeping aspect ratio */
.row-number-1 .icon--type-image img {
    width: auto;
    height: 100%;
    max-width: none;
    display: block;
}

/* Flexible container width matching inner content */
.footer .icon--type-image .icon__glyph {
    width: auto;
    height: 50px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Image controls container height while keeping aspect ratio */
.footer .icon--type-image img {
    width: auto;
    height: 100%;
    max-width: none;
    display: block;
}

/* _button.css */

/* Accent */
.btn--accent.btn--fill,
.btn--accent.btn--outline:hover {
  color: #003129;
}

/* Dark */
.btn--dark.btn--fill,
.btn--dark.btn--outline:hover {
  color: #66FF80;
}

/* Header buttons padding */
.header__buttons .btn--medium,
.mnav__buttons  .btn--medium {
    padding-left: 24px;
    padding-right: 24px;
}

/* Button arrow icon (user root variable) */
.painike-nuoli {
  display: inline-block;
  width: 2.8em;                 /* Matches your inline style="width: 2.8em;" */
  height: 1.5em;               /* Preserves the original 337.5:177.1 SVG aspect ratio */
  vertical-align: middle;       /* Matches your inline style="vertical-align: middle;" */
  
  /* Pulls the clean, verified SVG string directly from your :root */
  -webkit-mask-image: var(--nuoli-svg-vaalea);
  mask-image: var(--nuoli-svg-vaalea);
  
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;

  /* Sets the color of the mask shape to light green */
  background-color: #66FF80; 
}

/* Button arrow icon (user root variable) */
.painike-nuoli-tumma {
  display: inline-block;
  width: 2.8em;                 /* Matches your inline style="width: 2.8em;" */
  height: 1.5em;               /* Preserves the original 337.5:177.1 SVG aspect ratio */
  vertical-align: middle;       /* Matches your inline style="vertical-align: middle;" */
  
  /* Pulls the clean, verified SVG string directly from your :root */
  -webkit-mask-image: var(--nuoli-svg-vaalea);
  mask-image: var(--nuoli-svg-vaalea);
  
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;

  /* Sets the color of the mask shape to dark green */
  background-color: #003129; 
}

/* Button arrow icon (user root variable) */
.painike-nuoli-white {
  display: inline-block;
  width: 2.8em;                 /* Matches your inline style="width: 2.8em;" */
  height: 1.5em;               /* Preserves the original 337.5:177.1 SVG aspect ratio */
  vertical-align: middle;       /* Matches your inline style="vertical-align: middle;" */
  
  /* Pulls the clean, verified SVG string directly from your :root */
  -webkit-mask-image: var(--nuoli-svg-white);
  mask-image: var(--nuoli-svg-white);
  
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;

  /* Sets the color of the mask shape to dark green */
  background-color: #FFFFFF; 
}

/* Eilakaisla Executive */

/* Accent */
.dnd-section:has(.section-extra.executive) .btn--accent.btn--fill,
.dnd-section:has(.section-extra.executive) .btn--accent.btn--outline:hover {
  background-color: #0C2157;
  color: #95B3FF;
}

/* Light */
.dnd-section:has(.section-extra.executive) .btn--light.btn--fill,
.dnd-section:has(.section-extra.executive) .btn--light.btn--outline:hover {
  background-color: #95B3FF;
  color: #0C2157;
}

/* Dark */
.dnd-section:has(.section-extra.executive) .btn--dark.btn--fill,
.dnd-section:has(.section-extra.executive) .btn--dark.btn--outline:hover {
  background-color: #0C2157;
  color: #FFFFFF;
}

/* Button arrow icon (user root variable) */
.painike-nuoli-executive {
  display: inline-block;
  width: 2.8em;                 /* Matches your inline style="width: 2.8em;" */
  height: 1.5em;               /* Preserves the original 337.5:177.1 SVG aspect ratio */
  vertical-align: middle;       /* Matches your inline style="vertical-align: middle;" */
  
  /* Pulls the clean, verified SVG string directly from your :root */
  -webkit-mask-image: var(--nuoli-svg-executive);
  mask-image: var(--nuoli-svg-executive);
  
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;

  /* Sets the color of the mask shape to dark green */
  background-color: #95B3FF; 
}


/* section-intro.css */

.section-intro__overline {
  margin-bottom: 42px !important;
  font-size: 0.89em !important;
}

.section-intro__overline:has(span.badge) {
    margin-bottom: 36px;
}

.section-intro__overline, 
.section-intro__overline .badge, 
.section-intro__overline .badge:hover {
  text-transform: uppercase;
}

.section-intro__overline .badge--light {
    background: #66FF80;
    color: #003129;
}

.section-intro__overline .badge--dark {
    background: #003129;
    color: #66FF80;
}

.section-intro__overline .badge--accent {
    background: #66FF80;
    color: #003129;
}

/* Eilakaisla Executive */

.dnd-section:has(.section-extra.executive) .section-intro__overline .badge--accent {
  background-color: #95B3FF;
  color: #0C2157;
}

.dnd-section:has(.section-extra.executive) .section-intro__overline .badge--dark {
  background: #0C2157;
  color: #FFFFFF;
}

.dnd-section:has(.section-extra.executive) .section-intro__overline .badge--light {
  background: #95B3FF;
  color: #0C2157;
}

/* blog-card.css */

.blog-card__tags .badge--accent {
    background: #66FF80;
    color: #003129;
}

/* content-box.css */

.contact-box .contact-box__item.txt--light .contact-box__icon:has(.icon--dark) {
  opacity: 0.6;
}

.contact-box .contact-box__item.txt--light .contact-box__icon:has(.icon--dark):has(a):hover {
  opacity: 0.75;
}

.contact-box .contact-box__text.txt--light a:not(.btn):not(:has(img)) {
  opacity: 0.75;
  text-decoration: underline;
}

.contact-box .contact-box__text.txt--light a:not(.btn):not(:has(img)):hover {
  opacity: 1;
  text-decoration: underline;
}

/* content-card.css */

.content-card.content-card--light,
.content-card.content-card--dark {
  padding-bottom: 12px;/*0;*/
  box-shadow: none;
}
.content-card.content-card--light .content-card__label {
  color: #003129;
}
.content-card.content-card--dark .content-card__label {
  color: #66FF80;
}

.content-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Keep image horizontally centered and slightly favor the top area */
  object-position: center 30%;

  /* Desktop aspect ratio: Test 16/9 or 3/2 */
  /* aspect-ratio: 16/9;/**/
  aspect-ratio: 3/2;/**/
}

/* Mobile / Small screens (<= 767px): Mobile aspect ratio override */
@media (max-width: 767px) {
  .content-card__img img {
    /* Mobile aspect ratio: Test 3/2 or 16/9 */
    /* aspect-ratio: 3/2;/**/
    aspect-ratio: 16/9;/**/
  }
}

.content-card.content-card--with-link:not(.splide .content-card):hover,
.content-card.content-card--collapse-desc:not(.splide .content-card):hover {
    box-shadow: none;
    /*transform: scale(1.02);/**/
}

/* Card background with a dark arrow sitting at the bottom border */
.content-card.content-card--light.content-card--with-link {
  background-image: var(--nuoli-svg-tumma);
  background-repeat: no-repeat;
  /* 36px from right, 24px from bottom */
  background-position: calc(100% - 24px) calc(100% - 24px);
  background-size: auto 24px;
  padding-bottom: 24px;/**/
  transition: background-position 0.2s ease-in-out; /* Smooth transition for the arrow hover */
}

/* Nudges the background arrow slightly to the right on hover */
.content-card.content-card--light.content-card--with-link:hover {
  background-position: calc(100% - 12px) calc(100% - 24px);
}

/* Medikaisla */

.content-card--light:has(.medikaisla) {
  color: #163526;
  background: #C0DCD2;
}

.content-card--light:has(.medikaisla) h1,
.content-card--light:has(.medikaisla) h2,
.content-card--light:has(.medikaisla) h3,
.content-card--light:has(.medikaisla) h4,
.content-card--light:has(.medikaisla) h5,
.content-card--light:has(.medikaisla) h6,
.content-card--light:has(.medikaisla) .h1,
.content-card--light:has(.medikaisla) .h2,
.content-card--light:has(.medikaisla) .h3,
.content-card--light:has(.medikaisla) .h4,
.content-card--light:has(.medikaisla) .h5,
.content-card--light:has(.medikaisla) .h6 {
    color: #163526;
}
  
/* cover-card.css */

/* Break words only if an individual word exceeds the container width */
.cover-card__text h3 {
  hyphens: manual;
  -webkit-hyphens: manual;
  -ms-hyphens: manual;
  overflow-wrap: break-word;
  word-break: break-word;
}

.cover-card__text h3 b, 
.cover-card__text h3 strong {
  font-family: Georgia, Merriweather, serif;
  font-size: 1.6em;
}

.cover-card.cover-card--light {
  background-color: #66FF80;
  color: #003129;
}
.cover-card.cover-card--light h3 {
  color: #003129;
}

.cover-card.cover-card--dark {
  background-color: #003129;
  color: #66FF80;
}
.cover-card.cover-card--dark h3 {
  color: #66FF80;
}

.cover-card.cover-card--white {
  background-color: #ffffff;
  color: #003129;
}
.cover-card.cover-card--white h3 {
  color: #003129;
}

.cover-card .cover-card__labels:has(span.cover-card__badge .badge), 
.cover-card .cover-card__labels:has(span.cover-card__info) {
    text-transform: uppercase;
    margin-bottom: 36px;
}

/* Enable flex layout for root card */
.cover-card {
    display: flex;
    flex-direction: column;
}

/* Make content section fill available height */
.cover-card__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Push button container to the bottom */
.cover-card__btn {
    margin-top: auto;
}

/* Card background with a dark arrow near the right-bottom area */
.cover-card.cover-card--light.cover-card--with-link, 
.cover-card.cover-card--white.cover-card--with-link {
  background-image: var(--nuoli-svg-tumma);
  background-repeat: no-repeat;
  /* 36px from right, 24px from bottom */
  background-position: calc(100% - 24px) calc(100% - 24px);
  background-size: auto 24px;
  /* padding-bottom: 36px; */
  transition: background-position 0.2s ease-in-out;
}

/* Nudges the dark arrow closer to the edge (18px) on hover */
.cover-card.cover-card--light.cover-card--with-link:hover, 
.cover-card.cover-card--white.cover-card--with-link:hover {
  background-position: calc(100% - 12px) calc(100% - 24px);
}

/* Card background with a light arrow near the right-bottom area */
.cover-card.cover-card--dark.cover-card--with-link {
  background-image: var(--nuoli-svg-vaalea);
  background-repeat: no-repeat;
  /* 36px from right, 24px from bottom */
  background-position: calc(100% - 24px) calc(100% - 24px);
  background-size: auto 24px;
  /* padding-bottom: 36px; */
  transition: background-position 0.2s ease-in-out;
}

/* Nudges the light arrow closer to the edge (18px) on hover */
.cover-card.cover-card--dark.cover-card--with-link:hover {
  background-position: calc(100% - 12px) calc(100% - 24px);
}

/* Cover Card as Contact Box */
.contact-box .cover-card {
    padding: 72px 34px 24px 34px;
}
.contact-box .cover-card:has(a.cover-card__link) {
    padding-bottom: 48px;
}

/* Eilakaisla Executive */

.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light,
.cover-card.cover-card--light:has(.executive) {
  background-color: #95B3FF;
  color: #0C2157;
}
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark,
.cover-card.cover-card--dark:has(.executive) {
  background-color: #0C2157;
  color: #FFFFFF;/**/
  /*color: #95B3FF;/**/
  /*color: #70A0FF;/**/
}

.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light h1,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light h2,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light h3,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light h4,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light h5,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--light h6, 
.cover-card.cover-card--light:has(.executive) h1,
.cover-card.cover-card--light:has(.executive) h2,
.cover-card.cover-card--light:has(.executive) h3,
.cover-card.cover-card--light:has(.executive) h4,
.cover-card.cover-card--light:has(.executive) h5,
.cover-card.cover-card--light:has(.executive) h6 {
    color: #0C2157;
}
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark h1,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark h2,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark h3,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark h4,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark h5,
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark h6,
.cover-card.cover-card--dark:has(.executive) h1,
.cover-card.cover-card--dark:has(.executive) h2,
.cover-card.cover-card--dark:has(.executive) h3,
.cover-card.cover-card--dark:has(.executive) h4,
.cover-card.cover-card--dark:has(.executive) h5,
.cover-card.cover-card--dark:has(.executive) h6 {
    color: #FFFFFF;
}

/* Card background with a light arrow near the right-bottom area */
.dnd-section:has(.section-extra.executive) .cover-card.cover-card--dark.cover-card--with-link,
.cover-card.cover-card--dark:has(.executive).cover-card--with-link {
  background-image: var(--nuoli-svg-white);
}

/* Inherit exact button typography from ACT3 theme variables without using !important */
.cover-card-buttons .cover-card__text,
.cover-card-buttons .cover-card__text p {
  font-family: "Merriweather Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.56;
}
.cover-card-buttons .cover-card {
  padding 24px;
}
.cover-card-buttons .cover-card__text p {
  margin-bottom: 0;  
}
.cover-card-buttons .row {
  margin: 0 -10px;
}
.cover-card-buttons .row .col {
  padding: 0 10px;
}
.cover-card-buttons .cover-card__labels {
  display: none;
}

/* icon.css */

.icon--accent.icon--fill {
    background: #66FF80;
    color: #003129;
}

.icon--light.icon--fill {
    background: #66FF80;
    color: #003129;
}

.icon--dark.icon--fill {
    background: #003129;
    color: #66FF80;
}

/* Eilakaisla Executive */

.dnd-section:has(.section-extra.executive) .icon--accent.icon--fill {
  background-color: #95B3FF;
  color: #0C2157;
}
.dnd-section:has(.section-extra.executive) .icon--light.icon--fill {
  background-color: #95B3FF;
  color: #0C2157;
}
.dnd-section:has(.section-extra.executive) .icon--dark.icon--fill {
  background-color: #0C2157;
  color: #FFFFFF;
}


/* image.css */

/* Allow overflow on all wrapper layers for img-1-1 */
.module--image.img-1-1,
.module--image.img-1-1 .module__inner,
.module--image.img-1-1 .hs_cos_wrapper {
  overflow: visible !important;
}

/* 1:1 Aspect ratio & setup */
.module--image.img-1-1 img {
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover;
  transition: transform 0.3s ease-in-out !important;
  will-change: transform;
}

/* Force scaling and lift effect on hover */
.module--image.img-1-1:hover img {
  transform: translateY(-8px) scale(1.05) !important;
}

/* image-box.css */

.image-box__text {
    font-size: smaller;
}

/* team-card.css */

/*
.module--team-card .team-card__img {
  width: 150px;
  height: 150px;
}/**/

/* Center wrapper and enforce fixed dimensions */
.module--team-card .team-card__img-wrapper {
    width: 150px;
    height: 150px;
    margin: 0 auto 10px auto; /* Keeps image centered with text-align: center */
    overflow: hidden; /* Clips zoom overflow */
    border-radius: 50%; /**/
}

/* Base image styling */
.module--team-card .team-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease-in-out;
}

/* Inner zoom effect on hover */
.module--team-card .team-card:hover .team-card__img {
    transform: scale(1.1);
}

.team-card__info {
  font-size: smaller;
  padding-top: 0.5rem;
}

.team-card--white .team-card__icon.icon--white-accent.icon--fill {
  /*background: #66FF80;/**/
  color: #003129;
  /*box-shadow: none;/**/
}

.team-card .team-card__info a:not(.btn):not(:has(img)) {
    opacity: 0.75;
}

/* Team Card: Force 100% width on screens under 560px */
@media (max-width: 559px) {

  /* Override 2-column small screen wrapper to full width */
  .module--team-card .sm-s6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* column-navigation.css */

/* Custom padding for main menu items when */
.header .header__nav .nav > ul > li  {
    padding-inline-end: 1.25rem;
    margin-inline-end: 1.15rem;
}

/* Custom padding for main menu items when HTML lang is "fi" */
:lang(fi) .header__nav .nav > ul > li  {
    /*padding-inline-end: 1.25rem;
    margin-inline-end: 1.15rem;/**/
}

.col-nav--dark .col-nav__link.link-underline:hover {
    color: rgba(255, 255, 255, 0.90);
}

.col-nav__link.link-underline {
    text-decoration: underline;
}

/* nav.css */

.nav__item {
    font-size: .9em;
}

.header--overlap:not(.header--sticky-active) .header__nav .nav__list--level1 > li > .nav__link {
    color: rgba(255, 255, 255, 0.80) !important;
}

.header--overlap:not(.header--sticky-active) .header__nav .nav__link .super-text {
    color: rgba(255, 255, 255, 0.60) !important;
}

.header--sticky-active .nav--light .nav__list--level1 > li > a::before {
    background: #003129;
}
.header--sticky-active .nav__list--level1 > li > a::before {
    background: #003129;
}

/* Standardize link padding-bottom so the space under text stays identical in sticky mode */
.header__nav .nav__list--level1 > li > a,
.header--sticky-active .header__nav .nav__list--level1 > li > a {
  padding-bottom: 8px !important;
}

/* Ensure the underline retains its 8px gap consistently across all header states */
.header__nav .nav__list--level1 > li > a::before,
.header__nav .nav__list--level1 > li > a::after,
.header--sticky-active .header__nav .nav__list--level1 > li > a::before,
.header--sticky-active .header__nav .nav__list--level1 > li > a::after {
  bottom: 0 !important;
  top: auto !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  border: none !important;
  border-bottom: none !important;
  box-sizing: border-box !important;
}

/* mega-menu.css */

.nav.nav--light .nav__mega {
  /*background-color: #fafafa;/**/
  /*background-color: rgba(255, 255, 255, 0.95);/**/
  /*background-color: rgba(0, 49, 41, 1);/**/
  background-color: #003129;
  border-left: 6px #66ff80 solid;
}

.nav__mega-header {
  color: #ffffff;
}

.nav__mega-header h1,
.nav__mega-header h2,
.nav__mega-header h3,
.nav__mega-header h4,
.nav__mega-header h5,
.nav__mega-header h6 {
  color: #ffffff;
}

.nav__mega-header a .super-text {
  color: #66ff80;
}

.nav__mega-header a:hover .super-text {
  color: #66ff80;
}

.nav__mega-header a {
  display: block;
  width: fit-content;
  color: #ffffff;
  text-decoration: none;
  padding-bottom: 8px;
  border-bottom: 4px #66ff80 solid;
  margin-bottom: 12px;
}

.nav__mega-header a:hover {
  color: #66ff80;
  text-decoration: none;
  padding-bottom: 8px;
  border-bottom: 4px #66ff80 solid;
  margin-bottom: 12px;
}

.nav__mega-footer {
  /*padding-top: 48px;/**/
  /*border-top: 4px #66ff80 solid;/**/
}
.nav__mega-footer .btn {
  margin-right: 12px;
}

.nav .nav__mega-col h1, 
.nav .nav__mega-col h2, 
.nav .nav__mega-col h3, 
.nav .nav__mega-col h4, 
.nav .nav__mega-col h5, 
.nav .nav__mega-col h6 {
  /*color: #ffffff;/**/
  color: #66ff80;/**/
}

.nav .nav__mega-col {
  color: #ffffff;
}

.nav .nav__mega-col ul {
  margin-bottom: 24px;
}

.nav .nav__mega-col img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important; 
    object-fit: cover !important; 
}

.nav.nav--light .nav__mega-cols .nav__mega-col a {
  color: #ffffff;
}
.nav.nav--light .nav__mega-cols .nav__mega-col a:hover {
  color: #66ff80;
}
.nav.nav--light .nav__mega-cols .nav__mega-col h1 a, 
.nav.nav--light .nav__mega-cols .nav__mega-col h2 a, 
.nav.nav--light .nav__mega-cols .nav__mega-col h3 a, 
.nav.nav--light .nav__mega-cols .nav__mega-col h4 a, 
.nav.nav--light .nav__mega-cols .nav__mega-col h5 a, 
.nav.nav--light .nav__mega-cols .nav__mega-col h6 a {
  /*color: #ffffff;/**/
  color: #66ff80;/**/
  text-underline-offset: 3px;
}
.nav.nav--light .nav__mega-cols .nav__mega-col h1 a:hover, 
.nav.nav--light .nav__mega-cols .nav__mega-col h2 a:hover, 
.nav.nav--light .nav__mega-cols .nav__mega-col h3 a:hover, 
.nav.nav--light .nav__mega-cols .nav__mega-col h4 a:hover, 
.nav.nav--light .nav__mega-cols .nav__mega-col h5 a:hover, 
.nav.nav--light .nav__mega-cols .nav__mega-col h6 a:hover {
  color: #ffffff;/**/
  /*color: #66ff80;/**/
}
.nav.nav--light .nav__mega-cols .nav__mega-col ul a, 
.nav.nav--light .nav__mega-cols .nav__mega-col ul ul a {
  color: #ffffff;
  background-color: #003129;/**/
  font-size: 0.84rem;
  padding: .28rem 0 .28rem 1.12rem;/**/
  margin: 0 1.12rem 0 1.12rem;
  margin-left: -1.12rem;
}
.nav.nav--light .nav__mega-cols .nav__mega-col ul a:hover, 
.nav.nav--light .nav__mega-cols .nav__mega-col ul ul a:hover {
  color: #003129;
  background-color: #66ff80;/**/
}

/* mnav.css */

.mnav__menu__item--active .mnav__menu__label {
  padding: 0 24px 0 20px;
  border-left: 4px #66ff80 solid;
}

.mnav .mnav__menu__item--active-branch>.mnav__menu__label>.mnav__menu__link:before, 
.mnav .mnav__menu__item--active>.mnav__menu__label>.mnav__menu__link:before {
  /*background: #66ff80;/**/
  background-color: unset;
}

.mnav__section.mnav__buttons {
  border-top: 1px solid;
  border-bottom: 0px;
  padding: 48px 24px 24px 24px;
}

.mnav__section.mnav__links {
  border-top: 0px;
  border-bottom: 0px;
  padding: 0 24px 24px 24px;
}

/* column-navigation.css and footer-03.css */

.footer--3 .col-nav__title:empty {
    margin-bottom: 0;
}

.footer--3 .col-nav__col {
    /*margin-bottom: 2.56rem;/* default */
    margin-bottom: 2.56rem;
}
.footer--3 .col-nav__title {
    /*margin-bottom: 1.11rem;/* default */
    margin-bottom: 1.11rem;
}

.footer--3 .footer__section--main {
    padding-bottom: 2rem;
}

.footer--3 .footer__buttons .btn--small {
    padding: 0.45rem 0.89rem;
    border-radius: 4px;
}

/* Yhteystietosivujen toimipaikkalistauksen muotoilu */ 

#office-locations-list .container{ 
padding: 0 !important; 
} 

#office-locations-list .go-card--accent .go-card__title, #office-locations-list .go-card--accent .go-card__arrow{ 
color: #003129; 
}

/* Hide "no results" message by default on live pages and preview */
.no-results-message {
  display: none;
}

/* Keep "no results" message visible inside  page editor for easy editing */
.hs-inline-edit .no-results-message,
.hs-edit-mode .no-results-message,
body.hs-is-in-page-editor .no-results-message {
  display: block !important;
}

/* Yhteystietosivujen toimipaikkalistauksen muotoilu */