body.scrolled header, body:not(.homepage) header {
    background-color: var(--header-background);
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}

body .mainmenu.active {
    background-color: var(--header-background);
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}

header {
    position: fixed;
    width: 100%;
    top: 0;
    padding: 10px 0;
    text-align: center;
    color: var(--header-color);
    transition: all 0.3s ease-out;
    z-index: 10;
    height: var(--header-height);

    .header-flexbox {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .mobileMenuToggle {
        display: block;
        font-size: 1.5rem;
        color: var(--heading-color);
        cursor: pointer;

        @media screen and (min-width: 768px) {
            display: none;
        }
    }

    .mainmenu {
        display: none;

        @media screen and (min-width: 768px) {
            display: block;
        }

        ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            justify-content: center;
            gap: 20px;
            width: 100%;

            a {
                font-size: 18px;
            }
        }

        &.active {
            display: block;
            position: absolute;
            top: calc(100% + 10px);
            left: 0;
            width: 100%;
            background-color: var(--header-background);
            z-index: 10;

            ul {
                flex-direction: column;
                align-items: flex-start;
                padding: 10px 20px;
            }
        }
    }

    a {
        color: var(--heading-color);
        text-decoration: none;

        &:hover {
            text-decoration: none;
            color: var(--link-color-hover);
        }

        &.active {
            font-weight: bold;
        }
    }
}

footer {
    background-color: var(--footer-background);
    color: var(--footer-color);
    margin-top: 2rem;
    padding-top: 2rem;

    .footerFlexbox {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;

        @media screen and (min-width: 768px) {
            grid-template-columns: 1fr 1fr 1fr 1fr;
        }
    }

    h3 {
        margin-top: 0;
    }

    .footerLogo {
        align-self: center;

        img {
            max-width: 150px;
            aspect-ratio: 1;
        }
    }

    .footerContact a {
        display: inline-flex;
        align-items: center;
    }

    nav>ul {
        list-style: none;
        padding: 0;
        margin: 0;

        li {
            padding-block: 5px;
        }
    }

    a {
        color: var(--footer-color);
        text-decoration: none;

        i {
            margin-right: 0.5rem;
        }

        &:hover {
            text-decoration: none;
            color: var(--link-color-hover);
        }
    }

    .brands {
        display: flex;
        gap: 10px;

        img {
            height: 40px;
            width: auto;
        }
    }

    .footerBottom {
        background-color: var(--footer-background);
        text-align: center;
        margin-top: 20px;
        border-top: 1px solid var(--footer-color);

        p {
            margin: 0;
            padding: 10px 0;
        }
    }
}