:root {
    --bg-color: #E9F1F9;
    --blue: #0F5AA5;
    --transition: all 0.3s ease 0s;
    --primary-color: var(--blue);
}

.partner-promo {
    background-color: var(--bg-color);
    padding: 50px 60px;
}

.partner-promo__container {
    display: grid;
    grid-template-columns: 1fr minmax(300px, 400px);
    grid-gap: 30px;
    align-items: center;
}

.partner-promo__content {

}

.partner-promo__image {
    position: relative;
    overflow: hidden;
    padding-bottom: calc(281 / 387 * 100%);
}

.partner-promo__image img {
    object-fit: contain;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.partner-promo__title {
    font-size: 45px;
    color: var(--blue);
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 30px;
}

.partner-promo__body {
    display: flex;
    flex-direction: column;
}

.partner-promo__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px;
}

.partner-promo__list-item {
    border: 1px solid #0000001A;
    border-radius: 10px;
    padding: 20px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 20px;
    color: #111;
}

.list-item__icon {
    font-size: 2.25rem;
}

.partner-promo-bottom {
    margin-top: 40px;
}

.partner-promo__text {
    margin-bottom: 20px;
}

.partner-promo-bottom__buttons {
    display: flex;
    gap: 10px;
}

@media (min-width: 480px) and (max-width: 1200px) {
    .partner-promo__list-item {
        justify-content: flex-start;
        text-align: left;
        flex-direction: row;
    }
}

@media (max-width: 1200px) {
    .partner-promo__list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
    .partner-promo__image {
        display: none;
    }

    .partner-promo__container {
        grid-template-columns: 1fr;
        grid-gap: 0;
    }

    .partner-promo-bottom__buttons {
        flex-direction: column;
    }
}

/* benefits*/
.benefits {

}

.benefits__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    margin-top: 40px;
}

.benefits__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 16px;
    padding: 40px;
    border: 1px solid transparent;
}

.benefits__item:not(:last-child) {
    border-right-color: #E6EDF6;
}

.benefits__icon {
    width: 82px;
    aspect-ratio: 1;
    color: var(--blue);
    border-radius: 50%;
    border: 1px solid var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.25rem;
}

.benefits__text {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 400;
    color: #111;
}

@media (max-width: 1200px) {
    .benefits__item:not(:last-child) {
        border-right-color: transparent;
    }
}

/* /benefits*/


section {
    padding: 100px 0;
}


.sect-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.sect-header > form {
    margin: 0 auto;
}

.sect-header > div {
    margin-top: 20px;
}

/* recieve */
.recieve {
    background-color: var(--bg-color);
}

.recieve__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 40px;
}

.recieve-item {
    padding: 20px;
    background-color: #F4F7FF80;
    border: 1px solid #0F5AA540;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
}

@media (min-width: 992px) {
    .recieve__list {
        grid-template-columns: 1fr 1fr;
    }

    .recieve-item:nth-child(1) {
        grid-row: 1 / 2;
        grid-column: 1 / 2;
    }

    .recieve-item:nth-child(2) {
        grid-row: 2/3;
        grid-column: 1 / 2;
    }

    .recieve-item:nth-child(3) {
        grid-row: 3/5;
        grid-column: 1 / 2;
    }

    .recieve-item:nth-child(4) {
        grid-row: 1/3;
        grid-column: 2 / 3;
    }

    .recieve-item:nth-child(5) {
        grid-row: 3/4;
        grid-column: 2 / 3;;
    }

    .recieve-item:nth-child(6) {
        grid-row: 4/5;
        grid-column: 2 / 3;;
    }
}


.recieve-item__head {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 14px;
    color: var(--blue);
}

.recieve-item__head h4 {
    margin: 0;
    font-size: 20px;
    line-height: 1.4;
}

.recieve-item__head i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    aspect-ratio: 1;
    margin-right: 10px;
    font-size: 2rem;
}

.recieve-item ul li {
    position: relative;
    padding: 5px 0 5px 20px;
}

.recieve-item ul li:before {
    background: var(--blue);
    content: "";
    height: 7px;
    left: 0;
    position: absolute;
    top: 14px;
    width: 7px;
    border-radius: 20px;
}

/* /recieve */

.calc_wrapper {
    border-radius: 10px;
    margin-top: 30px;
}

/* our work*/
.our-work {
    background-color: var(--bg-color);
    padding: 100px 0;
}

.our-work__title {

}

.our-work__body {
    display: grid;
    grid-row-gap: 42px;
    grid-column-gap: 50px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    margin-top: 70px;
}

.our-work__item {
    position: relative;
    border: 2px solid #4587C640;
    border-radius: 10px;
    padding: 30px 20px 38px;
}

