p, li {
    font-weight: 300;
    letter-spacing: 0.2px;
}


a, h6 {
    color: var(--bs-primary);
    text-decoration: none;
}

a:hover {
    color: var(--bs-primary);
    text-decoration: none;
    border-bottom: dotted 1px #282b85;
}

.nav-item:last-child {
  border-right: none;
}

.nav-item {
  border-right: 1px solid var(--bs-primary);
  line-height: 5px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-color: var(--bs-primary);
  --bs-nav-link-hover-color: var(--bs-primary);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-primary);
}

.nav-link {
    font-family: "Ysabeau SC";

}

nav a:hover {
    border-bottom: none;
    color: rgba(32, 35, 109, 0.7) !important;

}

.h3, h3 {
  text-transform: uppercase;
  font-size: 1.2rem;
  color: var(--bs-primary);
  font-weight: 300;
}

.h1, h1, .h2, h2 {
  color: var(--bs-primary);
  font-family: 'Renegade-Alts';
  font-size: 3.1rem;
  font-weight: 300;
}

.h4, h4 {
  font-size: 1.2rem;
  font-family: 'Ysabeau';
  font-weight: 300;
  text-transform: uppercase;
  color: var(--bs-primary);
  margin-bottom: 0px;
  padding-bottom: 0px;
  margin-top: 15px;
}

p.spruch {
  font-family: 'Ysabeau';
  font-size: 30px;
  font-variant: small-caps;
  text-shadow: black 1px 1px 2px;
  text-align: left;
}

.textmodul-gross {
    font-family: 'Ysabeau SC', sans-serif;
    font-size: 32px;
    color: var(--bs-secondary);
}

.textmodul-klein {
    font-size: 16px;
    color: var(--bs-secondary);
}

.bild-text-overlay {
    position: relative;
    width: 100%;

    /* Seitenverhältnis der verwendeten Grafiken anpassen */
    aspect-ratio: 1921 / 631;

    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.bild-text-overlay__text {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: 2;

    max-width: 90%;
}

.bild-text-overlay .spruch {
    font-size: clamp(18px, 3vw, 42px);
    line-height: 1.15;
}

.spruchborder {
  border-top: 1px solid #c48a30;
  border-bottom: 1px solid #c48a30;
  padding-top: 30px;
  padding-bottom: 30px;
}

.spruchborder p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-align: center;
}
.spruchborder p.textmodul-gross,
.spruchborder p.textmodul-klein {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
}
.accordion-button {
  background: rgba(255,255,255,0);
  color: var(--bs-primary);
  font-style: italic;
  display: block;
  justify-content: center;
  text-align: center;
  display: block;
}

.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: #fff;
  box-shadow: none;
}
.accordion-item {
    border: none;
    background-color: transparent;
}

.accordion-button:not(.collapsed) {
    background-color: transparent;
    color: inherit;
    box-shadow: none;
}

.accordion-button:focus {
    box-shadow: none;
}

.bg-breit-gold {
    --column-bg: #f9f3ea;

    position: relative;
    background-color: var(--column-bg);
    z-index: 0;
    padding-top: 30px;
    padding-bottom: 30px;
}

.bg-breit-gold::before,
.bg-breit-gold::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: var(--column-bg);
    z-index: -1;

    transform: scaleX(0);
    transition: transform 1.2s ease;
}

.bg-breit-gold::before {
    right: 100%;
    width: calc((100vw - 100%) / 2);

    /* Wachstum vom Inhalt nach links */
    transform-origin: right center;
}

.bg-breit-gold::after {
    left: 100%;
    width: calc((100vw - 100%) / 2);

    /* Wachstum vom Inhalt nach rechts */
    transform-origin: left center;
}

.accordion-collapse.show .bg-breit-gold::before,
.accordion-collapse.show .bg-breit-gold::after {
    transform: scaleX(1);
}




.bg-breit-tuerkis {
    --column-bg: rgba(0, 172, 160, .07);

    position: relative;
    background-color: var(--column-bg);
    z-index: 0;
    padding-top: 30px;
    padding-bottom: 30px;
}

.bg-breit-tuerkis::before,
.bg-breit-tuerkis::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: var(--column-bg);
    z-index: -1;

    transform: scaleX(0);
    transition: transform 1.2s ease;
}

.bg-breit-tuerkis::before {
    right: 100%;
    width: calc((100vw - 100%) / 2);

    /* Wachstum vom Inhalt nach links */
    transform-origin: right center;
}

