.elementor-72 .elementor-element.elementor-element-5f9de933{--display:flex;--min-height:100px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:8%;--padding-right:8%;--z-index:95;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-72 .elementor-element.elementor-element-5f9de933{--content-width:1300px;}}@media(max-width:1024px){.elementor-72 .elementor-element.elementor-element-5f9de933{--min-height:85px;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}}@media(max-width:767px){.elementor-72 .elementor-element.elementor-element-5f9de933{--min-height:65px;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--flex-wrap:nowrap;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}}/* Start custom CSS for html, class: .elementor-element-42eb7c8 *//* ===== Desktop ===== */
.kansio-header {
  width: 100%;
  min-width: 1200px;
  margin: 12px auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  position: relative;
  z-index: 50;
  font-family: "degular-text", sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.kansio-glass {
  position: relative;
  flex: 1 1 auto;
  width: 1024px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  overflow: hidden;
}

.kansio-top {
  padding: 10px 20px;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  line-height: 1;
}

.kansio-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  text-decoration: none;

}

.kansio-logo img {
  display: block;
  height: 30px;
  width: auto;
}

.kansio-nav {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  position: relative;
}

.nav-item {
  position: relative;
}

.nav-chip {
  height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 4px;
  background: #ffffff;
  color: #2a2a2a;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.3s ease, border-radius 0.3s ease, color 0.3s ease;
}

button.nav-chip {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
}

.nav-chip--dark {
  background: #1f2326;
  color: #fff;
}

.nav-chip--green {
  background: #00754f;
  color: #fff;
}

.nav-chip--slate {
  background: #4d5e68;
  color: #fff;
}

.nav-chip--lime-soft {
  background: #fffc59;
  color: #232323;
}

.caret {
  font-size: 13px;
  line-height: 1;
  transform: translateY(-1px);
}

.cta {
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-radius: 30px;
  padding: 10px;
}

.kansio-cta {
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: #aaff00;
  color: #171717;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  white-space: nowrap;
  transition: background-color 0.3s ease, border-radius 0.3s ease, color 0.3s ease;
}

.mega-panel {
  position: relative;
  min-height: 320px;
  padding: 38px 18px 18px 18px;
  display: none;
  z-index: 1;
}

.kansio-header.is-open .mega-panel {
  display: block;
}

.mega-copy,
.mega-links {
  display: none;
}

.mega-copy.is-visible,
.mega-links.is-visible {
  display: flex;
}

.mega-copy {
  position: absolute;
  left: 14px;
  top: 38px;
  width: 205px;
  flex-direction: column;
}

.mega-copy p {
  margin: 0;
  color: #6a7177;
  font-size: 12px;
  line-height: 1.42;
  font-weight: 500;
}

.mega-links {
  position: absolute;
  top: 18px;
  flex-direction: column;
  gap: 10px;
}

.mega-links--ohjelmisto {
  left: 360px;
}

.mega-links--ratkaisut {
  left: 500px;
}

.mega-links a {
  min-width: 160px;
  height: 44px;
  padding: 0 20px;
  border-radius: 4px;
  background: #ffffff;
  color: #2a2a2a;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background-color 0.3s ease, border-radius 0.3s ease, color 0.3s ease;
}

.nav-chip:hover,
.mega-links a:hover,
.kansio-cta:hover,
.nav-trigger.is-active {
  background: #aaff00;
  border-radius: 30px;
  color: #1f2326;
}

/* ===== Mobile hidden by default ===== */
.kansio-mobile {
  display: none;
}

/* ===== Tablet ===== */
@media (max-width: 1024px) {
  .kansio-header {
    max-width: 96%;
    min-width: 0;
    gap: 10px;
  }

  .kansio-glass {
    width: 100%;
  }

  .mega-links--ohjelmisto {
    left: 320px;
  }

  .mega-links--ratkaisut {
    left: 460px;
  }
}

