.footer {
    width: 100%;
    display: flex;
    background-color: #FFF;
    padding: 0;
}

.footer__inner {
    max-width: 1256px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 46px;
    margin: 0 auto;
    padding: 80px 20px 32px;
    box-sizing: border-box;
}

.footer__top {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer__top-logo-block {
    display: flex;
    gap: 20px;
    max-width: 345px;
    align-items: end;

    & span {
        font: 300 16px/21px Roboto;
        color: #333333;
    }
}

.footer__top-logo {
    max-width: 123px;
    width: 100%;
    display: flex;
}

.footer__top-certificates {
    max-width: 628px;
    width: 100%;
    display: flex;
    gap: 20px;
}

.footer__top-certificate {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border: 1px solid #EBEDF1;
    border-radius: 12px;
    padding: 24px;
    box-sizing: border-box;
}

.footer__top-certificate-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 9px;

    & span:first-of-type {
        font: 300 14px/14px Roboto;
        color: #333333;
    }
    & span:last-of-type {
        font: 16px/16px Roboto;
        color: #333333;
    }
}

.footer__top-certificate-bottom {
    width: 100%;
    display: flex;
    gap: 12px;
    align-items: center;

    & span {
        font: 14px/14px Roboto;
        color: #9EA4AD;
    }
}

.footer__top-certificate-stars {
    display: flex;
    gap: 2px;
}

