footer {
    background-color: var(--second-background);
    min-height: 5rem;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    padding: 2rem 1rem;
    gap: 1rem;
    font-size: 0.875rem;
}

footer ul {
    list-style-image: none;
}

footer #contact {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

footer #website-by {
    filter: opacity(0.8);
    font-size: 0.625rem;
}

footer #website-by a {
    text-decoration: none;
}

@media (min-width: 576px) {
    footer {
        grid-template-areas: 
            "oh contact"
            "oh sm"
            "oh kvk"
            "oh ."
            "oh wb"
        ;
        grid-template-columns: 1fr 1fr;
        justify-items: start;
    }

    footer #contact {
        grid-area: contact;
    }

    footer #opening-hours {
        grid-area: oh;
    }

    footer #social-media {
        grid-area: sm;
    }

    footer #kvk {
        grid-area: kvk;
    }

    footer #website-by {
        grid-area: wb;
        justify-self: end;
    }
}

@media (min-width: 768px) {
    footer {
        padding: 2rem 3rem;
    }
}

@media (min-width: 992px) {
    footer {
        grid-template-areas: 
            "oh contact kvk"
            "oh sm ."
            "oh . ."
            "oh . wb"
        ;
        grid-template-columns: 1fr 1fr 1fr; 
    }
}