.bg-breit-tuerkis::after {
    left: 100%;
    width: calc((100vw - 100%) / 2);

    /* Wachstum vom Inhalt nach rechts */
    transform-origin: left center;
}

.accordion-collapse.show .bg-breit-tuerkis::before,
.accordion-collapse.show .bg-breit-tuerkis::after {
    transform: scaleX(1);
}











.bg-breit-weiss {
    --column-bg: #fff;

    position: relative;
    background-color: var(--column-bg);
    z-index: 0;
    padding-top: 30px;
    padding-bottom: 30px;
}

.bg-breit-weiss::before,
.bg-breit-weiss::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: var(--column-bg);
    z-index: -1;
    opacity: 0;
    transition: opacity 1.2s ease;
}

.bg-breit-weiss::before {
    right: 100%;
    width: calc((100vw - 100%) / 2);
}

.bg-breit-weiss::after {
    left: 100%;
    width: calc((100vw - 100%) / 2);
}

/* Sobald das Accordion geöffnet ist */
.accordion-collapse.show .bg-breit-weiss::before,
.accordion-collapse.show .bg-breit-weiss::after {
    opacity: 1;
}


figure.img-align-left {
    float: left;
    margin: 0 2rem 1rem 0;
}

figure.img-align-right {
    float: right;
    margin: 0 0 1rem 2rem;
}

figure.img-align-left img,
figure.img-align-right img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* @media (max-width: 767.98px) {
    figure.img-align-left,
    figure.img-align-right {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0 0 1.5rem 0;
    }
} */
@media (max-width: 767.98px) {

    figure.img-align-left,
    figure.img-align-right {
        float: none;
        /* width: 100%; */
        max-width: 100%;
        margin: 0 0 1.5rem 0;
    }

    figure.img-align-left img,
    figure.img-align-right img {
        display: block;
        float: none;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        height: auto;
    }

    figure.img-width-smal {
        width: 150px;
        max-width: 150px;
        margin-left: auto;
        margin-right: auto;
    }
}

img {
    max-width: 100%;
}

.bg-breit-grafik {
    position: relative;

    width: 100vw;
    max-width: none;
    flex-shrink: 0;

    margin-left: calc(50% - 50vw);

    aspect-ratio: 1921 / 631;

    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}
.bg-breit-grafik p {
    font-family: 'Ysabeau SC', sans-serif;
    font-size: 32px;
    color: #fff;
}





#carousel-gallerybig .gallery-thumb {
  display: block;
  aspect-ratio: 1 /1;
  overflow: hidden;
}

#carousel-gallerybig .gallery-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.samecontent {
  margin-top: 1rem;
  margin-bottom: 2rem;
}

/* .carousel-control-next-icon {
  background-image: none;
}
.carousel-control-next::after {
  content: '\00BB';
  font-size: 3rem;
  color: rgba(244, 169, 228, 1);
}
.carousel-control-prev-icon {
  background-image: none;
}
.carousel-control-prev::after {
  content: '\00AB';
  font-size: 3rem;
  color: rgba(244, 169, 228, 1);
}
.carousel-control-prev,
.carousel-control-next,
.carousel-control-prev:hover,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-next:focus {
  text-decoration: none;
}
.carousel-outer {
  gap: 20px;
} */

.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 2rem;
  height: 2rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* PREV (links) */
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23999999' viewBox='0 0 16 16'%3E%3Cpath d='M11 1 3 8l8 7' stroke='%23999999' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* NEXT (rechts) */
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23999999' viewBox='0 0 16 16'%3E%3Cpath d='M5 1l8 7-8 7' stroke='%23999999' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Hover ? dunkler */
.carousel-nav:hover .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23666666' viewBox='0 0 16 16'%3E%3Cpath d='M11 1 3 8l8 7' stroke='%23666666' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.carousel-nav:hover .carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23666666' viewBox='0 0 16 16'%3E%3Cpath d='M5 1l8 7-8 7' stroke='%23666666' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.carousel-nav {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border: 0;
  padding: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}

.carousel-nav:hover,
.carousel-nav:focus {
  opacity: 1;
}

.carousel-nav .carousel-control-prev-icon,
.carousel-nav .carousel-control-next-icon {
  display: block;
}

@media (max-width: 767.98px) {
  .carousel-outer {
    gap: 10px;
  }

  .carousel-nav {
    width: 36px;
    height: 36px;
  }
}