.footer__middle {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.footer__middle-rooms-menu {
    display: flex;
    gap: 11px;
    max-width: 308px;
    width: 100%;
}

.footer__middle-rooms {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 18px;
}

.footer__middle-rooms-title {
    display: flex;
    width: 100%;

    & span {
        font: 600 16px/16px Roboto;
        color: #333333;
    }
}

.footer__middle-rooms-body {
    display: flex;
    width: 100%;
    flex-direction: column;

    & a {
        font: 300 14px/14px Roboto;
        color: #333333;
        text-decoration: none;
        padding: 6px 0;

        &:first-of-type {
            padding-top: 0;
        }
        &:last-of-type {
            padding-bottom: 0;
        }
    }
}

.footer__middle-links-menu {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 12px;
    max-width: 342px;
}

.footer__middle-links-title {
    display: flex;
    width: 100%;

    & span {
        font: 600 16px/16px Roboto;
        color: #333333;
    }
}

.footer__middle-links-body {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 0 18px;

    & a {
        font: 300 14px/14px Roboto;
        color: #333333;
        text-decoration: none;
        padding: 6px 0;
        max-width: 162px;
        width: 100%;
    }
}

.footer__middle-special-menu {
    display: flex;
    max-width: 162px;
    width: 100%;
    flex-direction: column;

    & a {
        font: 600 16px/16px Roboto;
        color: #333333;
        padding: 9px 0;

        &:first-of-type {
            padding-top: 0;
        }
        &:last-of-type {
            padding-bottom: 0;
        }
    }
}

.footer__middle-contacts-menu {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 18px;
    max-width: 228px;
}

.footer__middle-contacts-title {
    display: flex;
    width: 100%;

    & span {
        font: 16px/16px Roboto;
        color: #333333;
    }
    & a {
        font: 600 16px/16px Roboto;
        color: #333333;
        text-decoration: none;
    }
}

.footer__middle-contacts-body {
    display: flex;
    width: 100%;
    flex-direction: column;

    & a {
        font: 300 14px/14px Roboto;
        color: #333333;
        text-decoration: none;
        padding: 6px 0;

        &:first-of-type {
            padding-top: 0;
        }
        &:last-of-type {
            padding-bottom: 0;
        }
    }
    & .header__social {
        margin-top: 20px;

        & a {
            width: 32px;
            height: 32px;
            background-color: #F4EEE7;
            border-radius: 8px;
            padding: 0;
        }
    }
    & .wa-icon {
        & svg {
            width: 14px;
            height: 14px;
        }
    }

    .tg-icon {
        & svg {
            width: 14px;
            height: 12px;
        }
    }

    .vk-icon {
        & svg {
            width: 14px;
            height: 8px;
        }
    }
}

.footer__bottom {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-top: 29px;
    border-top: 1px solid #EBEDF1;
    box-sizing: border-box;
    align-items: center;
}

.footer__bottom-policy {
    font: 300 12px/16px Roboto;
    color: #9EA4AD;
    text-decoration: none;
}

.footer__bottom-copyright {
    max-width: 644px;
    width: 100%;
    display: flex;
    font: 300 12px/16px Roboto;
    color: #9EA4AD;
}

.itb-copyright {
    position: relative;
    display: flex;
    gap: 12px;
    align-items: center;
    cursor: pointer;

    & span {
        font: 12px/14px Roboto;
        color: #9EA4AD;
    }
}

.itb-popup {
    display: flex;
    width: 302px;
    gap: 24px;
    padding: 12px;
    position: absolute;
    left: -33px;
    top: -53px;
    background-color: #F5F5F5;
    border-radius: 4px;
    box-shadow: 0 5px 7px 0 #00000014;
    visibility: hidden;
    opacity: 0;
    transition: visibility .2s, opacity .2s;

    & a {
        font: 14px/16px Roboto;
        color: rgba(51, 51, 51, .6);
        transition: color .2s;

        &:hover {
            color: rgba(118, 0, 0, .6);
        }
    }
    &:before {
        content: "";
        position: absolute;
        width: 12px;
        height: 12px;
        background-color: #F5F5F5;
        bottom: -6px;
        left: 48%;
        transform: rotate(45deg);
        border-radius: 2px;
        box-shadow: 0 5px 6px 0 rgba(0, 0, 0, 0.08);
    }
}

.itb-popup_visible {
    visibility: visible;
    opacity: 1;
}

.advertising__popup {
    max-width: 500px;
    width: 100%;
    display: flex;
    background-color: #FFF;
    border-radius: 10px;
    position: fixed;
    right: 40px;
    bottom: 40px;
    z-index: 20;
    visibility: hidden;
    opacity: 0;
    transform: translateY(200px) scale(.5);
    -webkit-box-shadow: 1px 1px 6px 1px rgba(34, 60, 80, 0.2);
    -moz-box-shadow: 1px 1px 6px 1px rgba(34, 60, 80, 0.2);
    box-shadow: 1px 1px 6px 1px rgba(34, 60, 80, 0.2);
    transition: visibility 0s, opacity .3s linear, transform .3s;
}

.advertising__inner {
    display: flex;
    width: 100%;
    flex-direction: column;
    background-color: #FFF;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.advertising__popup-image {
    max-width: 500px;
    width: 100%;
    aspect-ratio: 2 / 1;
    display: flex;
}

.advertising__popup-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.advertising__popup-title {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
}

.advertising__popup-title span {
    font: 20px/26px Roboto;
    color: #333333;
}

.advertising__popup-close-button {
    position: absolute;
    top: -24px;
    right: -24px;
    cursor: pointer;
    display: flex;
}

.advertising_opened {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media screen and (max-width: 1280px) {
    .advertising__popup {
        width: calc(100% - 60px);
    }
}


@media screen and (max-width: 1100px) {
    .footer__inner {
        padding: 60px 60px 32px;
    }
    .footer__top {
        flex-direction: column;
        justify-content: unset;
        align-items: unset;
        gap: 47px;
    }
    .footer__middle {
        flex-wrap: wrap;
        gap: 60px 10px;
    }
    .footer__middle-rooms-menu {
        order: 1;
    }
    .footer__middle-links-menu {
        order: 3;
    }
    .footer__middle-special-menu {
        max-width: 221px;
        order: 2;
    }
    .footer__middle-contacts-menu {
        max-width: 222px;
        order: 4;
    }
    .footer__middle-contacts-body {
        & .header__social {
            display: flex;
        }
    }
    .footer__bottom {
        justify-content: unset;
        flex-direction: column;
        align-items: unset;
    }
}


@media screen and (max-width: 720px) {
    .footer__inner {
        padding: 48px 20px;
    }
    .footer__top-logo-block {
        gap: 20px;
    }
    .footer__top-certificates {
        flex-direction: column;
    }
    .footer__middle {
        gap: 48px 10px;
    }
    .footer__middle-rooms-menu {
        gap: 32px;
        max-width: 335px;
        order: 1;
    }
    .footer__middle-links-menu {
        gap: 12px;
        order: 2;
    }
    .footer__middle-links-body {
        gap: 0 18px;

        & a {
            max-width: 158px;
        }
    }
    .footer__middle-special-menu {
        order: 3;
    }
    .footer__middle-contacts-menu {
        max-width: 335px;
    }
    .footer__middle-contacts-body {
        & .header__social {
            margin-left: 0;

            & a {
                width: 48px;
                height: 48px;
            }
        }
        & .wa-icon {
            & svg {
                width: 21px;
                height: 21px;
            }
        }
        .tg-icon {
            & svg {
                width: 21px;
                height: 18px;
            }
        }
        .vk-icon {
            & svg {
                width: 21px;
                height: 12px;
            }
        }
    }
    .itb-popup {
        left: 0;
        top: -53px;
    }
    .advertising__popup {
        max-width: unset;
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
        bottom: 20px;
    }
    .advertising__popup-title span {
        font: 18px/24px Roboto;
    }
    .advertising__popup-close-button {
        top: -28px;
        right: -10px;
    }
}


.visible {
    visibility: visible;
    opacity: 1;
}

.hidden {
    display: none;
}

.footer__choice {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

.footer__choice img {
    width: 100px;
}

@media (max-width: 951px) {
    .footer__choice {
        order: 2;
    }
}