/* ===== Mobile ===== */
@media (max-width: 820px) {
  .kansio-header {
    display: none;
  }

  .kansio-mobile {
    display: block;
    position: relative;
    width: 100vw;
    left: calc(50% - 50vw);
    padding: 6px 25px !important;
    box-sizing: border-box !important;
    max-width: 100vw !important;
    z-index: 9999;
  }

  .kansio-mobile__bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 62px;
    margin: 0 !important;
    padding: 24px 24px;
    box-sizing: border-box;
    border-radius: 80px;
    background: rgba(255, 255, 255, 0.75);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .kansio-mobile__logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }

  .kansio-mobile__logo img {
    display: block;
    height: 28px;
    width: auto;
  }

  .kansio-mobile__toggle {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    align-self: center;
  }

  .kansio-mobile__toggle span {
    display: block;
    width: 28px;
    height: 4px;
    border-radius: 999px;
    background: #00754f;
  }

  .kansio-mobile__overlay {
    display: none;
  }

  .kansio-mobile.is-open .kansio-mobile__overlay {
    display: flex;
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    padding: 24px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.78);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    flex-direction: column;
    overflow-y: auto;
  }

  .kansio-mobile__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 28px;
  }

  .kansio-mobile__close {
    font-size: 32px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .kansio-mobile__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
  }

  .kansio-mobile__nav > .nav-chip,
  .mobile-accordion__trigger {
    height: 60px;
    padding: 0 28px;
    justify-content: flex-start;
    border-radius: 4px;
    font-size: 15px;
    gap: 12px;
    font-family: "degular-text", sans-serif;
  }

  .mobile-accordion {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    font-family: "degular-text", sans-serif;
  }

  .mobile-accordion__trigger {
    width: 100%;
    font-family: "degular-text", sans-serif;
  }

  .mobile-accordion__panel {
    display: none;
    flex-direction: column;
    gap: 8px;
    padding-left: 12px;
    width: 100%;
  }

  .mobile-accordion.is-open .mobile-accordion__panel {
    display: flex;
  }

  .mobile-accordion__panel a {
    min-width: 188px;
    height: 48px;
    padding: 0 20px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.92);
    color: #2a2a2a;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
    font-family: "degular-text", sans-serif;
  }

  .mobile-accordion.is-open .mobile-accordion__trigger {
    background: #aaff00;
    border-radius: 30px;
    color: #1f2326;
  }

  .mobile-accordion__trigger .caret {
    transition: transform 0.25s ease;
  }

  .mobile-accordion.is-open .mobile-accordion__trigger .caret {
    transform: rotate(90deg);
  }

  .kansio-mobile__bottom {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    padding-top: 28px;
  }

  .kansio-mobile__bottom .kansio-cta {
    height: 66px;
    padding: 0 34px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    font-family: "degular-text", sans-serif;
  }

  .kansio-mobile__copy {
    max-width: 320px;
    margin: 0;
    color: #5d6c78;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 500;
    font-family: "degular-text", sans-serif;
  }
}

