/* =========================================================
   FARBEN & ROOT VARIABLEN
   ========================================================= */
:root {
  /* Primäre Farben */
  --bs-body-color: #1C242A;
  --bs-secondary-color: #6A737A;
  --color-black: #000;
  --color-text-dark: #212529;
  --color-text-medium: #333;

  /* Brand Farben */
  --bs-primary: #0a63a8;
  --bs-secondary: #f99d1c;

  /* Hover States */
  --bs-primary-hover: #1A72B6;
  --bs-secondary-hover: #FDAA34;

  /* Status Farben */
  --bs-success: #28a745;
  --bs-success-hover: #218838;
  --bs-success-active: #1e7e34;

  --bs-danger: #dc3545;
  --bs-danger-hover: #c82333;
  --bs-danger-active: #bd2130;

  --bs-warning: #f99d1c;
  --bs-warning-hover: #FDAA34;
  --bs-warning-active: #f99d1c;

  --bs-info: #bfddf3;
  --bs-info-hover: #138496;
  --bs-info-active: #117a8b;

  --bs-light: #f8f9fa;
  --bs-light-hover: #e2e6ea;
  --bs-light-active: #d6d8db;

  --bs-dark: #343a40;
  --bs-dark-hover: #1b1e21;
  --bs-dark-active: #141619;

  /* Hintergrundfarben */
  --bg-light: rgba(0, 0, 0, .05);
  --bg-medium: rgba(0, 0, 0, .1);
  --bg-contact-alt: #fcfcfc;
  --bg-hover-light: #f6f6f6;

  /* Rahmenfarben */
  --border-medium: rgba(0, 0, 0, .15);

  /* UI-Farben */
  --triangle-color: #f99d1c;

  /* Abstände */
  --space-4: 2rem;

  /* Schatten */
  --shadow-card:
    0 .25em .25em rgba(0,27,45,.05),
    0 .5em 1.25em rgba(0,27,45,.15),
    0 .125em .1em rgba(0,0,0,.05);

  --shadow-section:
    inset 0 0 .25em rgba(0,27,45,.05),
    inset 0 0 1.25em rgba(0,27,45,.25),
    inset 0 0 .1em rgba(0,0,0,.1);
}


/* =========================================================
   TYPOGRAFIE
   ========================================================= */
html { font-size: 16px; }

body {
  font-family: 'Raleway', Arial, sans-serif;
  font-weight: 500;
  color: var(--bs-body-color);
  line-height: 1.65;
}

main p {
  margin-bottom: 1.4rem;
}

.lead {
  font-size: clamp(1.1rem, 1.5vw + 0.8rem, 1.25rem);
  font-weight: 400;
}

/*
 * Heading Scale: Major Third (1.25 ratio), anchored on h4 = 1.5rem
 *
 * h1: 2.93rem  (1.5 × 1.25³)
 * h2: 2.34rem  (1.5 × 1.25²)
 * h3: 1.875rem (1.5 × 1.25)
 * h4: 1.5rem   (anchor)
 * h5: 1.2rem   (1.5 ÷ 1.25)
 * h6: 1rem     (base)
 *
 * All headings use body color. Primary color is applied via
 * .heading-4 utility class for Fließtext section headings only.
 */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto', sans-serif;
  line-height: 1.25;
  margin-bottom: .5em;
  color: var(--bs-body-color);
}

/* Fluid Typography: Smooth scaling between mobile and desktop */
h1 { font-size: clamp(2.2rem, 4vw + 1rem, 2.93rem); font-weight: 400; line-height: 1.15; }
h2 { font-size: clamp(1.8rem, 3vw + 0.8rem, 2.34rem); font-weight: 400; line-height: 1.15; }
h3 { font-size: clamp(1.5rem, 2.5vw + 0.6rem, 1.875rem); font-weight: 500; }
h4 { font-size: clamp(1.25rem, 2vw + 0.5rem, 1.5rem); font-weight: 500; }
h5 { font-size: 1.2rem; font-weight: 500; }
h6 { font-size: 1rem; font-weight: 600; }

/*
 * Responsive Typografie: Fallback für Browser ohne clamp() Support
 * Die Hauptskalierung erfolgt über clamp() in den Basis-Definitionen.
 * Dieser Abschnitt dient als Fallback für ältere Browser.
 */
@supports not (font-size: clamp(1rem, 2vw, 3rem)) {
  @media (max-width: 767.98px) {
    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.5rem; }
    h4 { font-size: 1.25rem; }

    .display-1 { font-size: 3rem; }
    .display-2 { font-size: 2.75rem; }
    .display-3 { font-size: 2.5rem; }
    .display-4 { font-size: 2.25rem; }
    .display-5 { font-size: 2rem; }
    .display-6 { font-size: 1.75rem; }

    .heading-1 { font-size: 2.2rem; }
    .heading-2 { font-size: 1.8rem; }
    .heading-3 { font-size: 1.5rem; }
    .heading-4 { font-size: 1.25rem; }
  }
}

/*
 * Display Styles: For hero sections and marketing content
 * Uses Roboto (heading font) with light weight for elegance
 * Fluid scaling with clamp() for smooth responsive behavior
 */
.display-1 { font-family: 'Roboto', sans-serif; font-size: clamp(3rem, 6vw + 1rem, 5rem); font-weight: 300; line-height: 1.2; }
.display-2 { font-family: 'Roboto', sans-serif; font-size: clamp(2.75rem, 5vw + 1rem, 4.5rem); font-weight: 300; line-height: 1.2; }
.display-3 { font-family: 'Roboto', sans-serif; font-size: clamp(2.5rem, 4.5vw + 1rem, 4rem); font-weight: 300; line-height: 1.2; }
.display-4 { font-family: 'Roboto', sans-serif; font-size: clamp(2.25rem, 4vw + 1rem, 3.5rem); font-weight: 300; line-height: 1.2; }
.display-5 { font-family: 'Roboto', sans-serif; font-size: clamp(2rem, 3.5vw + 0.8rem, 3rem); font-weight: 400; line-height: 1.2; }
.display-6 { font-family: 'Roboto', sans-serif; font-size: clamp(1.75rem, 3vw + 0.6rem, 2.5rem); font-weight: 400; line-height: 1.2; }

/*
 * Heading Utility Classes: Primary-colored headings
 *
 * .heading-4 is the primary use case: section headings in Fließtext
 * Other sizes available for flexibility, but .heading-4 is the standard
 */
.heading-1, .heading-2, .heading-3, .heading-4, .heading-5, .heading-6 {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  color: var(--bs-primary);
  scroll-margin-top: 6rem; /* Offset for sticky navbar when using anchor links */
}

/* Fluid scaling matching h1-h6 */
.heading-1 { font-size: clamp(2.2rem, 4vw + 1rem, 2.93rem); }
.heading-2 { font-size: clamp(1.8rem, 3vw + 0.8rem, 2.34rem); }
.heading-3 { font-size: clamp(1.5rem, 2.5vw + 0.6rem, 1.875rem); }
.heading-4 { font-size: clamp(1.25rem, 2vw + 0.5rem, 1.5rem); }
.heading-5 { font-size: 1.2rem; }
.heading-6 { font-size: 1rem; }

/* Zusätzliche Font-Size Utility (größer als Bootstrap fs-1) */
.fs-0 { font-size: 3rem !important; }

/* Hochformat-Ratio (3:4) für Portraitfotos */
.ratio-3x4 { --bs-aspect-ratio: 133.33%; }

