.contact {
    position: relative;
    margin-bottom: -37px !important;
    margin-top: 32px !important
}

@media (min-width: 768px) {
    .contact {
        margin-bottom: -52px !important;
        margin-top: 60px !important
    }
}

.contact__wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    padding: 24px 16px;
    flex-flow: column
}

@media (min-width: 768px) {
    .contact__wrap {
        padding: 24px
    }
}

@media (min-width: 1024px) {
    .contact__wrap {
        padding: 52px 54px
    }
}

@media (min-width: 1280px) {
    .contact__wrap {
        flex-flow: nowrap
    }
}

.contact__wrap-text {
    order: 1;
    display: flex;
    width: 100%;
    color: var(--wp--preset--color--white);
    flex-flow: column
}

@media (min-width: 1280px) {
    .contact__wrap-text {
        max-width: 540px
    }
}

.contact__wrap-text_title {
    margin-bottom: 16px;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2
}

@media (min-width: 1024px) {
    .contact__wrap-text_title {
        font-size: 44px
    }
}

.contact__wrap-text_desc {
    font-size: 16px;
    font-weight: 300;
    line-height: 20px
}

@media (min-width: 1024px) {
    .contact__wrap-text_desc {
        font-size: 18px;
        line-height: 22px
    }
}

.contact__wrap-img {
    order: 3;
    margin: -24px auto -57px;
    display: flex;
    max-width: 368px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center
}

@media (min-width: 768px) {
    .contact__wrap-img {
        margin-bottom: -109px
    }
}

@media (min-width: 1024px) {
    .contact__wrap-img {
        max-width: 485px
    }
}

@media (min-width: 1280px) {
    .contact__wrap-img {
        order: 2;
        margin-bottom: -107px;
        margin-top: -102px
    }
}

.contact__wrap-img img {
    height: auto;
    max-width: 100%
}

.contact__wrap-form {
    order: 2;
    width: 100%
}

@media (min-width: 1280px) {
    .contact__wrap-form {
        order: 3;
        max-width: 323px
    }
}

.contact__wrap-form form,
.contact__wrap-form form input,
.contact__wrap-form form textarea {
    width: 100%
}

.contact__wrap-form form p br {
    display: none
}

.contact__wrap-form form p .wpcf7-form-control-wrap {
    position: relative;
    margin-bottom: 8px;
    display: flex
}

.contact__wrap-form form p .wpcf7-form-control-wrap:last-of-type {
    margin-bottom: 0
}

.contact__wrap-form form p .wpcf7-form-control-wrap textarea {
    max-height: 83px
}

.contact__wrap-form form p .wpcf7-form-control-wrap input,
.contact__wrap-form form p .wpcf7-form-control-wrap textarea {
    background-color: inherit;
    padding: 12.5px 16px;
    font-size: 15px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--white);
    border: 2px solid #fff;
    transition: .25s ease-in-out
}

.contact__wrap-form form p .wpcf7-form-control-wrap input[aria-invalid=true],
.contact__wrap-form form p .wpcf7-form-control-wrap textarea[aria-invalid=true] {
    border: 2px solid #ff475c
}

.contact__wrap-form form p .wpcf7-form-control-wrap input:hover,
.contact__wrap-form form p .wpcf7-form-control-wrap textarea:hover {
    opacity: .8
}

.contact__wrap-form form p .wpcf7-form-control-wrap input:focus,
.contact__wrap-form form p .wpcf7-form-control-wrap textarea:focus {
    background-color: transition;
    outline: none;
    border-color: #fff;
    box-shadow: none !important
}

.contact__wrap-form form p .wpcf7-form-control-wrap input::-moz-placeholder,
.contact__wrap-form form p .wpcf7-form-control-wrap textarea::-moz-placeholder {
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--white)
}

.contact__wrap-form form p .wpcf7-form-control-wrap input::placeholder,
.contact__wrap-form form p .wpcf7-form-control-wrap textarea::placeholder {
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--white)
}