@media (max-width: 820px) {
  /* force menu link colors against Elementor/default theme states */
  .kansio-mobile__nav .nav-chip,
  .kansio-mobile__nav .nav-chip:link,
  .kansio-mobile__nav .nav-chip:visited,
  .kansio-mobile__nav .nav-chip:hover,
  .kansio-mobile__nav .nav-chip:focus,
  .kansio-mobile__nav .nav-chip:active,
  .kansio-mobile__nav .mobile-accordion__trigger,
  .kansio-mobile__nav .mobile-accordion__trigger:link,
  .kansio-mobile__nav .mobile-accordion__trigger:visited,
  .kansio-mobile__nav .mobile-accordion__trigger:hover,
  .kansio-mobile__nav .mobile-accordion__trigger:focus,
  .kansio-mobile__nav .mobile-accordion__trigger:active {
    text-decoration: none !important;
    box-shadow: none !important;
  }

  .kansio-mobile__nav .nav-chip--dark,
  .kansio-mobile__nav .nav-chip--dark:link,
  .kansio-mobile__nav .nav-chip--dark:visited,
  .kansio-mobile__nav .nav-chip--dark:hover,
  .kansio-mobile__nav .nav-chip--dark:focus,
  .kansio-mobile__nav .nav-chip--dark:active {
    background: #1f2326 !important;
    color: #ffffff !important;
  }

  .kansio-mobile__nav .nav-chip--green,
  .kansio-mobile__nav .nav-chip--green:link,
  .kansio-mobile__nav .nav-chip--green:visited,
  .kansio-mobile__nav .nav-chip--green:hover,
  .kansio-mobile__nav .nav-chip--green:focus,
  .kansio-mobile__nav .nav-chip--green:active {
    background: #00754f !important;
    color: #ffffff !important;
  }

  .kansio-mobile__nav .nav-chip--slate,
  .kansio-mobile__nav .nav-chip--slate:link,
  .kansio-mobile__nav .nav-chip--slate:visited,
  .kansio-mobile__nav .nav-chip--slate:hover,
  .kansio-mobile__nav .nav-chip--slate:focus,
  .kansio-mobile__nav .nav-chip--slate:active {
    background: #4d5e68 !important;
    color: #ffffff !important;
  }

  .kansio-mobile__nav .nav-chip--lime-soft,
  .kansio-mobile__nav .nav-chip--lime-soft:link,
  .kansio-mobile__nav .nav-chip--lime-soft:visited,
  .kansio-mobile__nav .nav-chip--lime-soft:hover,
  .kansio-mobile__nav .nav-chip--lime-soft:focus,
  .kansio-mobile__nav .nav-chip--lime-soft:active {
    background: #fffc59 !important;
    color: #232323 !important;
  }

  .kansio-mobile__nav > .nav-chip,
  .mobile-accordion__trigger {
    width: 100%;
    max-width: 100%;
    height: 60px;
    padding: 0 28px;
    justify-content: flex-start;
    border-radius: 4px;
    font-size: 15px;
    gap: 12px;
    font-family: "degular-text", sans-serif;
  }

  /* open by default */
  .mobile-accordion__panel {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    padding-left: 12px;
    width: 100%;
  }

  /* keep parent trigger in its original brand color, not lime */
  .mobile-accordion .mobile-accordion__trigger.nav-chip--dark,
  .mobile-accordion .mobile-accordion__trigger.nav-chip--dark:hover,
  .mobile-accordion .mobile-accordion__trigger.nav-chip--dark:focus,
  .mobile-accordion .mobile-accordion__trigger.nav-chip--dark:active {
    background: #1f2326 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
  }

  .mobile-accordion .mobile-accordion__trigger.nav-chip--green,
  .mobile-accordion .mobile-accordion__trigger.nav-chip--green:hover,
  .mobile-accordion .mobile-accordion__trigger.nav-chip--green:focus,
  .mobile-accordion .mobile-accordion__trigger.nav-chip--green:active {
    background: #00754f !important;
    color: #ffffff !important;
    border-radius: 4px !important;
  }

  /* remove the lime "open" state */
  .mobile-accordion.is-open .mobile-accordion__trigger {
    border-radius: 4px !important;
  }

  /* caret stays visible but does not rotate unless you want it to */
  .mobile-accordion__trigger .caret {
    transform: none !important;
    transition: none !important;
  }
}
@media (max-width: 820px) {
  .kansio-mobile__close,
  .kansio-mobile__close:link,
  .kansio-mobile__close:visited,
  .kansio-mobile__close:hover,
  .kansio-mobile__close:focus,
  .kansio-mobile__close:active {
    color: #00754f !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .kansio-mobile__close {
    font-size: 32px;
    line-height: 1;
    padding: 0;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
}
@media (max-width: 820px) {
  .kansio-mobile__toggle,
  .kansio-mobile__toggle:hover,
  .kansio-mobile__toggle:focus,
  .kansio-mobile__toggle:active,
  .kansio-mobile__close,
  .kansio-mobile__close:hover,
  .kansio-mobile__close:focus,
  .kansio-mobile__close:active {
    background: transparent !important;
    color: #00754f !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    -webkit-tap-highlight-color: transparent !important;
    tap-highlight-color: transparent !important;
  }

  .kansio-mobile__toggle::-moz-focus-inner,
  .kansio-mobile__close::-moz-focus-inner {
    border: 0 !important;
  }

  .kansio-mobile__toggle span {
    background: #00754f !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5f9de933 */.nav-bar {
  position: relative;
  display: inline-flex;
  flex-direction: column;
}

.mega-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.menu-trigger:hover ~ .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}/* End custom CSS */