.footer {
    background-color: var(--color-accent-blue);
    position: relative;
    z-index: 5;
}

.footer-container {
    padding-top: 50px;
    padding-bottom: 50px;
}

.footer-container__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.7fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 100px;
}

.footer-container__grid-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-subtitle, .footer-text, .footer-link, .footer-text-small {
    color: var(--color-text-light, #FFFFFF);
}

.footer-link {
    transition: color 0.5s ease-in-out;
}

.footer-link:hover {
    color: var(--color-accent-gray-light);
}

.footer-text-small {
    font-size: var(--font-size-vertical-tablet);
}

.footer-container__copyright {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media (max-width: 1199px) {
    .footer-container {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .footer-container__grid {
        gap: 40px;
        padding-bottom: 80px;
    }

    .footer-link:hover {
        color: var(--color-accent-gray-light);
    }

    .footer-text-small {
        font-size: var(--font-size-vertical-tablet);
    }
}

@media (max-width: 991px) {
    .footer-container {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .footer-container__grid {
        grid-template-columns: 1fr 0.7fr 1.2fr 1fr;
        gap: 30px;
        padding-bottom: 60px;
    }

    .footer-text-small {
        font-size: 10px;
    }
}

@media (max-width: 768px) {
    .footer-container {
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .footer-container__grid {
        grid-template-columns: 1fr 0.7fr 1fr 1fr;
        gap: 15px;
        padding-bottom: 50px;
    }

    .footer-text-small {
        font-size: 9px;
    }
}

@media (max-width: 575px) {
    .footer-container {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .footer-container__grid {
        gap: 15px;
        padding-bottom: 40px;
    }

    .footer-text-small {
        font-size: 9px;
    }
}

@media (max-width: 490px) {
    .footer-container__grid {
        display: grid;
        grid-template-columns: 1fr 1fr 0.5fr;
        grid-template-areas:
            "logo . ."
            "contact location info";
        row-gap: 30px;
        column-gap: 15px;
        padding-bottom: 40px;
        align-items: flex-start;
    }

    .footer-logo {
        grid-area: logo;
    }

    .footer-info {
        grid-area: info;
    }

    .footer-contact {
        grid-area: contact;
    }

    .footer-location {
        grid-area: location;
    }
}