.contacts {
    margin-top: 20px;
    margin-bottom: 60px
}

.contacts__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 30px
}

@media (min-width: 1024px) {
    .contacts {
        margin-top: 80px;
        margin-bottom: 90px
    }

    .contacts__wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .contacts__form-wrapper {
        margin-top: -204px
    }
}

.contacts__content {
    width: 100%;
    max-width: 670px
}

.contacts__description {
    color: var(--gray-200);
    margin-bottom: 20px
}

@media (min-width: 1290px) {
    .contacts__description {
        margin-bottom: 30px
    }
}

.contacts__description p {
    margin-bottom: 0
}

.contacts__description p:not(:last-of-type) {
    margin-bottom: 15px
}

.contacts__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 20px
}

.contacts__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
    color: var(--black);
    -webkit-transition: color var(--transition);
    transition: color var(--transition)
}

.contacts__link:hover:not(:active) {
    color: var(--primary)
}

.contacts__link:hover:not(:active) .contacts__link-icon {
    background-color: var(--primary);
    color: var(--white);
    border-color: var(--primary)
}

.contacts__link-icon {
    border: 1px solid var(--gray-300);
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    padding: 15px;
    color: var(--black);
    -webkit-transition: background-color var(--transition), color var(--transition), border-color var(--transition);
    transition: background-color var(--transition), color var(--transition), border-color var(--transition)
}

.contacts__link-icon .icon {
    width: 24px;
    height: 24px
}

.contacts__form-wrapper {
    width: 100%;
    max-width: 810px;
    border-radius: 30px;
    background-color: var(--white);
    -webkit-box-shadow: 0 8px 32px 0 rgba(0, 17, 36, .15);
    box-shadow: 0 8px 32px 0 rgba(0, 17, 36, .15);
    position: relative;
    z-index: 1;
    padding: 20px
}

@media (min-width: 760px) {
    .contacts__form-wrapper {
        padding: 30px 50px
    }
}

@media (min-width: 1290px) {
    .contacts__form-wrapper {
        margin-top: -254px
    }
}

@media (min-width: 1650px) {
    .contacts__description {
        margin-bottom: 40px
    }

    .contacts__form-wrapper {
        padding: 40px 60px;
        margin-top: -264px
    }
}

.contacts__form-title {
    margin-bottom: 30px
}

.contacts__form-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px
}

.contacts__form-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%
}

@media (min-width: 1290px) {
    .contacts__form-item--half {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 10px);
        flex: 0 0 calc(50% - 10px)
    }
}

.contacts__form-captcha {
    margin-top: 20px
}

@media (min-width: 1650px) {
    .contacts__form-title {
        margin-bottom: 43px
    }

    .contacts__form-items {
        gap: 30px
    }

    .contacts__form-item--half {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 15px);
        flex: 0 0 calc(50% - 15px)
    }

    .contacts__form-captcha {
        margin-top: 30px
    }
}

.contacts__form-captcha img {
    width: auto;
    height: auto
}

.contacts__form-submit-wrapper {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media (min-width: 1290px) {
    .contacts__form-submit-wrapper {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}
