*,
*::before, 
*::after {
    box-sizing: border-box;
}

:root {
    --clr-primary-300: #E0BF3B;
    --clr-primary-800: rgb(30, 30, 30);
    --clr-primary-900: #000000;

    --clr-neutral-000: transparent;
    --clr-neutral-100: #FFF;
    --clr-neutral-150: rgba(255,255,255,0.1);
    --clr-neutral-250: rgba(255,255,255,0.2);
    --clr-neutral-450: rgba(255,255,255,0.4);
    --clr-neutral-850: rgba(0,0,0,0.35);
    --clr-neutral-950: rgba(0,0,0,0.5);
}

body,
h1,
h2,
h3,
p {
    margin: 0;
    }

body {
    font-family: sans-serif;   
    background-color: var(--clr-primary-800); 
}

ul,
li {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: .5em;
}

h2,
h3,
p {
    margin-bottom: 1em;
}

h2 {
    font-size: 1.25rem;
}

p,
a {
    font-size: 1.15rem;
}

@media (min-width: 40em) {
    h2 {
        font-size: 1.5rem;
    }
    p,
    a {
        font-size: 1.25rem;
    }
}

a {
    text-decoration: none;
    white-space: nowrap;
}

.img-container {
    width: 100%;
}

.img-contained {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 30rem;
}

@media (min-width: 40em) {
    .img-container {
        width: 100%;
    }

    .img-contained {
        display: block;
        object-fit: cover;
        width: 100%;
        height: 40rem;
    }
}

header {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    padding: 1rem 2rem;
    margin-top: -3.5em;
}

header a,
header a:visited {
    color: var(--clr-primary-100);
    transition: color 150ms;
    text-decoration: none;
    font-weight: bold;
    font-size: 1rem;
}

.header--light a,
.header--light a:visited {
    color: var(--clr-neutral-100)
}

header a:hover {
    /* border-bottom: solid;
    border-width: 0.15em; */
    text-decoration: underline;
}

header > div * + * {
    margin-left: .5em;
}

@media (min-width: 40em) {
    header a {
        font-size: 1.25rem;
    }
}

.contact-spacing {
    display: flex;
    flex-direction: row;
    padding-top: 1em;
}

.contact-spacing > * + * {
    margin-left: 1em;
}

.container {
    margin-inline: auto;
    width: min(100%);
}

.container--extraspacing {
    padding: 4rem 0;
}

.split { 
    display: flex;
    flex-direction: column;
}

.split--reverse {
    flex-direction: column-reverse;
}

@media (min-width: 40em) {
    .split {
        flex-direction: row;
    }

    .split > * {
        flex-basis: 100%;
    }

}

@media (min-width: 40em) {
    .vertical-align {
        display: grid;
        place-items: center;
    }
}

.horizontal-align {
    padding: 2rem;
    width: min(100%);
}

@media (min-width: 40em) {
    .horizontal-align {
        margin-inline: auto;
        display: flex;
        flex-direction: column;
        max-width: 35em;

    }
}

.mailchimp {
    padding: 2rem;
    width: min(90%);
}

@media (min-width: 40em) {
    .form-spacing {
        display: grid;
        place-items: center;
    }
}

/*Whole Module*/
#mc_embed_signup_scroll {
    display: flex;
    flex-direction: column;
}

#mc_embed_signup_scroll > * + * {
    margin-top: 1.5em;
}

/*Input Field*/
.email {
    border: none;
    padding: 1em 2em;
    border-radius: 2em;
    background-color: var(--clr-neutral-850);
    color: var(--clr-neutral-100);
    font-size: 1rem;
}

@media (min-width: 40em) {
    .email {
        max-width: 35em;
    }
}

input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 1rem;
    }

.button {
    display: flex;
    border: none;
    padding: 1em 2em;
    border-radius: 2em;
    background-color: var(--clr-neutral-150);
    color: var(--clr-neutral-100);
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 150ms;
}

.button:hover {
    background-color: var(--clr-neutral-250);
}

.button--dark {
    background-color: var(--clr-neutral-950);
}

.button--dark:hover {
    background-color: var(--clr-neutral-850);
}

#outer {
    overflow: hidden;
}

#outer div {
    display: inline-block;
}

#loop {
    white-space: nowrap;
    animation: loop-anim 60s linear infinite;
}

@keyframes loop-anim {
    0% {
        margin-left: 0;
    }
    100% {
        margin-left: -50% /* This works because of the div between "outer" and "loop" */
    }
}

.banner-content {
    margin-left: 15rem;
    font-weight: bold;
    font-size: 2rem;
    color: var(--clr-primary-300);
}

.footer {    
    display: flex;
    margin: 1rem 2rem;
}

.footer {
    font-size: 0.75rem;
    color: var(--clr-neutral-450);
}

#imprint-toggle,
#dsgvo-toggle {
    display: block;
    font-size: 0.75rem;
    color: var(--clr-neutral-450);
    cursor: pointer;
    text-decoration: underline;
    margin: 0 0 1rem 2rem;
} 

.imprint,
.dsgvo {
    display: none;
    padding: 1rem 2rem;
    width: min(100%);
    color: var(--clr-neutral-100);
    background-color: var(--clr-neutral-150);
    height: 100%;
    margin-bottom: 1rem;
}

.imprint {
    border-right: var(--clr-neutral-950) solid 1px;
}

.imprint h2,
.dsgvo h2 {
    font-size: 0.9rem;
}

.imprint h3,
.dsgvo h3 {
    font-size: 0.85rem;
}

.imprint p,
.imprint a,
.imprint li,
.dsgvo p,
.dsgvo a, 
.dsgvo li {
    font-size: 0.75rem;
}

.bg-yellow {
    background-color: var(--clr-primary-300);
    font-size: 1.25rem;
    color: var(--clr-neutral-900)
}

.link-yellow {
    text-decoration: underline;
    color: var(--clr-neutral-900)
}

.bg-dark {
    background-color: var(--clr-primary-800);
    font-size: 1.25rem;
    color: var(--clr-neutral-100)
}

.link-dark {
    text-decoration: underline;
    color: var(--clr-neutral-100)
}