:root {
  --body-font-size: 18px;
  font-size: var(--body-font-size);
  --body-line-height: 1.35;
  --cassiopeia-scroll-margin-top: 4.5rem;

  --primary: #1e3680;
  --secondary: #93d5f6;
  --primary-darken-1: #1c244b;
  --secondary-darken-1: #007bbd;
  --secondary-lighten-1: #daf1fc;
  --primary-rgb: 30, 54, 128;
  --secondary-rgb: 147, 213, 246;
  --primary-darken-1-rgb: 28, 36, 75;
  --secondary-darken-1-rgb: 0, 123, 189;
  --secondary-lighten-1-rgb: 218, 241, 252;
  --windwall: #008575;
}

body.wrapper-fluid .site-grid {
  grid-gap: 0;
}

.text-windwall {
  color: var(--windwall);
}

.container-header {
  background-color: #fff;
  background-image: none;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.08);
}

.container-header .navbar-brand {
  margin-inline-end: unset;
}

.container-header .container-nav {
  align-content: end;
  display: flex;
  padding-bottom: unset;
}

.container-header .mod-menu {
  color: #000;
  font-weight: 600;
}

.container-header .mod-languages {
  margin-top: .5em;
  padding: 0;
}

@media (width<=767.98px) {
  .container-header .mod-languages {
      margin-top: 1em
  }
}

.mod-languages .navbar-toggler.dropdown-toggle {
  padding: 3.2625px 5px;
  font-size: 18px;
  line-height: 1.5;
}

/* .mod-languages .navbar-toggler.dropdown-toggle:focus {
  box-shadow: 0 0 0 var(--navbar-toggler-focus-width);
  outline: 0;
  text-decoration: none;
} */

div.mod-languages img {
  vertical-align: baseline;
}

div.mod-languages .dropdown-menu img {
  margin-right: 0.5rem;
}

.mod-languages .dropdown-menu {
  --dropdown-min-width: 9rem;
  --dropdown-spacer: .25rem;
}

:root:has(.sticky-top) [id] {
  scroll-margin-top: 0;
}

@media (min-width: 992px) {
  :root:has(.sticky-top) [id] {
    scroll-margin-top: var(--cassiopeia-scroll-margin-top, 4.5rem);
  }
}

.container-component > main {
  margin-top: 0;
}

.container-bottom-b > * {
  margin: 0;
}

#mod-custom115 img {
  height: 36px;
}

