/* === Fonts === */

@font-face {
    font-display: swap; 
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/raleway-v29-latin-regular.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Raleway';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/raleway-v29-latin-italic.woff2') format('woff2');
}

@font-face {
    font-display: swap; 
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/raleway-v29-latin-700.woff2') format('woff2');
}

@font-face {
    font-display: swap;
    font-family: 'Raleway';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/raleway-v29-latin-700italic.woff2') format('woff2');
}

/* === Global === */

:root {
    --dunkel-blau: #10232A;
    --hell-blau: #3D4D55;
    --hell-grau: #D9D9D9;
    --gold: #B58863;
    --beige: #D3C3B9;
    --schwarz: #000;
    --weiß: #FFF;
}

html {
    font-size: 16px;
}

body {
    margin: 0;
    font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif;
}

* {
    box-sizing: border-box;
}

section {
    padding-top: 2rem;
    padding-bottom: 3rem;
}

@media (max-width: 1366px) {

    section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

}

@media (max-width: 1024px) {

    section {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

}

@media (max-width: 768px) {

    section {
        padding-top: .5rem;
        padding-bottom: .5rem;
    }

}

/* === Generelles === */

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.active {
    background-color: var(--gold) !important;
}

.wichtiger-text {
    font-weight: bold;
}

.screenreader {
    display: none;
}

.intro-container {
    text-align: center;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}

.intro-container > h1 {
    font-size: 1.6rem;
    text-transform: uppercase;
}

.intro-container > p {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 150%;
}

@media (max-width: 1366px) {

    .intro-container {
        width: 90%;
    }

}

@media (max-width: 1024px) {

    .intro-container {
        width: 100%;
    }

}

/* === Buttons === */

.btn-typ-1 {
    background-color: var(--gold);
    border: 2px solid var(--gold);
    color: var(--weiß);
    padding: .4rem .6rem;
    cursor: pointer;
}

.btn-typ-2 {
    background-color: transparent;
    border: 2px solid var(--weiß);
    color: var(--weiß);
    padding: .4rem .6rem;
}

.btn-typ-2:hover {
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: bold;
}

/* === Popup-Fenster === */

.popup {
    position: fixed;
    bottom: 20px;
    right: 115px;
    width: 170px;
    padding: 10px;
    border-radius: 10px;
    z-index: 1;
    background-color: var(--gold);
    color: var(--weiß);
    font-weight: bold;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.5s linear;
}

.popup.show {
    visibility: visible;
    opacity: 1;
}

.popup p {
    margin: 0;
    padding: 1rem 0;
}

#btn-close {
    float: right;
    position: relative;
    top: .2rem;
    right: .2rem;
    font-size: 28px;
    padding: 5px;
}

#btn-close:hover,
.popup p:hover {
    color: var(--dunkel-blau);
    cursor: pointer;
}

@media (max-width: 768px) {
    
    .popup {
        bottom: 115px;
        right: 30px;
    }

    .popup p {
        padding: .75rem 0;
    }

    #btn-close {
        padding: 1px 5px;
    }
    
}

/* === Grid-System === */

.container {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
}

.row::after {
    content: "";
    clear: both;
    display: block;
}

[class*="col-"] {
    float: left;
    min-height: 1px;
    padding: .8rem;
}

.col-1 {  width: 16.666%; }
.col-2 {  width: 33.333%; }
.col-3 {  width: 50%;     }
.col-4 {  width: 66.666%; }
.col-6 {  width: 100%;    }

@media (max-width: 1024px) {
    .col-1 {  width: 33.333%; }
}

@media (max-width: 768px) {
    .col-1 {  width: 50%;   }
    .col-2 {  width: 100%;  }
    .col-3 {  width: 100%;  }
    .col-4 {  width: 100%;  }
}

@media (max-width: 480px) {
    .col-1 {  width: 100%;  }
    .col-2 {  width: 100%;  }
    .col-3 {  width: 100%;  }
    .col-4 {  width: 100%;  }
}

/* === Navigationsleiste === */

