#modal,
#modal-selection {
    --modal-width: 1100px;
    --modal-min-height: 802px;
    --modal-catalog-min-height: 776px;
    --modal-padding-top: 60px;
    --form-width: 585px;
    --title-width: 585px;
    --description-width: 447px;
    --control-width: 367px;
    --form-padding-top: 65px;
    --form-padding-right: 0px;
    --form-padding-bottom: 55px;
    --form-padding-left: 70px;
    --title-size: 50px;
    --title-line: 55px;
    --description-size: 20px;
    --description-line: 24px;
    --description-gap: 12px;
    --name-gap: 42px;
    --field-gap: 20px;
    --consents-gap: 27px;
    --catalog-consents-gap: 32px;
    --benefits-gap: 47px;
    --catalog-benefits-gap: 52px;
    --field-height: 60px;
    --field-padding-x: 32px;
    --expert-right: -12px;
    --expert-bottom: 0px;
    --expert-width: 550px;
    --catalog-right: -157px;
    --catalog-bottom: -10px;
    --catalog-width: 987px;
    --catalog-height: 644px;
    --person-right: 40px;
    --person-bottom: 64px;
    --person-left: auto;
    --catalog-person-right: 40px;
    --catalog-person-bottom: 40px;
    --catalog-person-left: auto;
    --close-size: 35px;
    --close-gap: 32px;
    --close-bottom-gap: 60px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding-top: var(--modal-padding-top);
    overflow: hidden;
    background: rgba(0, 0, 0, .5);
    z-index: 100001;
}

#modal .modal__content,
#modal-selection .modal__content {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: var(--modal-width);
    min-height: var(--modal-min-height);
    height: auto;
    margin: 0;
    overflow: visible;
    border-radius: 3px;
    background: #00A3AD;
    box-shadow: none;
}

#modal[data-modal-type="catalog"] .modal__content,
#modal-selection[data-modal-type="catalog"] .modal__content {
    min-height: var(--modal-catalog-min-height);
}

#modal .modal__form-wrapper,
#modal-selection .modal__form-wrapper {
    position: relative;
    z-index: 3;
    grid-column: 1;
    grid-row: 1;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: var(--form-padding-top) var(--form-padding-right) var(--form-padding-bottom) var(--form-padding-left);
}

#modal .modal__form,
#modal-selection .modal__form {
    position: static;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    box-sizing: border-box;
    width: var(--form-width);
    max-width: 100%;
    height: auto;
    padding: 0;
}

#modal .modal__form-wrapper_justify-center,
#modal-selection .modal__form-wrapper_justify-center {
    display: flex;
    align-items: center;
}

#modal .modal__form > .lead-form__extra,
#modal-selection .modal__form > .lead-form__extra {
    display: contents;
}

#modal .modal__title,
#modal-selection .modal__title,
#modal .modal__description,
#modal-selection .modal__description,
#modal .modal__input,
#modal-selection .modal__input,
#modal .modal__btn,
#modal-selection .modal__btn,
#modal .form-consents,
#modal-selection .form-consents,
#modal .form-benefits,
#modal-selection .form-benefits {
    position: static;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}

#modal .modal__title,
#modal-selection .modal__title {
    order: 1;
    width: var(--title-width);
    margin-top: 0;
    margin-bottom: 0;
    font-size: var(--title-size);
    font-weight: 500;
    line-height: var(--title-line);
}

#modal .modal__description,
#modal-selection .modal__description {
    order: 2;
    width: var(--description-width);
    margin-top: var(--description-gap);
    margin-bottom: 0;
    font-size: var(--description-size);
    line-height: var(--description-line);
}

#modal .lead-form__extra > .modal__input,
#modal-selection .lead-form__extra > .modal__input {
    order: 3;
    margin-top: var(--name-gap);
}

#modal .modal__input_phone,
#modal-selection .modal__input_phone {
    order: 4;
    margin-top: var(--field-gap);
}

#modal .modal__input,
#modal-selection .modal__input {
    flex: 0 0 var(--field-height);
    width: var(--control-width);
    height: var(--field-height);
    padding: calc((var(--field-height) - 20px) / 2) var(--field-padding-x);
    font-size: 16px;
    line-height: 19.2px;
}

#modal .modal__btn,
#modal-selection .modal__btn {
    order: 5;
    flex: 0 0 var(--field-height);
    width: var(--control-width);
    height: var(--field-height);
    margin-top: var(--field-gap);
    font-size: 16px;
    line-height: 17.6px;
}

#modal .form-consents,
#modal-selection .form-consents {
    order: 6;
    width: var(--control-width);
    gap: 8px;
    margin-top: var(--consents-gap);
}

