footer {
    margin-top: 5rem;
    padding: 2rem 1rem 1rem;
    background-color: var(--hs-red);
    z-index: 998;
    color: var(--hs-white);
    width: 100%;
    box-sizing: border-box;

    * {
        font-size: 0.85rem;
        line-height: 1.4;
        color: var(--hs-white);
        text-decoration: none;
        display: block;
        margin: 0.2rem 0;
    }

    & > .footer-sections {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 1rem;
        padding-left: 50px;
        box-sizing: border-box;

        & > section {
            flex: 1 1 200px;
            margin: 0.5rem;
            padding: 0.5rem;

            & > h2 {
                font-size: 1.1rem;
                margin-bottom: 0.5rem;
                border-bottom: 1px solid rgba(255, 255, 255, 0.3);
                padding-bottom: 0.3rem;
            }
        }
    }

    & > .footer-bottom {
        width: 100%;
        text-align: center;
        margin-top: 1.5rem;
        font-size: 0.75rem;
        opacity: 0.7;
        border-top: 1px solid rgba(255, 255, 255, 0.3);
        padding-top: 0.5rem;
    }
}

@media (max-width: 1000px) {
    footer {
        width: calc(100% - 128px);
        margin-left: 128px;

        * {
            text-align: center;
            font-size: 1.5rem !important;
        }

        & > .footer-sections {
            flex-direction: column;
            padding: 0;
        }
    }
}