* {
    box-sizing: border-box;
}

body{
    margin: 0;
    padding: 0 0 5rem;
    font-family: "Zalando Sans SemiExpanded", sans-serif;
    line-height: 1.4;

    img{
        max-width: 100%;
        height: auto;
    }

    a.link-button{
        display: inline-block;
        background-color: #dd0000;
        border-radius: 4px;
        padding: 0.5rem 1rem;
        color: #ffffff;
        font-weight: bold;
        text-decoration: none;
    }

    header.site-header{
        display: flex;
        flex-direction: row;
        height: 6rem;
        background-color: #ffffff;
        align-items: center;
        padding: 0 7.5vw;
        gap: 1rem;

        a.logo-link{
            display: flex;
            align-items: center;

            img{
                height: 5.5rem;
            }
        }

        .spacer{
            flex-grow: 1;
        }

        nav {
            display: flex;
            align-items: center;
            gap: 2rem;

            a:not(.link-button){
                color: rgba(0, 0, 0, 0.85);
                text-decoration: none;
                font-weight: bold;
            }

            a.active{
                color: #dd0000;
            }

            a:not(:first-child){
                margin-left: 0;
            }
        }
    }

    section.banner{
        background-color: #262626;
        color: #ffffff;
        align-items: center;
        text-align: center;
        padding: 1rem;
        font-weight: bold;

        a{
            color: #ffffff;
            text-decoration: none;
        }
    }

    footer{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 0 7.5vw;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        border-top: 1px solid black;
        height: 4rem;
        align-items: center;
        background-color: #262626;
        color: white;
    }
}

@media (max-width: 900px){
    body{
        padding: 0 0 4.5rem;

        header.site-header{
            padding: 0 1rem;
            height: auto;
            min-height: 6rem;

            a.logo-link{
                img{
                    height: 5rem;
                }
            }

            nav{
                gap: 0.75rem;

                a.link-button{
                    padding: 0.45rem 0.8rem;
                }
            }
        }

        footer{
            padding: 0 1rem;
            font-size: 0.92rem;
            height: 3.75rem;
        }
    }
}

@media (max-width: 700px){
    body{
        padding: 0;

        header.site-header{
            flex-wrap: wrap;
            justify-content: center;
            padding: 0.8rem 1rem;
            gap: 0.8rem;

            .spacer{
                display: none;
            }

            nav{
                width: 100%;
                justify-content: center;
                flex-wrap: wrap;
            }
        }

        section.banner{
            font-size: 0.95rem;
            padding: 0.85rem 1rem;
        }

        footer{
            position: static;
            height: auto;
            padding: 1rem;
            flex-direction: column;
            justify-content: center;
            gap: 0.3rem;
            text-align: center;
        }
    }
}