.gallery-carousel-row .carousel-nav {
  width: 48px;
  height: 48px;
  border: 0;
  padding: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.gallery-carousel-row .carousel-control-prev-icon,
.gallery-carousel-row .carousel-control-next-icon {
  width: 2rem;
  height: 2rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.gallery-carousel-row .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11 1 3 8l8 7' stroke='%23999999' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.gallery-carousel-row .carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 1l8 7-8 7' stroke='%23999999' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.gallery-carousel-row .carousel-nav:hover .carousel-control-prev-icon,
.gallery-carousel-row .carousel-nav:focus .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11 1 3 8l8 7' stroke='%23333333' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.gallery-carousel-row .carousel-nav:hover .carousel-control-next-icon,
.gallery-carousel-row .carousel-nav:focus .carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 1l8 7-8 7' stroke='%23333333' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (max-width: 991.98px) {
  .gallery-carousel-row .carousel-nav {
    width: 40px;
    height: 40px;
  }

  .gallery-carousel-row .carousel-control-prev-icon,
  .gallery-carousel-row .carousel-control-next-icon {
    width: 1.6rem;
    height: 1.6rem;
  }
}

@media (max-width: 575.98px) {
  .gallery-carousel-row .carousel-nav {
    width: 34px;
    height: 34px;
  }

  .gallery-carousel-row .carousel-control-prev-icon,
  .gallery-carousel-row .carousel-control-next-icon {
    width: 1.3rem;
    height: 1.3rem;
  }
}
.gallery-carousel-mobile {
  gap: 12px;
}

.gallery-carousel-mobile .carousel-nav {
  flex: 0 0 auto;
}

.gallery-carousel-mobile .carousel {
  min-width: 0;
}

@media (max-width: 575.98px) {
  .gallery-carousel-mobile {
    gap: 8px;
  }

  .gallery-carousel-mobile .carousel-nav {
    width: 34px;
    height: 34px;
  }

  .gallery-carousel-mobile .carousel-control-prev-icon,
  .gallery-carousel-mobile .carousel-control-next-icon {
    width: 1.3rem;
    height: 1.3rem;
  }

  .carousel-outer-article {
    position: relative;
    align-items: flex-start !important;
  }

  .carousel-outer-article .carousel-nav {
    position: absolute;
    top: 325px;
    z-index: 5;
  }

  .carousel-outer-article .carousel-nav-prev {
    left: -10px;
  }

  .carousel-outer-article .carousel-nav-next {
    right: -10px;
  }

  .carousel-outer-article .carousel-item img {
    width: 82%;
    margin: 0 auto;
    display: block;
  }
}



.carousel-links {
    margin-top: -30px;
}


.faq-accordion {
    --bs-accordion-border-width: 0;
    --bs-accordion-border-color: transparent;
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-active-bg: transparent;
    --bs-accordion-active-color: inherit;
}

.faq-accordion .accordion-item {
    border: 0;
    background: transparent;
    border-radius: 0;
    margin-bottom: 1.3rem;
}

.faq-accordion .accordion-header {
    margin: 0;
}

.faq-accordion .accordion-button {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;

    background: transparent;
    border: 0;
    box-shadow: none;

    font: inherit;
    color: inherit;
    text-align: left;
}

.faq-accordion .accordion-button:not(.collapsed) {
    background: transparent;
    color: inherit;
    box-shadow: none;
}

/* Bootstrap-Pfeil entfernen */
.faq-accordion .accordion-button::after {
    display: none;
}

/* Frage */
.faq-accordion h3 .accordion-button {
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}

/* Antwort */
.faq-accordion .accordion-body {
    padding: 0.25rem 0 0 0;
}

.faq-accordion .accordion-body p {
    margin: 0;
}

footer {
    background-color: #e8e2d8;
}

.footer-nav-container {
    position: relative;
}

/* Hamburger zentrieren */
.footer-nav-toggler {
    margin: 0 auto;
    border: 0;
}

.footer-nav-toggler:focus {
    box-shadow: none;
}


/* Smartphone / Tablet */
@media (max-width: 991.98px) {

    .nav-item {
        border-right: none;
    }

    .footer-nav-collapse {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 100%;
        width: 100%;
        z-index: 1000;

        background: #e8e2d8;
        padding: 15px 20px;
        bottom: calc(100% + 10px);
        box-shadow: 0 -5px 15px rgba(0,0,0,0.08);
    }

    .footer-nav-collapse .navbar-nav {
        width: 100%;
        text-align: center;
    }

    .footer-nav-collapse .nav-link {
        text-align: center;
    }
}

/* Bootstrap-Standardpfeil vollständig entfernen */
.accordion-button::after {
    display: none !important;
}


/* Eigener Pfeil direkt hinter dem Text */
.accordion-button .text-normal::after,
.accordion-button .text-hover::after {
    content: "";
    display: inline-block;

    width: 12px;
    height: 12px;

    margin-left: 22px;
    margin-bottom: 3px;

    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;

    transform: rotate(45deg);

    transition: transform 0.3s ease;
}


/* Accordion geöffnet: Pfeil nach oben */
.accordion-button[aria-expanded="true"] .text-normal::after,
.accordion-button[aria-expanded="true"] .text-hover::after {
    transform: translateY(6px) rotate(225deg);
}

.accordion-button .text-normal,
.accordion-button .text-hover {
    position: relative;
    width: 100%;
    text-align: center;
    font-size: 20px;
    color: #00aca0;
}

.accordion-button .text-hover {
    display: none;
}

.accordion-button:hover .text-normal {
    display: none;
}

.accordion-button:hover .text-hover {
    display: block;
}

/* Accordion-Pfeil bei einigen ausblenden */
#accordion-5 .accordion-button .text-normal::after,
#accordion-5 .accordion-button .text-hover::after,
#accordion-6 .accordion-button .text-normal::after,
#accordion-6 .accordion-button .text-hover::after {
    display: none;
}