/* Icons in Flex-Containern zentrieren */
.d-inline-flex.align-items-center .bi {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Optische Korrekturen für asymmetrische Icons */
.bi-send::before,
.bi-send-fill::before {
  transform: translate(-0.05em, 0.05em);
}

.icon-secondary {
  color: var(--bs-secondary);
}

/* Bootstrap Override: text-secondary soll unsere Brand-Farbe verwenden */
.text-secondary {
  color: var(--bs-secondary) !important;
}

/* =========================================================
   ABSTAND-UTILITIES
   ========================================================= */
.p-4 { padding: var(--space-4); }
.py-4 { padding-block: var(--space-4); }
.px-4 { padding-inline: var(--space-4); }

.g-4 {
  --bs-gutter-x: var(--space-4);
  --bs-gutter-y: var(--space-4);
}

/* Zwischenstufe zwischen p-4 (1.5rem) und p-5 (3rem) */
.p-45 { padding: 2rem; }
.py-45 { padding-block: 2rem; }
.px-45 { padding-inline: 2rem; }
.pt-45 { padding-top: 2rem; }
.pb-45 { padding-bottom: 2rem; }
.ps-45 { padding-left: 2rem; }
.pe-45 { padding-right: 2rem; }
.m-45 { margin: 2rem; }
.my-45 { margin-block: 2rem; }
.mx-45 { margin-inline: 2rem; }
.mt-45 { margin-top: 2rem; }
.mb-45 { margin-bottom: 2rem; }
.ms-45 { margin-left: 2rem; }
.me-45 { margin-right: 2rem; }

/* Stufe 6: für heading-2 nach Fließtext (4rem = ~2.4× Zeilenhöhe body) */
.mt-6 { margin-top: 4rem; }
.mb-6 { margin-bottom: 4rem; }
.my-6 { margin-block: 4rem; }
.pt-6 { padding-top: 4rem; }
.pb-6 { padding-bottom: 4rem; }
.py-6 { padding-block: 4rem; }

/* =========================================================
   BUTTON-SYSTEM (DRY / VARIABLEN-BASIERT)
   ========================================================= */

/* Basis Button-Stil */
.btn {
  border-radius: 2rem;
  font-weight: 600;
}

/* Button-Variablen pro Button-Typ */
.btn-primary    { --btn-bg: var(--bs-primary);    --btn-hover: var(--bs-primary-hover);    --btn-active: var(--bs-primary-hover);    --btn-text:#fff; font-weight:bold; }
.btn-secondary  { --btn-bg: var(--bs-secondary);  --btn-hover: var(--bs-secondary-hover);  --btn-active: var(--bs-secondary-hover);  --btn-text:#fff; }
.btn-success    { --btn-bg: var(--bs-success);    --btn-hover: var(--bs-success-hover);    --btn-active: var(--bs-success-active);    --btn-text:#fff;}
.btn-danger     { --btn-bg: var(--bs-danger);     --btn-hover: var(--bs-danger-hover);     --btn-active: var(--bs-danger-active);     --btn-text:#fff;}
.btn-warning    { --btn-bg: var(--bs-warning);    --btn-hover: var(--bs-warning-hover);    --btn-active: var(--bs-warning-active);    --btn-text: var(--color-text-dark);}
.btn-info       { --btn-bg: var(--bs-info);       --btn-hover: var(--bs-info-hover);       --btn-active: var(--bs-info-active);       --btn-text:#fff;}
.btn-light      { --btn-bg: var(--bs-light);      --btn-hover: var(--bs-light-hover);      --btn-active: var(--bs-light-active);     --btn-text: var(--color-text-dark);}
.btn-dark       { --btn-bg: var(--bs-dark);       --btn-hover: var(--bs-dark-hover);       --btn-active: var(--bs-dark-active);      --btn-text:#fff; }

/* Button-Rendering-Regeln (Override Bootstrap mit !important) */
.btn {
  background: var(--btn-bg) !important;
  border-color: var(--btn-bg) !important;
  color: var(--btn-text) !important;
}

.btn:is(:hover, :focus) {
  background: var(--btn-hover) !important;
  border-color: var(--btn-hover) !important;
}

.btn:active {
  background: var(--btn-active) !important;
  border-color: var(--btn-active) !important;
}

/* Outline-Info Variante */
.btn-outline-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-bg: var(--bs-info);
  --bs-btn-hover-border-color: var(--bs-info);
  --bs-btn-active-bg: var(--bs-info);
  --bs-btn-active-border-color: var(--bs-info);
}

/* =========================================================
   LINKS
   ========================================================= */
a {
  color: var(--bs-primary);
  text-decoration: none;
}
a:hover { text-decoration: underline; }

/* =========================================================
   NAVIGATIONSLEISTE
   ========================================================= */
.navbar { background: var(--bs-white); }
.navbar a { color: var(--bs-dark); }
.navbar a:is(:hover, :active) {
  color: var(--bs-primary);
  text-decoration: none;
}
.navbar-nav .nav-link { text-transform: uppercase; }
.navbar-nav .nav-link.show { color: var(--bs-primary); }

.navbar-nav .nav-item.active .nav-link { position: relative; color:#000}

/* Aktives Nav-Item: Dreieck-Indikator (11px Breite für visuelle Balance) */
.navbar-nav .nav-item.active .nav-link::before {
  content: "";
  position: absolute;
  bottom: -9px; /* -9px für korrekte Positionierung unter Nav-Item */
  left: 50%;
  transform: translateX(-50%);
  border: solid transparent;
  border-width: 0 11px 11px; /* 11px für sichtbare Dreieckgröße */
  border-bottom-color: var(--triangle-color);
}

/* Dropdown-Menü: Nur untere Ecken abgerundet, kein Padding */
.navbar .dropdown-menu {
  border-radius: 0 0 1rem 1rem;
  padding: 0;
  border-top: none;
  box-shadow: 0 0.5rem 0.25rem rgba(0,0,0,0.1);
  overflow: hidden;
}

/* Dropdown-Items */
.navbar .dropdown-menu .dropdown-item {
  padding: 0.5rem 1.7rem;
  border-radius: 0;
  display: block;
}

/* Hover-Effekt für Dropdown-Items */
.navbar .dropdown-menu .dropdown-item:hover {
  background-color: var(--bg-light);
  color: var(--color-black);
  border-radius: 0;
}

/* Rechtsbündiges Dropdown für letztes Nav-Element */
.navbar-nav > .dropdown:last-child .dropdown-menu {
  right: 0;
  left: auto;
}

/* Dropdown-Divider: Volle Breite, 1px, hellgrau */
.navbar .dropdown-menu .dropdown-divider {
  margin: 0;
  padding: 0;
  border: none;
  height: 1px;
  background-color: #dee2e6;
  opacity: 1;
}

/* Dropdown-Icons: Secondary color */
.navbar .dropdown-menu .dropdown-icon {
  color: var(--bs-secondary);
}

/* Dropdown-Toggle-Pfeil ausblenden */
.dropdown-toggle::after {
  display: none;
}

/* Desktop: Dropdown bei Hover anzeigen */
@media (min-width: 992px) {
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
  .navbar .dropdown-toggle::after {
    margin-left: .3rem;
  }
}

/* =========================================================
   MEGA-MENU
   ========================================================= */
.navbar .dropdown-menu.megamenu {
  width: auto;
  min-width: 700px;
  max-width: 1100px;
  padding: 1rem 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 0 0 1rem 1rem;
}

/* Mega-Menu Größenvarianten (via megamenu_class in routes.php) */
.navbar .dropdown-menu.megamenu.megamenu-sm {
  min-width: 400px;
  max-width: 600px;
}

.navbar .dropdown-menu.megamenu.megamenu-md {
  min-width: 600px;
  max-width: 800px;
}

.navbar .dropdown-menu.megamenu.megamenu-lg {
  min-width: 800px;
  max-width: 1000px;
}

.navbar .dropdown-menu.megamenu.megamenu-xl {
  min-width: 900px;
  max-width: 1200px;
}

.megamenu-container {
  display: flex;
  gap: 0;
}

.megamenu-column {
  flex: 1;
  min-width: 180px;
  padding: 0.5rem 1.5rem;
  border-right: 1px solid #dee2e6;
  display: flex;
  flex-direction: column;
}

.megamenu-column:last-child {
  border-right: none;
}

/* Überschriften: An heading-4 angelehnt (primary, leicht) */
.megamenu-heading {
  position: relative;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  color: var(--bs-primary);
  margin-bottom: 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: none;
}

/* Heading-Icons: Links vom Text mit Abstand zum Spaltenrand */
.megamenu-heading i {
  color: var(--bs-secondary);
  margin-right: 0.5rem;
  transform: scale(1.4);
}

/* Abstand zwischen Gruppen in derselben Spalte */
.megamenu-link + .megamenu-heading {
  margin-top: 1.5rem;
}

/* Links: Konsistent mit dropdown-item */
.megamenu-link {
  display: flex;
  align-items: center;
  padding: 0.35rem 0.5rem;
  margin: 0 -0.5rem;
  color: var(--color-black);
  text-decoration: none;
  font-size: 1rem;
  border-radius: 0;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.megamenu-link:hover {
  background-color: var(--bg-light);
  color: var(--color-black);
}

/* Megamenu Icons: Feste Breite für bündigen Text */
.megamenu-icon {
  color: var(--bs-secondary);
  width: 1.25rem;
  text-align: center;
  flex-shrink: 0;
  transform: scale(1.4);
}

/* Standard-Dropdown Icons: Feste Breite */
.dropdown-icon {
  color: var(--bs-secondary);
  width: 1.25rem;
  text-align: center;
  transform: scale(1.4);
}

/* Mega-Menu Promo-Bereich (Card-Variante) */
.megamenu-promo {
  padding-top: 0.5rem;
}

.megamenu-promo .card {
  border-radius: 0.5rem;
  overflow: hidden;
}

.megamenu-promo .card-img-top {
  height: 100px;
  object-fit: cover;
}

.megamenu-promo .card-body {
  padding: 0.75rem;
}

.megamenu-promo .card-title {
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.megamenu-promo .card-text {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 0.5rem;
}

/* Mega-Menu Promo-Bereich (Full-Height Variante) */
.megamenu-promo-fullheight {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  flex-grow: 1;
  min-height: 200px;
  padding: 0.75rem;
  /* Kompensiert: column padding (0.5rem 1.5rem) + megamenu padding (1rem 0) */
  margin: -1.5rem -1.5rem -1.5rem -1.5rem;
  background-size: cover;
  background-position: center;
  border-radius: 0 0 1rem 0;
  overflow: hidden;
}

/* Button direkt auf dem Bild - kompakt */
.megamenu-promo-btn {
  font-size: 0.85rem;
}

/* Mega-Menu Promo-Spalte - fixe Breite statt flex */
.megamenu-column:has(.megamenu-promo-link) {
  flex: 0 0 auto;
  max-width: 160px;
}

/* Mega-Menu Promo-Bereich (Produkt-Variante - nutzt normale Spaltenstruktur) */
.megamenu-promo-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  padding: 0.5rem;
  border-radius: 0.375rem;
}

.megamenu-promo-link:hover {
  background-color: var(--bg-light);
}

.megamenu-promo-img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 0.375rem;
}

/* Mobile: Dropdown-Styling */
@media (max-width: 991.98px) {
  /* Mobile Nav-Item Abstand */
  .navbar-nav .nav-item {
    margin-bottom: 0.25rem;
  }

  /* Mobile Split-Button Container */
  .mobile-nav-item-split {
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: 0.375rem;
    background-color: transparent;
    transition: background-color 0.2s ease;
  }

  .mobile-nav-item-split:hover {
    background-color: var(--bg-light);
  }

  /* Mobile Hauptseiten-Link (Links) - zur Hauptseite navigieren */
  .mobile-nav-main-link {
    flex: 1;
    padding: 0.5rem 1rem !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    color: var(--bs-body-color) !important;
    border-radius: 0.375rem 0 0 0.375rem;
  }

  /* Mobile Chevron-Button (Rechts) - Untermenü öffnen/schließen */
  .mobile-nav-chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem !important;
    min-width: 44px;
    color: var(--bs-secondary) !important;
    background: transparent;
    border: none;
    border-radius: 0 0.375rem 0.375rem 0;
    border-left: 1px solid var(--bg-medium);
    transition: all 0.2s ease;
    cursor: pointer;
  }

  .mobile-nav-chevron:hover {
    background-color: var(--bs-secondary);
    color: #fff !important;
  }

  .mobile-nav-chevron i {
    font-size: 1.1rem;
    transition: transform 0.2s ease;
  }

  /* Chevron rotiert wenn Menü offen */
  .mobile-nav-chevron[aria-expanded="true"] i {
    transform: rotate(90deg);
  }

  /* Hauptseiten ohne Unterseiten */
  .navbar-nav > .nav-item > .nav-link:not(.mobile-nav-main-link):not(.mobile-submenu-link) {
    padding: 0.5rem 1rem !important;
    border-radius: 0.375rem;
    transition: background-color 0.2s ease;
    font-size: 1rem !important;
  }

  .navbar-nav > .nav-item > .nav-link:not(.mobile-nav-main-link):not(.mobile-submenu-link):hover {
    background-color: var(--bg-light);
  }

  /* Mobile Unterseiten-Container */
  .navbar-nav .mobile-submenu {
    margin-top: 0.25rem !important;
    padding-left: 0.75rem !important;
  }

  /* Mobile Unterseiten-Links */
  .navbar-nav .mobile-submenu .mobile-submenu-link {
    padding: 0.375rem 1rem !important;
    font-size: 0.9rem !important;
    color: var(--bs-secondary-color) !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    display: block;
    border-radius: 0.375rem;
  }

  .navbar-nav .mobile-submenu .mobile-submenu-link:hover {
    color: var(--bs-primary) !important;
    background-color: var(--bg-light);
  }

  /* Mobile Dropdown-Divider: Volle Breite, 1px, hellgrau */
  .navbar-nav .mobile-submenu .dropdown-divider {
    margin: 0.5rem -0.75rem;
    padding: 0;
    border: none;
    height: 1px;
    background-color: #dee2e6;
    opacity: 1;
  }

  /* Mobile Dropdown-Icons: Secondary color */
  .navbar-nav .mobile-submenu .dropdown-icon {
    color: var(--bs-secondary);
  }
}

/* =========================================================
   HERO-BILDER & TRENNLINIEN
   ========================================================= */
.hero-image {
  background-size: cover;
  background-position: center 50%;
  min-height: clamp(200px, 25vw, 400px);
  position: relative;
  overflow: hidden;
}

/* Cap at 19:9 only for decorative heroes without text overlay */
.hero-image:not(:has(.hero-textbox)) {
  max-height: calc(100vw * 9 / 19);
}

/* Team image: cinematic on wide screens, gradually zooms in on smaller screens.
   Height stays constant while container width shrinks → ratio gets squarer → zoom effect. */
.img-team {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 300px;
}

.content-image {
  background-size: cover;
  background-position: center 50%;
  aspect-ratio: 8 / 3;
}

/* Sidebar sticky: z-index unter Navbar-Dropdowns (Bootstrap dropdown: 1000) */
.col-lg-4 .sticky-top {
  z-index: 1;
}

.hero-divider {
  height: 3rem;
  background: var(--bg-medium);
  border-block: 1px solid var(--border-medium);
  box-shadow:
    inset 0 .5em 1.5em rgba(0,0,0,.1),
    inset 0 .125em .5em rgba(0,0,0,.15);
}

/* =========================================================
   SEKTIONEN
   ========================================================= */
.text-justify, .hyphenate { 
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
 }

.bg-medium,
.section-medium { background: var(--bg-medium); }

.bg-primary {
  background: var(--bs-primary) !important;
  color: #fff;
}

.bg-secondary {
  background: var(--bs-secondary) !important;
  color: #fff;
}

.border-secondary {
  border-color: var(--bs-secondary) !important;
}

.section-medium {
  border-block: 1px solid var(--border-medium);
  box-shadow: var(--shadow-section);
}

#footer a { color: var(--bs-dark); }

/* =========================================================
   KARTEN
   ========================================================= */
.card {
  overflow: hidden;
  border: none;
  box-shadow: var(--shadow-card);
}

.card-body .text-muted { color: var(--bs-secondary-color) !important; }

/* =========================================================
   COVERFLOW-KARUSSELL
   ========================================================= */
.coverflow-container {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 500px;
  overflow: visible;
}

.coverflow-card {
  position: absolute;
  top: 0;
  left: 50%;
  transform-origin: center center;
  cursor: pointer;
  transition: transform .35s ease, opacity .35s ease, z-index .35s ease;
  text-decoration: none !important;
}

.coverflow-card-inner {
  width: 100%;
  max-width: 380px;
}

/* Coverflow-Steuerungen */
:root { --cf-btn-size: 120px; }

@media (max-width: 768px) {
  :root { --cf-btn-size: 80px; }
  .coverflow-card-inner {
    min-width: 320px;
  }
}

.coverflow-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--cf-btn-size);
  height: var(--cf-btn-size);
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* Pfeil-Design für Coverflow-Buttons (1/2 Button-Größe, 1/10 Border-Dicke) */
.coverflow-btn::before {
  content: "";
  width: calc(var(--cf-btn-size) / 2);
  height: calc(var(--cf-btn-size) / 2);
  border-top: calc(var(--cf-btn-size) / 10) solid rgba(100,100,100,.3);
  border-right: calc(var(--cf-btn-size) / 10) solid rgba(100,100,100,.3);
  transition: border-color .3s ease;
}

.coverflow-btn-left::before  { transform: rotate(-135deg); }
.coverflow-btn-right::before { transform: rotate(45deg); }
.coverflow-btn:hover::before { border-color: rgba(60,60,60,.8); }

.coverflow-btn-left  { left: 10px; }
.coverflow-btn-right { right: 10px; }

/* =========================================================
   POLLENFLUG-KALENDER
   ========================================================= */
.pollen-vlow  { background: #fffde3 !important; }
.pollen-low   { background: #fffac7 !important; }
.pollen-vmed  { background: #ffeac0 !important; }
.pollen-med   { background: #ffd7c0 !important; }
.pollen-vhigh { background: #ffb8ad !important; }
.pollen-high  { background: #ffaba5 !important; }

/* =========================================================
   ANSPRECHPARTNER / KONTAKTLISTE
   ========================================================= */

/* Basis-Abstände für jede Zeile */
.contact-section-title {
  padding: 0;
  background-color: var(--bg-light);
}

.contact-item {
  padding: 0.25rem 0;
}

/* Alternierende Hintergrundfarbe für bessere Lesbarkeit */
.contact-item:nth-child(even) {
  background: var(--bg-contact-alt);
}

/* Sektions-Header Styling (Contact-Listen) */
.contact-section-title + h5,
.contact-item h5 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

/* =========================================================
   MOBILE OPTIMIERUNG
   ========================================================= */
@media (max-width: 990.98px) {
  /* Kontakt-Items als kartenartige Blöcke stacken */
  .contact-item {
    padding: 1rem;
    border-radius: 0.35rem;
    border: 1px solid #e5e5e5;
    margin-bottom: 0.75rem;
    background: #fff;
  }

  /* Name volle Breite, fett */
  .contact-item .col-12 {
    font-weight: 600;
    margin-bottom: 0.25rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Spalten als Block-Elemente anzeigen */
  .contact-item .col-6 {
    width: 100% !important;
    display: block;
    padding-left: 0 !important;
    margin-bottom: 0.25rem;
  }

  /* Rahmen zwischen Spalten entfernen */
  .contact-item .col-md-3 {
    border: none !important;
  }

  /* Header-Zeile auf Mobile ausblenden */
  .container-fluid > .row.fw-bold {
    display: none !important;
  }
}

/* Desktop: Hover-Hervorhebung für Kontakt-Items */
@media (min-width: 992px) {
  .contact-item:hover {
    background: var(--bg-hover-light);
  }
}

/* =========================================================
   OPACITY UTILITIES
   ========================================================= */
.bg-opacity-90 {
  --bs-bg-opacity: 0.9;
}

/* =========================================================
   HERO CARD BACKGROUNDS
   Radial gradient: centre (content) more opaque, edges (padding) lighter
   .hero-card        → replaces bg-white bg-opacity-75
   .hero-card-light  → replaces bg-white bg-opacity-50
   .hero-card-solid  → replaces bg-white bg-opacity-90
   ========================================================= */
.hero-card {
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.90) 70%, rgba(255,255,255,0.70) 100%);
}

/* Hero text box: fluid width, no column breakpoints */
.hero-textbox {
  width: clamp(260px, 45vw, 500px);
}

/* Scale hero text box and container padding on small screens */
@media (max-width: 576px) {
  .hero-image .container {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .hero-textbox {
    padding: 1rem !important;
  }
  .hero-textbox .display-5 {
    font-size: 1.5rem;
  }
  .hero-textbox .lead {
    font-size: 0.9rem;
    margin-bottom: 0.75rem !important;
  }
  .hero-textbox .btn-lg {
    font-size: 0.875rem;
    padding: 0.4rem 0.8rem;
  }
}
.hero-card-light {
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.62) 30%, rgba(255,255,255,0.44) 100%);
}
.hero-card-solid {
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.95) 30%, rgba(255,255,255,0.82) 100%);
}

/* =========================================================
   UTILITIES
   ========================================================= */
.cursor-pointer {
  cursor: pointer;
}

/* Letter buttons for alphabet navigation */
.btn-letter {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Pagination: Primary Color Override */
.page-link {
  color: var(--bs-primary);
}
.page-link:hover {
  color: var(--bs-primary-hover);
}
.page-item.active .page-link {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.page-link:focus {
  box-shadow: 0 0 0 0.25rem rgba(0, 104, 180, 0.25);
}

/* =========================================================
   SUCHE & AUTOCOMPLETE
   ========================================================= */

/* Navbar-Suche Wrapper */
.search-wrapper {
  min-width: 200px;
}

/* Autocomplete Dropdown (alle Varianten) */
.search-dropdown {
  min-width: 420px;
  right: 0;
  font-size: 1rem;
  z-index: 1050;
  max-height: 400px;
  overflow-y: auto;
}

/* Sektion im Autocomplete */
.search-section {
  padding: 0.5rem 0;
}

/* Sektion-Titel */
.search-section-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.25rem calc(var(--bs-gutter-x)*.5);
  margin: 0;
}

/* Autocomplete Item */
.search-item {
  display: block;
  padding: 0.5rem calc(var(--bs-gutter-x)*.5);
  text-decoration: none;
  color: #212529;
  border-left: 3px solid transparent;
  transition: all 0.15s ease;
}

.search-item:hover,
.search-item.active {
  background-color: #f8f9fa;
  border-left-color: var(--bs-primary, #0d6efd);
  color: #212529;
}

.search-item .item-title {
  font-weight: 500;
  display: block;
}

.search-item .item-sub {
  font-size: 0.85rem;
  color: #6c757d;
}

/* Keine Ergebnisse */
.search-no-results {
  padding: calc(var(--bs-gutter-x)*.5);
  text-align: center;
  color: #6c757d;
}

/* Footer mit Link */
.search-footer {
  padding: 0.5rem calc(var(--bs-gutter-x)*.5);
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  text-align: center;
}

.search-footer a {
  font-size: 0.85rem;
  color: #0d6efd;
  text-decoration: none;
}

.search-footer a:hover {
  text-decoration: underline;
}

/* Formularfelder: Hintergrund leicht grau, kein Border */
.form-control,
.form-select {
  background-color: #f5f5f5;
  border-color: transparent;
}

.form-control:hover,
.form-select:hover {
  border-color: #dee2e6;
}

.form-control:focus,
.form-select:focus {
  background-color: #f5f5f5;
  border-color: var(--bs-secondary);
  box-shadow: none;
}

/* Suchfeld Focus-Styling (ersetzt Browser-Glow) */
.search-wrapper .form-control:focus {
  outline: none;
  box-shadow: none;
  border-color: var(--bs-secondary);
  border-width: 1px;
  border-style: solid;
}

/* Normalzustand: Lupe, gleicher Hintergrund wie Formularfelder */
.search-wrapper .input-group-text {
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  background-color: #f5f5f5 !important;
  border-color: transparent;
}

/* Lupe links: rechten Border ausblenden, Suchfeld linken Border */
.search-wrapper .input-group-text.rounded-start-pill {
  border-right: none;
}
.search-wrapper .input-group-text.rounded-start-pill + .form-control {
  border-left: none;
}

/* Lupe rechts: linken Border ausblenden, Suchfeld rechten Border */
.search-wrapper .input-group-text.rounded-end-pill {
  border-left: none;
}
.search-wrapper .form-control.rounded-start-pill {
  border-right: none;
}

/* Hover: Border passend zum globalen Hover */
.search-wrapper:hover .form-control {
  border-color: #dee2e6;
}

.search-wrapper:hover .input-group-text {
  background-color: #dee2e6 !important;
  border-color: #dee2e6;
}

.search-wrapper:hover .input-group-text svg {
  fill: #000;
}

/* Focus: Lupe wird orange mit weißem Icon (überschreibt Hover) */
.search-wrapper:has(.form-control:focus) .form-control {
  border-color: var(--bs-secondary);
}

.search-wrapper:has(.form-control:focus) .input-group-text {
  background-color: var(--bs-secondary) !important;
  border-color: var(--bs-secondary);
  color: #fff;
}

.search-wrapper:has(.form-control:focus) .input-group-text svg {
  fill: #fff;
}

/* =========================================================
   PREISLISTE TABELLEN
   ========================================================= */
.table-striped > :not(caption) > * > * {
  padding: 0.3rem calc(var(--bs-gutter-x)*.5);
}

/* =========================================================
   ALERT-INFO STYLING (passend zu Brand-Farben)
   ========================================================= */
.alert-info {
  --bs-alert-bg: rgba(245, 156, 0, 0.15);
  --bs-alert-border-color: rgba(245, 156, 0, 0.4);
  --bs-alert-color: var(--bs-body-color);
}

/* =========================================================
   INFO-BOX (schöneres Design für Hinweise)
   ========================================================= */
.info-box {
  background-color: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-left: 6px solid var(--bs-secondary);
  border-radius: 0 0.5rem 0.5rem 0;
  padding: 1.25rem 1.5rem;
}

.info-box .info-box-icon {
  font-size: 2.5rem;
  color: var(--bs-secondary);
  flex-shrink: 0;
  line-height: 1;
}

.info-box .info-box-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  color: #000;
}

.info-box p:last-child {
  margin-bottom: 0;
}

/* Info-Box Variante: Wichtig (roter Hintergrund) */
.info-box-important {
  background-color: rgba(220, 53, 69, 0.08);
  border-left-color: #dc3545;
}

.info-box-important .info-box-icon {
  color: #dc3545;
}

/* Info-Box Variante: Warning (gelb/orange) */
.info-box-warning {
  background-color: rgba(255, 193, 7, 0.1);
  border-left-color: #ffc107;
}

.info-box-warning .info-box-icon {
  color: #cc9a06;
}

/* Info-Box Variante: Danger (rot) */
.info-box-danger {
  background-color: rgba(220, 53, 69, 0.08);
  border-left-color: #dc3545;
}

.info-box-danger .info-box-icon {
  color: #dc3545;
}

/* =========================================================
   LISTEN MIT FARBIGEN AUFZAEHLUNGSPUNKTEN
   ========================================================= */
main ul:not(.navbar-nav):not(.dropdown-menu):not(.list-group):not(.list-unstyled):not(.pagination) {
  list-style: none;
  padding-left: 1.5em;
}

main ul:not(.navbar-nav):not(.dropdown-menu):not(.list-group):not(.list-unstyled):not(.pagination) > li {
  position: relative;
}

main ul:not(.navbar-nav):not(.dropdown-menu):not(.list-group):not(.list-unstyled):not(.pagination) > li::before {
  content: "\2022";
  color: var(--bs-primary);
  font-weight: bold;
  font-size: 1.5em;
  line-height: 1;
  position: absolute;
  left: -0.75em;
  top: 0;
}

/* =========================================================
   COOKIE BANNER (DSGVO)
   ========================================================= */
.cookie-banner {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  color: var(--bs-body-color);
  padding: 1.25rem 0;
  z-index: 9999;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  border-top: 5px solid var(--bs-primary);
}

.cookie-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.cookie-text {
  flex: 1;
  min-width: 280px;
}

.cookie-text p {
  color: var(--bs-body-color);
  font-size: 0.9rem;
  line-height: 1.5;
}

.cookie-text strong {
  color: var(--bs-primary);
}

.cookie-text a {
  color: var(--bs-primary);
  text-decoration: underline;
}

.cookie-text a:hover {
  color: var(--bs-primary-hover);
}

.cookie-actions {
  display: flex;
  gap: 0.75rem;
  flex-shrink: 0;
}

.cookie-actions .btn {
  white-space: nowrap;
  padding: 0.5rem 1.5rem;
}

@media (max-width: 576px) {
  .cookie-content {
    flex-direction: column;
    text-align: center;
  }

  .cookie-actions {
    width: 100%;
    justify-content: center;
  }

  .cookie-actions .btn {
    flex: 1;
    max-width: 200px;
  }
}

/* =========================================================
   STELLENANGEBOTE JOB CARDS
   ========================================================= */
.job-card .card-img-top {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.job-card .job-card-header {
  min-height: 80px;
  position: relative;
}

.job-card .job-card-header h4 {
  font-size: 1.1rem;
  line-height: 1.3;
}

.job-badge {
  width: 6rem;
  height: 6rem;
  background-color: var(--bs-secondary);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  right: 1.5rem;
  transform: translateY(-50%) rotate(-15deg);
}

/* =========================================================
   LOCATION CARD (Responsive Text)
   ========================================================= */
@media (max-width: 575.98px) {
  .location-card h4 {
    font-size: 1.1rem;
  }
  .location-card .lead {
    font-size: 0.95rem;
  }
}

/* =========================================================
   CUSTOM BOOTSTRAP ICONS
   ========================================================= */
/* Gemeinsame Eigenschaften für alle Custom Icons */
.bi-erlenmeyer-flask-filled::before,
.bi-aesculap-rod-filled::before,
.bi-beaker-medical-filled::before,
.bi-petri-dish-filled::before,
.bi-blood-sample-filled::before,
.bi-blood-sample2-filled::before,
.bi-drugs-filled::before,
.bi-urin-sample-filled::before,
.bi-sperm-sample-filled::before,
.bi-related-links-filled::before,
.bi-handshake-filled::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -.125em;
  background-color: currentColor;
}
.bi-blood-sample-filled::before,
.bi-blood-sample2-filled::before {
  transform: scale(1.2);
}

/* Individuelle Masken */
.bi-erlenmeyer-flask-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.16 16'%3E%3Cpath d='M12.04,14.17c-1.54-3.62-3.61-9.11-3.61-9.11l-.03-2.31c0-.58.2-1.14.57-1.59l.17-.18.12-.12c.2-.2.2-.51,0-.71C9.16.05,9.03,0,8.9,0H3.28c-.13,0-.26.05-.35.15-.2.2-.19.51,0,.71l.12.12.17.18c.37.45.57,1.01.57,1.59l-.03,2.31S1.67,10.55.13,14.17c-.4.93.12,1.83,1.1,1.83s2.82,0,4.85,0c1.97-.02,3.69,0,4.78,0,.93,0,1.57-.89,1.18-1.83ZM6.69,9.73c0-.28.22-.5.5-.5h2.11l.39,1h-2.5c-.28,0-.5-.22-.5-.5ZM7.47,11.73c0-.28.22-.5.5-.5h2.11l.39,1h-2.5c-.28,0-.5-.22-.5-.5ZM8.75,14.23c-.28,0-.5-.22-.5-.5s.22-.5.5-.5h2.11l.39,1h-2.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.16 16'%3E%3Cpath d='M12.04,14.17c-1.54-3.62-3.61-9.11-3.61-9.11l-.03-2.31c0-.58.2-1.14.57-1.59l.17-.18.12-.12c.2-.2.2-.51,0-.71C9.16.05,9.03,0,8.9,0H3.28c-.13,0-.26.05-.35.15-.2.2-.19.51,0,.71l.12.12.17.18c.37.45.57,1.01.57,1.59l-.03,2.31S1.67,10.55.13,14.17c-.4.93.12,1.83,1.1,1.83s2.82,0,4.85,0c1.97-.02,3.69,0,4.78,0,.93,0,1.57-.89,1.18-1.83ZM6.69,9.73c0-.28.22-.5.5-.5h2.11l.39,1h-2.5c-.28,0-.5-.22-.5-.5ZM7.47,11.73c0-.28.22-.5.5-.5h2.11l.39,1h-2.5c-.28,0-.5-.22-.5-.5ZM8.75,14.23c-.28,0-.5-.22-.5-.5s.22-.5.5-.5h2.11l.39,1h-2.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-aesculap-rod-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.77 16'%3E%3Cpath d='M5.35,7.41c-.25-.7-.78-1.08-1.52-1.17-.18-.02-.22-.09-.21-.25.02-.27.01-.55.02-.83,0-.38,0-.37.39-.32.61.09,1.23.17,1.84.24.46.05.78-.17.87-.54.1-.4-.09-.74-.5-.92-.75-.33-1.55-.49-2.37-.5-.16,0-.2-.04-.19-.2.02-.69.04-1.39.05-2.08,0-.43-.16-.68-.56-.83h-.2c-.36.2-.53.48-.5.92.04.67.03,1.34.05,2,0,.21-.04.3-.26.34-.59.12-1.14.34-1.6.74C.11,4.48-.12,5.07.06,5.78c.18.69.66,1.12,1.3,1.4.33.14.69.22,1.04.28.15.03.19.09.19.23,0,.22-.01.44.01.65.03.25-.05.37-.29.44-1.13.33-1.14,2-.43,2.49.21.15.41.32.62.47.12.08.16.17.16.31,0,.4,0,.8.02,1.2,0,.17-.06.24-.2.29-.36.13-.73.16-1.1.25-.2.05-.42.06-.61.22.14.08.28.08.41.09.46.02.91-.02,1.35-.12.16-.04.18.01.18.15,0,.48.02.97.02,1.45,0,.2.07.33.24.42h.15c.2-.06.28-.18.28-.4,0-.58.03-1.15.03-1.73,0-.14.04-.22.16-.31.34-.25.54-.59.5-1.03-.03-.38-.23-.69-.47-.97-.1-.11-.13-.22-.13-.36.02-.42.03-.83.04-1.25,0-.44,0-.44.45-.47,1.11-.08,1.75-1.03,1.37-2.08ZM2.56,5.27s0,.1,0,.15h0c0,.12-.02.25,0,.37.04.27-.08.26-.28.19-.16-.06-.32-.1-.45-.21-.3-.23-.3-.56,0-.8.01-.01.03-.02.04-.03.19-.12.42-.24.61-.16.15.06.04.31.07.48ZM2.62,10.79c-.12-.15-.22-.32-.21-.52,0-.16.1-.35.21-.5v1.02ZM3.57,8.38v-.62c.22.03.39.04.4.24.01.22-.24.27-.4.38Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.77 16'%3E%3Cpath d='M5.35,7.41c-.25-.7-.78-1.08-1.52-1.17-.18-.02-.22-.09-.21-.25.02-.27.01-.55.02-.83,0-.38,0-.37.39-.32.61.09,1.23.17,1.84.24.46.05.78-.17.87-.54.1-.4-.09-.74-.5-.92-.75-.33-1.55-.49-2.37-.5-.16,0-.2-.04-.19-.2.02-.69.04-1.39.05-2.08,0-.43-.16-.68-.56-.83h-.2c-.36.2-.53.48-.5.92.04.67.03,1.34.05,2,0,.21-.04.3-.26.34-.59.12-1.14.34-1.6.74C.11,4.48-.12,5.07.06,5.78c.18.69.66,1.12,1.3,1.4.33.14.69.22,1.04.28.15.03.19.09.19.23,0,.22-.01.44.01.65.03.25-.05.37-.29.44-1.13.33-1.14,2-.43,2.49.21.15.41.32.62.47.12.08.16.17.16.31,0,.4,0,.8.02,1.2,0,.17-.06.24-.2.29-.36.13-.73.16-1.1.25-.2.05-.42.06-.61.22.14.08.28.08.41.09.46.02.91-.02,1.35-.12.16-.04.18.01.18.15,0,.48.02.97.02,1.45,0,.2.07.33.24.42h.15c.2-.06.28-.18.28-.4,0-.58.03-1.15.03-1.73,0-.14.04-.22.16-.31.34-.25.54-.59.5-1.03-.03-.38-.23-.69-.47-.97-.1-.11-.13-.22-.13-.36.02-.42.03-.83.04-1.25,0-.44,0-.44.45-.47,1.11-.08,1.75-1.03,1.37-2.08ZM2.56,5.27s0,.1,0,.15h0c0,.12-.02.25,0,.37.04.27-.08.26-.28.19-.16-.06-.32-.1-.45-.21-.3-.23-.3-.56,0-.8.01-.01.03-.02.04-.03.19-.12.42-.24.61-.16.15.06.04.31.07.48ZM2.62,10.79c-.12-.15-.22-.32-.21-.52,0-.16.1-.35.21-.5v1.02ZM3.57,8.38v-.62c.22.03.39.04.4.24.01.22-.24.27-.4.38Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-beaker-medical-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.55,10.38v-.86c-.09.13-.17.29-.17.43,0,.17.07.31.17.44Z'/%3E%3Cpath d='M7.44,5.3c-.16-.06-.35.04-.51.14-.01,0-.02.02-.04.02-.26.2-.26.48,0,.67.11.09.25.13.38.18.16.06.27.06.23-.16-.02-.1,0-.21,0-.32h0s0-.09,0-.13c-.02-.14.07-.35-.06-.4Z'/%3E%3Cpath d='M15.58,0h-.08S.5,0,.5,0C.37,0,.24.05.15.15c-.2.2-.19.51,0,.71l.12.12.17.18c.37.45.57,1.01.57,1.58v11.26c0,1.1.9,2,2,2h10c1.1,0,2-.9,2-2V2.74c0-.66.26-1.3.73-1.77l.12-.12.05-.06c.05-.06.08-.14.09-.22.04-.27-.15-.53-.42-.57ZM11.05,5.08c-.08.32-.34.5-.74.46-.52-.05-1.04-.13-1.56-.2-.33-.05-.33-.05-.33.27,0,.23,0,.47-.01.7,0,.14.03.19.18.21.62.08,1.07.4,1.29.99.32.89-.22,1.69-1.16,1.76-.37.03-.37.03-.38.4,0,.35-.01.71-.03,1.06,0,.12.02.21.11.3.21.24.37.5.4.83.03.37-.14.66-.43.87-.1.07-.13.15-.13.26,0,.49-.03.98-.03,1.46,0,.18-.06.29-.23.34h-.13c-.15-.07-.2-.19-.2-.36,0-.41-.01-.82-.02-1.23,0-.11-.01-.16-.15-.13-.38.08-.76.12-1.14.1-.11,0-.22,0-.34-.08.16-.13.35-.14.52-.18.31-.07.63-.1.93-.21.12-.05.18-.11.17-.25-.02-.34-.02-.68-.02-1.02,0-.12-.03-.19-.13-.26-.18-.12-.35-.27-.53-.4-.6-.41-.59-1.83.36-2.11.21-.06.28-.16.25-.37-.02-.18-.02-.37-.01-.55,0-.12-.03-.17-.16-.19-.3-.05-.6-.12-.88-.24-.54-.23-.95-.6-1.1-1.18-.16-.6.04-1.1.5-1.5.39-.34.86-.53,1.36-.63.19-.04.23-.11.22-.29-.02-.57,0-1.13-.04-1.7-.02-.37.12-.61.43-.78h.17c.34.13.48.34.48.7-.01.59-.02,1.17-.04,1.76,0,.13.03.17.16.17.7,0,1.37.15,2.01.43.35.15.51.44.43.78Z'/%3E%3Cpath d='M8.36,8.2v.14c.13-.09.35-.13.34-.32,0-.17-.16-.18-.34-.2v.38Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.55,10.38v-.86c-.09.13-.17.29-.17.43,0,.17.07.31.17.44Z'/%3E%3Cpath d='M7.44,5.3c-.16-.06-.35.04-.51.14-.01,0-.02.02-.04.02-.26.2-.26.48,0,.67.11.09.25.13.38.18.16.06.27.06.23-.16-.02-.1,0-.21,0-.32h0s0-.09,0-.13c-.02-.14.07-.35-.06-.4Z'/%3E%3Cpath d='M15.58,0h-.08S.5,0,.5,0C.37,0,.24.05.15.15c-.2.2-.19.51,0,.71l.12.12.17.18c.37.45.57,1.01.57,1.58v11.26c0,1.1.9,2,2,2h10c1.1,0,2-.9,2-2V2.74c0-.66.26-1.3.73-1.77l.12-.12.05-.06c.05-.06.08-.14.09-.22.04-.27-.15-.53-.42-.57ZM11.05,5.08c-.08.32-.34.5-.74.46-.52-.05-1.04-.13-1.56-.2-.33-.05-.33-.05-.33.27,0,.23,0,.47-.01.7,0,.14.03.19.18.21.62.08,1.07.4,1.29.99.32.89-.22,1.69-1.16,1.76-.37.03-.37.03-.38.4,0,.35-.01.71-.03,1.06,0,.12.02.21.11.3.21.24.37.5.4.83.03.37-.14.66-.43.87-.1.07-.13.15-.13.26,0,.49-.03.98-.03,1.46,0,.18-.06.29-.23.34h-.13c-.15-.07-.2-.19-.2-.36,0-.41-.01-.82-.02-1.23,0-.11-.01-.16-.15-.13-.38.08-.76.12-1.14.1-.11,0-.22,0-.34-.08.16-.13.35-.14.52-.18.31-.07.63-.1.93-.21.12-.05.18-.11.17-.25-.02-.34-.02-.68-.02-1.02,0-.12-.03-.19-.13-.26-.18-.12-.35-.27-.53-.4-.6-.41-.59-1.83.36-2.11.21-.06.28-.16.25-.37-.02-.18-.02-.37-.01-.55,0-.12-.03-.17-.16-.19-.3-.05-.6-.12-.88-.24-.54-.23-.95-.6-1.1-1.18-.16-.6.04-1.1.5-1.5.39-.34.86-.53,1.36-.63.19-.04.23-.11.22-.29-.02-.57,0-1.13-.04-1.7-.02-.37.12-.61.43-.78h.17c.34.13.48.34.48.7-.01.59-.02,1.17-.04,1.76,0,.13.03.17.16.17.7,0,1.37.15,2.01.43.35.15.51.44.43.78Z'/%3E%3Cpath d='M8.36,8.2v.14c.13-.09.35-.13.34-.32,0-.17-.16-.18-.34-.2v.38Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-petri-dish-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.34,12.25c-.08.15-.02.34.13.43.15.08.34.02.43-.13.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13Z'/%3E%3Cpath d='M7.78,11.41c.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13-.08.15-.02.34.13.43.15.08.34.02.43-.13Z'/%3E%3Cpath d='M6.06,12.64c-.08.15-.02.34.13.43.15.08.34.02.43-.13.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13Z'/%3E%3Ccircle cx='9.61' cy='5.14' r='.41'/%3E%3Cpath d='M6.09,11.23c-.08.15-.02.34.13.43.15.08.34.02.43-.13.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13Z'/%3E%3Ccircle cx='11.67' cy='5.55' r='.41'/%3E%3Cpath d='M8,0C3.58,0,0,3.58,0,8s3.58,8,8,8,8-3.58,8-8S12.42,0,8,0ZM4.44,2.71l.13-.03c.41-.09.81.18.89.58l.54,2.59c.09.41-.18.81-.58.89l-.13.03c-.41.09-.81-.18-.89-.58l-.54-2.59c-.09-.41.18-.81.58-.89ZM2.21,9.37c-.42.03-.78-.28-.8-.7v-.13c-.04-.42.27-.78.69-.8l2.63-.19c.42-.03.78.28.8.7v.13c.04.42-.27.78-.69.8l-2.63.19ZM8.98,11.6l-.34.11c-.17.05-.27.21-.29.39-.02.17.05.36.21.44l.32.17c.15.08.21.27.13.43-.08.15-.27.21-.43.13l-.32-.17c-.16-.08-.35-.04-.48.07-.14.11-.21.29-.16.46l.11.34c.05.16-.04.33-.21.39-.17.05-.34-.04-.4-.2l-.11-.34c-.05-.17-.21-.27-.39-.29-.17-.02-.36.05-.44.21l-.17.32c-.08.15-.27.21-.43.13-.15-.08-.21-.27-.13-.43l.17-.32c.08-.16.04-.35-.07-.48-.11-.14-.29-.21-.46-.16l-.34.11c-.16.05-.33-.04-.39-.21-.05-.17.04-.34.2-.4l.34-.11c.17-.05.27-.21.29-.39.02-.17-.05-.36-.21-.44l-.32-.17c-.15-.08-.21-.27-.13-.43.08-.15.27-.21.43-.13l.32.17c.15.08.35.04.48-.07.14-.11.21-.29.16-.46l-.11-.34s0,0,0-.01c-.05-.17.05-.34.22-.39.17-.05.34.05.39.22l.11.34c.05.17.21.27.39.29.17.02.36-.05.44-.21l.17-.32c.08-.15.27-.21.43-.13h0c.15.08.21.27.13.43l-.17.32c-.08.16-.04.35.07.48.11.14.29.21.46.16l.34-.11c.16-.05.33.04.39.21.05.17-.04.34-.2.4ZM10.85,8.44c0,.23-.18.41-.41.41s-.41-.18-.41-.41v-.47c0-.23-.17-.42-.38-.51-.21-.09-.46-.07-.62.09l-.33.33c-.16.15-.41.15-.57,0-.16-.16-.17-.42-.01-.58l.33-.33c.16-.16.18-.41.1-.62-.09-.21-.28-.38-.51-.38h-.47c-.23,0-.41-.18-.41-.41s.18-.41.41-.41h.47c.23,0,.42-.17.51-.38.09-.21.07-.46-.09-.62l-.33-.33s0,0-.01-.01c-.16-.16-.15-.42.01-.58.16-.16.42-.15.58.01l.33.33c.16.16.41.18.62.1.21-.09.38-.28.38-.51v-.47c0-.23.18-.41.41-.41h0c.23,0,.41.18.41.41v.47c0,.23.17.42.38.51.21.09.46.07.62-.09l.33-.33c.16-.15.41-.15.57,0,.16.16.17.42.01.58l-.33.33c-.16.16-.18.41-.1.62.09.21.28.38.51.38h.47c.23,0,.41.18.41.41s-.18.41-.41.41h-.47c-.23,0-.42.17-.51.38-.09.21-.07.46.09.62l.33.33c.15.16.15.41,0,.57-.16.16-.42.17-.58.01l-.33-.33c-.16-.16-.41-.18-.62-.1-.21.09-.38.28-.38.51v.47ZM12.29,12.33c-.26.32-.74.37-1.06.11l-.1-.09c-.32-.26-.37-.74-.11-1.06l1.67-2.05c.26-.32.74-.37,1.06-.11l.1.09c.32.26.37.74.11,1.06l-1.67,2.05Z'/%3E%3Ccircle cx='10.44' cy='6.79' r='.41'/%3E%3Ccircle cx='10.85' cy='4.32' r='.41'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.34,12.25c-.08.15-.02.34.13.43.15.08.34.02.43-.13.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13Z'/%3E%3Cpath d='M7.78,11.41c.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13-.08.15-.02.34.13.43.15.08.34.02.43-.13Z'/%3E%3Cpath d='M6.06,12.64c-.08.15-.02.34.13.43.15.08.34.02.43-.13.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13Z'/%3E%3Ccircle cx='9.61' cy='5.14' r='.41'/%3E%3Cpath d='M6.09,11.23c-.08.15-.02.34.13.43.15.08.34.02.43-.13.08-.15.02-.34-.13-.43-.15-.08-.34-.02-.43.13Z'/%3E%3Ccircle cx='11.67' cy='5.55' r='.41'/%3E%3Cpath d='M8,0C3.58,0,0,3.58,0,8s3.58,8,8,8,8-3.58,8-8S12.42,0,8,0ZM4.44,2.71l.13-.03c.41-.09.81.18.89.58l.54,2.59c.09.41-.18.81-.58.89l-.13.03c-.41.09-.81-.18-.89-.58l-.54-2.59c-.09-.41.18-.81.58-.89ZM2.21,9.37c-.42.03-.78-.28-.8-.7v-.13c-.04-.42.27-.78.69-.8l2.63-.19c.42-.03.78.28.8.7v.13c.04.42-.27.78-.69.8l-2.63.19ZM8.98,11.6l-.34.11c-.17.05-.27.21-.29.39-.02.17.05.36.21.44l.32.17c.15.08.21.27.13.43-.08.15-.27.21-.43.13l-.32-.17c-.16-.08-.35-.04-.48.07-.14.11-.21.29-.16.46l.11.34c.05.16-.04.33-.21.39-.17.05-.34-.04-.4-.2l-.11-.34c-.05-.17-.21-.27-.39-.29-.17-.02-.36.05-.44.21l-.17.32c-.08.15-.27.21-.43.13-.15-.08-.21-.27-.13-.43l.17-.32c.08-.16.04-.35-.07-.48-.11-.14-.29-.21-.46-.16l-.34.11c-.16.05-.33-.04-.39-.21-.05-.17.04-.34.2-.4l.34-.11c.17-.05.27-.21.29-.39.02-.17-.05-.36-.21-.44l-.32-.17c-.15-.08-.21-.27-.13-.43.08-.15.27-.21.43-.13l.32.17c.15.08.35.04.48-.07.14-.11.21-.29.16-.46l-.11-.34s0,0,0-.01c-.05-.17.05-.34.22-.39.17-.05.34.05.39.22l.11.34c.05.17.21.27.39.29.17.02.36-.05.44-.21l.17-.32c.08-.15.27-.21.43-.13h0c.15.08.21.27.13.43l-.17.32c-.08.16-.04.35.07.48.11.14.29.21.46.16l.34-.11c.16-.05.33.04.39.21.05.17-.04.34-.2.4ZM10.85,8.44c0,.23-.18.41-.41.41s-.41-.18-.41-.41v-.47c0-.23-.17-.42-.38-.51-.21-.09-.46-.07-.62.09l-.33.33c-.16.15-.41.15-.57,0-.16-.16-.17-.42-.01-.58l.33-.33c.16-.16.18-.41.1-.62-.09-.21-.28-.38-.51-.38h-.47c-.23,0-.41-.18-.41-.41s.18-.41.41-.41h.47c.23,0,.42-.17.51-.38.09-.21.07-.46-.09-.62l-.33-.33s0,0-.01-.01c-.16-.16-.15-.42.01-.58.16-.16.42-.15.58.01l.33.33c.16.16.41.18.62.1.21-.09.38-.28.38-.51v-.47c0-.23.18-.41.41-.41h0c.23,0,.41.18.41.41v.47c0,.23.17.42.38.51.21.09.46.07.62-.09l.33-.33c.16-.15.41-.15.57,0,.16.16.17.42.01.58l-.33.33c-.16.16-.18.41-.1.62.09.21.28.38.51.38h.47c.23,0,.41.18.41.41s-.18.41-.41.41h-.47c-.23,0-.42.17-.51.38-.09.21-.07.46.09.62l.33.33c.15.16.15.41,0,.57-.16.16-.42.17-.58.01l-.33-.33c-.16-.16-.41-.18-.62-.1-.21.09-.38.28-.38.51v.47ZM12.29,12.33c-.26.32-.74.37-1.06.11l-.1-.09c-.32-.26-.37-.74-.11-1.06l1.67-2.05c.26-.32.74-.37,1.06-.11l.1.09c.32.26.37.74.11,1.06l-1.67,2.05Z'/%3E%3Ccircle cx='10.44' cy='6.79' r='.41'/%3E%3Ccircle cx='10.85' cy='4.32' r='.41'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-blood-sample-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.05 15.96'%3E%3Cpath d='M13.44,6.63l-3.96-4.01L12.33.29c.34-.33.81-.39,1.07-.13l2.49,2.52c.25.26.19.74-.15,1.07l-2.31,2.88Z'/%3E%3Cpath d='M9.53,3.4L.8,11.98c-.96.95-1.07,2.38-.25,3.21l.21.21c.82.83,2.26.73,3.21-.21L12.68,6.63l-3.15-3.23ZM8.82,8.84l-3.05-.27c-.56-.05-.37-.35.06-.71l3.73-3.59,2.25,2.31-2.18,2.14c-.12.11-.52.15-.8.13Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.05 15.96'%3E%3Cpath d='M13.44,6.63l-3.96-4.01L12.33.29c.34-.33.81-.39,1.07-.13l2.49,2.52c.25.26.19.74-.15,1.07l-2.31,2.88Z'/%3E%3Cpath d='M9.53,3.4L.8,11.98c-.96.95-1.07,2.38-.25,3.21l.21.21c.82.83,2.26.73,3.21-.21L12.68,6.63l-3.15-3.23ZM8.82,8.84l-3.05-.27c-.56-.05-.37-.35.06-.71l3.73-3.59,2.25,2.31-2.18,2.14c-.12.11-.52.15-.8.13Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-blood-sample2-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.98 15.99'%3E%3Cpath d='M8.84,5.21l-4.27-2.08L6.21.45c.18-.36.54-.55.82-.41l2.68,1.31c.27.13.35.54.18.9l-1.04,2.96Z'/%3E%3Cpath d='M4.71,3.95L.24,13.09c-.5,1.03-.19,2.21.69,2.64l.22.11c.88.43,2-.05,2.51-1.08l4.46-9.12-3.41-1.69ZM5.65,8.2h-1.86c-.47.04-.39-.16-.15-.58l1.39-2.78,2.18,1.08-.96,1.94c-.07.12-.24.29-.61.33Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.98 15.99'%3E%3Cpath d='M8.84,5.21l-4.27-2.08L6.21.45c.18-.36.54-.55.82-.41l2.68,1.31c.27.13.35.54.18.9l-1.04,2.96Z'/%3E%3Cpath d='M4.71,3.95L.24,13.09c-.5,1.03-.19,2.21.69,2.64l.22.11c.88.43,2-.05,2.51-1.08l4.46-9.12-3.41-1.69ZM5.65,8.2h-1.86c-.47.04-.39-.16-.15-.58l1.39-2.78,2.18,1.08-.96,1.94c-.07.12-.24.29-.61.33Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-drugs-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.18 14.99'%3E%3Cpath d='M6.7,10.54c-.09-.67-.04-1.33.13-1.95l-3.43-2.79-2.5,3.08c-1.25,1.54-1.21,3.84.25,5.17,1.57,1.41,3.97,1.21,5.29-.41l.95-1.17c-.35-.58-.59-1.23-.68-1.94Z'/%3E%3Cg%3E%3Cpath d='M10.28,6.01c-1.98.71-3.18,2.79-2.71,4.9s2.44,3.47,4.54,3.27l-1.83-8.17Z'/%3E%3Cpath d='M11.31,5.78l1.83,8.17c1.98-.71,3.18-2.79,2.71-4.9s-2.44-3.47-4.54-3.27Z'/%3E%3C/g%3E%3Cpath d='M11.02,4.89c.73-.1,1.44-.02,2.11.18.53-1.44.13-3.11-1.13-4.12C10.44-.3,8.17-.06,6.9,1.48l-2.79,3.44,3.15,2.6c.74-1.38,2.1-2.4,3.76-2.62Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.18 14.99'%3E%3Cpath d='M6.7,10.54c-.09-.67-.04-1.33.13-1.95l-3.43-2.79-2.5,3.08c-1.25,1.54-1.21,3.84.25,5.17,1.57,1.41,3.97,1.21,5.29-.41l.95-1.17c-.35-.58-.59-1.23-.68-1.94Z'/%3E%3Cg%3E%3Cpath d='M10.28,6.01c-1.98.71-3.18,2.79-2.71,4.9s2.44,3.47,4.54,3.27l-1.83-8.17Z'/%3E%3Cpath d='M11.31,5.78l1.83,8.17c1.98-.71,3.18-2.79,2.71-4.9s-2.44-3.47-4.54-3.27Z'/%3E%3C/g%3E%3Cpath d='M11.02,4.89c.73-.1,1.44-.02,2.11.18.53-1.44.13-3.11-1.13-4.12C10.44-.3,8.17-.06,6.9,1.48l-2.79,3.44,3.15,2.6c.74-1.38,2.1-2.4,3.76-2.62Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-urin-sample-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15.76 16'%3E%3Cpath d='M12.01,4.47l-.44,8.36c0,1.23-.53,2.24-1.17,2.24h-5.76c-.65,0-1.17-1-1.17-2.24l-.44-8.35h-1.21s.57,9.11.57,9.11c0,1.34.67,2.42,1.5,2.42h7.36c.83,0,1.5-1.08,1.5-2.42l.57-9.11h-1.29Z'/%3E%3Cpath d='M4.29,12.67c0,.89.42,1.62.95,1.62h4.64c.52,0,.95-.72.95-1.62l.36-6.09h-2.2c-.06.01-.12.01-.18-.01H3.93s.36,6.1.36,6.1Z'/%3E%3Cpath d='M13.32,0h-.38v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.29c-.54,0-.97.44-.97.97v1.47c0,.54.44.97.97.97h11.52c.54,0,.97-.44.97-.97V.97c0-.54-.44-.97-.97-.97Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15.76 16'%3E%3Cpath d='M12.01,4.47l-.44,8.36c0,1.23-.53,2.24-1.17,2.24h-5.76c-.65,0-1.17-1-1.17-2.24l-.44-8.35h-1.21s.57,9.11.57,9.11c0,1.34.67,2.42,1.5,2.42h7.36c.83,0,1.5-1.08,1.5-2.42l.57-9.11h-1.29Z'/%3E%3Cpath d='M4.29,12.67c0,.89.42,1.62.95,1.62h4.64c.52,0,.95-.72.95-1.62l.36-6.09h-2.2c-.06.01-.12.01-.18-.01H3.93s.36,6.1.36,6.1Z'/%3E%3Cpath d='M13.32,0h-.38v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.97v.65c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-.65h-.29c-.54,0-.97.44-.97.97v1.47c0,.54.44.97.97.97h11.52c.54,0,.97-.44.97-.97V.97c0-.54-.44-.97-.97-.97Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-sperm-sample-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8,0C3.58,0,0,3.58,0,8c0,2.26.94,4.29,2.44,5.74.06-.19.13-.42.21-.72.39-1.41,1.57-1.54,2.67-2,.53-.22.91-.64,1.07-1.19l.34-1.11c.37-1.2.42-.59.17-1.18-.46-1.09-.18-2.34.72-3.12.78-.68,1.73-1.12,2.75-1.29.87-.15,1.82.05,2.15.95.45,1.21-.16,2.95-.89,3.97-.74,1.04-2.04,1.42-3.24.97-.23-.09-.29.09-.4.28-.35.59-.25.59-.69,1.31-1.29,2.1-3.55.9-4.16,2.62-.1.28-.28.65-.44.9h0s-.26.44-.66.81c-.55.5-1.84.74-1.84.74-.05.09,1.31-.07,2-.48.4-.24.92-.76.98-.81,1.34,1.01,3,1.62,4.81,1.62,4.42,0,8-3.58,8-8S12.42,0,8,0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8,0C3.58,0,0,3.58,0,8c0,2.26.94,4.29,2.44,5.74.06-.19.13-.42.21-.72.39-1.41,1.57-1.54,2.67-2,.53-.22.91-.64,1.07-1.19l.34-1.11c.37-1.2.42-.59.17-1.18-.46-1.09-.18-2.34.72-3.12.78-.68,1.73-1.12,2.75-1.29.87-.15,1.82.05,2.15.95.45,1.21-.16,2.95-.89,3.97-.74,1.04-2.04,1.42-3.24.97-.23-.09-.29.09-.4.28-.35.59-.25.59-.69,1.31-1.29,2.1-3.55.9-4.16,2.62-.1.28-.28.65-.44.9h0s-.26.44-.66.81c-.55.5-1.84.74-1.84.74-.05.09,1.31-.07,2-.48.4-.24.92-.76.98-.81,1.34,1.01,3,1.62,4.81,1.62,4.42,0,8-3.58,8-8S12.42,0,8,0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-handshake-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 179.96 130.68'%3E%3Cpath d='M102.85,89.23l28.8,17.66c2.02,1.24-.15,7.18-2.17,8.27-4.41,2.38-10.27,1.49-14.66-.63l-19.71-9.55c-1.23-.6-2.69.25-3.19,1.04s-.44,2.59,1.05,3.32l22.42,10.96c-7.03,13.22-21.08,6.08-34.67,3.5,3.98-5.3,5.15-10.06,2.69-15.99-1.9-4.57-7.44-6.99-12.48-8.25-.53-8.25-5.27-15.59-14.39-16.25.34-5.11-.93-9.22-3.93-12.15s-7.55-4.93-12.23-3.97c-4.11.84-6.1,4.27-8.91,7.32-2.45-4.76-5.66-7.87-9.48-8.83-4.78-1.2-8.82-.12-12.68,3.34-3.32-4.08-6.54-7.38-9.31-11.76L29.81,4.24c7.14,5.1,15.11,6.48,24.09,7.61l-10.98,16.88c-1.81,2.78-2.83,5.92-3.15,9.29-.46,4.86,2.75,7.88,7.47,8.06,10.57.4,19.5-4.6,26.32-12.92,2.51-3.06,8.58-9.52,13.52-7.53,25.89,10.4,52.3,31.22,74.24,48.44,3.49,2.74,4.24,7.1,2.53,10.4-1.85,3.58-7.02,6.25-11.12,3.85l-36.52-21.45c-1.07-.63-3.01.22-3.47.82s-.15,2.32.95,3l33.82,21.07c1.84,2.2.1,7.14-1.53,8.69-1.91,1.81-6.68,4.19-9.76,2.48l-30.61-17.06c-.95-.53-1.84-.12-2.36-.08-.7.05-1.89,2.56-.41,3.47Z'/%3E%3Cpath d='M161.64,67.8c-23.1-17.92-46.09-35.5-72.95-47.11-7.33-3.17-15.61,5.11-19.56,9.95-5.79,7.1-14.25,11.94-23.04,9.4-2.41-1.2-.1-6.91,1.23-8.75,6.3-8.76,11.14-17.81,18.35-25.73,2.59-2.85,7.81-2.74,11.43-3.42,18.26-3.45,36.14-2.75,53.84,2.33,6.47,1.86,12.77,1.44,19.37-.75l29.65,52.64c-4.2,4.59-9.07,7.71-13.58,11.77-1.37,1.24-2.9,1.1-4.73-.32Z'/%3E%3Cpath d='M33.71,106.94c-2.67,2.93-7.44.82-9.44-1.25s-4.08-6.43-1.84-9.67c5.4-7.79,10.57-15.7,16.95-22.67,2.62-2.87,7.34-1.07,9.57,1.27,2.11,2.21,4.04,6.42,1.62,9.8-5.42,7.57-10.34,15.36-16.86,22.51Z'/%3E%3Cpath d='M64.37,101.3c-8.05,10.57-13.76,24.51-22.39,16.69-1.9-1.72-4.68-5.72-2.63-8.98,4.27-6.79,8.77-13.61,14.37-19.29,2.61-2.65,7.33-.23,9.17,1.63,2.14,2.17,3.76,6.96,1.48,9.96Z'/%3E%3Cpath d='M69.78,129.14c-2.87,2.8-6.78,1.24-8.84-.4-2.48-1.97-4.76-5.88-2.95-9.22,2.61-4.83,5.9-9.83,10.11-13.42,2.72-2.32,6.95-.51,8.99,1.53,2.15,2.17,3.99,6.21,1.9,9.44-2.66,4.11-5.44,8.39-9.21,12.06Z'/%3E%3Cpath d='M19.34,90.65c-3.73,2.87-8.39-.05-10.27-2.74-5.13-7.36,4.99-16.42,6.58-17.2,3.41-1.68,6.78-.16,9.04,2.37,5.37,6.03-1.02,14.25-5.35,17.57Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 179.96 130.68'%3E%3Cpath d='M102.85,89.23l28.8,17.66c2.02,1.24-.15,7.18-2.17,8.27-4.41,2.38-10.27,1.49-14.66-.63l-19.71-9.55c-1.23-.6-2.69.25-3.19,1.04s-.44,2.59,1.05,3.32l22.42,10.96c-7.03,13.22-21.08,6.08-34.67,3.5,3.98-5.3,5.15-10.06,2.69-15.99-1.9-4.57-7.44-6.99-12.48-8.25-.53-8.25-5.27-15.59-14.39-16.25.34-5.11-.93-9.22-3.93-12.15s-7.55-4.93-12.23-3.97c-4.11.84-6.1,4.27-8.91,7.32-2.45-4.76-5.66-7.87-9.48-8.83-4.78-1.2-8.82-.12-12.68,3.34-3.32-4.08-6.54-7.38-9.31-11.76L29.81,4.24c7.14,5.1,15.11,6.48,24.09,7.61l-10.98,16.88c-1.81,2.78-2.83,5.92-3.15,9.29-.46,4.86,2.75,7.88,7.47,8.06,10.57.4,19.5-4.6,26.32-12.92,2.51-3.06,8.58-9.52,13.52-7.53,25.89,10.4,52.3,31.22,74.24,48.44,3.49,2.74,4.24,7.1,2.53,10.4-1.85,3.58-7.02,6.25-11.12,3.85l-36.52-21.45c-1.07-.63-3.01.22-3.47.82s-.15,2.32.95,3l33.82,21.07c1.84,2.2.1,7.14-1.53,8.69-1.91,1.81-6.68,4.19-9.76,2.48l-30.61-17.06c-.95-.53-1.84-.12-2.36-.08-.7.05-1.89,2.56-.41,3.47Z'/%3E%3Cpath d='M161.64,67.8c-23.1-17.92-46.09-35.5-72.95-47.11-7.33-3.17-15.61,5.11-19.56,9.95-5.79,7.1-14.25,11.94-23.04,9.4-2.41-1.2-.1-6.91,1.23-8.75,6.3-8.76,11.14-17.81,18.35-25.73,2.59-2.85,7.81-2.74,11.43-3.42,18.26-3.45,36.14-2.75,53.84,2.33,6.47,1.86,12.77,1.44,19.37-.75l29.65,52.64c-4.2,4.59-9.07,7.71-13.58,11.77-1.37,1.24-2.9,1.1-4.73-.32Z'/%3E%3Cpath d='M33.71,106.94c-2.67,2.93-7.44.82-9.44-1.25s-4.08-6.43-1.84-9.67c5.4-7.79,10.57-15.7,16.95-22.67,2.62-2.87,7.34-1.07,9.57,1.27,2.11,2.21,4.04,6.42,1.62,9.8-5.42,7.57-10.34,15.36-16.86,22.51Z'/%3E%3Cpath d='M64.37,101.3c-8.05,10.57-13.76,24.51-22.39,16.69-1.9-1.72-4.68-5.72-2.63-8.98,4.27-6.79,8.77-13.61,14.37-19.29,2.61-2.65,7.33-.23,9.17,1.63,2.14,2.17,3.76,6.96,1.48,9.96Z'/%3E%3Cpath d='M69.78,129.14c-2.87,2.8-6.78,1.24-8.84-.4-2.48-1.97-4.76-5.88-2.95-9.22,2.61-4.83,5.9-9.83,10.11-13.42,2.72-2.32,6.95-.51,8.99,1.53,2.15,2.17,3.99,6.21,1.9,9.44-2.66,4.11-5.44,8.39-9.21,12.06Z'/%3E%3Cpath d='M19.34,90.65c-3.73,2.87-8.39-.05-10.27-2.74-5.13-7.36,4.99-16.42,6.58-17.2,3.41-1.68,6.78-.16,9.04,2.37,5.37,6.03-1.02,14.25-5.35,17.57Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bi-related-links-filled::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.21 16'%3E%3Cpath d='M8,0C3.58,0,0,3.58,0,8s3.58,8,8,8,8-3.58,8-8S12.42,0,8,0ZM8.36,10.82c-.02.09-.06.18-.13.25l-.96.96c-.06.06-.13.11-.2.16-.46.32-1,.47-1.55.43-1.14-.1-2.04-1-2.14-2.14-.05-.56.11-1.11.44-1.57.05-.06.09-.13.15-.19l1.87-1.86c.44-.44,1.09-.62,1.7-.58.56.03,1.06.27,1.46.64.15.14.23.32.21.52-.04.28-.25.5-.54.52-.15.01-.31-.04-.42-.14-.26-.25-.6-.41-.98-.36-.22.03-.47.1-.64.27l-1.79,1.79c-.18.18-.26.45-.28.7-.03.46.21.88.61,1.1.41.23,1,.17,1.32-.14l.94-.92c.21-.21.63-.18.84.09.11.14.15.31.11.49ZM12.18,7.09c-.05.06-.09.13-.15.19l-1.87,1.86c-.44.44-1.09.62-1.7.58-.56-.03-1.06-.27-1.46-.64-.15-.14-.23-.32-.21-.52.04-.28.25-.5.54-.52.15-.01.31.04.42.14.26.25.6.41.98.36.22-.03.47-.1.64-.27l1.79-1.79c.18-.18.26-.45.28-.7.03-.46-.21-.88-.61-1.1-.41-.23-1-.17-1.32.14l-.94.92c-.21.21-.64.18-.84-.09-.1-.14-.15-.3-.11-.48.02-.1.05-.19.13-.26l.96-.96c.06-.06.12-.1.19-.15.46-.33,1.01-.48,1.57-.43,1.14.1,2.04,1,2.14,2.14.05.56-.11,1.11-.44,1.57Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.21 16'%3E%3Cpath d='M8,0C3.58,0,0,3.58,0,8s3.58,8,8,8,8-3.58,8-8S12.42,0,8,0ZM8.36,10.82c-.02.09-.06.18-.13.25l-.96.96c-.06.06-.13.11-.2.16-.46.32-1,.47-1.55.43-1.14-.1-2.04-1-2.14-2.14-.05-.56.11-1.11.44-1.57.05-.06.09-.13.15-.19l1.87-1.86c.44-.44,1.09-.62,1.7-.58.56.03,1.06.27,1.46.64.15.14.23.32.21.52-.04.28-.25.5-.54.52-.15.01-.31-.04-.42-.14-.26-.25-.6-.41-.98-.36-.22.03-.47.1-.64.27l-1.79,1.79c-.18.18-.26.45-.28.7-.03.46.21.88.61,1.1.41.23,1,.17,1.32-.14l.94-.92c.21-.21.63-.18.84.09.11.14.15.31.11.49ZM12.18,7.09c-.05.06-.09.13-.15.19l-1.87,1.86c-.44.44-1.09.62-1.7.58-.56-.03-1.06-.27-1.46-.64-.15-.14-.23-.32-.21-.52.04-.28.25-.5.54-.52.15-.01.31.04.42.14.26.25.6.41.98.36.22-.03.47-.1.64-.27l1.79-1.79c.18-.18.26-.45.28-.7.03-.46-.21-.88-.61-1.1-.41-.23-1-.17-1.32.14l-.94.92c-.21.21-.64.18-.84-.09-.1-.14-.15-.3-.11-.48.02-.1.05-.19.13-.26l.96-.96c.06-.06.12-.1.19-.15.46-.33,1.01-.48,1.57-.43,1.14.1,2.04,1,2.14,2.14.05.56-.11,1.11-.44,1.57Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

