.footer {
    position: relative;
    background-color: var(--color-gray-100);
    font-size: 16rem;
    line-height: 1.3;
    color: var(--color-gray-900);
    padding: 24rem 0 25rem;
}

.footer__top {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 36rem;
}

.footer__logo {
    display: block;
    width: 175rem;
    height: 50rem;
}

.footer__logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.footer__subscribe {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15rem;
}

.footer__subscribe-title {
    font-weight: 700;
    color: var(--color-primary);
}

.footer__form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
}

.footer__form br {
    display: none;
}

.footer__form-main {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 16rem;
}

.footer__form-main .wpcf7-not-valid-tip {
    display: none;
}

.footer__form-input {
    height: 48rem;
    padding: 0 23rem;
    background-color: var(--color-white);
    border: 1rem solid var(--color-gray-200);
    border-radius: 8rem;
    font-size: 16px;
    line-height: 16px;
    color: var(--color-gray-700);
    -webkit-transition: border-color var(--global-transition-duration);
    transition: border-color var(--global-transition-duration);
}

.footer__form-input.wpcf7-not-valid {
    border-color: #ff0000;
}

.footer__form-input:not([disabled]):focus {
    border-color: var(--color-primary);
}

.footer__form-input::-webkit-input-placeholder {
    -webkit-transition: opacity var(--global-transition-duration);
    transition: opacity var(--global-transition-duration);
}

.footer__form-input::-moz-placeholder {
    -moz-transition: opacity var(--global-transition-duration);
    transition: opacity var(--global-transition-duration);
}

.footer__form-input:-ms-input-placeholder {
    -ms-transition: opacity var(--global-transition-duration);
    transition: opacity var(--global-transition-duration);
}

.footer__form-input::-ms-input-placeholder {
    -ms-transition: opacity var(--global-transition-duration);
    transition: opacity var(--global-transition-duration);
}

.footer__form-input::placeholder {
    -webkit-transition: opacity var(--global-transition-duration);
    transition: opacity var(--global-transition-duration);
}

.footer__form-input:not([disabled]):focus::-webkit-input-placeholder {
    opacity: 0;
}

.footer__form-input:not([disabled]):focus::-moz-placeholder {
    opacity: 0;
}

.footer__form-input:not([disabled]):focus:-ms-input-placeholder {
    opacity: 0;
}

.footer__form-input:not([disabled]):focus::-ms-input-placeholder {
    opacity: 0;
}

.footer__form-input:not([disabled]):focus::placeholder {
    opacity: 0;
}

.footer__form-handler {
    position: relative;
}

.footer__form-button {
    background-image: var(--gradient-primary);
    border: none;
    padding: 12rem 24rem;
}

.footer__form.submitting .footer__form-button {
    color: transparent
}

.footer__form .wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    opacity: 1;
    background-color: var(--color-white);
}

.footer__form .wpcf7-spinner:before {
    background-image: var(--gradient-primary);
}

.footer__form .wpcf7-response-output {
    display: none;
}

.footer__form-text {
    width: 100%;
    font-size: 12rem;
    color: var(--color-gray-700);
}

.footer__form-text:not(:first-child) {
    margin-top: 8rem;
}

.footer__content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 14rem;
}

.footer__content:not(:first-child) {
    margin-top: 31rem;
}

.footer__contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 14rem;
}

.footer__contacts-title {
    font-weight: 700;
    font-size: 18rem;
    color: var(--color-primary);
}

.footer__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6rem;
    font-weight: 500;
    font-size: 18rem;
    -webkit-transition: color var(--global-transition-duration);
    transition: color var(--global-transition-duration);
}

.footer__contact span {
    display: block;
    font-size: 16rem;
    color: var(--color-gray-700);
}

.footer__contact span:has(> img) {
    position: relative;
    padding-left: 24rem;
}

.footer__contact span > img {
    width: 20rem;
    height: 20rem;
    position: absolute;
    top: 0;
    left: 0;
}

.footer__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16rem;
}

.footer__link {
    display: block;
    width: 24rem;
    height: 24rem;
    -webkit-transition: -webkit-transform var(--global-transition-duration);
    transition: -webkit-transform var(--global-transition-duration);
    transition: transform var(--global-transition-duration);
    transition: transform var(--global-transition-duration), -webkit-transform var(--global-transition-duration);
}

.footer__link img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.footer__menu {
    font-weight: 500;
}

.footer__menu a {
    display: block;
}

.footer__menu > li {
    border-top: 1rem solid var(--color-gray-200);
}

.footer__menu > li:last-child {
    border-bottom: 1rem solid var(--color-gray-200);
}

.footer__menu > li > a {
    font-weight: 700;
    font-size: 18rem;
    color: var(--color-primary);
    padding: 24rem 0;
}

.footer__menu > li > a[href='#'] {
    pointer-events: none;
}

.footer__menu > li > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 19rem;
    padding-bottom: 24rem;
}