.contact__wrap-form form p .custom-file-wrapper {
    position: relative;
    margin-bottom: 8px;
    display: inline-block;
    width: 100%;
    cursor: pointer
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label {
    position: relative;
    display: flex;
    width: 100%;
    background-color: inherit;
    padding: 12.5px 48px 12.5px 16px;
    font-size: 15px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--white);
    transition-property: .25s;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    transition-duration: ease-in-out;
    border: 2px solid #fff;
    word-break: break-all
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label.error {
    border: 2px solid #ff475c
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label:after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='22' viewBox='0 0 18 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.16178 8.34075C9.49652 8.00602 10.0392 8.00602 10.374 8.34075C10.7087 8.67549 10.7087 9.2182 10.374 9.55294L6.79803 13.1289C6.31204 13.6149 6.28383 14.433 6.79803 14.9471C7.31222 15.4613 8.13032 15.4331 8.6163 14.9471L15.2833 8.28014C16.6561 6.90732 16.581 4.72912 15.2833 3.43141C13.9856 2.1337 11.8074 2.05859 10.4346 3.43141L3.76757 10.0984C1.58123 12.2848 1.622 15.832 3.76757 17.9776C5.91313 20.1232 9.46042 20.1639 11.6468 17.9776L15.2227 14.4017C15.5574 14.0669 16.1001 14.0669 16.4349 14.4017C16.7696 14.7364 16.7696 15.2791 16.4349 15.6139L12.8589 19.1898C9.99681 22.0519 5.36426 21.9987 2.55538 19.1898C-0.253494 16.3809 -0.306742 11.7484 2.55538 8.88624L9.22239 2.21923C11.2841 0.157532 14.5463 0.270021 16.4955 2.21923C18.4447 4.16843 18.5572 7.43063 16.4955 9.49233L9.82848 16.1593C8.69101 17.2968 6.78891 17.3624 5.58584 16.1593C4.38278 14.9563 4.44837 13.0542 5.58584 11.9167L9.16178 8.34075Z' fill='white' /%3E%3C/svg%3E");
    position: absolute;
    right: 12px;
    height: 22px;
    width: 18px;
    background-size: contain;
    background-position: right center;
    background-repeat: no-repeat
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label:hover {
    opacity: .8
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label:focus {
    --tw-bg-opacity: 1;
    background-color: rgb(0 197 112 / var(--tw-bg-opacity));
    outline: none;
    border-color: #fff;
    box-shadow: none !important
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label::-moz-placeholder {
    font-size: 15px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--white)
}

.contact__wrap-form form p .custom-file-wrapper .custom-file-label::placeholder {
    font-size: 15px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--white)
}

.contact__wrap-form form p .custom-file-wrapper .wpcf7-file {
    position: absolute;
    left: 0;
    top: 0;
    display: none;
    height: 100%;
    width: 100%;
    cursor: pointer;
    opacity: 0
}

.contact__wrap-form form p .custom-file-wrapper #file-name {
    margin-top: 10px;
    display: block;
    font-size: 14px;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity))
}

.contact__wrap-form form p .custom-file-wrapper .wpcf7-form-control-wrap {
    position: static
}

.contact__wrap-form form p .wpcf7-not-valid-tip {
    position: absolute;
    left: .75rem;
    top: -.5rem;
    display: none;
    background-color: inherit;
    padding-left: .25rem;
    padding-right: .25rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 11px;
    --tw-text-opacity: 1;
    color: rgb(255 71 92 / var(--tw-text-opacity))
}

.contact__wrap-form form p .wpcf7-not-valid-tip:last-child {
    display: block
}

.contact__wrap-form form p .wpcf7-submit {
    margin-top: 16px;
    cursor: pointer;
    background-color: var(--wp--preset--color--white);
    padding: 0px !important;
    font-size: 15px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--black);
    transition: .25s ease-in-out
}

@media (min-width: 1024px) {
    .contact__wrap-form form p .wpcf7-submit {
        margin-top: 24px
    }
}

.contact__wrap-form form p .wpcf7-submit:hover {
    opacity: .95
}

.contact__wrap-form form p .wpcf7-submit:focus {
    background-color: var(--wp--preset--color--white);
    outline: none
}

.contact__wrap-form .wpcf7-response-output,
.contact__wrap-form .wpcf7-spinner {
    display: none
}

.thx-message {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .4);
    top: 0;
    left: 0;
    z-index: 9999;
    margin: 0 !important;
    max-width: 100% !important;
    display: none;
    align-items: center;
    justify-content: center
}

.thx-message.show {
    display: flex
}

.thx-message__wrap {
    background-color: #fff;
    padding: 64px 32px;
    max-width: 600px;
    width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    position: relative
}

.thx-message__wrap-img {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.thx-message__wrap-img img {
    max-height: 127px
}

.thx-message__wrap-closed {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='28' cy='28' r='27.5' transform='rotate(-180 28 28)' stroke='%23E4E4E4' /%3E%3Crect x='19' y='35.5' width='23.3345' height='2.12132' rx='1' transform='rotate(-45 19 35.5)' fill='%23231F20' /%3E%3Crect x='20.5' y='19' width='23.3345' height='2.12132' rx='1' transform='rotate(45 20.5 19)' fill='%23231F20' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center;
    width: 56px;
    height: 56px;
    position: absolute;
    cursor: pointer;
    right: 16px;
    top: 16px;
    transition: .25s ease-in-out
}

.thx-message__wrap-closed:hover {
    opacity: .8
}

.thx-message__wrap-title {
    margin-bottom: 12px;
    font-size: 28px;
    line-height: 25px;
    text-align: center;
    font-weight: 400;
    color: #231f20;
    max-width: 244px
}

.thx-message__wrap-desc {
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    color: #231f20;
    max-width: 220px;
    font-weight: 300
}

@media (min-width: 1024px) {
    .thx-message__wrap-desc {
        font-size: 18px;
        line-height: 22px
    }
}

.thx-message__wrap .btn {
    cursor: pointer
}