a em, em a {
    font-size: 20px;
    color: #00aca0;
}


.anregung-formular .btn-submit {
    background-color: #282b85;
    color: #fff;
}

.anregung-formular .btn-submit:hover,
.anregung-formular .btn-submit:focus {
    background-color: #20236d;
    color: #fff;
}

.abstand-2col {
    --bs-gutter-x: 5rem;
}

/* Smartphone */
@media (max-width: 575.98px) {
    .row {
        margin-left: 0;
        margin-right: 0;
    }
    .abstand-2col {
        --bs-gutter-x: 0;
    }
}

.video-header-inner {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.video-header-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.video-header-content {
    position: relative;
    z-index: 2;
    height: 100%;
}

.video-header-content .row {
    height: 100%;
}

.video-header-logo {
    width: 400px;
    max-width: 80%;
    height: auto;
    align-self: flex-start;
}

.img-width-small {
    width: 150px;
    height: auto;
}

/* Accordion langsamer öffnen/schließen */
.accordion .collapsing {
    transition: height 1.8s ease;
}

/* Inhalt im geschlossenen Zustand */
.accordion .accordion-body {
    opacity: 0;
    transform: translateY(-20px);
    transition:
        opacity 1.2s ease 0.4s,
        transform 1.2s ease 0.4s;
}

/* Inhalt beim geöffneten Accordion */
.accordion .accordion-collapse.show .accordion-body {
    opacity: 1;
    transform: translateY(0);
}

.hauptnavigation {
    background-color: #fff;

    padding-top: 20px;
    padding-bottom: 20px;

    transition:
        padding-top 0.3s ease,
        padding-bottom 0.3s ease,
        box-shadow 0.3s ease;

    z-index: 1030;
}

/* Navigation nach dem Scrollen */
.hauptnavigation.nav-klein {
    padding-top: 0px;
    padding-bottom: 0px;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}

html {
    scroll-padding-top: 30px;
}

/* ---------------------------------------------------------
   Hamburger auf Smartphone / Tablet
   --------------------------------------------------------- */

.mobile-nav-button {
    position: fixed;
    top: 15px;
    left: 0;

    width: 52px;
    height: 52px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    padding: 0;
    margin: 0;

    border: 1px rgba(0, 0, 0, 0.25) solid;
    border-radius: 0;

    background-color: rgba(255,255,255,0.75);

    z-index: 1060;

    transition: opacity 0.3s ease;
}

.mobile-nav-button .hamburger-line {
    width: 26px;
    height: 2px;
    flex: 0 0 2px;

    background-color: #282b85;
}


/* ---------------------------------------------------------
   Offcanvas Navigation
   --------------------------------------------------------- */

.mobile-navigation {
    width: 66.666vw !important;
    max-width: 320px;

    font-family: Ysabeau, sans-serif;
    font-size: 21px;

    transition: transform 0.6s ease-in-out !important;
}

.mobile-navigation .offcanvas-header {
    padding: 22px 20px 12px;
}

.mobile-navigation .offcanvas-body {
    padding: 10px 20px 30px;
}

.mobile-navigation .nav-link {
    padding: 10px 0;
}


/* Hamburger während geöffneter Navigation ausblenden */
body.mobile-nav-open .mobile-nav-button {
    opacity: 0;
    pointer-events: none;
}

li::marker {
    font-size: 0.7em;
    color: rgba(0, 0, 0, .6);
}









