@font-face {
    font-family:'zalando-sans';
    src: url('fonts/zalando-sans-extralight.woff2') format('woff2'), url('fonts/zalando-sans-extralight.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family:'zalando-sans';
    src: url('fonts/zalando-sans-bold.woff2') format('woff2'), url('fonts/zalando-sans-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family:'zalando-sans';
    src: url('fonts/zalando-sans-bold-italic.woff2') format('woff2'), url('fonts/zalando-sans-bold-italic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

:root {
    --beige: #eae4c0;
    --gruen: #268241;
    --hellgruen: #459d59;
}

body {
    margin: 0;
    background: var(--beige) url('hintergrund.avif') left center/cover fixed;
    color: var(--gruen);
    font: 12pt zalando-sans, sans-serif;
    line-height: 1.4;
}

@media (orientation: landscape) {
    body {
        background-image: url('hintergrund-desktop.avif');
    }
}


/* LOGO & HEADER */

#logo {
    display: block;
    position: relative;
    width: 100%;
    background-color: var(--beige);
    text-align: center;
    z-index: 5;
}

#logo img {
    display: inline-block;
    width: 1000px;
    max-width: 100%;
    margin: 20px 0;
    margin: min(25px, 4vw) 0;
    mix-blend-mode: darken;
}

header {
    display: block;
    position: relative;
    top: -60px;
    margin-bottom: -60px;
}

#header__bundesverband {
    display: none;
}

#header__leistungen {
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right;
    list-style: none;
    padding: 0;
    margin: 0;
    color: #fff;

    background-color: black;
    /*     width: 75%; */
    height: 50%;
}

#header__leistungen li {
    position: absolute;
    opacity: 0;
    bottom: .5em;
    right: .5em;
    font-size: 6vw;
    font-size: clamp(12pt, 6vw, 64pt);
    line-height: 1;
    animation: leistungen 45s infinite;
    mix-blend-mode: overlay;
    user-select: none;
}

@keyframes leistungen {
    0%, 0.5%, 12%, 100% { opacity: 0;  }
    2.5%, 10% { opacity: 1; }
}


#header__leistungen li:nth-child(2) {
    animation-delay: 5s;
}

#header__leistungen li:nth-child(3) {
    animation-delay: 10s;
}

#header__leistungen li:nth-child(4) {
    animation-delay: 15s;
}

#header__leistungen li:nth-child(5) {
    animation-delay: 20s;
}

#header__leistungen li:nth-child(6) {
    animation-delay: 25s;
}

#header__leistungen li:nth-child(7) {
    animation-delay: 30s;
}

#header__leistungen li:nth-child(8) {
    animation-delay: 35s;
}

#header__leistungen li:nth-child(9) {
    animation-delay: 40s;
}

header video {
    width: 100%;
}

@media (max-width: 800px) {
    #header__video--klein {
        aspect-ratio: 16/9;
        display: block !important;
    }
}

@media (min-width: 801px) {
    #header__video--gross {
        aspect-ratio: 32/11;
        display: block !important;
    }

    #header__bundesverband {
        display: block;
        position: absolute;
        bottom: 1vw;
        left: 2vw;
        mix-blend-mode: overlay;
        width: 8%; /* Fallback */
        width: min(125px, 8%);
    }
}


/* NAVICON & NAV */

#navicon-checkbox {
    display: none;
}

#navicon {
    position: sticky;
    float: right;
    z-index: 999;
    top: 3vw;
    right: 3vw;
    width: 60px;
    height: 60px;
    background-image: url('data:image/svg+xml,<svg version="1.1" viewBox="0 0 86 58" xmlns="http://www.w3.org/2000/svg" fill="%23268241"><rect width="86" height="10"/><rect width="86" height="10" y="24"/><rect width="86" height="10" y="48"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    filter:
        drop-shadow(0 0 4px var(--beige))
        drop-shadow(0 0 4px var(--beige));
    cursor: pointer;
}

nav {
    /*     display: none; */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    overflow: hidden;
    background: linear-gradient(to bottom, rgba(234,228,192,1) 0%,rgba(234,228,192,.75) 100%);
    z-index:4;
    text-align: center;
    transition: height 500ms ease;
}

nav ul {
    list-style: none;
    padding:  200px 0 0;
    margin: 0;
}

nav a {
    font-size: 7vw;
    font-size: min(7vw,5vh);
    color: inherit;
    text-decoration: none;
    display: block;
    padding: .2em 0;
}

nav a:hover,
nav a[aria-current="page"] {
    font-weight: bold;
}