.footer__menu > li > ul > li > a {
    -webkit-transition: color var(--global-transition-duration);
    transition: color var(--global-transition-duration);
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-header {
    position: relative;
    padding-right: 36rem;
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-header > a {
    font-weight: 700;
    font-size: 18rem;
    color: var(--color-primary);
    padding: 24rem 0;
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-header > a[href='#'] {
    pointer-events: none;
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-header > .menu-item-has-children-button {
    width: 24rem;
    height: 24rem;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.footer__menu
    > li.menu-item-has-children
    > .menu-item-has-children-header:has(> a[href='#'])
    .menu-item-has-children-button {
    width: 100%;
    height: 100%;
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-header > .menu-item-has-children-button:before {
    content: '';
    width: 24rem;
    height: 24rem;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    background: url('/wp-content/themes/build/assets/img/footer/primary-chevron-down.svg') center/contain no-repeat;
    -webkit-transition: -webkit-transform var(--global-transition-duration);
    transition: -webkit-transform var(--global-transition-duration);
    transition: transform var(--global-transition-duration);
    transition: transform var(--global-transition-duration), -webkit-transform var(--global-transition-duration);
}

.footer__menu
    > li.menu-item-has-children
    > .menu-item-has-children-header
    > .menu-item-has-children-button:has(> input:checked):before {
    -webkit-transform: translateY(-50%) rotate(180deg);
        -ms-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-header > .menu-item-has-children-button > input {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    cursor: pointer;
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 0fr;
    grid-template-rows: 0fr;
    -webkit-transition: grid-template-rows var(--global-transition-duration);
    transition: grid-template-rows var(--global-transition-duration);
    transition: grid-template-rows var(--global-transition-duration), -ms-grid-rows var(--global-transition-duration);
}

.footer__menu
    > li.menu-item-has-children:has(> .menu-item-has-children-header > .menu-item-has-children-button > input:checked)
    > .menu-item-has-children-content {
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
}

.footer__menu > li.menu-item-has-children > .menu-item-has-children-content > .menu-item-has-children-content-body {
    overflow: hidden;
}

.footer__menu
    > li.menu-item-has-children
    > .menu-item-has-children-content
    > .menu-item-has-children-content-body
    > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 19rem;
    padding-bottom: 24rem;
    -webkit-transition:
        opacity calc(var(--global-transition-duration) * 2),
        -webkit-transform calc(var(--global-transition-duration) * 2);
    transition:
        opacity calc(var(--global-transition-duration) * 2),
        -webkit-transform calc(var(--global-transition-duration) * 2);
    transition:
        transform calc(var(--global-transition-duration) * 2),
        opacity calc(var(--global-transition-duration) * 2);
    transition:
        transform calc(var(--global-transition-duration) * 2),
        opacity calc(var(--global-transition-duration) * 2),
        -webkit-transform calc(var(--global-transition-duration) * 2);
}

.footer__menu
    > li.menu-item-has-children:has(
        > .menu-item-has-children-header > .menu-item-has-children-button > input:not(:checked)
    )
    > .menu-item-has-children-content
    > .menu-item-has-children-content-body
    > ul {
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
}

.footer__menu
    > li.menu-item-has-children
    > .menu-item-has-children-content
    > .menu-item-has-children-content-body
    > ul
    > li
    > a {
    font-weight: 500;
    font-size: 16rem;
    -webkit-transition: color var(--global-transition-duration);
    transition: color var(--global-transition-duration);
}

.footer__menu
    > li.menu-item-has-children
    > .menu-item-has-children-content
    > .menu-item-has-children-content-body
    > ul
    > li
    > a[href='#'] {
    pointer-events: none;
}

.footer__menu
    > li.menu-item-has-children
    > .menu-item-has-children-content
    > .menu-item-has-children-content-body
    > ul
    > li
    > a:not([href='#']):active {
    color: var(--color-primary);
}

.footer__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24rem;
}

.footer__bottom:not(:first-child) {
    margin-top: 29rem;
}

.footer__simple-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30rem;
}

.footer__simple-menu a {
    display: block;
    -webkit-transition: color var(--global-transition-duration);
    transition: color var(--global-transition-duration);
}

.footer__alert {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    overflow-y: auto;
    background-color: rgba(0, 0, 0, 0.72);
    transition: visibility var(--global-transition-duration), opacity var(--global-transition-duration);
}

.footer__alert:not(.active) {
    visibility: hidden;
    opacity: 0;
}

.footer__alert-body {
    width: 100%;
    min-height: 100%;
    padding: 86rem 0;
}

.footer__alert-content {
    position: relative;
    transform-origin: center;
    background-color: var(--color-gray-100);
    border-radius: var(--border-radius);
    padding: 24rem 46rem 24rem 24rem;
    transition: transform var(--global-transition-duration);
}

.footer__alert:not(.active) .footer__alert-content {
    transform: scale(0);
}

.footer__alert-text {
    display: flex;
    align-items: center;
    min-height: 36rem;
    position: relative;
    padding-left: 58rem;
}

.footer__alert-text:before {
    content: '';
    width: 36rem;
    height: 36rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url('/wp-content/themes/build/assets/img/icons/circle-check.svg') center / contain no-repeat;
}

.footer__alert-close {
    width: 25rem;
    height: 25rem;
    position: absolute;
    top: 13rem;
    right: 14rem;
    z-index: 1;
}

.footer__alert-close:before,
.footer__alert-close:after {
    content: '';
    width: 20rem;
    height: 2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--color-primary);
}

.footer__alert-close:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.footer__alert-close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (min-width: 430px) {
    .footer__form-input {
        font-size: 16rem;
        line-height: 16rem;
    }
}

@media screen and (min-width: 768px) {
    .footer__alert-body {
        display: flex;
        align-items: center;
    }

    .footer__alert-content {
        max-width: 392rem;
        margin-left: auto;
        margin-right: auto;
    }

    .footer__alert-text {
        min-height: 48rem;
        padding-left: 72rem;
    }

    .footer__alert-text:before {
        width: 48rem;
        height: 48rem;
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .footer {
        border-top: 1rem solid var(--color-gray-200);
        padding: 47rem 35rem;
    }

    .footer__top {
        -ms-grid-columns: 1fr 2fr;
        grid-template-columns: 1fr 2fr;
        gap: 20rem;
    }

    .footer__logo {
        width: 233rem;
        height: 66rem;
    }

    .footer__subscribe {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 27rem;
    }

    .footer__subscribe-title {
        padding-top: 12rem;
    }

    .footer__form {
        max-width: 538rem;
        -webkit-column-gap: 26rem;
           -moz-column-gap: 26rem;
                column-gap: 26rem;
    }


    .footer__content {
        -ms-grid-columns: 1fr 2fr;
        grid-template-columns: 1fr 2fr;
        gap: 20rem;
    }

    .footer__content:not(:first-child) {
        margin-top: 62rem;
    }

    .footer__contacts {
        gap: 25rem;
    }

    .footer__contacts-title {
        display: none;
    }

    .footer__contact {
        gap: 8rem;
    }

    .footer__menu {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
        gap: 20rem;
    }

    .footer__menu > li {
        border-top: none;
    }

    .footer__menu > li:last-child {
        border-bottom: none;
    }

    .footer__menu > li:has(> ul) > a {
        display: none;
    }

    .footer__menu > li > ul {
        padding-bottom: 0;
    }

    .footer__menu > li.menu-item-has-children:before {
        content: '';
        width: 100%;
        height: 27rem;
        position: absolute;
        bottom: 0;
        left: 0;
        visibility: hidden;
        opacity: 0;
    }

    .footer__menu > li.menu-item-has-children:hover:before {
        visibility: visible;
        opacity: 1;
    }

    .footer__menu > li.menu-item-has-children > .menu-item-has-children-header {
        display: none;
    }

    .footer__menu > li.menu-item-has-children > .menu-item-has-children-header > .menu-item-has-children-button {
        display: none;
    }

    .footer__menu > li.menu-item-has-children > .menu-item-has-children-content {
        -ms-grid-rows: 1fr;
        grid-template-rows: 1fr;
        -webkit-transition: unset;
        transition: unset;
    }

    .footer__menu > li.menu-item-has-children:hover > .menu-item-has-children-content {
        visibility: visible;
        opacity: 1;
    }

    .footer__menu
        > li.menu-item-has-children
        > .menu-item-has-children-content
        > .menu-item-has-children-content-body
        > ul {
        -webkit-transition: unset;
        transition: unset;
        padding-bottom: 0;
    }

    .footer__menu
        > li.menu-item-has-children:has(
            > .menu-item-has-children-header > .menu-item-has-children-button > input:not(:checked)
        )
        > .menu-item-has-children-content
        > .menu-item-has-children-content-body
        > ul {
        -webkit-transform: unset;
            -ms-transform: unset;
                transform: unset;
        opacity: 1;
    }

    .footer__bottom {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

    .footer__bottom:not(:first-child) {
        border-top: 1rem solid var(--color-gray-200);
        margin-top: 24rem;
        padding-top: 16rem;
    }

    .footer__simple-menu {
        gap: 32rem;
    }
}

@media (hover: hover) {
    .footer a.footer__contact:hover {
        color: var(--color-primary);
    }

    .footer__link:hover {
        -webkit-transform: scale(1.1);
            -ms-transform: scale(1.1);
                transform: scale(1.1);
    }

    .footer__menu > li > ul > li > a:not([href='#']):hover {
        color: var(--color-primary);
    }

    .footer__menu
        > li.menu-item-has-children
        > .menu-item-has-children-content
        > .menu-item-has-children-content-body
        > ul
        > li
        > a:not([href='#']):hover {
        color: var(--color-primary);
    }

    .footer__simple-menu a:not([href='#']):hover {
        color: var(--color-primary);
    }
}