.mask-icon {
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: var(--svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.menu-icon {
  display: inline-block;
  width: 20px;
  height: 22px;
  background-color: currentColor;
  --svg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>');
  -webkit-mask-image: var(--svg);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: var(--svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

/* .metismenu.mod-menu .metismenu-item > ul {
    box-shadow: 0 0 .5em #0000001a;
  }
  
  .metismenu.mod-menu .metismenu-item > a:focus, .metismenu.mod-menu .metismenu-item > button:focus {
    outline-offset: 2px;
    outline: 1px dotted var(--gray-600);
  }

  .metismenu.mod-menu .metismenu-item.divider:not(.parent) {
    border-right: 1px solid var(--gray-600);
  }
  
  @media (width <= 991.98px) {
    .metismenu.mod-menu .metismenu-item.divider:not(.parent) {
      border-bottom: 1px solid var(--gray-600);
    }
  }
  
  .metismenu.mod-menu .mm-collapse {
    background-color: #fff;
    box-shadow: 1px 1px 4px #0000001a;
  }
  
  .metismenu.mod-menu .mm-collapse > li.divider:not(.parent) {
    border-bottom: 1px solid var(--gray-600);
  }
  
  .metismenu.mod-menu .mm-collapse > li.parent > ul {
    background-color: #00000008;
  } */

.navbar {
  --navbar-color: rgba(var(--primary-rgb), 0.65);
  --navbar-hover-color: rgba(var(--primary-rgb), 0.8);
  --navbar-disabled-color: rgba(var(--primary-rgb), 0.3);
  --navbar-active-color: rgba(var(--primary-rgb), 1);
  --navbar-brand-color: rgba(var(--primary-rgb), 1);
  --navbar-brand-hover-color: rgba(var(--primary-rgb), 1);
  --navbar-toggler-border-color: rgba(var(--primary-rgb), 0.15);
}

.btn-close {
  --btn-close-color: var(--primary);
  --btn-close-bg: url(
    data:image/svg + xml,
    %3csvgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 16 16"fill="hsl%280, 0%, 0%%29"%3e%3cpathd="M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z"/%3e%3c/svg%3e
  );
}

.container-header .navbar-toggler, .container-header .dropdown-toggle {
  color: var(--navbar-color);
  border: var(--border-width) solid var(--navbar-toggler-border-color);
}

@media (min-width: 1400px) {
  .container-xxl,
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1200px;
  }
}

body.wrapper-fluid header > .grid-child,
body.wrapper-fluid footer > .grid-child {
  max-width: 1200px;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.list-item a,
.items-row a {
  text-decoration: none;
}

.bg-secondary-lighten-1 {
  --bg-opacity: 1;
  background-color: rgba(
    var(--secondary-lighten-1-rgb),
    var(--bg-opacity)
  ) !important;
}
.text-primary-darken-1 {
  color: var(--primary-darken-1) !important;
}
.text-secondary-darken-1 {
  color: var(--secondary-darken-1) !important;
}

.btn-outline-primary {
  --btn-color: var(--primary);
  --btn-border-color: var(--primary);
  --btn-hover-color: #fff;
  --btn-hover-bg: var(--primary);
  --btn-hover-border-color: var(--primary);
  --btn-focus-shadow-rgb: 1, 1, 86;
  --btn-active-color: #fff;
  --btn-active-bg: var(--primary);
  --btn-active-border-color: var(--primary);
  --btn-disabled-color: var(--primary);
  --btn-disabled-border-color: var(--primary);
}

.btn-outline-secondary {
  --btn-color: var(--secondary);
  --btn-border-color: var(--secondary);
  --btn-hover-color: #fff;
  --btn-hover-bg: var(--secondary);
  --btn-hover-border-color: var(--secondary);
  --btn-focus-shadow-rgb: 109, 117, 126;
  --btn-active-color: #fff;
  --btn-active-bg: var(--secondary);
  --btn-active-border-color: var(--secondary);
  --btn-disabled-color: var(--secondary);
  --btn-disabled-border-color: var(--secondary);
}

.btn {
  font-weight: 600 !important;
}

.bg-primary .btn.btn-outline-secondary {
  --btn-hover-color: var(--primary);
  --btn-active-color: var(--primary);
}

.btn-primary:hover {
  background-color: transparent;
  color: var(--primary);
}

.btn.btn-outline-light:hover {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--light);
}

.brand-logo img {
  height: 32px;
  width: auto;
}

figure {
  margin: 0 0 0.75em;
}

.img-cover {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.img-contain {
  object-fit: contain;
  height: 100%;
  width: 100%;
}

.list-item + h2 {
  margin-top: 3rem;
}

.headline-dynamic-wrapper {
  overflow: visible;
  display: inline-block;
  position: relative;
}

.headline-dynamic-wrapper h3 {
  font-size: 3.65rem;
}

.headline-dynamic-wrapper + h4 {
  font-size: 0.9rem;
}

@media (min-width: 992px) {
  .headline-dynamic-wrapper h3 {
    font-size: 4rem;
  }
}

@media (min-width: 576px) {
  .headline-dynamic-wrapper + h4 {
    font-size: 1rem;
  }
}

@media (min-width: 992px) {
  .headline-dynamic-wrapper + h4 {
    font-size: 1.3rem;
  }
}

.headline--style-highlight svg {
  height: calc(100% + 20px);
  left: 50%;
  overflow: visible;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 20px);
}

.headline-dynamic-wrapper svg path {
  stroke: var(--primary);
  
  stroke-width: 9;
  fill: none;
  opacity: 0;
  stroke-dasharray: 0 1500;
  transition: 0.3s;

  animation: headline-dash-loop 9.6s infinite;
}

.bg-secondary .headline-dynamic-wrapper svg path {
  stroke: white;
}

@keyframes headline-dash-loop {
  0% {
    opacity: 1;
    stroke-dasharray: 0 1500;
    filter: none;
  }
  13% {
    opacity: 1;
    stroke-dasharray: 1500 1500;
    filter: none;
  }
  96% {
    opacity: 1;
    stroke-dasharray: 1500 1500;
    filter: none;
  }
  100% {
    opacity: 0;
    filter: blur(10px);
  }
}

.list-icons img {
  max-height: 100px;
}

@media (max-width: 575.98px) {
  .list-icons div:nth-child(2n) {
    margin-bottom: 1.5rem;
  }
}

.accordion {
  font-size: 16px;
  --accordion-active-bg: var(--light);
  --accordion-btn-bg: var(--light);
  --accordion-btn-focus-box-shadow: 0 0 0 0.25rem #1e368040;
}

.accordion-button,
.accordion-button:not(.collapsed) {
  color: var(--primary);
}

.accordion-item {
  color: var(--body-text-color);
}

/* .accordion-flush for mobile breakpoint  */
@media (max-width: 767.98px) {
  .accordion-collapse {
    border-width: 0;
  }

  .accordion-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .accordion-item:first-child {
    border-top: 0;
  }

  .accordion-item:last-child {
    border-bottom: 0;
  }

  .accordion-item .accordion-button,
  .accordion-item .accordion-button.collapsed {
    border-radius: 0;
  }

  /* padding for mobile breakpoint */
  .accordion-body,
  .accordion-button {
    padding-right: calc(var(--gutter-x) * 0.5);
    padding-left: calc(var(--gutter-x) * 0.5);
  }
}

table.additional-info {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin: 0 0 1.5em;
  width: 100%;
}

.additional-info td,
.additional-info th {
  padding: 0.7em 1em;
  border-width: 0 1px 1px 0;
}

.additional-info tr {
  font-size: 0.8em;
  line-height: 1.5;
  border: none;
}

.additional-info th {
  background-color: #e9eaef;
  color: #33539f;
  border: 0 !important;
  border-bottom: 7px solid #fff !important;
  font-weight: 500;
  width: 150px;
}

.additional-info td {
  border: 0 !important;
  border-bottom: 7px solid #fff !important;
  padding-left: 10px !important;
  padding-right: 0 !important;
  font-style: italic;
}

.bg-img-cover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 100%;
  width: 100%;
}

.features-list .col > div {
  margin-left: 1rem;
  margin-right: 1rem;
}

.features-list img {
  margin-bottom: 1.5rem;
}

.hero {
  padding-top: 16px;
  background-color: var(--secondary-lighten-1);
  text-align: center;
}

@media (min-width: 768px) {
  .hero {
    padding-top: 75px;
  }
}

.section-before-overlay {
  padding-bottom: 120px;
  margin-bottom: -80px;
}

.hero h1 {
  line-height: 1.4;
  letter-spacing: 0.5px;
}

@media (min-width: 992px) {
  .hero p {
    padding-left: 15%;
    padding-right: 15%;
  }
}
/* Hero section */

.hero-section {
  padding-top: 0px;
  padding-bottom: 50px;

  background-image: url("/images/home/legionella-image-1.jpg");
  background-position: 50%;
  background-size: cover;
  height: 100%;
  width: 100%;
}

.hero-section .first-col {
  padding: 15px 20px;
  border-bottom: 8px solid var(--secondary);
  text-align: center;
}

@media (min-width: 768px) {
  .hero-section {
    padding-top: 50px;
  }

  .hero-section .first-col {
    padding: 40px;
    text-align: start;
  }
}

.hero-section .first-col h1 {
  margin-top: 0px;
  margin-bottom: 20px;
}

.hero-section .first-col p {
  margin-bottom: 25px;
}

@media (min-width: 290px) and (max-width: 575.98px) {
  .hero-section .btn {
    width: 250px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 767.98px) {
  .hero-section .second-col img {
    margin-top: 50px;
  }
}

/* Banners */

.banner {
  height: 310px;
  padding: 16px;
}

.banner > p {
  max-width: 80%;
}

@media (min-width: 768px) {
  .banner > p {
    max-width: 60%;
  }
}

@media (min-width: 992px) {
  .banner {
    padding: 24px;
  }
}

.banner-1 {
  background-image: linear-gradient(90deg, #0c1836 0%, #ff003f00 100%),
    url("/images/home/testing-legionella-dish-vbnc-e1718958673867-resize.png");
  background-position: top left;
}

.banner-2 {
  background-image: linear-gradient(90deg, #000 0%, #f2295b00 100%),
    url("/images/home/legionella-bacteria.png");
  text-shadow: 0px 0px 5px #000;
  background-position: top center;
}

@media (min-width: 768px) {
  .banner-2 {
    background-position: center right;
  }
}

.feedback-form label {
  font-weight: bold;
  color: #1e3680;
}

.feedback-form input, .feedback-form select, .feedback-form textarea, .feedback-form .g-recaptcha {
  margin-bottom: 1rem;
}

.g-recaptcha {
  overflow-x: clip;
}

.footer {
  color: #fff;
  background-color: #000;
  background-image: none;
  margin-top: 0;
}

.footer .grid-child {
  /* justify-content: space-between; */
  align-items: unset;
}
.footer img {
  width: 225px;
  max-height: 43px;
}