a {
  color: var(--color-green);
  text-decoration: none;
}

a:hover {
  color: var(--primary-blue);
}


@media (max-width: 767.98px) {
    .delay-1,
    .delay-2,
    .delay-3,
    .delay-4,
    .delay-5 {
        transition-delay: 0s !important;
    }
}

.nav.d-flex.d-lg-none.align-items-center.list-unstyled.mb-0 {
  padding-right: 11px!important;
}



html, body {
    overflow-x: hidden;
    max-width: 100%;
}


@media (min-width: 768px) and (max-width: 1199.98px) {

    #anspruch .bild {
        padding-right: 20px;
        padding-top: 20px;
    }

    #anspruch .text-rechteck {
        left: 4px;
        bottom: -20px;
        max-width: 200px;
        font-size: 0.95rem;
        padding: 10px 14px !important;
    }
}

/* Schmalere Tablet-Hälfte: kleineres Quadrat, damit nichts übersteht */
@media (min-width: 768px) and (max-width: 928.98px) {

    #anspruch .quadrat-img {
        width: 100%;
        max-width: 300px;
        height: 300px;
        object-fit: cover;
    }

    #anspruch .quadrat {
        width: 100%;
        max-width: 300px;
        height: 306px;
        right: auto;
        left: 16px;
        top: 1px;
    }
}

/* Breitere Tablet-Hälfte / kleiner Laptop: mehr Platz vorhanden */
@media (min-width: 929px) and (max-width: 1199.98px) {

    #anspruch .quadrat-img {
        width: 100%;
        max-width: 380px;
        height: 380px;
        object-fit: cover;
    }

    #anspruch .quadrat {
        width: 100%;
        max-width: 380px;
        height: 386px;
        right: auto;
        left: 24px;
        top: 1px;
    }
}


/* ------------------------------------------------------------
   2. UNSER WEG (Geschichte) - Bildblöcke
   ------------------------------------------------------------ */
@media (min-width: 992px) and (max-width: 1199.98px) {

    #unserweg .quadrat-img {
        width: 380px;
        height: 380px;
    }

    #unserweg .bild .d-inline-block {
        width: 380px;
        height: 380px;
    }
}


/* ------------------------------------------------------------
   3. HANS SACHS SEKTION (Vorteil-Boxen mit Kreuz-Linien)
   ------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 991.98px) {

    #hanssachs .col-md-6:last-child .vorteil-box {
        border-right: none !important;
        border-bottom: solid 2px #9DBC35 !important;
    }

    #hanssachs .col-md-6:last-child .vorteil-box:last-child {
        border-bottom: none !important;
    }
}

#hanssachs .vorteil-box p,
#hanssachs .vorteil-box h4 {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

#hanssachs .row {
    overflow-x: hidden;
}

@media (min-width: 768px) and (max-width: 1199.98px) {

    #hanssachs .col-md-6.vorteil-box,
    #hanssachs .col-12.col-md-6.vorteil-box {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    #hanssachs .col-md-6:first-child .vorteil-box,
    #hanssachs .col-md-6:last-child .vorteil-box {
        border-right: none !important;
        border-bottom: solid 2px #9DBC35 !important;
    }

    #hanssachs .col-md-6:last-child .vorteil-box:last-child {
        border-bottom: none !important;
    }
}


/* ------------------------------------------------------------
   4. REFERENZEN-KARUSSELL (Owl Carousel)
   ------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 1199.98px) {

    .owl-stage {
        margin: 0 !important;
        padding: 40px 20px !important;
    }

    #referenzen-carousel .card {
        height: 100%;
    }
}


/* ------------------------------------------------------------
   5. KONTAKT-SEKTION (weiße Box + grünes Quadrat)
   ------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 1199.98px) {

    #kontakt .kontakt-box-wrapper {
        max-width: 100%;
        width: 100%;
    }

    #kontakt .quadrat-text,
    #kontakt .custom-contact-box {
        width: 100%;
        max-width: 480px;
        height: auto;
        min-height: 440px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {

    #kontakt .bild {
        justify-content: flex-start !important;
        padding-right: 20px;
    }
}


/* ------------------------------------------------------------
   6. UNTERSEITEN: LÖSUNG-BLOCK (Einlagen etc.)
   ------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 1199.98px) {

    .loesung-bild {
        width: 100%;
        max-width: 380px;
        height: 320px;
        left: 0;
    }

    .loesung-bild-akzent {
        display: none;
    }
}


/* ------------------------------------------------------------
   7. UNTERSEITEN: ABLAUF-KARTEN
   ------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 1199.98px) {

    .ablauf-card {
        width: 100%;
        height: auto;
        min-height: 260px;
        padding: 28px 24px;
    }
}


/* ------------------------------------------------------------
   8. NAVBAR-LOGO / MEGA-MENU (kleiner Laptop 992-1199px)
   ------------------------------------------------------------ */