.header-nav {
    width: 100%;
    height: 50px;
    background-color: var(--dunkel-blau);
}

.header-nav * {
    font-weight: bold;
    font-size: 1.2rem;
    color: var(--hell-grau);
    text-decoration: none;
    z-index: 1;
}

.header-nav .col-6 {
    padding: 0;
    width: 100%;
}

.header-nav a > img {
    height: 55px;
    width: auto;
    float: left;
    margin-top: -.1rem;
}

.header-nav li a {
    display: block;
    padding: .88rem;
    height: 50px;
}

.header-nav a:hover {
    color: var(--beige);
}

#desktop-nav ul {
    margin: 0;
    margin-right: .8rem;
    padding: 0;
    float: right;
}

.header-nav ul > li, .header-nav-expand {
    display: inline-block;
    text-align: center;
}

.header-nav-content > ul > li {
    background-color: var(--hell-blau);
    text-align: center; 
    margin-top: .2rem;
}

.header-nav-dropdown {
    position: relative;
}

.header-nav-content {
    position: absolute;
    top: 100%;
    left: -1.5rem;
    display: none;
}

#content-leistungen li {
    width: 173px;
}

#content-mehr li {
    width: 153px;
}

#content-mehr ul, #content-mehr {
    width: 131px;
}

.header-nav-dropdown:hover .header-nav-content {
    display: block;
}

/* === Navigationsleiste (Mobil) === */

#mobile-header-nav-button {
    color: var(--hell-grau);
    float: right;
    font-size: 2rem;
    border: 2px solid var(--hell-grau);
    border-radius: 10px;
    width: 37px;
    height: 37px;
    position: relative;
    margin-top: .45rem;
    margin-bottom: .5rem;
    cursor: pointer;
}

#mobile-header-nav-button > span {
    position: absolute;
    bottom: -3px;
    left: 6.7px;
    font-size: 2rem;
}

#mobile-header-nav-button:hover {
    border: 2px solid var(--beige);
}

#mobile-header-nav-button:hover span {
    color: var(--beige);
}

#mobile-header-nav-content, #mobile-header-nav-dropdown {
    margin: 0;
    padding: 0;
    float: right;
}

#mobile-nav .col-6 {
    padding: 0;
    width: 100%;
    height: 50px;
}

#mobile-nav ul {
    margin: 0;
    padding: 0;
    float: right;
}

#mobile-header-nav-content > ul {
    height: 217px;
}

#mobile-nav-dropdown-leistungen ul {
    height: 110px;
}

#mobile-header-nav-content > ul {
    position: absolute;
    top: 3.1rem;
    right: 0;
}

#mobile-nav li {
    display: block;
    text-align: center;
    width: 174px;
    background-color: var(--hell-blau);
    margin-top: .2rem;
    float: right;
    border: .5px solid var(--dunkel-blau);
}

#mobile-content-leistungen {
    position: relative;
    right: 11rem;
    top: -5rem;
}

#mobile-content-mehr {
    position: absolute;
    right: 11.1rem;
}

.mobile-nav-content {
    position: absolute;
    right: -20px;
    width: 180px;
    display: none;
}

#mobile-content-mehr > ul {
    position: relative;
    top: -1.5rem;
}

.mobile-nav-expand {
    margin-left: .5rem;
}

#mobile-nav-dropdown-leistungen {
    position: absolute;
    top: 3.35rem;
    right: 0;
    height: 50px;
}

#mobile-nav #mobile-header-nav-content ul > li:nth-of-type(2) {
    position: absolute;
    top: 6.7rem;
    margin-top: .2rem;
}

#mobile-content-mehr > ul > li {
    top: 3.25rem !important;
}

#mobile-nav-dropdown-mehr {
    position: absolute;
    top: 10.04rem;
    right: 0;
    height: 50px;
}

#mobile-nav-dropdown-leistungen:hover .mobile-nav-content {
    display: block;
}

#mobile-nav-dropdown-mehr:hover .mobile-nav-content {
    display: block;
}

#mobile-header-nav-content {
    display: none;
}

