.footer {
    width: 100%;
    height: auto;
    background: var(--color_grey);
    padding: 40px 10%;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
}

.footer_item {
    width: calc(100% / 3 - 20px);
    height: auto;

    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
}

.footer_item:nth-child(2) {
    padding-left: calc(100% / 3 - 25%);
}

.footer_item:nth-child(3) {
    padding-left: calc(100% / 3 - 25%);
}

.footer_item:last-of-type {
    width: 100%;
}

.footer_logo_container {
    width: auto;
    height: 64px;
}

.footer_logo {
    width: 100%;
    height: 100%;
}

.footer_contact_info_container, .footer_about_us_info_container, .footer_services_info_container {
    width: auto;
    height: auto;
    list-style: none;

    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
}

.footer_contact_info, .footer_about_us_info, .footer_services_info {
    width: auto;
    height: auto;
}

.footer_contact_info:last-of-type {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
}

.footer_contact_info_link, .footer_about_us_link, .footer_services_link {
    text-decoration: none;
    color: var(--color_black);
    transition: ease-out .2s;
}

.footer_contact_info:last-of-type .footer_contact_info_link {
    padding: 6px;
    border-radius: 10px;
    transition: ease-out .2s;

    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_contact_info_icon {
    width: 28px;
    height: 28px;
    transition: ease-out .2s;
}

.footer_item_text {
    width: 100%;
    text-align: center;
    color: var(--color_black);
}

@media(hover:hover) {
    .footer_contact_info:last-of-type .footer_contact_info_link:hover .footer_contact_info_icon {
        filter: invert(100%);
    }

    .footer_contact_info:last-of-type .footer_contact_info_link:first-of-type:hover {
        background: #5FFC7B;
    }

    .footer_contact_info:last-of-type .footer_contact_info_link:nth-of-type(2):hover {
        background: #C13584;
    }

    /* .footer_contact_info:last-of-type .footer_contact_info_link:last-of-type:hover {
        background: #27A7E7;
    } */

    .footer_contact_info_link:hover {
        color: var(--color_violet);
    }

    .footer_about_us_link:hover {
        color: var(--color_violet);
    }

    .footer_services_link:hover {
        color: var(--color_violet);
    }
}

@media screen and (max-width: 948px) {
    .footer {
        align-items: center;
        flex-wrap: wrap;
    }

    .footer_item {
        width: calc(100% / 2 - 20px);
    }

    .footer_item:nth-child(2) {
        padding-left: 0;
    }
    
    .footer_item:nth-child(3) {
        padding-left: 0;
    }
}

@media screen and (max-width: 948px) {
    .footer_item {
        width: 100%;

        align-items: center;
    }

    .footer_contact_info_container, .footer_about_us_info_container, .footer_services_info_container {
        align-items: center;
    }
}