/* =========================================================
   GRUNDLEGEND – ALLE BREITEN
   ========================================================= */

p {
    hyphens: auto;
}

.h1,
h1 {
    background-color: var(--bs-secondary);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    text-transform: uppercase;
    text-align: center;
    color: var(--bs-light);
}

.h2,
h2 {
    text-transform: uppercase;
    color: var(--bs-secondary);
}

.navbar-brand {
    padding: 0;
}

hr {
    color: var(--bs-secondary) !important;
}

.nav-item,
.nav-link,
.dropdown-item {
    text-transform: uppercase;
}

main a  {
  color: var(--bs-secondary) !important;
  text-decoration: none;
}

main a:hover, 
main a:focus  {
  color: var(--bs-secondary) !important;
  text-decoration: underline !important;
}


/* Navbar – alle Bildschirmbreiten */
.dws-seitenstruktur-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 170px;

    z-index: 1000;

    background-color: rgba(0, 0, 0, 0.8);

    border-bottom: 5px solid var(--bs-secondary);
    padding-bottom: 20px;
}

footer {
    border-top: 5px solid var(--bs-secondary);
}

.footer a {
    color: white !important;
    text-decoration: none;
}



/* Aufzählung ohne Einrückung und in blau*/
.footer ul {
    color: white !important;
    list-style: none;
    padding-left: 20px;
}

.footer ul li::before {
    content: "\2022";
    color: var(--bs-secondary) !important;
    font-weight: bold;
    display: inline-block;
    width: 1rem;
    margin-left: -1.2rem;
}

ul {
    margin-left: 1.5em;
    padding-left: 0;
}

::marker {
    color: var(--bs-secondary);
    font-size: 1.2em;
}

ul li::before {
    content: "";
    color: var(--bs-secondary) !important;
    font-weight: bold;
    display: inline-block;

    width: 1rem;
    margin-left: -1.2rem;
}

/* =========================================================
   DESKTOP – ab 992px
   ========================================================= */

@media (min-width: 992px) {

    .dws-seitenstruktur-navbar>.container {
        min-height: 170px;
        display: flex;
        align-items: flex-end;
    }

    /* Logo */
    .dws-seitenstruktur-navbar .navbar-brand {
        display: flex;
        align-items: flex-end;
    }

    .dws-seitenstruktur-navbar .navbar-brand img {
        max-height: 150px;
    }

    /* Navigation */
    .dws-seitenstruktur-navbar .navbar-collapse {
        display: flex !important;
        align-items: flex-end;
        justify-content: flex-end;
    }

    .dws-seitenstruktur-navbar .navbar-nav {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        margin-left: auto;
    }

    .dws-seitenstruktur-navbar .nav-item {
        display: flex;
        align-items: flex-end;
    }

    .dws-seitenstruktur-navbar .nav-link {
        display: block;
        padding-top: 0;
        padding-bottom: 0;
        line-height: 1;
        color: #fff !important;
    }

    .nav-item {
        padding-left: 0;
        font-size: 1.3rem;
        font-weight: bolder;
    }

    /* Active */
    .dws-seitenstruktur-navbar .nav-link.active {
        color: var(--bs-secondary) !important;
    }

    /* Hover + Focus */
    .dws-seitenstruktur-navbar .nav-link:hover,
    .dws-seitenstruktur-navbar .nav-link:focus {
        color: var(--bs-secondary) !important;
    }

    /* Dropdown */
    .dws-seitenstruktur-navbar .dropdown-toggle::after {
        vertical-align: middle;
        margin-left: 0.35em;
    }

    .dws-seitenstruktur-navbar .dropdown-menu .dropdown-item {
        color: var(--bs-primary) !important;
    }

    .dws-seitenstruktur-navbar .dropdown-menu .dropdown-item:hover,
    .dws-seitenstruktur-navbar .dropdown-menu .dropdown-item:focus {
        color: var(--bs-secondary) !important;
        background-color: var(--bs-primary) !important;
    }

    .dws-seitenstruktur-navbar .dropdown-menu .dropdown-item.active,
    .dws-seitenstruktur-navbar .dropdown-menu .dropdown-item:active {
        color: #fff !important;
        background-color: var(--bs-primary) !important;
    }
}


/* =========================================================
   MOBILE – bis 991px
   ========================================================= */

