
/* fancy */
@keyframes f-fadeIn {
    0% { opacity: 0 }
    100% { opacity: var(--fancybox-opacity, 1) }
}

body.fancybox-active {
    overflow: hidden;
}
.fancybox__slide {
    scrollbar-width: none;
}
.fancybox__slide::-webkit-scrollbar,
.fancybox__slide::-webkit-scrollbar-track,
.fancybox__slide::-webkit-scrollbar-thumb {
    display: none;
}
.has-map .fancybox__content, 
.has-pdf .fancybox__content, 
.has-youtube .fancybox__content, 
.has-vimeo .fancybox__content, 
.has-html5video .fancybox__content,
.fancybox__html5video {
    border-radius: 1.5rem;
}
body.fancybox-active,
body.compensate-for-scrollbar {
    margin-right: var(--width-scrollbar, 0);
}
.fancybox-container,
.fancybox__container {
    --fancybox-bg: var(--color-dark);
    --fancybox-opacity: 0.64;
}
.fancybox__content {
    padding: 0;
}
.fancybox__content > iframe {
    display: block;
    width: 100%;
}
.fancybox-is-open .fancybox-inner {
    /* backdrop-filter: blur(40px); */
}
.fancybox-infobar {
    display: none;
}
.fancybox-slide,
.fancybox-slide--html,
.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn,
.fancybox__slide {
    padding: var(--offset-secondary);
}
.fancybox-slide--overflow {
    overflow: hidden;
}
.fancybox-image {
    border-radius: var(--radius);
}
.fancybox-button.fancybox-close-small,
.fancybox-slide--html .fancybox-close-small,
.fancybox__content>.f-button.is-close-btn,
.is-compact .fancybox__content>.f-button.is-close-btn {
    --btn-bg: var(--color-primary);
    --btn-color: var(--color-text-extralight);
    --btn-border: var(--btn-bg);
    --btn-padding: calc(var(--offset-main) - 0.125rem);
    --btn-gap: var(--offset-small);
    --size-btn: 3rem;
    --size-svg: var(--size-icon);
    --btn-radius: 50%;
    --offset-badge: 0.125rem;
    --size-badge: 1rem;

    --f-button-width: var(--size-btn);
    --f-button-height: var(--size-btn);
    --f-button-border-radius: var(--btn-radius);
    --f-button-color: var(--fancybox-color, #fff);
    --f-button-hover-color: var(--fancybox-color, #fff);
    --f-button-bg: var(--btn-bg);
    --f-button-hover-bg: var(--color-primary-dark);
    --f-button-active-bg: var(--color-primary-dark);
    --f-button-svg-width: var(--size-svg);
    --f-button-svg-height: var(--size-svg);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: var(--btn-gap);
    border: 0.0625rem solid var(--btn-border);
    color: var(--btn-color);
    padding: calc(var(--offset-extrasmall) / 2) var(--btn-padding);
    white-space: nowrap;
    transition: var(--transition);
    font-weight: var(--font-semibold);
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    height: var(--size-btn);
    min-width: var(--size-btn);
    width: var(--size-btn);
    padding: 0.25rem;
    
    top: 0;
    left: calc(100% + 0.5rem);
    opacity: 1;
}
.fancybox-button.fancybox-close-small svg,
.fancybox-slide--html .fancybox-close-small svg,
.fancybox__content>.f-button.is-close-btn svg {
    width: 1.5rem;
    height: 1.5rem;
}

.has-rutube,
.has-vk {
    width: auto;
    height: 540px;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: 600 / 337;
}
.has-doc {
    border-radius: 24px;
    overflow: hidden;
    width: 1570px;
    height: 884px;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: 1570 / 884;
    user-select: none;
}

@media screen and (min-width: 1024px) {
    .fancybox-button.fancybox-close-small:hover,
    .fancybox-slide--html .fancybox-close-small:hover,
    .fancybox__content>.f-button.is-close-btn:hover {
        color: var(--color-greige-middle);
    }
}
.fancybox-button.fancybox-close-small:active,
.fancybox-slide--html .fancybox-close-small:active,
.fancybox__content>.f-button.is-close-btn:active {
    color: var(--color-greige-middle);
}

@media screen and (max-width: 1279px) {
    .has-map .fancybox__content, 
    .has-pdf .fancybox__content, 
    .has-youtube .fancybox__content, 
    .has-vimeo .fancybox__content, 
    .has-html5video .fancybox__content,
    .fancybox__html5video {
        border-radius: 1.25rem;
    }
}
@media screen and (max-width: 1023.5px) {
    .has-rutube,
    .has-vk {
        height: 400px;
    }
    
}
@media screen and (max-width: 767px) {
    .has-rutube,
    .has-vk {
        width: 100%;
        height: auto;
    }
}

/*
body.fancybox-active.compensate-for-scrollbar .header {
    padding-right: var(--width-scrollbar, 0);
}
*/

/* popup */
.popup {
    --offset-popup: var(--offset-main);
    --radius-popup: var(--radius);
    
    --btn-width: 20rem;

    width: var(--width-popup, auto);
    max-width: 100%;
    border-radius: var(--radius-popup);
    transition: var(--transition);
    box-shadow: var(--shadow-modal);
    padding: var(--offset-popup);
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--offset-popup);
    text-align: left;
}
.popup-cookie {
    --width-popup: 45.5rem;
}
.popup__btns {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

/**/
.popup._fixed {
    position: fixed;
    bottom: var(--offset-popup);
    left: var(--offset-popup);
    z-index: 999;
    max-width: calc(100% - var(--offset-popup) * 2);
}
/**/
.popup._right {
    left: auto;
    right: var(--offset-popup);
}

/**/
.popup._hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(calc(var(--offset-main) * -1));
}
.popup:not(._hidden) {
    transform: translateY(0);
}
@media screen and (min-width: 576px) {
    .popup__descr {
        text-wrap: balance;
    }
}
@media screen and (max-width: 1023.5px) {
    .popup {
        --offset-popup: var(--offset-extrasmall);
    }
}
@media screen and (max-width: 767px) {
    .popup {
        --btn-width: 0rem;
    }
}
@media screen and (max-width: 575px) {
    .popup {
        --width-popup: 100%;
        --btn-width: 100%;
    }
    .popup__btns {
        width: 100%;
        flex-direction: column;
    }
}

/* modal */
.modal {
    --grid-gap: 1.25rem;

    --width-modal: 50rem;
    --offset-modal: var(--grid-gap);
    --radius-modal: 0.75rem;
    --offset-modal-close: var(--offset-modal);
    --offset-modal-close-left: auto;
    --size-modal-close: 2rem;
    --offset-modal-items: var(--offset-main);

    max-width: var(--width-modal);
    display: none;
    overflow: visible;
    background-color: var(--color-extralight);
    padding: 0;
    border-radius: var(--radius-modal);
    transition: var(--transition) !important;
    z-index: 20;
    width: 100%;
    color: var(--color-text-dark);
    height: var(--height-modal, auto);
    max-height: 100%;
    box-shadow: var(--shadow-modal);
}
.modal-small {
    --width-modal: 27.5rem;
}
.modal.fancybox__content {
    display: flex !important;
    flex-direction: column;
}

.modal.f-zoomInUp {
    animation: var(--f-transition-duration, 0.2s) ease both f-zoomInUp-animated;
}
.modal.f-fadeOut {
    animation: var(--f-transition-duration, 0.2s) ease both f-fadeOut-animated;
}
.modal .f-button {
    display: none !important;
}

.close {
    --size-close: var(--size-modal-close, var(--size-icon));

    min-width: var(--size-close);
    min-height: var(--size-close);
    width: var(--size-close);
    height: var(--size-close);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    overflow: hidden;

    transition: var(--transition);
    color: var(--color-text-muted-dark);
}
.close svg {
    display: block;
    width: 100%;
    height: 100%;
}

.modal .close,
.modal .close-beside {
    position: absolute;
    top: var(--offset-modal-close-top, var(--offset-modal-close));
    right: var(--offset-modal-close-right, var(--offset-modal-close));
    left: var(--offset-modal-close-left, var(--offset-modal-close));
    z-index: 1;
}

@media screen and (min-width: 1024px) {
    .close:hover {
        color: var(--color-text);
    }
    .modal {
        --grid-gap: 2rem;
    }
}
@media screen and (min-width: 1280px) {
    .modal {
        --grid-gap: 2rem;
    }
}
@media screen and (max-width: 1023.5px) {
    .modal {
        --size-modal-close: 1.5rem;
        --radius-modal: var(--radius);
        --offset-modal-items: var(--offset-medium);
    }
}
.close:active {
    color: var(--color-text-dark);
}



/**/
.modal__content {
    flex-grow: 1;
    padding-top: var(--offset-modal);
    padding-bottom: var(--offset-modal);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-width: none;
}
.modal__content::-webkit-scrollbar,
.modal__content::-webkit-scrollbar-track,
.modal__content::-webkit-scrollbar-thumb {
    display: none;
}
.modal__content > *:not(:first-child) {
    margin-top: var(--offset-modal-items);
}
.modal__content-top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.25rem;
}
.modal__content-descr {
    color: var(--color-text-muted);
}
.modal__content-title:not(:first-child) {
    margin-top: var(--offset-medium);
}
.modal__content-descr:not(:first-child) {
    margin-top: var(--offset-extrasmall);
}
.modal__content-form .checkbox {
    color: var(--color-text-muted);
}