#modal[data-modal-type="catalog"] .form-consents,
#modal-selection[data-modal-type="catalog"] .form-consents {
    margin-top: var(--catalog-consents-gap);
}

#modal .form-consent,
#modal-selection .form-consent {
    min-height: 24px;
    font-family: Inter, sans-serif;
    font-size: 11px;
    line-height: 12.1px;
    color: rgba(255, 255, 255, .7);
}

#modal .form-consent + .form-consent,
#modal-selection .form-consent + .form-consent {
    min-height: 48px;
}

#modal .form-benefits,
#modal-selection .form-benefits {
    order: 7;
    width: var(--control-width);
    gap: 5px;
    margin-top: var(--benefits-gap);
}

#modal[data-modal-type="catalog"] .form-benefits,
#modal-selection[data-modal-type="catalog"] .form-benefits {
    margin-top: var(--catalog-benefits-gap);
}

#modal .modal__image,
#modal-selection .modal__image {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: stretch;
    width: 100%;
    min-height: var(--modal-min-height);
    overflow: visible;
    background-color: transparent;
    background-repeat: no-repeat;
    pointer-events: none;
}

#modal[data-modal-type="catalog"] .modal__image,
#modal-selection[data-modal-type="catalog"] .modal__image {
    min-height: var(--modal-catalog-min-height);
    background-image: none !important;
}

#modal[data-modal-type="callback"] .modal__image,
#modal-selection[data-modal-type="callback"] .modal__image {
    background-position: right var(--expert-right) bottom var(--expert-bottom) !important;
    background-size: var(--expert-width) auto !important;
}

#modal-selection[data-modal-type="selection"] .modal__image {
    background-position: right var(--expert-right) bottom var(--expert-bottom) !important;
    background-size: var(--expert-width) auto !important;
}

#modal .modal__visual,
#modal-selection .modal__visual {
    position: absolute;
    display: none;
    margin: 0;
    object-fit: contain;
    object-position: center bottom;
}

#modal[data-modal-type="catalog"]:not([data-presentation-kind]) .modal__visual_catalog,
#modal-selection[data-modal-type="catalog"]:not([data-presentation-kind]) .modal__visual_catalog {
    top: auto;
    bottom: var(--catalog-bottom);
    right: var(--catalog-right);
    left: auto;
    display: block !important;
    width: var(--catalog-width);
    height: var(--catalog-height);
    object-position: center;
}

#modal[data-presentation-kind] .modal__image_mockup[data-mockup-style="tower"],
#modal[data-presentation-kind] .modal__image_mockup[data-mockup-style="lot"],
#modal-selection[data-presentation-kind] .modal__image_mockup[data-mockup-style="tower"],
#modal-selection[data-presentation-kind] .modal__image_mockup[data-mockup-style="lot"] {
    position: absolute;
    top: auto;
    bottom: var(--catalog-bottom);
    right: var(--catalog-right);
    left: auto;
    width: var(--catalog-width);
    max-width: none;
    height: var(--catalog-height);
    object-fit: contain;
}

#modal[data-modal-type="callback"] .modal__person-info,
#modal-selection[data-modal-type="callback"] .modal__person-info {
    z-index: 4;
    top: auto;
    right: var(--person-right);
    bottom: var(--person-bottom);
    left: var(--person-left);
}

#modal-selection[data-modal-type="selection"] .modal__person-info {
    z-index: 4;
    top: auto;
    right: var(--person-right);
    bottom: var(--person-bottom);
    left: var(--person-left);
}

#modal[data-modal-type="catalog"] .modal__person-info,
#modal-selection[data-modal-type="catalog"] .modal__person-info {
    top: auto;
    right: var(--catalog-person-right);
    bottom: var(--catalog-person-bottom);
    left: var(--catalog-person-left);
}

#modal .modal__name,
#modal-selection .modal__name,
#modal .modal__profession,
#modal-selection .modal__profession {
    position: relative;
    z-index: 1;
    width: max-content;
    color: #000000;
}

#modal[data-modal-type="callback"] .modal__name,
#modal-selection[data-modal-type="callback"] .modal__name {
    font-size: 30px;
    line-height: 39px;
}

#modal-selection[data-modal-type="selection"] .modal__name {
    font-size: 30px;
    line-height: 39px;
}

#modal[data-modal-type="callback"] .modal__profession,
#modal-selection[data-modal-type="callback"] .modal__profession {
    font-size: 20px;
    line-height: 26px;
}

#modal-selection[data-modal-type="selection"] .modal__profession {
    font-size: 20px;
    line-height: 26px;
}

#modal-selection[data-modal-type="selection"] .form-benefits_download {
    display: none;
}

