/*
    
## ## ## ## ##  ##              ## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ##          ##  ## ## ## ## ##  ## ## ## ## ##
##              ##              ##          ##  ##          ##  ##          ##  ## ##       ##  ##                    ##
##              ##              ##          ##  ##          ##  ##          ##  ##  ##      ##  ##                    ##
##    ## ## ##  ##              ##          ##  ## ## ## ##     ##          ##  ##    ##    ##  ## ## ## ## ##        ##
##          ##  ##              ##          ##  ##          ##  ##          ##  ##      ##  ##  ##                    ##
##          ##  ##              ##          ##  ##          ##  ##          ##  ##        ## #  ##                    ##
## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ## ## ## ## ##  ##          ##  ## ## ## ## ##        ##

/**** TEXT & ICONS ****/

/* WHITE */
hr,
h1,
.prev, 
.next,
.teaser i,
.teaser p,
.teaser h2,
.menuitem a,
.menuitem i,
.button:hover,
button:hover,
input[type=submit],
#teaserbox .box h3,
#teaserbox .box p,
#topfooter h3,
#topfooter p,
#topfooter a,
.bottommenu nav .dropdown li a:hover {
    color: var(--white);
}

/* RED */
a,
button,
.button,
.teaser h3,
.form h4,
#decline,
#popup h3,
#selection,
#topfooter a:hover,
#bottomfooter a:hover {
    color: var(--red);
}

/* BLACK */
h2,
h3,
h4,
p,
li i,
#selection,
#bottomfooter p,
#bottomfooter a {
    color: var(--black);
} 

/* OTHER */
.alert i:nth-of-type(1) {
    color: green;
}

/**** ELEMENT BACKGROUND ****/

/* WHITE */
body,
button,
.button,
#hero .inner::before,
#hero .inner::after,
#burgermenu .burger .line {
    background: var(--white);    
}

/* GREY */
input,
textarea,
.topmenu {
    background: var(--grey);
}

/* RED */
.teaser i,
.button:hover,
button:hover,
.has-lines::before,
.has-lines::after,
input[type=submit],
#topfooter h3::after,
.bottommenu nav li a::after {
    background: var(--red);
}

#selection,
#burgermenu,
#decline {
    background: transparent;
}

/* OTHER */
#popup {
    background: #ffffff85;
}
.dropdown,
.header {
    background: rgba(0, 50, 66, 0.9);
}
#hero::before {
    background: rgb(1 23 47 / .611765);
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(transparent,#2090cb);
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(transparent,#e1081a);
}
#teaserbox .box::before {
    background: linear-gradient(180deg,transparent 30%,rgba(0,0,0,.6));
}
.teaser::before,
#teaserbox .box:hover::before {
    background: rgba(0, 50, 66, 0.9);
}
.bottommenu nav .dropdown li a:hover {
    background: rgb(48, 142, 200);
}

/**** OUTLINE ****/
#decline,
input:focus,
textarea:focus {
    outline: 1px solid var(--xxx);
}
.button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
a:focus-visible {
    outline: .2rem solid var(--black);
}
.button,
button {
    border: .175rem solid var(--red);
}

/**** 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 {
    text-decoration: underline;
}

/**** TRANSITIONS ****/
nav,
#more,
.all i,
.dropdown,
.menuitem a,
.bottommenu nav,
#selection span {
    transition: all linear 100ms;
}

#burgermenu {
    transition: all linear 200ms;
}

/**** FONTS ****/
@font-face {
    font-family: 'Montserrat';
    src: url(../font/Montserrat-VariableFont_wght.ttf);
}
* {
    font-family: 'Montserrat';
    font-weight: 600;
    line-height: 1.5;
}

/**** ROOT ****/
:root {
    --white: rgb(255, 255, 255);
    --grey: rgb(240, 240, 240);
    --red: rgb(223, 38, 37);
    --black: rgb(0, 0, 0);
}

/**** TYPOGRAPHY ****/
h1 {
    font-size: 2rem;
    font-weight: 700;
}

h2 {
    font-size: 1.875rem;
    font-weight: 700;
    margin: 0 0 1rem;
}

h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 2.5rem 0 1rem;
}

h4 {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 1rem;
}

p {
    font-size: 1.125rem;
}