@media (min-width: 992px) and (max-width: 1199.98px) {

    .custom-navbar .logo-nav {
        height: 42px !important;
        width: auto;
    }

    .desktop-nav .nav-item {
        padding-left: 3px !important;
        padding-right: 3px !important;
    }

    .desktop-nav .nav-link {
        font-size: 0.85rem !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .custom-navbar .btn-primary-blue,
    .custom-navbar .btn-secondary-green {
        font-size: 0.8rem !important;
        padding: 6px 10px !important;
        white-space: nowrap !important;
    }

    .custom-navbar .fa-universal-access {
        margin-left: 8px !important;
        margin-right: 4px !important;
    }

    .custom-navbar .fa-key {
        margin-right: 4px !important;
    }
}


@media (min-width: 576px) and (max-width: 1199.98px) {

    .keywords-header ul.row {
        flex-wrap: wrap !important;
    }

    .keywords-header ul.row > li.keyword {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        margin-bottom: 24px;
        padding-right: 12px;
    }

    header .keyword-number {
        font-size: 44px !important;
        white-space: nowrap;
    }
    
        #leistungen {
    padding-top: 60px;
    padding-bottom: 50px;
    }
    
}

@media (min-width: 992px) and (max-width: 1199.98px) {

    header .keyword-number {
        font-size: 52px !important;
    }
    
}


/* ------------------------------------------------------------
   10. FOOTER-LOGO
   ------------------------------------------------------------ */
footer img {
    width: 100%;
    max-width: 300px;
    height: auto;
}

@media (min-width: 768px) and (max-width: 1199.98px) {

    footer .col-lg-3.col-md-12.col-12 {
        overflow: hidden;
    }

    footer .col-lg-3.col-md-12.col-12 img {
        max-width: 220px;
    }
}


/* ------------------------------------------------------------
   11. HERO-VIDEO (weißer Streifen am rechten Rand)
   ------------------------------------------------------------ */
.hero-section {
    overflow: hidden;
    width: 100%;
}

.hero-section video {
    width: 100% !important;
    min-width: 100% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}



@media (max-width: 1199.98px) {

    .navbar .navbar-brand,
    .navbar .navbar-brand img.logo-nav {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        min-width: 90px;
        width: 120px;
    }

    .navbar ul.d-flex.d-xl-none {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .hs-nav-mobile-trigger {
        display: inline-flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        align-items: center;
        justify-content: center;
    }
}


#leistungen .custom-card-richtext-list li,
#leistungen h3 {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}



@media (min-width: 576px) and (max-width: 991.98px) {

    #leistungen {
        margin-top: 60px !important;
    }
    #unserweg {
        margin-top: 60px;
    }
    #hanssachs {
        margin-top: 60px;
    }
    #referenzen {
        margin-top: 60px;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    #leistungen .col-md-4 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 24px;
    }
}

</style>


<style>

html, body {
    overflow-x: clip !important;
    max-width: 100% !important;
}
</style>

<style>

@media (min-width: 1400px) and (max-width: 1599.98px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px !important;
    }
}

@media (min-width: 1600px) and (max-width: 1999.98px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1500px !important;
    }
}

/* ===== ConsentFriend / Klaro – Hans Sachs Branding ===== */
:root {
  --consentfriend-border-radius: 0px;      /* eckig, wie der Rest der Seite */
  --consentfriend-dark1: #203E58;          /* Haupttext / Blau */
  --consentfriend-dark2: #4C4C4C;          /* Fließtext-Grau */
  --consentfriend-dark3: #718096;
  --consentfriend-white1: #dde1e6;
  --consentfriend-white2: #F5F7F9;         /* Light Grey */
  --consentfriend-white3: #ffffff;
  --consentfriend-blue1: #203E58;
  --consentfriend-green1: #9DBC35;         /* Akzentgrün */
  --consentfriend-red1: #c91010;
}
.klaro.consentfriend,
.klaro.consentfriend * {
  font-family: 'Poppins', sans-serif !important;
}

