.footer {
    padding-bottom: 68px;
}


.footer__wrapper {
    display: flex;
    border-radius: 40px 0 40px 40px;
    margin-right: auto;
    margin-left: auto;
    background: #202029;
    padding: 60px 48px 39px 0;
    justify-content: space-between;
    gap: 40px;
}

.footer__top-bar {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: center;
    border-bottom: 1px solid #FFF;
    padding-bottom: calc(27px + (146 - 27)*((100vw - 390px) / (1920 - 390)));
    margin-bottom: calc(33px + (44 - 33)*((100vw - 390px) / (1920 - 390)));
}


.footer__menus ul li a {
    font-weight: 400;
    color: #FFF;
    transition: all 0.3s ease;
    justify-content: flex-end;
}

.footer__form-text {
    font-weight: 400;
    font-size: calc(14px + (18 - 14)*((100vw - 390px) / (1920 - 390)));
    color: #FFF;
    margin-bottom: 20px;
}

.footer__form-text-under {
    font-weight: 400;
    font-size: 12px;
    color: #FFF;
    margin-bottom: 0;
}

.footer__form-heading {
    font-size: 20px;
    color: #FFF;
    font-weight: 600;
    margin-bottom: calc(20px + (29 - 20)*((100vw - 390px) / (1920 - 390)));
}

.footer__menus ul {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 0;
}

.footer__heading {
    font-weight: 500;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: -0.05em;
    margin-bottom: 15px;
}


.footer__logo {
    width: calc(78px + (111 - 78)*((100vw - 390px) / (1920 - 390)));
    height: calc(79px + (113 - 79)*((100vw - 390px) / (1920 - 390)));
    object-fit: contain;
}

.footer__bottom-bar {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
}

.footer__bottom-bar a:hover {
    color: #FFF;
}

.footer__logo-link {
    display: flex;
}

.footer__copyright {
    margin-bottom: 0;
    color: #FFF;
    font-size: calc(14px + (18 - 14)*((100vw - 390px) / (1920 - 390)));
}

.footer__btn {
    margin-bottom: 30px;
    max-width: 300px;
    display: flex;
    align-items: center;
    gap: 25px;
}

.footer__btn-icon {
    border: 1px solid #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 24px;
}

.footer__icons {
    position: relative;
    display: flex;
}

.footer__icons img {
    width: 18px;
    height: 18px;
    transition: all 0.3s ease;
    }

.icon-hover {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
}

.footer__middle-bar a:hover .icon-hover {
    opacity: 1;
}

.footer__middle-bar a .icon-default {
    opacity: 1;
}

.footer__middle-bar a:hover .icon-default {
    opacity: 0;
}

.footer__menus {
    flex-wrap: wrap;
    display: flex;
    column-gap: calc(30px + (100 - 30)*((100vw - 1200px) / (1440 - 1200)));
    row-gap: 30px;
}

.footer__menu li {
    width: fit-content;
}

.footer__menu {
    flex-basis: calc((100% - calc(60px + (200 - 60)*((100vw - 1200px) / (1440 - 1200)))) / 3);
    flex-grow: 0;
}

.footer__menu li:not(:last-child) {
    margin-bottom: 10px;
}

.footer__form {
    flex-basis: calc(200px + (504 - 200)*((100vw - 390px) / (1920 - 390)));
}

.subscribe-form-wrapper p{
    display: flex;
    gap: calc(10px + (20 - 10)*((100vw - 1200px) / (1920 - 1200)));
    align-items: center;
    margin-bottom: calc(20px + (25 - 20)*((100vw - 390px) / (1920 - 390)));
}

.subscribe-form-wrapper .wpcf7-form-control.wpcf7-email {
    max-width: calc(227px + (327 - 227)*((100vw - 1200px) / (1920 - 1200)));
    margin-bottom: 0;
}

.subscribe-form-wrapper .wpcf7-submit {
    min-width: calc(110px + (148 - 110)*((100vw - 1200px) / (1920 - 1200)));
}

.footer__socials {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #F1F4F9;
    flex-direction: column;
    margin-top: -60px;
    height: fit-content;
    border-radius: 0 0 24px 0;
    padding-bottom: 20px;
    padding-right: 20px;
    margin-right: 64px;
    position: relative;
}

.footer__left {
    display: flex;
    flex-basis: 430px;
    min-width: fit-content;
}

.footer__left-inner {
    display: flex;
    flex-direction: column;
    flex-basis: 310px;
}

.footer__social {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: #FF5A46;
    width: 36px;
    height: 36px;
    border-radius: 100%;
}

.footer__social * {
    transition: all 0.3s ease;
}

.footer__social-icon {
    width: 16px;
    height: 16px;
}

.footer__social-icon.hover-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    opacity: 0;
}

.footer__social:has(.hover-icon):hover .footer__social-icon.hover-icon {
    opacity: 1;
}

.footer__social:has(.hover-icon):hover {
    background: #202029;
}

.footer__social:has(.hover-icon):hover  .footer__social-icon {
    opacity: 0;
}

footer input[type="email"] {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border-radius: 11px;
    padding: calc(11px + (14 - 11)*((100vw - 390px) / (1920 - 390))) calc(32px + (20 - 32)*((100vw - 390px) / (1920 - 390)));
}

footer input[type="email"]::placeholder {
    color: #c6c5c5;
}

.footer__top-ledge {
    cursor: pointer;
    background: #202029;
    width: fit-content;
    padding: 14px 30px 8px 30px;
    margin-left: auto;
    border-radius: 24px 24px 0 0;
    display: flex;
    gap: 10px;
    color: #FFF;
    position: relative;
    transition: all 0.3s ease;
}