@media screen and (min-width: 1024px) {
    /* modal-right */
    .modal-right {
        --offset-modal-close-top: 0.5rem;
        --offset-modal-close-right: calc(100% + 0.5rem);
        --offset-modal-close-left: auto;

        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        /* overflow: hidden; */
        border-radius: var(--radius);
    }
    .modal-right.f-zoomInUp {
        animation: var(--f-transition-duration, 0.2s) ease both f-zoomInRight-animated;
    }
    .modal-right.f-fadeOut {
        animation: var(--f-transition-duration, 0.2s) ease both f-fadeOutRight-animated;
    }
    /* modal-left */
    .modal-left {
        --offset-modal-close-top: 0.5rem;
        --offset-modal-close-left: calc(100% + 0.5rem);
        --offset-modal-close-right: auto;

        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        /* overflow: hidden; */
        border-radius: var(--radius);
    }
    .modal-left.f-zoomInUp {
        animation: var(--f-transition-duration, 0.2s) ease both f-zoomInLeft-animated;
    }
    .modal-left.f-fadeOut {
        animation: var(--f-transition-duration, 0.2s) ease both f-fadeOutLeft-animated;
    }
}

/* modal-finally */
.modal-finally {
    --offset-modal-close-top: 0;
    --offset-modal-close-left: calc(100% + 0.5rem);
    --offset-modal-close-right: auto;
    --size-icon-modal: 3rem;
}
.modal-finally__top,
.modal-finally__bottom {
    display: flex;
    flex-direction: column;
}
.modal-finally__title {
    text-align: left;
    padding-right: 2rem;
}
.modal-finally__descr:not(:first-child) {
    margin-top: var(--offset-main);
}
.modal-finally__btns {
    display: flex;
    flex-direction: column;
}
.modal-finally__btns:not(:first-child) {
    margin-top: var(--offset-big);
}