input[type=checkbox]:checked ~ nav {
    display: block;
    backdrop-filter: blur(5px);
    height: 100%;
}

@media (min-width: 1226px) {
    #navicon {
        /*         position: fixed;
        top: 55px; */
        display: none;
    }

    header {
        top: 0;
        margin-bottom: 0;  
    }

    nav,
    input[type=checkbox]:checked ~ nav {
        display: block;
        position: absolute;
        background-color: rgba(250,251,233,.65);
        background-image: none;
        top: unset;
        height: unset;
    }

    nav.sticky,
    input[type=checkbox]:checked ~ nav.sticky {
        position: fixed;
        top: 0;
    }

    nav ul {
        padding: 0;
    }

    nav ul li {
        display: inline-block;
    }

    nav a {
        padding: .8em 1em;
        font-size: 16pt;
    }    
}

/* HEADINGS WITH ANIMATION */

h1, h2 {
    text-align: center;
    text-transform: uppercase;
    line-height: .7;
    overflow: hidden;
    padding: 1em .25em 0;
    border-width: 0;
    border-style: solid;
    border-image: linear-gradient(to right, rgba(38,130,65,0) 0%,rgba(38,130,65,1) 40%,rgba(38,130,65,1) 60%,rgba(38,130,65,0) 100%);
    border-image-slice: 1;
    margin: 1.5em auto 0;
}

h1 {
    max-width: 1500px;
    font-size: 1.8em;
    font-style: italic;
    border-bottom-width: 3px;
}

h2 {
    font-size: 1.5em;
    font-weight: normal;
    border-bottom-width: 1px;
    margin: 1em 0;
}

.js h1,
.js h2 {
    line-height: 0;
    padding-top: 0;
}

.js h1.visible,
.js h2.visible {
    animation: headings 2.5s 1 forwards;
}

@keyframes headings {
    0% { transform: scaleX(0);  line-height: 0; padding-top: 0;  }
    50% { transform: scaleX(1); line-height: 0; padding-top: 0; }
    100% { transform: scaleX(1); line-height: .7; padding-top: 1em; }
}


/* MAIN */

main {
    display: block;
    position: relative;
    margin: auto;
    width: 1080px;
    max-width: 100%;
    padding: .5em;
    box-sizing: border-box;
}

main a,
main a:visited {
    color: var(--hellgruen);
}

main img {
    /*   border-image: linear-gradient(45deg, rgba(38,130,65,0) 0%, rgba(38,130,65,1) 50%, rgba(38,130,65,0) 100%) 1; */
    display: block;
    margin: 1.5em auto;
    border: 1px solid;
    border-radius:24px;
    max-width: 90%;
    box-shadow: 0 6px 11px 0 rgba(0,56,0,.4);
}

main p img {
    display: inline-block;
    margin: .25em;
}

.center {
    text-align: center;
}


/* FORM */

main form {
    display: block;
    margin: auto;
    max-width: 550px;
}

main label {
    display: block;
    text-align: left;
}

main input,
main textarea {
    width: 100%;
    box-sizing: border-box;
    background-color: rgb(255,255,255,.5);
    border: 1px solid var(--gruen);
    font: inherit;
    padding: .5em;
    margin-bottom: .5em;
}


/* FOOTER */

footer {  
    display: grid;
    justify-content: center;

    gap: 1em;
    grid-template-areas:
        "logo-galabau logo-bundesverband"
        "adresse adresse"
        "kontaktdaten kontaktdaten"
        "impressum impressum";
    background-color: var(--gruen);
    color: var(--beige);
    margin-top: 3em;
    padding: 2em .5em;
    text-align: center;
    align-items: center;
}

@media (min-width: 880px) {
    footer {
        gap: 2em;
        grid-template-areas:
            "adresse logo-galabau kontaktdaten"
            "impressum impressum impressum";
    }

    #footer__logo-bundesverband-galabau {
        display: none;
    }

    /*     #footer__adresse {
    text-align: right;
}

    #footer__kontaktdaten {
    text-align: left;
} */

}

#footer__logo-galabau-molle { grid-area: logo-galabau; }
#footer__logo-bundesverband-galabau { grid-area: logo-bundesverband; }
#footer__adresse { grid-area: adresse; }
#footer__kontaktdaten { grid-area: kontaktdaten; }
#footer__impressum { grid-area: impressum; }


footer img {
    height: 130px;
    max-height: 35vw;
    width: auto;
}


footer a {
    color: inherit;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}