#modal[data-modal-type="catalog"] .modal__name,
#modal-selection[data-modal-type="catalog"] .modal__name,
#modal[data-modal-type="catalog"] .modal__profession,
#modal-selection[data-modal-type="catalog"] .modal__profession {
    padding: 0 4px;
    font-size: 15px;
    line-height: 19.5px;
}

#modal-place .modal__wrapper > .lead-form__extra {
    align-items: stretch;
}

.fullscreen_gallery__modal .lead-form__extra {
    display: contents;
}

.fullscreen_gallery__modal .modal__input,
.fullscreen_gallery__modal .modal__btn,
.fullscreen_gallery__modal .form-consents,
.fullscreen_gallery__modal .form-benefits {
    align-self: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: 367px;
    margin-right: auto;
    margin-left: 0;
}

#modal .modal__close,
#modal-selection .modal__close {
    position: relative;
    left: 0;
    flex: 0 0 var(--close-size);
    width: var(--close-size);
    height: var(--close-size);
    margin-top: var(--close-gap);
    margin-bottom: var(--close-bottom-gap);
}

@media (min-width: 1101px) {
    #modal .modal__content,
    #modal-selection .modal__content {
        left: -35px;
    }

    #modal .modal__close,
    #modal-selection .modal__close {
        left: -2.5px;
    }
}

@media (max-width: 1100px) and (min-width: 951px) {
    #modal,
    #modal-selection {
        --modal-width: 943px;
        --modal-min-height: 728px;
        --modal-catalog-min-height: 697px;
        --form-padding-top: 60px;
        --form-padding-bottom: 40px;
        --form-padding-left: 40px;
        --form-width: 412px;
        --title-width: 412px;
        --description-width: 355px;
        --control-width: 367px;
        --title-size: 40px;
        --title-line: 44px;
        --description-size: 16px;
        --description-line: 19.2px;
        --description-gap: 10px;
        --name-gap: 30px;
        --field-gap: 10px;
        --consents-gap: 29px;
        --catalog-consents-gap: 29px;
        --benefits-gap: 49px;
        --catalog-benefits-gap: 49px;
        --expert-right: 24px;
        --expert-bottom: 0px;
        --expert-width: 447px;
        --catalog-right: -39px;
        --catalog-bottom: 80px;
        --catalog-width: 745px;
        --catalog-height: 485px;
        --close-gap: 24px;
    }

    #modal .modal__content,
    #modal-selection .modal__content {
        left: 1.5px;
    }

    #modal .modal__close,
    #modal-selection .modal__close {
        left: 7.5px;
    }
}

@media (max-width: 950px) {
    #modal,
    #modal-selection {
        --modal-width: calc(100% - 30px);
        --modal-padding-top: 11px;
        --form-width: 100%;
        --title-width: 100%;
        --description-width: 100%;
        --control-width: 100%;
        --form-padding-top: 24px;
        --form-padding-right: 11px;
        --form-padding-bottom: 0px;
        --form-padding-left: 11px;
        --title-size: 24px;
        --title-line: 26.4px;
        --description-size: 14px;
        --description-line: 16.8px;
        --description-gap: 7px;
        --name-gap: 14px;
        --field-gap: 10px;
        --field-height: 50px;
        --field-padding-x: 24px;
        --consents-gap: 10px;
        --catalog-consents-gap: 21px;
        --benefits-gap: 20px;
        --catalog-benefits-gap: 0;
        --expert-right: -20px;
        --expert-width: 250px;
        --catalog-right: -15px;
        --catalog-bottom: -65px;
        --catalog-width: 450px;
        --catalog-height: auto;
        --person-right: auto;
        --person-bottom: 18px;
        --person-left: 17px;
        --catalog-person-right: auto;
        --catalog-person-bottom: 12px;
        --catalog-person-left: 30px;
        --close-size: 30px;
        --close-gap: 10px;
        --close-bottom-gap: 14px;
    }

    #modal .modal__content,
    #modal-selection .modal__content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        width: var(--modal-width);
        max-width: 374px;
        min-height: 0;
        max-height: calc(100dvh - 110px);
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    #modal .modal__content::-webkit-scrollbar,
    #modal-selection .modal__content::-webkit-scrollbar {
        display: none;
    }

    #modal.lead-form-thanks .modal__content,
    #modal-selection.lead-form-thanks .modal__content {
        grid-template-rows: minmax(0, 1fr) auto;
        height: min(790px, calc(100dvh - 110px));
        min-height: calc(var(--catalog-height) / 2);
    }

    #modal .modal__form-wrapper,
    #modal-selection .modal__form-wrapper {
        grid-column: 1;
        grid-row: 1;
    }

    #modal .modal__title,
    #modal-selection .modal__title,
    #modal .modal__description,
    #modal-selection .modal__description {
        text-align: center;
    }

    #modal .modal__image,
    #modal-selection .modal__image {
        grid-column: 1;
        grid-row: 2;
        min-height: 100%;
    }

    #modal[data-modal-type="callback"] .modal__image,
    #modal-selection[data-modal-type="callback"] .modal__image {
        --expert-bottom: -20px;
    }

    #modal-selection[data-modal-type="selection"] .modal__image {
        --expert-bottom: 0;
        background-size: var(--expert-width) auto !important;
    }

    #modal[data-modal-type="catalog"] .modal__image,
    #modal-selection[data-modal-type="catalog"] .modal__image {
        min-height: var(--catalog-height);
    }

    #modal .form-consent,
    #modal-selection .form-consent,
    #modal .form-benefits,
    #modal-selection .form-benefits,
    #modal .form-benefit .modal__subtext,
    #modal-selection .form-benefit .modal__subtext {
        font-size: 10px;
        line-height: 11px;
    }

    #modal[data-modal-type="callback"] .modal__name,
    #modal-selection[data-modal-type="callback"] .modal__name {
        font-size: 18px;
        line-height: 23.4px;
    }

    #modal-selection[data-modal-type="selection"] .modal__name {
        font-size: 18px;
        line-height: 23.4px;
    }

    #modal[data-modal-type="callback"] .modal__profession,
    #modal-selection[data-modal-type="callback"] .modal__profession {
        font-size: 14px;
        line-height: 18.2px;
    }

    #modal-selection[data-modal-type="selection"] .modal__profession {
        font-size: 14px;
        line-height: 18.2px;
    }
}