/* modal-menu */
.modal-menu {
    --height-block: 4rem;
    --grid-gap: var(--offset-extrasmall);

    background-color: var(--color-bg);
    color: var(--color-text);
}
.modal-menu__top {
    padding: var(--offset-extrasmall) 0;
    display: flex;
    align-items: stretch;
    gap: var(--offset-extrasmall);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 5;
}
.modal-menu__top .button {
    --size-btn: 4rem;
    --size-svg: 2rem;
}
.modal-menu__nav {
    width: 100%;
    padding-bottom: var(--offset-secondary);
}
.modal-menu__menu {
    width: 100%;
    border-radius: var(--radius-extrasmall);
    overflow: hidden;
    background-color: var(--color-grey-32);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
    padding: var(--offset-main);
    display: flex;
    flex-direction: column;
    gap: var(--offset-secondary);
}
.modal-menu__menu-item._active .modal-menu__menu-link {
    color: var(--color-primary);
}
.modal-menu__bottom {
    padding: var(--offset-secondary) 0;
}
.modal-menu__container {
    display: flex;
    flex-direction: column;
}






/* modal-search */
.modal-search {
    --offset-header-more: var(--offset-medium);
}

/* modal-touch */
.modal-touch {
    width: 100%;
    height: 2.25rem;
    min-height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}
.modal-touch::before {
    content: '';
    width: 4rem;
    height: 0.25rem;
    background-color: var(--color-grey);
}

@media screen and (min-width: 1024px) {
    .modal-touch {
        display: none;
    }
}

