/*
    
## ## ## ## ##  ##              ## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ##          ##  ## ## ## ## ##  ## ## ## ## ##
##              ##              ##          ##  ##          ##  ##          ##  ## ##       ##  ##                    ##
##              ##              ##          ##  ##          ##  ##          ##  ##  ##      ##  ##                    ##
##    ## ## ##  ##              ##          ##  ## ## ## ##     ##          ##  ##    ##    ##  ## ## ## ## ##        ##
##          ##  ##              ##          ##  ##          ##  ##          ##  ##      ##  ##  ##                    ##
##          ##  ##              ##          ##  ##          ##  ##          ##  ##        ## #  ##                    ##
## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ##          ##  ## ## ## ## ##        ##

/**** TEXT & ICONS ****/

/* WHITE */
hr,
.prev, 
.next,
button,
.button,
input[type=submit],
.teaser h3,
.teaser p,
.teaser i,
#topfooter p,
#topfooter a,
#topfooter i,
#bottomfooter a,
#hero .button:hover,
.teaser .button:hover,
.mega-menu .contact-nav h3,
.mega-menu .contact-nav i,
.mega-menu .contact-nav a,
.mega-menu .contact-nav p {
    color: var(--white);
}

/* LIGHT WHITE */
#bottomfooter p,
#topfooter .footer-group p,
#topfooter .footer-copyright p,
#topfooter .footer-address p {
    color: var(--light-white);
}

/* BLUE */
a,
#selection,
.menuitem a:hover,
#topfooter a:hover,
.menuitem:hover::after,
.mega-menu .menu-copyright a:hover,
#teaserbox .box .box-links a:hover,
#teaserbox .box .box-title:hover h3 {
    color: var(--blue);
}

/* BLACK */
h1,
h2,
h3,
h4,
p,
li i,
#decline,
#selection,
.menuitem a,
.button:hover,
button:hover,
input[type="submit"]:hover,
.mega-menu .menu-copyright a,
#teaserbox .box .box-arrow i,
#teaserbox .box .box-links a,
.mega-menu .menu-column .menu-header h3,
.mega-menu .menu-column .menu-header a,
.mega-menu .menu-column .menu-header i {
    color: var(--black);
} 

/* OTHER */
.alert i:nth-of-type(1) {
    color: green;
}

/**** ELEMENT BACKGROUND ****/

/* WHITE */
body,
.dropdown,
.mega-menu,
.header.opened {
    background: var(--white);    
}

/* GREY */
input,
textarea,
.topmenu,
.menu-column .menu-header {
    background: var(--grey);
}

/* LIGHT BLACK */
.teaser .button {
    background: var(--light-black);
}

/* BLACK */
button,
.button,
.teaser,
input[type=submit],
#burgermenu .burger .line,
.mega-menu .contact-nav {
    background: var(--black);
}

/* DARK BLACK */
#topfooter,
#bottomfooter {
    background: var(--dark-black);
}

/* BLUE */
.teaser i {
    background: var(--blue);
}

#selection,
#burgermenu,
#decline,
.button:hover,
button:hover,
input[type="submit"]:hover,
#teaserbox .box:hover .box-title h3 {
    background: transparent;
}

/* OTHER */
#popup {
    background: #ffffff85;
}
#teaserbox .box .box-title h3,
#teaserbox .box .box-overlay,
#hero h1 {
    background: hsla(0, 0%, 100%, .75);
}
.header {
    background: hsla(0, 0%, 100%, .875);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

/**** OUTLINE ****/
input:focus,
textarea:focus {
    outline: 1px solid var(--blue);
}
.button,
button,
#decline,
input[type="submit"] {
    outline: 1px solid var(--black);
}
#hero .button:hover,
.teaser .button:hover {
    outline-color: white;
}
.button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
a:focus-visible {
    outline: .2rem solid var(--blue);
}
.mega-menu .menu-column {
    outline: .15rem solid var(--grey);
}
#bottomfooter {
    border-top: 1px solid rgb(50,48,45);
}

/**** BOX SHADOW ****/
#popup {
    -webkit-backdrop-filter: blur(3rem);
    backdrop-filter: blur(3rem);
    box-shadow: var(--black) 0 0 10rem -4rem;
}

/**** TEXT DECORATION ****/
.menuitem a:hover {
    text-decoration: none;
}
#popup a,
#bottomfooter a:hover {
    text-decoration: underline;
}

/**** TRANSITIONS ****/
nav,
#more,
.logo,
.all i,
.dropdown,
.menuitem a,
#topfooter a,
.bottommenu nav,
#selection span,
.menuitem::after,
.bottommenu .inner,
.logo .svg-logo-slogan,
#teaserbox .box .box-overlay,
#teaserbox .box:hover .box-title h3 {
    transition: all .3s ease-in-out;
}

#burgermenu {
    transition: all linear 200ms;
}

/**** FONTS ****/
@font-face {
    font-family: 'Brown';
    font-weight: 400;
    src: url(../font/brown/brownllweb-light.woff2);
}
@font-face {
    font-family: 'Brown';
    font-weight: 700;
    src: url(../font/brown/brownllweb-bold.woff2);
}
* {
    font-family: 'Brown', -apple-system, sans-serif;
    line-height: 1.5; /* Anpassen basierend auf Font */
}

/**** ROOT ****/
:root {
    --white: rgb(255 255 255);
    --light-white: rgb(255 255 255 / .5);
    --grey: rgb(241 241 241);
    --blue: rgb(63 178 189); 
    --light-black: rgb(59 59 59);
    --black: rgb(22 22 22);
    --dark-black: rgb(0 0 0);
}

/**** TYPOGRAPHY ****/
body {
    font-size: 1.25rem;
    font-weight: 400;
}
h1 {
    font-size: clamp(1.35rem, 5vw, 2.3rem);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 1rem;
}
h2 {
    font-size: clamp(1.75rem, 3vw, 1.85rem);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 1rem;
}
h3 {
    font-size: clamp(1.6rem, 2.5vw, 1.65rem);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 1rem;
}
h4 {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 1rem;
}