.our-work__counter {
    position: absolute;
    left: 0;
    top: 0;
    width: 58px;
    aspect-ratio: 1;
    background-color: #4C8FD3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 32px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
}

.our-work__icon {
    display: flex;
    width: 82px;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: #0F5AA5;
    margin: 0 auto 16px;
}

.our-work__text {
    font-size: 18px;
    font-weight: 400;
    line-height: 25.2px;
    text-align: center;
}

@media (min-width: 1200px) {
    .our-work__body {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* /our work*/


/* our office */
.our-office {
    padding-top: 100px;
}

.our-office__title {

}

.our-office__body {
    border: 2px solid #E6EDF6;
    border-radius: 10px;
    padding: 40px;
    margin-top: 50px;
}

.office-contacts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}


.office-contacts__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    padding: 0 20px;
}

.office-contacts__item:not(:last-child) {
    border-right-color: #E6EDF6;
}

.office-contacts__item--title {
    font-size: 20px;
    line-height: 28px;
    color: #878787;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.office-contacts--text {
    font-size: 20px;
    line-height: 28px;
    text-align: center;
}

.office-contacts--value {
    font-size: 28px;
    line-height: 39.2px;
    white-space: nowrap;
}

.office-contacts__shedule {
    color: #878787;
    font-size: 16px;
    line-height: 22.4px;
    margin-top: 10px;
}

.our-office__map {
    margin-top: 40px;
}

@media (max-width: 1200px) {
    .office-contacts {
        grid-template-columns: 1fr;
    }

    .office-contacts__item {
        padding: 20px 0;
    }

    .office-contacts__item:first-child {
        padding-top: 0;
    }

    .office-contacts__item:not(:last-child) {
        border-right-color: transparent;
        border-bottom-color: #E6EDF6;
    }
}

/* /our office */

/* dialog */
.dialog__wrapper {

}

.dialog {
    position: relative;
    border: 2px solid #E9F1F9;
    border-radius: 10px;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 25px;
    padding: 0;
    overflow: hidden;
}

.dialog__content {
    position: relative;
    padding: 16px;
}

.dialog__header {

}

.dialog__title {
    margin-bottom: 25px;
    font-weight: 600;
    font-size: calc(24px + (30 - 24) * ((100vw - 340px) / (1920 - 340)));
    line-height: 1.4;
}

.dialog__body {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
}

.dialog-field {
    position: relative;
    min-width: 210px;
}

input.dialog-field__input {
    border-color: transparent;
    border: none;
    border-bottom: 1px solid #CCCCCC;
    padding: 0 28px 0 0;
    height: 46px;
    width: 100%;
    outline: none;
    font-size: 1rem;
}

.dialog-field__input:focus {
    border-bottom-color: #0d57b7;
}

.dialog-field__label {
    position: absolute;
    font-size: 1rem;
    font-weight: 500;
    left: 0;
    top: 13.5px;
    color: #B2B2B2;
    transition-duration: .2s;
    pointer-events: none;
    user-select: none;
}

.dialog-field__input:focus + .dialog-field__label,
.dialog-field__input:not(:placeholder-shown) + .dialog-field__label {
    transform: translateY(-29px);
    font-size: 0.85rem;
}

.dialog-field__icon {
    position: absolute;
    right: 0;
    top: 13.5px;
    width: 20px;
    height: 20px;
    color: #B2B2B2;
}

.dialog__submit {
    z-index: 2;
}

.dialog__agreement {
    margin-top: 20px;
    color: #B2B2B2;
    font-size: .93rem;
}

.dialog__image {
    position: relative;
}

.dialog__image img {
    position: absolute;
    right: 0;
    bottom: 0;
    object-fit: contain;
    max-height: 100%;
}

@media (min-width: 1920px) {
    .dialog__title {
        font-size: 1.875rem;
    }
}

@media (min-width: 1200px) {
    .dialog__body {
        grid-template-columns: 210px 210px minmax(180px, 200px);
    }
}

@media (min-width: 1199px) {
    .dialog {
        grid-template-columns: 1fr minmax(180px, 290px);
    }

    .dialog__content {
        padding: 40px 0 40px 30px;
    }

    .dialog__image {
        padding-bottom: calc(338 / 435 * 100%);
    }
}

@media (min-width: 768px) {
    .dialog {
        grid-template-columns: 1fr minmax(180px, 290px);
    }

    .dialog__form {
        max-width: 666px;
        margin: 0 auto;
    }

    .dialog__content .dialog__form {
        margin: unset;
    }

    .dialog__image {
        padding-bottom: calc(361 / 280 * 100%);
    }
}

@media (min-width: 320px) {
    .dialog {
        overflow: visible;
    }

    .dialog__image {
        padding-bottom: calc(251 / 336 * 100%);
    }
}

/* /dialog */

