.footer {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 35px 0 50px;

    background-color: var(--white, #FFFFFF);

    border-top: 1px solid #D9D9D9;
}

.footer__wrapper {
    display: grid;
    grid-template-columns: 120px auto min-content;
    grid-template-rows: 108px auto;

    grid-template-areas: "logo menu contacts"
                         "info info info";

    margin: 0 auto;
    max-width: 1170px;
    gap: 20px;
    font-family: var(--text-family-main, sans-serif);
}

.logo_footer {
    grid-area: logo;
    width: 120px;
    height: auto;
}

.menu-bottom {
    grid-area: menu;

    justify-self: center;
    align-self: center;
    width: 100%;
    color: var(--text-color-menu, #3C3C3C);
    font-family: var(--text-family-featured, sans-serif);
    font-size: 18px;
    font-weight: 500;

    line-height: 22px;

    text-transform: uppercase;

    overflow: hidden;
}

.menu-bottom__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, min-content);
    justify-content: center;
    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;
    flex-wrap: wrap;


    list-style: none;
}

.menu-bottom__item {
    justify-self: start;
    margin-right: 10px;
    margin-bottom: 20px;
}

.menu-bottom__item:nth-child(3n) {
    margin-right: 0;
}

.menu-bottom__item:nth-last-child(-n + 3) {
    margin-bottom: 0;
}

.menu-bottom__item:last-of-type {
    margin-right: 0;
    margin-bottom: 0;
}

.menu-bottom__link {
    display: inline-block;
    padding: 0 12px 3px;

    color: var(--link-normal-color, #3C3C3C);

    text-decoration: none;

    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
}

.menu-bottom__link:hover, .menu-bottom__link:focus {
    color: var(--link-normal-color_hover, #3C3C3C);

    text-decoration: none;
    text-shadow: 0 0 1px var(--link-normal-color_hover, #3C3C3C);

    border-bottom: 3px solid var(--green, #37CDAF);
}

.menu-bottom__item:nth-last-child() {
    margin-right: 0;
}

.menu-bottom__item_current .menu-bottom__link {
    color: var(--link-normal-color_hover, #3C3C3C);

    text-decoration: none;
    text-shadow: 0 0 1px var(--link-normal-color_hover, #3C3C3C);

    border-bottom: 3px solid var(--green, #37CDAF);
}

.contacts {
    grid-area: contacts;
    align-self: center;

    font-size: 28px;

    line-height: 47px;

    text-align: left;
}

.contacts__link {
    color: inherit;

    text-decoration: none;
    white-space: nowrap;
}

.contacts__link:hover {
    text-decoration: none;
}

.contacts__link_mailto {
    font-size: 28px;

    line-height: 41px;
}

.info {
    grid-area: info;
    display: flex;
    justify-content: space-between;
    padding-top: 30px;

    font-size: 15px;
    font-weight: 300;

    line-height: 18px;
}

.info__link {
    color: inherit;

    text-decoration: underline;
}

.info__link:hover {
    color: var(--link-normal-color_hover, #3C3C3C);
}

@media (max-width: 986px) {
    .footer {
        padding-bottom: 32px;
    }

    .info {
        flex-direction: column;

        text-align: center;

        font-size: 12px;

        line-height: 14px;
    }

    .info__copyright {
        margin-bottom: 28px;
    }

    .info__termsofuse {
        margin-bottom: 8px;
    }
}

@media (max-width: 900px) {
    .footer {
        padding: 17px 50px 33px;
    }

    .footer__wrapper {
        grid-template-columns: auto;
        grid-template-rows: repeat(4, auto);

        grid-template-areas: "logo"
                             "menu"
                             "contacts"
                             "info";

        margin: 0 auto;
        max-width: 1170px;

        justify-content: center;
    }

    .logo_footer {
        justify-self: center;
        width: 121px;
        height: 78px;
        margin-bottom: 14px;
    }

    .menu-bottom {
        margin-bottom: 35px;
    }

    .menu-bottom__items {
        grid-template-columns: repeat(2, min-content);
        grid-template-rows: repeat(3, min-content);
    }

    /* ПОПРАВИТЬ ОТСТУПЫ МЕЖДУ ЭЛЕМЕНТАМИ МЕНЮ!!! */

    .contacts {
        margin-bottom: 51px;

        text-align: center;
    }

    .contacts__link {
        display: block;
        margin-bottom: 15px;

        font-size: 28px;
        font-weight: 400;

        line-height: 33px;
    }

    .contacts__link:last-of-type {
        margin-bottom: 0
    }

    .info {
        padding: 0;
    }
}
