@media (min-width: 992px) {
    .navbar-mainnavigation > .container-mainnavigation {
        align-items: center !important;
    }

    .navbar-mainnavigation .navbar-collapse > .navbar-nav {
        width: auto;
    }

    .navbar-mainnavigation .navbar-collapse > .navbar-nav-meta {
        margin-left: auto;
    }

    #mainnavigation .nav-style-simple:hover > .dropdown-menu,
    #mainnavigation .dropdown:hover > .dropdown-menu {
        display: block;
    }

    .navbar-mainnavigation .nav-style-simple > .dropdown-menu {
        top: calc(100% + (var(--mainnavigation-nav-height) - var(--mainnavigation-link-height)) / 2);
        margin-top: 0;
        z-index: 1001;
    }

    .navbar-mainnavigation .nav-style-simple::after {
        content: "";
        position: absolute;
        z-index: 1000;
        left: 0;
        right: 0;
        top: 100%;
        height: calc((var(--mainnavigation-nav-height) - var(--mainnavigation-link-height)) / 2);
    }
}

.navbar-mainnavigation .navbar-brand-image img {
    width: 180px;
    height: 52px;
    max-width: 180px;
    max-height: 52px;
}

.navbar-mainnavigation .navbar-nav > .nav-item {
    flex-wrap: nowrap;
    align-items: center;
}

.navbar-mainnavigation .navbar-nav > .nav-item > .nav-link-main,
.navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:not(.nav-link-toggle) {
    flex-grow: 0;
}

.navbar-mainnavigation .navbar-nav > .nav-item > .nav-link-toggle {
    padding-left: 0;
    margin-left: -0.2rem;
}

.footer-section-content,
.footer-section-meta {
    color: #ffffff;
    --frame-color: #ffffff;
}

.footer-section-content .frame,
.footer-section-meta .frame,
.footer-section-content p,
.footer-section-content li,
.footer-section-meta p,
.footer-section-meta .footer-copyright {
    color: #ffffff;
}

.footer-section-content .element-header {
    color: #ffffff;
    font-weight: 300;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .footer-section-content .element-header {
        font-size: 1.375rem;
    }
}

@media (min-width: 992px) {
    .footer-section-content .element-header {
        font-size: 1.5rem;
    }
}

@media (min-width: 1200px) {
    .footer-section-content .element-header {
        font-size: 1.625rem;
    }
}

.cc-window,
.cc-revoke {
    color: #ffffff;
    background-color: #1b1b1b;
}

.cc-link,
.cc-link:active,
.cc-link:visited {
    color: #bf1220;
    opacity: 0.8;
}

.cc-btn {
    color: #ffffff;
    background-color: #bf1220;
    border-color: #bf1220;
    border-radius: 0;
}

.cc-btn:hover,
.cc-btn:focus {
    color: #ffffff;
    background-color: #9c0f1a;
    border-color: #900e18;
}

.footer-section-content a:not(.btn),
.footer-section-meta a:not(.btn) {
    color: #bf1220;
}

.footer-section-content a:not(.btn):hover,
.footer-section-content a:not(.btn):focus,
.footer-section-meta a:not(.btn):hover,
.footer-section-meta a:not(.btn):focus {
    color: #b1111e;
}

/* Startseiten-Karussell: Hintergrundbild über die ganze Breite, wie zuvor */
.frame-type-carousel {
    padding-top: 0;
    padding-bottom: 0;
}

.frame-type-carousel .frame-container,
.frame-type-carousel .frame-group-container {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Kartenbilder bündig links und rechts, eckig wie auf der bisherigen Seite */
.frame-type-card_group .card,
.frame-type-card_group .card-img-top,
.frame-type-card_group .card-footer {
    border-radius: 0;
}

.frame-type-card_group .card-img-top a,
.frame-type-card_group .card-img-top picture,
.frame-type-card_group .card-img-top img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0;
}

/* Roter Bildbalken, zum Beispiel auf der Ausbildungsseite */
.frame-type-image.frame-background-primary {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.frame-type-image.frame-background-primary .gallery-item img,
.frame-type-image.frame-background-primary .gallery-item picture {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

@media (min-width: 576px) {
    .frame-type-image.frame-background-primary {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}

@media (min-width: 768px) {
    .frame-type-image.frame-background-primary {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}

@media (min-width: 992px) {
    .frame-type-image.frame-background-primary {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
}

/* Inhaltsbreite wie auf der bisherigen Seite: ab 1200 Pixel bleibt sie bei 1140. */
@media (min-width: 1400px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl,
    .frame-container-default {
        max-width: 1140px;
    }
}

/* Layout „eingerückt“: der Inhalt sitzt zur Mitte hin schmaler. */
.frame-indent .frame-inner {
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 576px) {
    .frame-indent .frame-inner {
        margin-left: 4%;
        margin-right: 4%;
    }
}

@media (min-width: 768px) {
    .frame-indent .frame-inner {
        margin-left: 8%;
        margin-right: 8%;
    }
}

@media (min-width: 992px) {
    .frame-indent .frame-inner {
        margin-left: 12%;
        margin-right: 12%;
    }
}

@media (min-width: 1200px) {
    .frame-indent .frame-inner {
        margin-left: 16%;
        margin-right: 16%;
    }
}

figure .caption {
    padding-top: 0.5rem;
    text-align: center;
}

/* Vergleichsbilder auf dieselbe Fläche bringen, wie im Original. */
.gallery-item img[src*="blech_vorher"],
.gallery-item img[src*="blech_nachher"] {
    width: 100%;
    height: auto;
    aspect-ratio: 843 / 600;
    object-fit: cover;
}

/* Kontakt-Überschrift wie auf der bisherigen Seite. */
.page-14 h3.element-subheader {
    font-weight: 300;
    line-height: 1.2;
    color: #7f7f7f;
    font-size: 1.5rem;
}

@media (min-width: 768px) {
    .page-14 h3.element-subheader {
        font-size: 1.65rem;
    }
}

@media (min-width: 992px) {
    .page-14 h3.element-subheader {
        font-size: 1.8rem;
    }
}

@media (min-width: 1200px) {
    .page-14 h3.element-subheader {
        font-size: 1.95rem;
    }
}

/* Aktiver Untermenüpunkt: rote Fläche mit weißer Schrift, ohne Pfeil. */
.navbar-mainnavigation .dropdown-menu .nav-link.active,
.navbar-mainnavigation .dropdown-menu .nav-link.active:hover,
.navbar-mainnavigation .dropdown-menu .nav-link.active:focus,
.navbar-mainnavigation .dropdown-menu .nav-link.active:focus-visible {
    color: #fff;
    background-color: #BF1220;
}

.navbar-mainnavigation .dropdown-menu .nav-link:before {
    content: none;
}