.modal-staticmobile {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: var(--height-modal, 100%);
    
    border-radius: 0;
    overflow-y: auto;
    scrollbar-width: none;
}
.modal-staticmobile::-webkit-scrollbar,
.modal-staticmobile::-webkit-scrollbar-track,
.modal-staticmobile::-webkit-scrollbar-thumb {
    display: none;
}

.modal-mobile .fancybox-button,
.modal-mobile .f-button.is-close-btn {
    display: none !important;
}
.modal-mobile__top {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
    background-color: var(--color-bg);
    padding-top: var(--offset-extrasmall);
    padding-bottom: var(--offset-extrasmall);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--offset-extrasmall);
    border-bottom: 0.0625rem solid var(--color-border-muted);
}
.modal-mobile__content {
    padding-top: var(--offset-main);
    padding-bottom: var(--offset-main);
}
.button.modal-mobile__close {
    --size-btn: 3rem;
}

/* modal-mobile */
@media screen and (max-width: 1023.5px) {
    .modal-mobile {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: var(--height-modal, 100%);
        
        border-radius: 0;
        overflow-y: auto;
        scrollbar-width: none;
    }

    .modal-mobile::-webkit-scrollbar,
    .modal-mobile::-webkit-scrollbar-track,
    .modal-mobile::-webkit-scrollbar-thumb {
        display: none;
    }
    
    /* modal move */
    .modal-mobile.modal-move {
        transition: 0s all !important;
        max-height: calc(var(--height-modal, 100%) + var(--offset-height-modal, 0px));
    }
    .modal-mobile.modal-mobile-open {
        max-height: calc(100% + var(--offset-height-modal, 0px));
    }
    .modal-mobile.modal-mobile-close {
        transition: 2s all !important;
        max-height: 0px;
    }
}

/* modal-switch */
@media screen and (max-width: 1023.5px) {
    .modal-switch {
        position: absolute;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 100%;
        padding: 0;
        overflow-y: auto;
        margin: 0 !important;
        scrollbar-width: none;
    }
    .modal-switch::-webkit-scrollbar,
    .modal-switch::-webkit-scrollbar-track,
    .modal-switch::-webkit-scrollbar-thumb {
        display: none;
    }
}

@media screen and (max-width: 575px) {
    .modal.modal-full {
        width: calc(100% + var(--offset-secondary)* 2);
        max-width: calc(100% + var(--offset-secondary)* 2);
        min-height: calc(100% + var(--offset-secondary)* 2);
        border-radius: 0;
        margin: calc(var(--offset-secondary)* -1) !important;
        overflow-y: auto;
    }
    .modal__btns {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }
}

/* modal-switching */
.modal-switching {
    --width-modal: 100.375rem;
}
.modal-switching .arrow {
    --size-svg: 3rem;
}
.modal-switching .section__title {
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: -1%;
}

@media screen and (min-width: 1024px) {
    .modal-switching {
        padding: 4rem 0 2.5rem;
    }
}
@media screen and (max-width: 1023.5px) {
    .modal-switching {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: auto;
        max-height: 100%;
        padding: 0 0 var(--offset-main);
        overflow-y: auto;
        margin: 0 !important;
        scrollbar-width: none;
    }
    
    .modal-switching::-webkit-scrollbar,
    .modal-switching::-webkit-scrollbar-track,
    .modal-switching::-webkit-scrollbar-thumb {
        display: none;
    }
    .modal-switching .fancybox-button {
        display: none !important;
    }
}
@media screen and (max-width: 575px) {
    .modal-switching {
        height: 80%;
    }
    
}

/* modal-remove */
.modal-remove {
}
.modal-remove__content {
    padding: 3rem var(--offset-big) var(--offset-big);
    display: flex;
    flex-direction: column;
}
.modal-remove__title {
    font-weight: var(--font-semibold);
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: -0.02em;
}
.modal-remove__btns {
    display: flex;
    margin-top: var(--offset-medium);
    flex-direction: column;
    align-items: stretch;
    gap: var(--offset-small);
}
@media screen and (max-width: 1023.5px) {
    .modal-remove {
        --width-modal: 21.875rem;
    }
    .modal-remove__content {
        padding: 3rem var(--offset-small) var(--offset-medium);
    }
    .modal-remove__title {
        font-size: 1.25rem;
    }
    .modal-remove__btns .button {
        --size-btn: 2.5rem;
    }
}