@media (max-width: 950px) and (min-height: 776px) {
    #modal .modal__content,
    #modal-selection .modal__content {
        max-height: var(--modal-catalog-min-height);
    }
}

@media (min-width: 451px) and (max-width: 950px) and (max-height: 870px) {
    #modal[data-modal-type="callback"] .modal__image,
    #modal-selection[data-modal-type="callback"] .modal__image {
        --expert-bottom: -75px;
    }

    #modal,
    #modal-selection {
        --catalog-height: 100%;
    }

    #modal[data-modal-type="catalog"] .modal__image,
    #modal-selection[data-modal-type="catalog"] .modal__image {
        min-height: var(--catalog-height);
    }
}

@media (max-height: 880px) {
    #modal[data-modal-type="catalog"] .modal__content,
    #modal-selection[data-modal-type="catalog"] .modal__content {
        min-height: calc(100dvh - 120px);
    }
}

@media (max-height: 880px) and (min-width: 951px) {
    #modal[data-modal-type="catalog"] .modal__image,
    #modal-selection[data-modal-type="catalog"] .modal__image {
        min-height: 240px;
    }
}

@media (max-width: 450px) and (max-height: 850px) {
    #modal[data-modal-type="callback"] .modal__image,
    #modal-selection[data-modal-type="callback"] .modal__image {
        --expert-bottom: -110px;
    }

    #modal .modal__image,
    #modal-selection .modal__image {
        min-height: 140px;
    }
}

@media (max-width: 950px) and (max-height: 770px) {
    #modal[data-modal-type="callback"] .modal__image,
    #modal-selection[data-modal-type="callback"] .modal__image {
        background-image: unset;
    }

    #modal[data-modal-type="callback"] .modal__person-info,
    #modal-selection[data-modal-type="callback"] .modal__person-info {
        display: none;
    }
}


@media (max-height: 880px) and (max-width: 950px) {
    #modal,
    #modal-selection {
        --catalog-bottom: -70px;
    }
}

@media (max-height: 790px) and (max-width: 950px) {
    #modal,
    #modal-selection {
        --form-padding-bottom: var(--form-padding-top);
    }

    #modal[data-modal-type="catalog"] .modal__image {
        display: none;
    }
}

@media (min-width: 1101px) and (max-height: 928px) {
    #modal,
    #modal-selection {
        --modal-padding-top: 20px;
        --close-gap: 20px;
        --close-bottom-gap: 20px;
    }
}

@media (min-width: 951px) and (max-width: 1100px) and (max-height: 906px) {
    #modal,
    #modal-selection {
        --modal-padding-top: 20px;
        --close-gap: 20px;
        --close-bottom-gap: 20px;
    }
}

@media (min-width: 951px) and (max-height: 1060px) {
    #modal .modal__content,
    #modal-selection .modal__content,
    #modal .modal__close,
    #modal-selection .modal__close {
        zoom: 0.9;
    }
}

@media (min-width: 951px) and (max-height: 866px) {
    #modal .modal__content,
    #modal-selection .modal__content,
    #modal .modal__close,
    #modal-selection .modal__close {
        zoom: 0.72;
    }
}

@media (max-width: 414px) {
    .modal__image {
        height: auto;
    }
}