.footer__top-ledge:hover {
    color: #FF5A46;
}

.footer-decor {
    position: absolute;
}

.footer-decor path {
    fill: #F1F4F9;
}

.footer__top-ledge path {
    fill: #202029;
}

.footer__top-ledge-decor {
    bottom: 0;
    left: -23.5px;
}

.footer__socials-decor {
    right: -24px;
    top: 0;
}

.footer__socials-decor-2 {
    bottom: -24px;
    left: 0;
}

.footer__top-icon {
    width: 25px;
    height: 25px;
    display: flex;
    flex-shrink: 0;
}

.footer__big-text {
    margin-bottom: 30px;
    color: #FFF;
}

.footer__big-text p {
    margin-bottom: 0;
}

.footer__bottom-text {
    display: flex;
    gap: 30px;
    align-items: flex-end;
    height: 100%;
    margin-top: 20px;
}


.footer-bottom-text-mobile,
.footer-top-ledge-mobile {
    display: none;
}

footer .clutch-widget iframe {
    background: #FFF;
    border-radius: 12px;
    max-width: 295px !important;
}

.footer__bottom-logo-wrapper {
    margin-top: 20px;
    background: #FFF;
    padding: 10px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer__bottom-text-3 {
    margin-top: 20px;
}

.bottom-logo-mobile {
    display: none;
}
.bottom-text--mobile {
    display: none;
}
@media screen and (min-width: 1440px) {
    .footer__menus {
        column-gap: 100px;
    }

    .footer__menu {
        flex-basis: calc((100% - 200px) / 3);
    }
}
@media screen and (max-width: 1199.98px) {
    .footer__wrapper {
        padding: 40px 20px 20px 0;
        gap: 50px;
    }

    .footer__socials {
        margin-right: 30px;
        margin-top: -41px;
        padding-bottom: 10px;
        padding-right: 10px;
    }


    .footer__menus {
        column-gap: 30px;
    }

    .footer__menu {
        flex-basis: calc((100% - 30px) / 2);
    }


}

@media screen and (max-width: 1023.98px) {
    .footer__wrapper {
        flex-direction: column;
        border-radius: 20px;
        padding: 60px 22px 0 25px;
        gap: 0;
    }

    .footer__bottom-text {
        flex-direction: column;
        gap: 10px;
        justify-content: flex-end;
    }
    .bottom-text--mobile.footer__bottom-text-3 {
        display: flex;
        justify-content: center;
        width: 100%;
        margin-bottom: 15px;
        margin-top: 0;
    }

    .footer__top-ledge-decor path{
        fill: #DEE3ED;
    }

    .footer__bottom-logo-wrapper,
    .footer__bottom-text-3 {
        display: none;
    }

    .footer__bottom-logo-wrapper.bottom-logo-mobile {
        display: flex;
        margin-top: 0;
        margin-bottom: 20px;
    }

    .footer__socials {
        margin-right: 20px;
        margin-top: -61px;
        margin-left: -25px;
        padding-bottom: 10px;
        padding-right: 10px;
    }

    .footer__social {
        width: 40px;
        height: 40px;
    }

    .footer__social-icon {
        width: 18px;
        height: 18px;
    }

    .footer__top-ledge {
        display: none;
    }

    .footer__logo {
        align-self: flex-start;
    }

    .footer__bottom-bar {
        width: 100%;
        justify-content: space-between;
    }


    .footer__btn {
        margin-left: auto;
        margin-right: auto;
        max-width: 259px;
    }

    .footer__menus {
        column-gap: 30px;
        row-gap: 30px;
        margin-bottom: 30px;
        flex-wrap: wrap;
    }

    .footer__menu {
        flex-basis: calc((100% - 60px) / 3);
    }


    .footer__form {
        flex-basis: fit-content;
    }

    .footer__copyright {
        max-width: 126px;
    }

    .footer__bottom-text {
        display: none;
    }

    .footer__left {
        width: 100%;
        flex-basis: 100%;
        margin-bottom: 30px;
    }

    .footer__left-inner {
        margin-left: auto;
        margin-right: auto;
        flex-basis: 100%;
        text-align: center;
    }

    .footer__heading {
        font-size: 18px;
    }

    .footer-bottom-text-mobile {
        display: flex;
        flex-direction: row;
        gap: 12px;
        align-items: center;
        justify-content: center;
        margin-bottom: 22px;
        margin-top: 0;
    }

    .footer__bottom-text-separator {
        height: 12px;
        width: 1px;
        background: #999A9A;
    }

    .footer-top-ledge-mobile {
        display: flex;
        background: #DEE3ED;
        padding: 14px 30px 8px 30px;
        max-width: 305px;
        align-items: center;
        margin-right: -25px;
        color: #202029;
    }

    .footer {
        padding-bottom: 66.5px;
    }

    .footer__big-text {
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        text-align: start;
    }

    .clutch-widget {
        display: flex;
        justify-content: center;
    }

    footer .clutch-widget iframe {
        width: 100%!important;
    }
}


@media screen and (max-width: 599.98px) {
    .subscribe-form-wrapper p {
        flex-direction: column;
        gap: 20px;
    }

    .footer__menu {
        flex-basis: calc((100% - 30px) / 2);
    }

    .subscribe-form-wrapper .wpcf7-form-control.wpcf7-email {
        max-width: 100%;
        width: 100%;
    }

    .subscribe-form-wrapper .wpcf7-submit {
        width: 100%;
    }

    .footer__btn {
        max-width: 100%;
    }
}

@media screen and (max-width: 499.98px) {
    .footer__menu {
        flex-basis: 100%;
    }
}