/* modal-partnership && modal-movement */
.modal-partnership,
.modal-movement {
    --width-modal: 37.5rem;
    --offset-modal-close-top: 0rem;
    --offset-modal-close-left: calc(100% + 0.5rem);
    --offset-modal-close-right: auto;
}
.modal-partnership__form-title,
.modal-movement__form-title {
    font-weight: var(--font-semibold);
    font-size: 1.75rem;
    line-height: 1.4;
}
.modal-partnership .field-list,
.modal-movement .field-list {
    margin-top: var(--offset-small);
}

@media screen and (max-width: 1023.5px) {
    .modal-partnership,
    .modal-movement {
        --offset-modal-close-top: -3rem;
        --offset-modal-close-left: calc(50% - 1.25rem);
        --offset-modal-close-right: auto;

        margin-top: 3rem;
        max-height: calc(100% - 3rem);
    }
    .modal-partnership__form-title,
    .modal-movement__form-title {
        font-size: 1.5rem;
    }
    .modal-movement__form .button,
    .modal-partnership__form .button {
        --size-btn: 2.5rem;
    }
}


/* modal-reading */
.modal-reading {
    --width-modal: 98.125rem;
    --height-modal: 55.25rem;
    --offset-modal: 0;
    --offset-modal-close-top: 0;
    --offset-modal-close-left: calc(100% + 0.5rem);
    --offset-modal-close-right: auto;

    background-color: var(--color-extralight);
    width: 85vw;

}
.modal-reading .modal__content {
    border-radius: 1.5rem;
}
.modal-reading__top {
    position: fixed;
    left: 0;
    width: 100%;
    top: var(--offset-modal);
    justify-content: space-between;
    z-index: 5;
    pointer-events: none;
}
.modal-reading__top > * {
    pointer-events: all;
}
.modal-reading__top .button {
    box-shadow: var(--shadow-hover);
}
.modal-reading__top,
.modal-reading__top-start,
.modal-reading__top-last {
    display: flex;
    align-items: center;
    gap: var(--offset-secondary);
}
.modal-reading__content {
    padding: 0 var(--offset-modal);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.modal-reading__pdf {
    flex-grow: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    max-width: calc(100% - var(--width-content));
}
.modal-reading__pdf-canvas {
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: auto;
    scrollbar-width: none;
    padding: var(--offset-main);
}
.modal-reading__pdf-canvas::-webkit-scrollbar,
.modal-reading__pdf-canvas::-webkit-scrollbar-track,
.modal-reading__pdf-canvas::-webkit-scrollbar-thumb {
    display: none;
}
.modal-reading__pdf-canvas canvas {
    transition: var(--transition);
    transform: rotate(var(--rotate-block, 0deg));
    box-shadow: 0px 5.49px 27.47px 0px #2B2E301A;
    pointer-events: none;
}
.modal-reading__pdf-canvas img {
    display: block;
    width: 100%;
    height: 100%;
    flex-grow: 1;
    object-fit: contain;
}
.modal-reading__pdf-bottom {
    margin-top: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    gap: var(--offset-secondary);
    position: sticky;
    justify-self: end;
    bottom: var(--offset-main);
    left: 0%;
}
.modal-reading__pdf-bottom .button {
    box-shadow: var(--shadow-hover);
}

.modal-reading__content:not(._control-visible) .modal-reading__pdf-bottom {
    display: none;
}

@media screen and (max-width: 1279px) {
    .modal-reading .modal__content {
        border-radius: 1.25rem;
    }
}
@media screen and (max-width: 1023.5px) {
    .modal-reading {
        --offset-modal-close-top: calc(100% + var(--offset-secondary));
        --offset-modal-close-left: calc(50% - 1.5rem);
        --height-modal: calc(100% - 10rem);
        position: absolute;
        top: 5rem;
        bottom: 5rem;
        left: 3.75rem;
        right: 3.75rem;
        max-width: calc(100% - 7.5rem);
    }
    .modal-reading__pdf-bottom {
        grid-template-columns: repeat(3, auto);
    }
    .modal-reading__pdf-bottom .button svg + span {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .modal-reading {
        --height-modal: calc(100% - 7.5rem);

        width: 100%;
        top: 2.5rem;
        bottom: 5rem;
        left: var(--grid-gap);
        right: var(--grid-gap);
        max-width: calc(100% - var(--grid-gap) * 2);
    }
    .modal-reading__pdf-bottom {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.25rem;
        width: calc(100% - var(--grid-gap) * 2);
    }
    .modal-reading__pdf-bottom .button:first-child {
        grid-column: span 2;
    }
    .modal-reading__pdf-bottom .button {
        width: 100%;
    }
}

/* modal-city */
.modal-city {
    --offset-modal: var(--grid-gap);
    --size-check: 1.625rem;
}
.modal-city__content {
    padding: var(--offset-modal) calc(var(--offset-modal) / 2);
    display: flex;
    flex-direction: column;
    gap: var(--offset-main);
    flex-grow: 1;
    overflow: hidden;
}
.modal-city__search .input {
    border-color: var(--color-black-08);
    color: var(--color-text-dark);
}
.modal-city__search .field__caption,
.modal-city__search .input::placeholder,
.modal-city__search .field-btn__btn-fake {
    color: var(--color-grey-60);
}
.modal-city__title,
.modal-city__search,
.modal-city__item {
    padding-left: calc(var(--offset-modal) / 2);
    padding-right: calc(var(--offset-modal) / 2);
}
.modal-city__item {
    min-height: 2.625rem;
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-radius: var(--radius-extrasmall);
    cursor: pointer;
    transition: var(--transition);
    padding-right: calc(var(--size-check) + var(--offset-extrasmall));
    position: relative;
}
.modal-city__item._active::after {
    position: absolute;
    top: 50%;
    right: calc(var(--offset-modal) / 2);
    transform: translateY(-50%);
    content: '';
    display: block;
    min-width: var(--size-check);
    width: var(--size-check);
    min-height: var(--size-check);
    height: var(--size-check);
    background-image: url('../../images/icons/check-color.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

/**/
.modal-city__item._hidden {
    display: none;
}

@media screen and (min-width: 1024px) {
    .modal-city__item:hover {
        background-color: var(--color-black-08);
    }
}
.modal-city__item:active {
    background-color: var(--color-black-16);
}

/**/
.modal-close {
    --btn-color: var(--color-grey-60);
    --size-btn: 3rem;
    --size-svg: var(--size-icon-big);

    min-height: var(--size-btn);
    height: var(--size-btn);
    min-width: var(--size-btn);
    width: var(--size-btn);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: var(--btn-gap);
    color: var(--btn-color);
    white-space: nowrap;
    position: relative;
    transition: var(--transition);

    font-weight: var(--font-semibold);
    font-size: 1.375rem;
    line-height: 1.09;
    text-align: center;
    text-transform: uppercase;

    margin-top: calc(var(--offset-extrasmall) * -1);
    margin-right: calc(var(--offset-extrasmall) * -1);
}
.modal-close svg,
.modal-close img {
    display: block;
    min-height: var(--size-svg);
    height: var(--size-svg);
    min-width: var(--size-svg);
    width: var(--size-svg);
}
.modal-close img {
    object-fit: contain;
}

/**/
.modal-close_absolute {
    position: absolute;
    top: var(--offset-modal);
    right: var(--offset-modal);
}

@media screen and (min-width: 1024px) {
    .modal-close:hover {
        --btn-color: var(--color-text-dark);
    }
}
.modal-close:active {
    --btn-color: var(--color-text-dark);
}

@media screen and (max-width: 1023.5px) {
    .modal-close {
        --size-btn: 2.25rem;
        --size-svg: 1.75rem;

        margin-top: -0.25rem;
        margin-right: -0.25rem;
    }
    .h5.modal__content-title {
        font-size: 1.625rem;
        line-height: 1.15;
    }
    .modal__content-descr {
        font-size: 0.875rem;
        line-height: 1.43;
    }
    .modal__content-descr:not(:first-child) {
        margin-top: 0.25rem;
    }
    .modal__content-title:not(:first-child) {
        margin-top: var(--offset-small);
    }
}

/**/
.modal-auto {
    height: auto !important;
}
.modal-hidden {
    opacity: 0 !important;
}
.modal-visible {
    opacity: 1 !important;
    animation: var(--f-transition-duration, 0.2s) ease both f-zoomInUp-animated-important;
}