@media (max-width: 991px) {

    /* Desktop-Navigation ausblenden */
    .dws-seitenstruktur-navbar .navbar-collapse {
        display: none !important;
    }

    /* Navbar-Inhalt nach unten ausrichten */
    .dws-seitenstruktur-navbar>.container {
        min-height: 170px;
        display: flex;
        align-items: flex-end;
    }

    /* Mobile Menübutton */
    .dws-seitenstruktur-navbar .navbar-toggler {
        display: block;
        margin-left: auto;
        margin-bottom: 0;
        padding: 0.5rem 0;
        border: none;
        color: #fff;
    }

    .dws-seitenstruktur-navbar .navbar-toggler:focus {
        box-shadow: none;
    }

    /* Hamburger weiß */
    .dws-seitenstruktur-navbar .navbar-toggler-icon {
        filter: brightness(0) invert(1);
    }

    .nav-item {
        padding-left: 0;
        font-size: 1rem;
    }
}


/* -----------------------------------------------------
       OFFCANVAS
       ----------------------------------------------------- */

#mobileNav {
    background-color: rgba(0, 0, 0, 0.8);
}

#mobileNav .offcanvas-header {
    background-image: url("https://typo3.dawesys.de/fileadmin/neusgmbhde/logo.png");
    background-repeat: no-repeat;
    background-position: 30px center;
    background-size: auto 50px;

    min-height: 60px;
    margin-top: 0.5rem;
}

#mobileNav .offcanvas-title {
    display: none;
}

#mobileNav hr {
    border-color: var(--bs-secondary);
    opacity: 1;
}


/* Mobile Hauptnavigation */
#mobileNav .nav-link {
    color: #fff !important;
}

#mobileNav .nav-link:hover,
#mobileNav .nav-link:focus {
    color: var(--bs-secondary) !important;
}

#mobileNav .nav-link.active {
    color: var(--bs-secondary) !important;
}


/* Mobile Dropdown */
#mobileNav .dropdown-menu {
    background-color: var(--bs-primary);
}

#mobileNav .dropdown-item {
    color: var(--bs-white) !important;
    background-color: transparent;
}

#mobileNav .dropdown-item:hover,
#mobileNav .dropdown-item:focus {
    color: var(--bs-primary) !important;
    background-color: var(--bs-secondary) !important;
}

#mobileNav .dropdown-item.active,
#mobileNav .dropdown-item:active {
    color: #fff !important;
    background-color: var(--bs-secondary) !important;
}

#mobileNav .dropdown-toggle::after {
    border-top-color: currentColor;
}



/* Carousel Startseite */
.carousel-control-prev-icon {
    display: none !important;
    background: none !important;
    background-image: none !important;
}

.carousel-control-next-icon {
    display: none !important;
    background: none !important;
    background-image: none !important;
}


.carousel-control-prev::before {
    content: "\f0d9";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--bs-secondary);
}

.carousel-control-next::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--bs-secondary);
}


@media all and (max-width: 767.98px) {

    .carousel-control-prev {
        left: -30px;
        border-bottom: 0;
        font-size: 2.5rem !important;
        color: var(--bs-secondary);
    }

    .carousel-control-next {
        right: -30px;
        border-bottom: 0;
        font-size: 2.5rem !important;
        color: var(--bs-secondary);
    }
}

@media all and (min-width: 768px) {

    .carousel-control-prev {
        left: -110px;
        border-bottom: 0;
        font-size: 3rem !important;
        color: var(--bs-secondary);
    }

    .carousel-control-next {
        right: -110px;
        border-bottom: 0;
        font-size: 3rem !important;
        color: var(--bs-secondary);
    }
}

@media all and (min-width: 992px) {

    .carousel-control-prev {
        left: -110px !important;
        border-bottom: 0;
        font-size: 4rem !important;
        color: var(--bs-secondary);
    }

    .carousel-control-next {
        right: -110px;
        border-bottom: 0;
        font-size: 4rem !important;
        color: var(--bs-secondary);
    }
}

@media all and (min-width: 1400px) {

    .carousel-control-prev {
        left: -110px;
        border-bottom: 0;
        font-size: 5rem !important;
        color: var(--bs-secondary);
    }

    .carousel-control-next {
        right: -110px;
        border-bottom: 0;
        font-size: 5rem !important;
        color: var(--bs-secondary);
    }
}
/* Kopfbilder und -Carousels */

.KopfBild {
    height: 65vh;
}

.KopfBild > div {
    height: 100%;
}

.KopfBild img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.KopfCarousel {
    .dws-contentelement-carousel {
        height: 65vh;
    }

    .dws-contentelement-carousel-inner,
    .dws-contentelement-carousel-item {
        height: 100%;
    }

    .dws-contentelement-carousel-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}


/* Mobile: kleiner als Bootstrap md */

@media (max-width: 767.98px) {

    .KopfBild {
        height: 40vh;
    }

    .KopfCarousel .dws-contentelement-carousel {
        height: 40vh;
    }

}