/* roboto-serif-300 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: normal;
  font-weight: 300;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-300italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: italic;
  font-weight: 300;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-300italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-regular.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: italic;
  font-weight: 400;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-500 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-500italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: italic;
  font-weight: 500;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-500italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-600 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-600italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: italic;
  font-weight: 600;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-600italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-700 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-serif-700italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Serif";
  font-style: italic;
  font-weight: 700;
  src: url("./fonts/roboto-serif-v15-latin_latin-ext-700italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-300 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src: url("./fonts/roboto-v47-latin_latin-ext-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-300italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: italic;
  font-weight: 300;
  src: url("./fonts/roboto-v47-latin_latin-ext-300italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/roboto-v47-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src: url("./fonts/roboto-v47-latin_latin-ext-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/roboto-v47-latin_latin-ext-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: italic;
  font-weight: 500;
  src: url("./fonts/roboto-v47-latin_latin-ext-500italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-600 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/roboto-v47-latin_latin-ext-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-600italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: italic;
  font-weight: 600;
  src: url("./fonts/roboto-v47-latin_latin-ext-600italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/roboto-v47-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700italic - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: italic;
  font-weight: 700;
  src: url("./fonts/roboto-v47-latin_latin-ext-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

#mobileMenu {
  overflow-y: scroll;
  background: #f1f3f8;
}

#mobileMenuOpenMenu > i {
  position: relative;
  top: 1px;
}

#mobileMenuCloseButton > div {
  background: url("../img/close.png") no-repeat center center;
  background-size: cover;
}

i.fi {
  line-height: 0;
}

.hover-controller .normal-state-block {
  display: block;
}

.hover-controller .normal-state-flex {
  display: flex;
}

.hover-controller .normal-state-inline-block {
  display: inline-block;
}

.hover-controller .normal-state-inline {
  display: inline;
}

.hover-controller .hover-state {
  display: none;
}

.hover-controller:hover .normal-state {
  display: none;
}

.hover-controller:hover .hover-state-block {
  display: block;
}

.hover-controller:hover .hover-state-flex {
  display: flex;
}

.hover-controller:hover .hover-state-inline-block {
  display: inline-block;
}

.hover-controller:hover .hover-state-inline {
  display: inline;
}

.acapub-card-hover:hover .acapub-card-hover-container {
  background: #041468;
  color: white;
}

.acapub-card-hover:hover .acapub-card-hover-opacity {
  background: #041468bb;
}

.template-content h2 {
  font-size: 24px;
  line-height: 38px;
  letter-spacing: 0.35px;
  margin-bottom: 26px;
  font-weight: bold;
}

.template-content h2::before {
  content: "";
  width: 30px;
  border-bottom: 5px solid;
  font-weight: 400;
  display: inline-block;
  margin-right: 10px;
  margin-left: -40px;
  border-color: #041468;
}

.swiper2-photos .swiper-slide-thumb-active {
  padding: 1px;
}

.swiper2-photos .swiper-slide-thumb-active img {
  border: 2px solid white;
}

.whiteFillContainer:hover .whiteFill {
  fill: white !important;
}

.multiline-ellipsis {
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  box-orient: vertical;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.line-clamp-2,
.line-clamp-3,
.line-clamp-4,
.multiline-ellipsis {
  padding-bottom: 2px;
}

@media screen and (max-width: 768px) {
  .is-layout-grid {
    grid-template-columns: none !important;
  }
}

/* Content hyperlinks — hover: blue-500 + underline (site-wide) */
article.entry-content a[href]:not(.kuiscidweb-director-signature):not(.kuiscidweb-advisory-board-icon-link):not(.group):hover,
article.entry-content a[href]:not(.kuiscidweb-director-signature):not(.kuiscidweb-advisory-board-icon-link):not(.group):focus-visible,
.template-content a[href]:hover,
.template-content a[href]:focus-visible,
.home-content p a[href]:hover,
.home-content p a[href]:focus-visible {
  color: #144486 !important;
  text-decoration: underline !important;
}

/* Scroll reveal — site-wide content fade-in */
.kuiscidweb-scroll-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.kuiscidweb-scroll-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .kuiscidweb-scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Sticky site header — option B: main menu only (logo scrolls away) */
.kuiscidweb-site-header {
  position: relative;
}

.kuiscidweb-site-header.is-compact .kuiscidweb-site-header__main {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  width: 100%;
  height: 56px;
  box-shadow: 0 4px 16px rgba(20, 68, 134, 0.12);
}

.kuiscidweb-site-header.is-compact [data-kuiscidweb-main-menu-link] {
  font-size: 16px;
  line-height: 1.25;
}

.kuiscidweb-site-header__main-spacer {
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .kuiscidweb-site-header__main {
    transition: none;
  }
}

/* Sticky page sidebar — section nav only (filters scroll normally) */
:root {
  --kuiscidweb-sticky-header-height: 306px;
  --kuiscidweb-sticky-sidebar-gap: 32px;
}

.kuiscidweb-page-sidebar-layout {
  align-items: stretch;
}

.kuiscidweb-page-sidebar-column {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.kuiscidweb-page-sidebar {
  position: sticky;
  top: calc(var(--kuiscidweb-sticky-header-height) + var(--kuiscidweb-sticky-sidebar-gap));
  align-self: flex-start;
  width: 100%;
  max-height: calc(
    100vh - var(--kuiscidweb-sticky-header-height) - var(--kuiscidweb-sticky-sidebar-gap) - 24px
  );
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

@media (max-width: 768px) {
  .kuiscidweb-page-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

/* Footer (1.svg layout) */
.kuiscidweb-footer__link:hover {
  color: #588FDB;
}

.kuiscidweb-footer__newsletter {
  position: relative;
  box-sizing: border-box;
  padding: 26px 32px;
}

.kuiscidweb-footer__newsletter-left {
  width: 304px;
  max-width: 100%;
}

.kuiscidweb-footer__newsletter-form {
  position: absolute;
  top: 62px;
  right: 32px;
  left: 364px;
  width: auto;
  height: 46px;
  min-width: 0;
}

.kuiscidweb-footer__newsletter-submit:hover {
  background-color: #051935;
}

.kuiscidweb-footer__newsletter-submit:hover img {
  filter: brightness(0) invert(1);
}

#kuiscidweb-footer-newsletter-email::placeholder {
  color: #ffffff;
}

#kuiscidweb-footer-newsletter-email::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

@media (max-width: 768px) {
  .kuiscidweb-footer__row {
    flex-direction: column;
    align-items: stretch;
    gap: 50px;
  }

  .kuiscidweb-footer__contact {
    width: 100%;
    max-width: 420px;
  }

  .kuiscidweb-footer__newsletter {
    width: 100%;
    height: auto;
    min-height: 169px;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .kuiscidweb-footer__newsletter-left {
    width: 100%;
    max-width: 304px;
  }

  .kuiscidweb-footer__newsletter-form {
    position: static;
    left: auto;
    right: auto;
    width: 100%;
    max-width: none;
    margin-top: 24px;
  }
}

@media (max-width: 768px) {
  .kuiscidweb-footer__band {
    height: auto;
    min-height: 270px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
