
/*FONTS*/
@font-face {
    font-family: 'Hackensack';
    src: url('../assets/fonts/hackensack/Hackensack-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/hackensack/Hackensack-SemiBold.woff2') format('woff2'),
        url('../assets/fonts/hackensack/Hackensack-SemiBold.woff') format('woff'),
        url('../assets/fonts/hackensack/Hackensack-SemiBold.ttf') format('truetype'),
        url('../assets/fonts/hackensack/Hackensack-SemiBold.svg#Hackensack-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif';
    src: url('../assets/fonts/noto-serif/NotoSerif-Bold.eot');
    src: url('../assets/fonts/noto-serif/NotoSerif-Bold.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/noto-serif/NotoSerif-Bold.woff2') format('woff2'),
        url('../assets/fonts/noto-serif/NotoSerif-Bold.woff') format('woff'),
        url('../assets/fonts/noto-serif/NotoSerif-Bold.ttf') format('truetype'),
        url('../assets/fonts/noto-serif/NotoSerif-Bold.svg#NotoSerif-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif';
    src: url('../assets/fonts/noto-serif/NotoSerif-Light.eot');
    src: url('../assets/fonts/noto-serif/NotoSerif-Light.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/noto-serif/NotoSerif-Light.woff2') format('woff2'),
        url('../assets/fonts/noto-serif/NotoSerif-Light.woff') format('woff'),
        url('../assets/fonts/noto-serif/NotoSerif-Light.ttf') format('truetype'),
        url('../assets/fonts/noto-serif/NotoSerif-Light.svg#NotoSerif-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif';
    src: url('../assets/fonts/noto-serif/NotoSerif-Regular.eot');
    src: url('../assets/fonts/noto-serif/NotoSerif-Regular.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/noto-serif/NotoSerif-Regular.woff2') format('woff2'),
        url('../assets/fonts/noto-serif/NotoSerif-Regular.woff') format('woff'),
        url('../assets/fonts/noto-serif/NotoSerif-Regular.ttf') format('truetype'),
        url('../assets/fonts/noto-serif/NotoSerif-Regular.svg#NotoSerif-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif';
    src: url('../assets/fonts/noto-serif/NotoSerif-SemiBold.eot');
    src: url('../assets/fonts/noto-serif/NotoSerif-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/noto-serif/NotoSerif-SemiBold.woff2') format('woff2'),
        url('../assets/fonts/noto-serif/NotoSerif-SemiBold.woff') format('woff'),
        url('../assets/fonts/noto-serif/NotoSerif-SemiBold.ttf') format('truetype'),
        url('../assets/fonts/noto-serif/NotoSerif-SemiBold.svg#NotoSerif-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif';
    src: url('../assets/fonts/noto-serif/NotoSerif-Black.eot');
    src: url('../assets/fonts/noto-serif/NotoSerif-Black.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/noto-serif/NotoSerif-Black.woff2') format('woff2'),
        url('../assets/fonts/noto-serif/NotoSerif-Black.woff') format('woff'),
        url('../assets/fonts/noto-serif/NotoSerif-Black.ttf') format('truetype'),
        url('../assets/fonts/noto-serif/NotoSerif-Black.svg#NotoSerif-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* CSS Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/*VARIABLES*/
:root {
    --color-darkgrey: #21242F;
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-beige-light: #E3CA8B;
    --color-beige-dark: #9B8452;
}

html{
    overflow-x: hidden;
    background-color: var(--color-black);
    background-image: url('../assets/images/ff14background.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

body{
    width: 100%;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow-x: hidden;
    &::before{
        content: "";
        position: fixed;
        inset: 0;
        background: var(--color-darkgrey);
        opacity: 0.7;
        z-index: -1;
    }
    &#index{
        h1{
            font-size: 1em;
            color: var(--color-white);
            font-family: 'Noto Serif', serif;
            margin-bottom: 2rem;
        }
        h2{
            text-transform: uppercase;
            font-size: clamp(2.5rem, 8vw, 6.25rem); 
            font-weight: 600;
            background: linear-gradient(180deg, var(--color-beige-light) 50.41%, var(--color-beige-dark) 91.06%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
    }
    &:not(#index) {
        background: var(--color-darkgrey);
        align-items: center;
        padding: 2rem;
        color: var(--color-white);
        main{
            width: 100%;
            max-width: 700px;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }
        h3, h4, h5, h6, address {
            font-size: 1em;
        }
        p{
            font-size: 1em;
            margin-block: .5em;
            text-align: left;
        }
        address{
            display: block;
            font-style: normal;
            font-family: 'Noto Serif', serif;
            font-size: 1em;
            font-weight: 400;
            margin-top: 1rem;
        }

        &::before{
           display: none;
        }
    }
    
    h1,h2{
        font-family: 'Hackensack', sans-serif;
    }
    h3,h4,h5,h6,p{
        font-family: 'Noto Serif', serif;
    }


    p{
        color: var(--color-white);
        text-align: center;
        font-family: "Noto Serif";
        font-size: clamp(1rem, 2vw + 0.5rem, 1.25rem);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    section{
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 2rem;
        .logo-container{
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column-reverse;
            gap: 1rem;
            svg{
                width: 16rem;
                height: auto;
                @media (min-width: 800px) {
                    width: 24rem;
                }
            }
        }
        &.onepager{
            position: relative;
            p{
                max-width: 700px;
                margin-block: 2rem
            }
            .cta-wrapper{
                position: relative;
                &::before, &::after{
                    content: "";
                    position: absolute;
                    height: 1rem;
                    width: 30vw;
                    background: url('../assets/svg/section-deco.svg') no-repeat center / contain;
                    z-index: -1;
                    top: 50%;
                    translate: 0 -50%;
                    @media (min-width: 800px) {
                        width: 43vw;
                    }
                }
                &::before{
                    right: calc(100% + 1rem);
                    @media (min-width: 800px) {
                        right: calc(100% + 2.5rem);
                    }
                }
                &::after{
                    left: calc(100% + 1rem);
                    rotate: 180deg;
                    @media (min-width: 800px) {
                        left: calc(100% + 2.5rem);
                    }
                }
            }
        }
    }

    button, .button{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        flex-direction: row;
        padding: 1em 1.5em;
        z-index: 1;
        border-radius: 0.9375rem 0.3125rem;
        border: 1px solid var(--color-beige-light);
        background: linear-gradient(280deg, var(--color-beige-dark) -8.03%, var(--color-beige-light) 49.63%);
        width: fit-content;
        cursor: pointer;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        transition: all 0.3s ease;
        span{
                font-family: 'Hackensack', sans-serif;
                font-size: 1.25rem;
                font-weight: 600;
                color: var(--color-darkgrey);
                text-transform: uppercase;
                letter-spacing: 0.25rem;
                z-index: 3;
        }
        image{
                width: 2em;
                margin-top: -4px;
        }
        &.is--primary{
            position: relative;
            background: linear-gradient(280deg, var(--color-beige-dark) -8.03%, var(--color-beige-light) 49.63%);
            box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
            transition: filter 0.3s ease;
            border: none;
            padding: 1.5em 1.5em;
            span{
                color: var(--color-darkgrey);
            }
            &::before{
                content: "";
                position: absolute;
                top: -6px;
                left: 50%;
                width: 181px;
                height: 12px;
                background: url('../assets/svg/button-deco.svg') no-repeat center / contain;
                z-index: 2;
                translate: -50% 0;
            }
            &::after{
                content: "";
                position: absolute;
                bottom: -6px;
                left: 50%;
                width: 181px;
                height: 12px;
                background: url('../assets/svg/button-deco.svg') no-repeat center / contain;
                z-index: 2;
                translate: -50% 0;
            }
            &:hover{
                background: var(--color-darkgrey);
                border: 1px solid var(--color-beige-light);
                &::before, &::after{
                    background: url('../assets/svg/button-deco-hover.svg') no-repeat center / contain;
                }
                span{
                    color: var(--color-white);
                }
            }
        }
        &.has--icon{
            svg{
                width: 1.25rem;
                height: 1.25rem;
                path{
                    fill: var(--color--darkgrey);
                }
            }
            &:hover{
                svg{
                    rotate: 20deg;
                    path{
                        fill: var(--color-white);
                    }
                }
            }
        }
        &:hover{
            background: var(--color-darkgrey);
            border: 1px solid var(--color-beige-light);
            span{
                color: var(--color-white);
            }
        
        }
    }
    a{
        color: var(--color-white);
        text-decoration: none;
        font-family: 'Noto Serif', serif;
        font-size: clamp(1rem, 2vw + 0.5rem, 1rem);
        font-weight: 400;
    }

    footer{
        position: absolute;
        bottom: 1.5rem;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.75rem;
        .footer-divider{
            color: var(--color-beige-dark);
            font-family: 'Noto Serif', serif;
        }
    }

    main{
        width: 100%;
        margin: 0 auto
    }

    .impressum-content{
        margin-block: 3rem;
    }

    .ds-block{
        h2, h3, h4{
            text-align: center;
            margin-top: 2rem;
            margin-bottom: 1rem;
        }
        p{
            text-align: center;
        }
    }

}