/* ===== Weißer Hintergrund für Notice & Modal (statt Klaro-Blau) ===== */
.klaro.consentfriend .cookie-notice,
.klaro.consentfriend .cm-modal,
.klaro.consentfriend .cm-body,
.klaro.consentfriend .cm-header,
.klaro.consentfriend .cm-footer,
.klaro.consentfriend .cn-body {
  background-color: #ffffff !important;
  color: var(--color-dark2, #4C4C4C) !important;
}

.klaro.consentfriend .cm-modal .title,
.klaro.consentfriend .cm-list-title {
  font-weight: 600 !important;
  color: var(--color-blue, #203E58) !important;
}

.klaro.consentfriend .cookie-notice p,
.klaro.consentfriend .cm-modal p,
.klaro.consentfriend .cn-body p {
  color: var(--color-dark2, #4C4C4C) !important;
}

/* Trennlinien dezent statt dunkel */
.klaro.consentfriend .cm-list-input + .cm-list-label,
.klaro.consentfriend hr,
.klaro.consentfriend .cm-list-item {
  border-color: var(--color-white1, #dde1e6) !important;
}

/* Buttons eckig, im Site-Stil */
.klaro.consentfriend .cm-btn,
.klaro.consentfriend .cn-buttons button {
  border-radius: 0 !important;
  font-weight: 500;
  padding: 10px 20px;
  font-size: 1rem;
  transition: all .2s ease;
}
.klaro.consentfriend .cm-btn-success,
.klaro.consentfriend .cn-buttons .cm-btn-success {
  background-color: var(--color-green, #9DBC35) !important;
  color: var(--color-blue, #203E58) !important;
  border: none !important;
}
.klaro.consentfriend .cm-btn-success:hover {
  background-color: var(--color-blue, #203E58) !important;
  color: #fff !important;
}
.klaro.consentfriend .cm-btn-danger,
.klaro.consentfriend .cn-buttons .cm-btn-danger {
  background-color: transparent !important;
  color: var(--color-blue, #203E58) !important;
  border: 2px solid var(--color-blue, #203E58) !important;
}
.klaro.consentfriend .cm-btn-danger:hover {
  background-color: var(--color-blue, #203E58) !important;
  color: #fff !important;
}

/* Links (Details anzeigen, Datenschutzerklärung) */
.klaro.consentfriend .cm-link,
.klaro.consentfriend a {
  color: var(--color-green, #9DBC35) !important;
}
.klaro.consentfriend .cm-link:hover,
.klaro.consentfriend a:hover {
  color: var(--color-blue, #203E58) !important;
  text-decoration: underline;
}

/* ===== Notice LINKS statt rechts ===== */
.klaro.consentfriend #klaro-cookie-notice.cookie-notice {
  right: auto !important;
  left: 20px !important;
  bottom: 20px !important;
  max-width: 585px;
  box-shadow: 0 15px 30px rgba(32, 62, 88, 0.15);
  border-top: 3px solid var(--color-green, #9DBC35);
}
@media (max-width: 575.98px) {
  .klaro.consentfriend #klaro-cookie-notice.cookie-notice {
    left: 10px !important;
    right: 10px !important;
    max-width: none;
  }
}

/* ============================================
   1) Calendly-Platzhalter / Context-Notice
   ============================================ */
.klaro.consentfriend.cm-as-context-notice {
  font-family: 'Poppins', sans-serif !important;
}

.klaro.consentfriend.cm-as-context-notice .context-notice {
  background-color: var(--color-white2, #F5F7F9) !important;
  border: 1px solid var(--color-white1, #dde1e6);
  border-top: 3px solid var(--color-green, #9DBC35);
  border-radius: 0;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 4px 14px rgba(32, 62, 88, 0.08);
}

.klaro.consentfriend.cm-as-context-notice .context-notice p:first-child {
  color: var(--color-blue, #203E58) !important;
  background: none !important;   /* entfernt die blaue Text-Markierung */
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 20px;
}

.klaro.consentfriend.cm-as-context-notice .cm-buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 0;
}

.klaro.consentfriend.cm-as-context-notice .cm-btn {
  border-radius: 0;
  padding: 10px 24px;
  font-weight: 500;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  transition: all .2s ease;
}

/* "Ja" – einmalig laden: dezenter, outline-artig */
.klaro.consentfriend.cm-as-context-notice .cm-btn-success {
  background-color: transparent !important;
  color: var(--color-blue, #203E58) !important;
  border: 2px solid var(--color-blue, #203E58) !important;
}
.klaro.consentfriend.cm-as-context-notice .cm-btn-success:hover {
  background-color: var(--color-blue, #203E58) !important;
  color: #fff !important;
}

/* "Immer" – dauerhaft erlauben: prominent grün */
.klaro.consentfriend.cm-as-context-notice .cm-btn-success-var {
  background-color: var(--color-green, #9DBC35) !important;
  color: var(--color-blue, #203E58) !important;
}
.klaro.consentfriend.cm-as-context-notice .cm-btn-success-var:hover {
  background-color: var(--color-blue, #203E58) !important;
  color: #fff !important;
}

/* ============================================
   Toggle-Switches im Consent-Modal – rein :checked-basiert
   ============================================ */

/* Grundform des Switches */
.klaro.consentfriend .cm-switch {
  display: inline-block;
  width: 44px;
  height: 24px;
  position: relative;
}

.klaro.consentfriend .cm-switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: 24px;
  transition: background-color .25s ease;
  background-color: var(--color-white1, #dde1e6) !important;  /* Standard: GRAU */
}

.klaro.consentfriend .cm-switch .slider::before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: #ffffff !important;
  border-radius: 50%;
  transition: transform .25s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

/* ── Checkbox angehakt (egal ob disabled/required oder vom Nutzer aktiviert) → GRÜN ── */
.klaro.consentfriend input.cm-list-input:checked + label .cm-switch .slider {
  background-color: var(--color-green, #9DBC35) !important;
}
.klaro.consentfriend input.cm-list-input:checked + label .cm-switch .slider::before {
  transform: translateX(20px);
}

/* Fallback falls Label nicht direktes Geschwister ist, sondern weiter entfernt im selben Container */
.klaro.consentfriend input.cm-list-input:checked ~ label .cm-switch .slider {
  background-color: var(--color-green, #9DBC35) !important;
}
.klaro.consentfriend input.cm-list-input:checked ~ label .cm-switch .slider::before {
  transform: translateX(20px);
}

/* Nicht angehakt → bleibt GRAU (deckt sich mit dem Default oben, hier zur Deutlichkeit explizit) */
.klaro.consentfriend input.cm-list-input:not(:checked) + label .cm-switch .slider,
.klaro.consentfriend input.cm-list-input:not(:checked) ~ label .cm-switch .slider {
  background-color: var(--color-white1, #dde1e6) !important;
}

/* Disabled/Pflicht-Dienste zusätzlich leicht abgedunkelt, damit "nicht klickbar" erkennbar bleibt */
.klaro.consentfriend input.cm-list-input:disabled + label .cm-switch,
.klaro.consentfriend input.cm-list-input:disabled ~ label .cm-switch {
  cursor: not-allowed;
  opacity: 0.85;
}

/* Modal: Höhe begrenzen + Schrift/Buttons kompakter, nur Mobile */
@media (max-width: 575.98px) {

  .klaro.consentfriend .cm-modal {
    max-height: 85vh !important;
    overflow-y: auto !important;
    z-index: 2147483647 !important;
  }

  .klaro.consentfriend .cm-modal .title {
    font-size: 0.95rem !important;
  }

  .klaro.consentfriend .cm-modal p {
    font-size: 0.78rem !important;
  }

  .klaro.consentfriend .cm-modal .cm-list-title {
    font-size: 0.82rem !important;
  }

  .klaro.consentfriend .cm-modal .cm-required {
    font-size: 0.7rem !important;
  }

  .klaro.consentfriend .cm-modal .cm-btn {
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
  }

}

/* z-index ganz oben ansetzen — auf dem äußersten Consent-Wrapper,
   nicht nur auf dem Modal selbst */
#consentfriend,
.klaro.consentfriend {
  position: relative;
  z-index: 2147483647 !important;
}

.klaro.consentfriend .cm-modal,
.klaro.consentfriend .cm-overlay,
.klaro.consentfriend .cm-backdrop {
  z-index: 2147483647 !important;
}

/* Kleine Cookie-Notice (unten links) – komplett kompakter auf Mobile */
@media (max-width: 575.98px) {

  .klaro.consentfriend #klaro-cookie-notice.cookie-notice {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    max-width: none !important;
    padding: 12px 14px !important;
    border-top-width: 2px !important;
  }

  .klaro.consentfriend #klaro-cookie-notice.cookie-notice p {
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }

  .klaro.consentfriend #klaro-cookie-notice.cookie-notice .cm-btn,
  .klaro.consentfriend #klaro-cookie-notice.cookie-notice .cn-buttons button {
    font-size: 0.78rem !important;
    padding: 6px 12px !important;
  }

  .klaro.consentfriend #klaro-cookie-notice.cookie-notice .cn-buttons {
    gap: 6px !important;
  }

}