footer {
    margin-top: clamp(20px, 2.89vw, 55px);
    padding: clamp(35px, 3.51vw, 67px) 0.8rem clamp(50px, 1vw, 137px);
    background-color: var(--primary);
}
footer > div {
    margin: 0 auto;
    max-width: clamp(956px, 73.57vw, 1412px);
    gap: clamp(30px, 5.23vw, 100px);
}

footer h1,
a {
    color: white;
    text-decoration: none;
}
footer h1 {
    padding-bottom: clamp(15px, 1.8vw, 34px);
}
footer a {
    position: relative;
    display: inline-block;
    padding-bottom: clamp(15px, 0.96vw, 18px);
}
footer a:not(.no-underline)::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 2px;
    background-color: white;
    transition: width 0.2s;
}
footer a:hover::before,
footer a.active::before {
    width: 100%;
}

footer > div > div:first-child {
    width: 37%;
}
footer > div > div:nth-child(2) {
    width: 15%;
}
footer > div > div:last-child {
    width: 48%;
}

/* SOCIAL LINKS */
.social-links-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0 clamp(15px, 1.33vw, 25px);
}
.social-links-container > a:hover {
    transform: translateY(-5px);
}
.social-links-container > a > img {
    max-height: clamp(35px, 2vw, 38px);
    width: auto;
}
/* END SOCIAL LINKS */

@media (max-width: 1099.98px) {
    footer > div > div:first-child {
        width: 30%;
    }
    footer > div > div:nth-child(2) {
        width: 23%;
    }
    footer > div > div:first-child > div {
        flex-direction: column;
        gap: 0;
    }
}
@media (max-width: 767.98px) {
    footer > div {
        flex-direction: column;
    }
    footer > div > div {
        width: 100% !important;
    }
}