#mobile-header-nav-dropdown:hover #mobile-header-nav-content {
    display: block;
}

.header-nav:nth-of-type(2) {
    display: none;
}

@media (max-width: 768px) {

    .header-nav:nth-of-type(1) {
        display: none;
    }

    .header-nav:nth-of-type(2) {
        display: block;
    }

}

/* === Newsletter-Bereich === */

#newsletter-bereich {
    width: 100%;
    background-color: var(--dunkel-blau);
    padding: 0;
}

#nb-werbetext {
    color: var(--weiß);
    font-size: 1.2rem;
}

#nb-form {
    float: right;
    width: 100%;
    text-align: right;
}

#nb-input {
    width: 80%;
    height: 56px;
    margin-top: .6rem;
    position: relative;
    right: 7.2rem;
    top: .5rem;
}

#nb-input-mobile {
    display: none;
}

#newsletter-bereich br {
    display: block;
}

@media (max-width: 1600px) {

    #nb-input {
        width: 90%;
        right: 5.5rem;
    }

}

@media (max-width: 1366px) {

    #nb-input {
        width: 100%;
        right: 2rem;
    }

}

@media (max-width: 1280px) {

    #newsletter-bereich .col-2, #newsletter-bereich .col-4 {
        width: 50%;
    }

    #nb-werbetext {
        width: 85%;
    }

    #nb-werbetext-extra {
        display: none;
    }

    #nb-input {
        right: 0;
    }

}

@media (max-width: 920px) {

    #newsletter-bereich .col-2, #newsletter-bereich .col-4 {
        width: 100%;
    }

    #nb-werbetext {
        text-align: center;
        margin-top: 1rem;
        margin-bottom: 0;
        width: 100%;
    }

    #nb-werbetext-extra {
        display: inline-block;
    }

    #nb-input {
        width: 90%;
        margin-bottom: 1rem;
        right: 2.5rem;
    }

    #werbetext {
        width: 100%;
    }

    #newsletter {
        width: 100%;
    }

}

@media (max-width: 768px) {

    #nb-werbetext-extra {
        display: none;
    }

    #nb-input {
        width: 100%;
        right: 0;
    }

}

@media (max-width: 480px) {

    #nb-input {
        display: none;
    }

    #nb-input-mobile {
        display: inline-block;
        width: 100%;
        right: 0;
        height: 56px;
    }

    #nb-form {
        margin-right: 0;
        height: 65px;
        margin-bottom: 1rem;
    }

}

/* === Footer === */

#footer {
    height: 2.8rem;
}

#footer p {
    text-align: center;
    margin: 0;
    font-weight: bold;
}

#socials {
    padding-top: 1.25rem;
    border-bottom: 1px solid var(--schwarz);
}

#information {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.socials-icon {
    height: 27px;
    width: auto;
}

#footer-nav li {
    display: inline-block;
    margin-right: 2.5rem;
    margin-left: 2.5rem;
}

#footer-nav ul {
    margin: 0;
    text-align: center;
    font-weight: bold;
    padding: 0;
}

#footer-nav a:link {
    color: var(--schwarz);
    text-decoration: none;
}

#footer-nav a:visited {
    color: var(--schwarz);
    text-decoration: none;
}

#footer-nav a:active {
    color: var(--schwarz);
    text-decoration: none;
}

#footer-nav a:hover {
    color: var(--schwarz);
    text-decoration: underline;
}

@media (max-width: 1335px) {
    
    #copyright {
        width: 100%;
    } 

    #hrefs {
        width: 100%;
    }

}

@media (max-width: 900px) {

    #hrefs li {
        margin-right: 1.5rem;
        margin-left: 1.5rem;
    }

}

@media (max-width: 768px) {

    #socials li {
        margin-right: 1.5rem;
        margin-left: 1.5rem;
    }

}

@media (max-width: 728px) {

    #hrefs li {
        display: block;
        margin-top: .5rem;
        margin-bottom: 1rem;
    }

}

@media (max-width: 438px) {

    #socials li {
        margin-right: 1rem;
        margin-left: 1rem;
    }

}