body {
    background-color: #fff;
}

.firmPage__header * {
    font-family: var(--ui-main-font) !important;
}

.firmPage__header .commonText__link {
    max-width: none;
}

/* information */
.firmPage__header {
    display: grid;
    grid-gap: 28px;
    grid-template-columns: 400px 1fr;
    grid-template-areas: 'information slider'
        'contacts contacts';

    background-color: #f5f4f8;
    padding: 28px;
    border-radius: 28px;
    margin-bottom: 20px;
}

.firmPage__information {
    grid-area: information;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    align-content: space-between;
}

.firmPage__informationBlock {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    align-content: start;
}

.firmPage__breadcrumbs {
    /* крошки с nowrap не переносятся на вторую строку и стремятся
       растянуть блок шире колонки (min-width: auto не даёт ужаться
       по ширине контента) — запрещаем это, лишнее обрежет overflow: hidden */
    min-width: 0;
    max-width: 100%;
}

.firmPage__breadcrumbs .p_a2_breadcrumbs {
    margin: 0;
}

.firmPage__breadcrumbs .part_padding {
    /* при нехватке ширины (nowrap) содержимое переполняет блок, из-за
       поворота на 180deg это выглядит как обрезка слева — прижимаем
       вёрстку вправо, чтобы переполнение уходило вправо (сторона
       названия фирмы), а начальные хлебные крошки оставались целыми */
    justify-content: flex-end;
}


.firmPage__breadcrumbs .p_a2_breadcrumbs span:after {
    color: #bfbec1;
}

.firmPage__breadcrumbs .part_padding span {
    color: #1D1D1B;
    font-size: 13px;

    /* без nowrap разделитель "/" переносится на вторую строку,
       которая полностью скрывается max-height: 1.2em (overflow: hidden) */
    white-space: nowrap;
}

.firmPage__breadcrumbs .part_padding > span:nth-child(1) > span {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 70px;
}

.firmPage__firmName {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px;
    align-content: start;
}

.firmPage__companyName {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px;
    font-weight: 600;
}

.firmPage__FirmNamePrefix,
.firmPage__FirmNamePostfix {
    color: #6F6F6F;
    font-size: 16px;
    font-weight: normal;
}

.firmPage__actions {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 18px;
    align-content: end;
}

.firmPage__headerButton {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 18px;
    border: none;
    min-height: 62px;
    width: 100%;
    padding: 5px 20px;
    box-sizing: border-box;
    transition: .2s;
}

.firmPage__headerButton * {
    pointer-events: none;
}

.firmPage__headerButton:hover {
    filter: brightness(.9);
    text-decoration: none;
}

.firmPage__headerButton--writeButton {
    background-color: #ece7fe;
}

.firmPage__headerButton--manyFirmsButton {
    background-color: #2ca34d;
    color: #fff;
    font-size: 16px;
    gap: 10px;
    align-items: center;
}

.firmPage__interactiveBlock .firmPage__headerButton--manyFirmsButton::after {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMDI1IDQuOTQxNDFMMTcuMDgzMyA5Ljk5OTc0TDEyLjAyNSAxNS4wNTgxIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBvcGFjaXR5PSIwLjQiIGQ9Ik0yLjkxNjY2IDEwSDE2Ljk0MTciIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==');
    display: flex;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.firmPage__buttonText {
    color: #5728FF;
    font-size: 15px;
    font-family: var(--ui-second-font) !important;
}

.firmPage__phonesList {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 6px;
    justify-items: start;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 20px;
    background-color: #fff;
    border-radius: 15px;
}

.firmPage__phonesList a {
    color: #1D1D1B;
}

.p_a2_firmPage_main_firmDesign5main .writeInButton {
    background: #5728FF;
}

.p_a2_firmPage_main_firmDesign5main .firmPage__writeBlock .firmPage__interactiveUserBlock {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 18px;
}

.p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 16px;
    border: none;
    min-height: 62px;
    width: 100%;
    padding: 5px 20px;
    box-sizing: border-box;
    transition: .2s;
    white-space: nowrap;
}

.p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock .p_a2_firmPage_main_firmDesign4main_callMeButton,
.p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock .p_a2_firmPage_main_firmDesign4main_writeInButton {
    width: 100%;
}

.p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock .callMeButton {
    background-color: #2ca34d;
}

/* coupon */
.p_a2_firmPage_main_firmDesign5main .firmPage__firmCustomMessage {
    grid-column: 1/-1;
}

.p_a2_firmPage_main_firmDesign5main .firmCustomMessage {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 12px;
    align-content: center;
    border: none;
    border-radius: 15px;
    background-color: #fff;
    color: #1D1D1B;
    padding: 5px;
}

.p_a2_firmPage_main_firmDesign5main .firmCustomMessage p {
    padding: 10px 10px 0 10px;
}


.p_a2_firmPage_main_firmDesign5main .firmCustomMessage__couponLink {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    bottom: auto;
    right: auto;
    background-color: transparent;
    color: #5728FF;
    font-size: 15px;
    font-family: var(--ui-second-font) !important;
    font-weight: normal;
    border: 1px #5728FF dashed;
    border-radius: 12px;
    text-align: center;
    padding: 0 20px;
    min-height: 35px;
    gap: 10px;
    letter-spacing: normal;
}

.p_a2_firmPage_main_firmDesign5main .firmCustomMessage__couponLink:hover {
    background-color: #ece7fe;
}

.p_a2_firmPage_main_firmDesign5main .firmCustomMessage__couponLink::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KCTxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+Cgk8cGF0aCBmaWxsPSIjNTcyOGZmIiBkPSJNMTQuOCA4TDE2IDkuMkw5LjIgMTZMOCAxNC44ek00IDRoMTZjMS4xMSAwIDIgLjg5IDIgMnY0YTIgMiAwIDEgMCAwIDR2NGMwIDEuMTEtLjg5IDItMiAySDRhMiAyIDAgMCAxLTItMnYtNGMxLjExIDAgMi0uODkgMi0yYTIgMiAwIDAgMC0yLTJWNmEyIDIgMCAwIDEgMi0ybTAgMnYyLjU0YTMuOTk0IDMuOTk0IDAgMCAxIDAgNi45MlYxOGgxNnYtMi41NGEzLjk5NCAzLjk5NCAwIDAgMSAwLTYuOTJWNnptNS41IDJjLjgzIDAgMS41LjY3IDEuNSAxLjVTMTAuMzMgMTEgOS41IDExUzggMTAuMzMgOCA5LjVTOC42NyA4IDkuNSA4bTUgNWMuODMgMCAxLjUuNjcgMS41IDEuNXMtLjY3IDEuNS0xLjUgMS41cy0xLjUtLjY3LTEuNS0xLjVzLjY3LTEuNSAxLjUtMS41IiAvPgo8L3N2Zz4K');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.p_a2_firmPage_main_firmDesign5main .firmCustomMessage__couponLink img {
    display: none;
}

.p_a2_firmPage_main_firmDesign5main .psedoSpaceEl {
    display: none;
}

.firmPage__interactiveUserBlock button span {
    display: none;
}

/* slider */
.firmPage__slider {
    grid-area: slider;
    border-radius: 28px;
    overflow: hidden;
    min-height: 465px;
}

@media only screen and (max-width: 650px) {
    .firmPage__slider {
        border-radius: 0;
    }

    .firmPage__slider .topSlider__infoBlock {
        padding: 20px;
    }
}

.topSlider__socialData {
    display: flex;
    gap: 10px;
    align-items: center;
    align-content: center;
}

.raiting_block.raiting_with_img {
    display: flex;
    align-items: center;
}

.firmPage__slider .topSlider {
    height: 100%;
}

.firmPage__slider .firmComments {
    min-height: 38px;
    padding: 0 10px;
    background-color: #fff;
    color: #1D1D1B;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.firmPage__slider .firmRating *,
.firmPage__slider .firmComments * {
    pointer-events: none;
}

.firmPage__slider .firmRating:hover,
.firmPage__slider .firmComments:hover {
    text-decoration: none;
}

.firmPage__slider .firmComments span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
    color: #6F6F6F;

}

.firmPage__slider .firmComments span::after {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOS43MzkxMyAxNC4zMjYxVjEzLjU3NjFDOS41NDAyMiAxMy41NzYxIDkuMzQ5NDUgMTMuNjU1MSA5LjIwODggMTMuNzk1OEw5LjczOTEzIDE0LjMyNjFaTTUuNTY1MjIgMTguNUg0LjgxNTIyQzQuODE1MjIgMTguODAzMyA0Ljk5Nzk1IDE5LjA3NjggNS4yNzgyIDE5LjE5MjlDNS41NTg0NiAxOS4zMDkgNS44ODEwNSAxOS4yNDQ4IDYuMDk1NTUgMTkuMDMwM0w1LjU2NTIyIDE4LjVaTTUuNTY1MjIgMTQuMzI2MUg2LjMxNTIyQzYuMzE1MjIgMTMuOTExOSA1Ljk3OTQzIDEzLjU3NjEgNS41NjUyMiAxMy41NzYxVjE0LjMyNjFaTTkgMy4yNUM5LjQxNDIxIDMuMjUgOS43NSAyLjkxNDIxIDkuNzUgMi41QzkuNzUgMi4wODU3OSA5LjQxNDIxIDEuNzUgOSAxLjc1VjIuNVYzLjI1Wk0xOC43NSAxMEMxOC43NSA5LjU4NTc5IDE4LjQxNDIgOS4yNSAxOCA5LjI1QzE3LjU4NTggOS4yNSAxNy4yNSA5LjU4NTc5IDE3LjI1IDEwSDE4SDE4Ljc1Wk05LjczOTEzIDE0LjMyNjFMOS4yMDg4IDEzLjc5NThMNS4wMzQ4OSAxNy45Njk3TDUuNTY1MjIgMTguNUw2LjA5NTU1IDE5LjAzMDNMMTAuMjY5NSAxNC44NTY0TDkuNzM5MTMgMTQuMzI2MVpNNS41NjUyMiAxOC41SDYuMzE1MjJWMTQuMzI2MUg1LjU2NTIySDQuODE1MjJWMTguNUg1LjU2NTIyWk01LjU2NTIyIDE0LjMyNjFWMTMuNTc2MUg0VjE0LjMyNjFWMTUuMDc2MUg1LjU2NTIyVjE0LjMyNjFaTTIgMTIuMzI2MUgyLjc1VjQuNUgySDEuMjVWMTIuMzI2MUgyWk0xNiAxNC4zMjYxVjEzLjU3NjFIOS43MzkxM1YxNC4zMjYxVjE1LjA3NjFIMTZWMTQuMzI2MVpNNCAyLjVWMy4yNUg5VjIuNVYxLjc1SDRWMi41Wk0xOCAxMEgxNy4yNVYxMi4zMjYxSDE4SDE4Ljc1VjEwSDE4Wk0xNiAxNC4zMjYxVjE1LjA3NjFDMTcuNTE4OCAxNS4wNzYxIDE4Ljc1IDEzLjg0NDkgMTguNzUgMTIuMzI2MUgxOEgxNy4yNUMxNy4yNSAxMy4wMTY0IDE2LjY5MDQgMTMuNTc2MSAxNiAxMy41NzYxVjE0LjMyNjFaTTIgNC41SDIuNzVDMi43NSAzLjgwOTY0IDMuMzA5NjQgMy4yNSA0IDMuMjVWMi41VjEuNzVDMi40ODEyMiAxLjc1IDEuMjUgMi45ODEyMiAxLjI1IDQuNUgyWk00IDE0LjMyNjFWMTMuNTc2MUMzLjMwOTY0IDEzLjU3NjEgMi43NSAxMy4wMTY0IDIuNzUgMTIuMzI2MUgySDEuMjVDMS4yNSAxMy44NDQ5IDIuNDgxMjIgMTUuMDc2MSA0IDE1LjA3NjFWMTQuMzI2MVpNMTggNC41SDE3LjI1QzE3LjI1IDUuNzQyNjQgMTYuMjQyNiA2Ljc1IDE1IDYuNzVWNy41VjguMjVDMTcuMDcxMSA4LjI1IDE4Ljc1IDYuNTcxMDcgMTguNzUgNC41SDE4Wk0xNSA3LjVWNi43NUMxMy43NTc0IDYuNzUgMTIuNzUgNS43NDI2NCAxMi43NSA0LjVIMTJIMTEuMjVDMTEuMjUgNi41NzEwNyAxMi45Mjg5IDguMjUgMTUgOC4yNVY3LjVaTTEyIDQuNUgxMi43NUMxMi43NSAzLjI1NzM2IDEzLjc1NzQgMi4yNSAxNSAyLjI1VjEuNVYwLjc1QzEyLjkyODkgMC43NSAxMS4yNSAyLjQyODkzIDExLjI1IDQuNUgxMlpNMTUgMS41VjIuMjVDMTYuMjQyNiAyLjI1IDE3LjI1IDMuMjU3MzYgMTcuMjUgNC41SDE4SDE4Ljc1QzE4Ljc1IDIuNDI4OTMgMTcuMDcxMSAwLjc1IDE1IDAuNzVWMS41WiIgZmlsbD0iIzU3MjhGRiIvPjwvc3ZnPg==');
    display: flex;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.firmPage__slider .ratingBlock__label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
    color: #6F6F6F;
}

.p_a2_raiting_raitingBlock .ratingBlock__label:hover {
    text-decoration: none;
}

.firmPage__slider .ratingBlock {
    min-height: 38px;
    padding: 0 10px;
    background-color: #fff;
    color: #1D1D1B;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-sizing: border-box;
}

.firmPage__slider .ratingBlock .ratingBlock__number ~ svg {
    display: none;
}

.firmPage__slider .ratingBlock .ratingBlock__number::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy42NjMzMyAxLjgwODg4QzcuODAxMDQgMS41Mjk4NSA4LjE5ODkzIDEuNTI5ODUgOC4zMzY2NCAxLjgwODg4TDEwLjExOTMgNS40MjA5N0MxMC4xNzQgNS41MzE3NyAxMC4yNzk3IDUuNjA4NTcgMTAuNDAyIDUuNjI2MzRMMTQuMzg4MiA2LjIwNTU2QzE0LjY5NjEgNi4yNTAzMSAxNC44MTkgNi42Mjg3MiAxNC41OTYyIDYuODQ1OTJMMTEuNzExOCA5LjY1NzUzQzExLjYyMzMgOS43NDM3OCAxMS41ODI5IDkuODY4MDQgMTEuNjAzOCA5Ljk4OTgzTDEyLjI4NDcgMTMuOTU5OUMxMi4zMzczIDE0LjI2NjYgMTIuMDE1NCAxNC41MDA0IDExLjc0IDE0LjM1NTdMOC4xNzQ2OSAxMi40ODEyQzguMDY1MzIgMTIuNDIzNyA3LjkzNDY2IDEyLjQyMzcgNy44MjUyOSAxMi40ODEyTDQuMjU5OTUgMTQuMzU1N0MzLjk4NDUzIDE0LjUwMDQgMy42NjI2MyAxNC4yNjY2IDMuNzE1MjMgMTMuOTU5OUw0LjM5NjE1IDkuOTg5ODNDNC40MTcwNCA5Ljg2ODA0IDQuMzc2NjYgOS43NDM3OCA0LjI4ODE4IDkuNjU3NTNMMS40MDM3NiA2Ljg0NTkyQzEuMTgwOTQgNi42Mjg3MiAxLjMwMzkgNi4yNTAzMSAxLjYxMTgyIDYuMjA1NTZMNS41OTc5OSA1LjYyNjM0QzUuNzIwMjcgNS42MDg1NyA1LjgyNTk4IDUuNTMxNzcgNS44ODA2NiA1LjQyMDk3TDcuNjYzMzMgMS44MDg4OFoiIHN0cm9rZT0iI0UzOTYxQiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=');
    display: flex;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.firmPage__slider .ratingBlock .ratingBlock__number {
    display: flex;
    gap: 5px;
    align-items: center;
}

.firmPage__slider .topSlider__infoTop {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.firmPage__slider .areYouOwner {
    position: relative;
    color: #fff;
    padding: 5px 10px;
    font-size: 13px;
    /* background: rgba(0, 0, 0, 0.5); */
}

.firmPage__slider .areYouOwner button {
    color: #fff;
    text-decoration: underline;
    text-shadow: 0 0 3px #00000099;
}


@media only screen and (max-width: 650px) {
    .p_a2_firmPage_main_areYouOwner {
        box-shadow: 0px 0px 6px 5px #d0d0d0de;
        background-color: #d0d0d0de;
    }
}


.firmPage__slider .areYouOwner button:hover {
    text-decoration: none;
}

.firmPage__slider .topSlider__nav {
    justify-content: flex-start;
}

.firmPage__slider .topSlider__nav button {
    background-color: #fff;
    transition: .2s;
}

.firmPage__slider .topSlider__nav button:hover {
    filter: brightness(.9);
}

.firmPage__slider .topSlider__nav .topSlider__navBut--prev::after {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQgMTdMOS40MiAxMS45OTkyTDE0IDciIHN0cm9rZT0iIzFEMUQxQiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=');
    display: flex;
    width: 25px;
    height: 25px;
    flex-shrink: 0;
}

.firmPage__slider .topSlider__nav .topSlider__navBut--next::after {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAgMTdMMTQuNTggMTEuOTk5MkwxMCA3IiBzdHJva2U9IiMxRDFEMUIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+');
    display: flex;
    width: 25px;
    height: 25px;
    flex-shrink: 0;
}

.firmPage__slider .topSlider__infoBlock {
    padding: 38px;
}

.firmPage__accessItem .areYouOwner {
    margin: 0;
}

.firmPage__slider .topSlider__nav,
.firmPage__slider .topSlider__navBut {
    margin: 0 !important;
}

.firmPage__slider .topSlider__nav {
    gap: 8px;
}

.firmPage__slider .topSlider__navBut {
    width: 58px;
    height: 58px;
}


/* contacts */
.firmPage__contacts {
    grid-area: contacts;
    display: grid;
    grid-template-columns: 1fr .7fr 1fr;
    grid-gap: 18px;
}

.firmPage__contacts.firmPage__contacts--short {
    grid-template-columns: 1fr 1fr;
}

.firmPage__contactsBlock {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 15px;
    align-items: start;
    align-content: start;

    background-color: #fff;
    border-radius: 15px;
    padding: 18px;
    /* width: 100%; */
}

.firmPage__contacts .commonText__link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    font-size: 15px;
}

.firmPage__contactsBlock:empty {
    display: none;
}


.commonText__dottedBlueLink {
    font-family: var(--ui-second-font) !important;
    margin: 0;
    padding: 0;
    color: #4E5CFF !important;
    font-style: normal;
    text-decoration: none;
    border-bottom: dotted 1px
}

.commonText__dottedBlueLink:hover {
    border-bottom: dotted 1px #fff;
}

.firmPage__contactsBlock .commonText__link {
    font-size: 15px;
    color: #1D1D1B;
}

.firmPage__contactsBlock .commonText__link--address {
    flex-wrap: nowrap;
}

.firmPage__contactsBlock .commonText__link--address span {
    overflow-wrap: break-word;
    width: 100%;
}

.firmPage__contactsBlock .commonText__link--address span:blank {
    display: none;
}

.commonText__link--address .commonText__dottedBlueLink {
    align-self: flex-end;
    white-space: nowrap;
}

.firmPage__contactsBlock .commonText__link--address::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMy40Mzc1IDMuOTA2MjVMMTYuMTc2NSAxNi42MTc2TTkuNTU4ODIgMTAuODgyNEwzLjgyMzUzIDE2LjYxNzZNNS4xNDcwNiAxNy41SDE0Ljg1MjlDMTYuMzE0OSAxNy41IDE3LjUgMTYuMzE0OSAxNy41IDE0Ljg1MjlWNS4xNDcwNkMxNy41IDMuNjg1MTMgMTYuMzE0OSAyLjUgMTQuODUyOSAyLjVINS4xNDcwNkMzLjY4NTEzIDIuNSAyLjUgMy42ODUxMyAyLjUgNS4xNDcwNlYxNC44NTI5QzIuNSAxNi4zMTQ5IDMuNjg1MTMgMTcuNSA1LjE0NzA2IDE3LjVaIiBzdHJva2U9IiM0RTVDRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    align-self: start;
}

.firmPage__contactsBlock .commonText__link--workTime::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTg3NSAxMS44NzVMOS4zNzUgMTAuOTM3NVY3LjAxNzM5TTE2Ljg3NSAxMEMxNi44NzUgNS44NTc4NiAxMy41MTcxIDIuNSA5LjM3NSAyLjVDNS4yMzI4NiAyLjUgMS44NzUgNS44NTc4NiAxLjg3NSAxMEMxLjg3NSAxNC4xNDIxIDUuMjMyODYgMTcuNSA5LjM3NSAxNy41QzEyLjE1MTEgMTcuNSAxNC41NzQ4IDE1Ljk5MTggMTUuODcxNiAxMy43NU0xNC44MTc1IDkuMTc2OTVMMTYuNjkyNSAxMS4wNTJMMTguNTY3NSA5LjE3Njk1IiBzdHJva2U9IiM0RTVDRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.firmPage__contactsBlock .commonText__link--groups::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAgOFYxNC42NjY3TTcgMTEuNTc1NkM0LjA2ODE3IDEyLjA3MDEgMiAxMy4yNjc4IDIgMTQuNjY2N0MyIDE2LjUwNzYgNS41ODE3MiAxOCAxMCAxOEMxNC40MTgzIDE4IDE4IDE2LjUwNzYgMTggMTQuNjY2N0MxOCAxMy4yNjc4IDE1LjkzMTggMTIuMDcwMSAxMyAxMS41NzU2TTEyLjY2NjcgNC42NjY2N0MxMi42NjY3IDYuMTM5NDMgMTEuNDcyOCA3LjMzMzMzIDEwIDcuMzMzMzNDOC41MjcyNCA3LjMzMzMzIDcuMzMzMzMgNi4xMzk0MyA3LjMzMzMzIDQuNjY2NjdDNy4zMzMzMyAzLjE5MzkxIDguNTI3MjQgMiAxMCAyQzExLjQ3MjggMiAxMi42NjY3IDMuMTkzOTEgMTIuNjY2NyA0LjY2NjY3WiIgc3Ryb2tlPSIjNEU1Q0ZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.firmPage__contactsBlock .commonText__link--suite::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTUuNjI1IDE0Ljk2MDlMMTIuODg0NiAxMS43MzA4SDExLjE1MzhMMTAgMTAuNTc2OUwxMi4zMDc3IDcuMTE1MzhIMTYuMzQ2Mk01Ljk2MTU0IDQuMjMwNzdMNy4xODUzIDUuNDU0NTNDNy44NDI4OCA2LjExMjExIDguMDQ1MyA3LjA5ODI5IDcuNjk5OTIgNy45NjE3NEM3LjM0Njg4IDguODQ0MzQgNi40OTIwNiA5LjQyMzA4IDUuNTQxNDcgOS40MjMwOEgzLjA3NjkyTTE3LjUgMTBDMTcuNSAxNC4xNDIxIDE0LjE0MjEgMTcuNSAxMCAxNy41QzUuODU3ODYgMTcuNSAyLjUgMTQuMTQyMSAyLjUgMTBDMi41IDUuODU3ODYgNS44NTc4NiAyLjUgMTAgMi41QzE0LjE0MjEgMi41IDE3LjUgNS44NTc4NiAxNy41IDEwWiIgc3Ryb2tlPSIjNTcyOEZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.firmPage__contactsBlock .commonText__link--vk::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWFzayBpZD0ibWFzazBfNzBfMzM5IiBzdHlsZT0ibWFzay10eXBlOmx1bWluYW5jZSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48cGF0aCBkPSJNMTggMkgyVjE4SDE4VjJaIiBmaWxsPSJ3aGl0ZSIvPjwvbWFzaz48ZyBtYXNrPSJ1cmwoI21hc2swXzcwXzMzOSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMy4wNDQ4OCAzLjEyNDcxQzEuOTIwMTcgNC4yNDk0MiAxLjkyMDE3IDYuMDU5NjIgMS45MjAxNyA5LjY4VjEwLjMyQzEuOTIwMTcgMTMuOTQwNCAxLjkyMDE3IDE1Ljc1MDYgMy4wNDQ4OCAxNi44NzUzQzQuMTY5NTkgMTggNS45Nzk3OCAxOCA5LjYwMDE3IDE4SDEwLjI0MDJDMTMuODYwNSAxOCAxNS42NzA3IDE4IDE2Ljc5NTUgMTYuODc1M0MxNy45MjAyIDE1Ljc1MDYgMTcuOTIwMiAxMy45NDA0IDE3LjkyMDIgMTAuMzJWOS42OEMxNy45MjAyIDYuMDU5NjIgMTcuOTIwMiA0LjI0OTQyIDE2Ljc5NTUgMy4xMjQ3MUMxNS42NzA3IDIgMTMuODYwNSAyIDEwLjI0MDIgMkg5LjYwMDE3QzUuOTc5NzggMiA0LjE2OTU5IDIgMy4wNDQ4OCAzLjEyNDcxWk00LjYyMDIgNi44NjY3QzQuNzA2ODUgMTEuMDI2NyA2Ljc4Njg0IDEzLjUyNjcgMTAuNDMzNSAxMy41MjY3SDEwLjY0MDJWMTEuMTQ2N0MxMS45ODAyIDExLjI4IDEyLjk5MzUgMTIuMjYgMTMuNDAwMSAxMy41MjY3SDE1LjI5MzVDMTQuNzczNSAxMS42MzM0IDEzLjQwNjggMTAuNTg2NyAxMi41NTM1IDEwLjE4NjdDMTMuNDA2OCA5LjY5MzM2IDE0LjYwNjggOC40OTMzNiAxNC44OTM1IDYuODY2N0gxMy4xNzM0QzEyLjgwMDEgOC4xODY3IDExLjY5MzUgOS4zODY2OSAxMC42NDAyIDkuNTAwMDJWNi44NjY3SDguOTIwMTVWMTEuNDhDNy44NTM0OSAxMS4yMTM0IDYuNTA2ODUgOS45MjAwMyA2LjQ0Njg1IDYuODY2N0g0LjYyMDJaIiBmaWxsPSIjNTcyOEZGIi8+PC9nPjwvc3ZnPg==');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.firmPage__contactsBlock .commonText__link--metro::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAgMC44NDk2MDlDMTEuMDY5IDAuODQ5MTE4IDEyLjEyOCAxLjA0NTY1IDEzLjExNjIgMS40MjY3NkMxNC4xMDQ0IDEuODA3ODcgMTUuMDAzNSAyLjM2NjcyIDE1Ljc2MDcgMy4wNzIyN0MxNi41MTggMy43Nzc4NCAxNy4xMTkxIDQuNjE2NjggMTcuNTI5MyA1LjU0MDA0QzE3LjkzOTQgNi40NjMzIDE4LjE1MDkgNy40NTMyMSAxOC4xNTA0IDguNDUzMTJMMTguMTQxNiA4LjgyNzE1QzE4LjA5NzkgOS42OTg2NSAxNy44OTMgMTAuNTU3NiAxNy41MzUyIDExLjM2NTJDMTcuMTc3MyAxMi4xNzI5IDE2LjY3MjYgMTIuOTE1NCAxNi4wNDQ5IDEzLjU2MDVMMTUuNzY4NiAxMy44MzAxTDEwLjEwMjUgMTkuMTA5NEw5Ljk5OTAyIDE5LjIwNjFMOS44OTc0NiAxOS4xMDk0TDguOTgyNDIgMTguMjQ2MUw4Ljg2NjIxIDE4LjEzNTdMOC45ODM0IDE4LjAyNzNMMTQuNjM3NyAxMi43NTk4QzE1LjI0NjYgMTIuMTk0MSAxNS43Mjg1IDExLjUyMjEgMTYuMDU2NiAxMC43ODMyQzE2LjM4NDcgMTAuMDQ0NCAxNi41NTI3IDkuMjUyODkgMTYuNTUwOCA4LjQ1NDFWOC40NTMxMkMxNi41NTA2IDUuMTA0OTYgMTMuNjIwNSAyLjM2MDM2IDEwIDIuMzYwMzVDNi4zNzk5IDIuMzYwMzUgMy40NjIxMyA1LjEwNDYgMy40NjE5MSA4LjQ1MzEyVjguNDU0MUMzLjQ1OTE0IDEwLjA2MTQgNC4xNDEyIDExLjYwNjcgNS4zNjIzIDEyLjc0OUg1LjM2MzI4QzUuNTE1MzUgMTIuODkyMSA1LjYwMjU5IDEzLjA4NzggNS42MDI1NCAxMy4yOTM5QzUuNjAyOTQgMTMuNDQ1NyA1LjU1NDc5IDEzLjU5MzQgNS40NjU4MiAxMy43MTc4QzUuMzc2ODYgMTMuODQyIDUuMjUxMjUgMTMuOTM3NCA1LjEwNjQ1IDEzLjk5MzJDNC45NjE2MSAxNC4wNDg5IDQuODAyNDEgMTQuMDYzOSA0LjY0OTQxIDE0LjAzNTJDNC41MzQ2NiAxNC4wMTM2IDQuNDI2MjggMTMuOTY4IDQuMzMyMDMgMTMuOTAyM0w0LjI0MzE2IDEzLjgzMDFDMi43NzIzOSAxMi40NTk2IDEuODQ5NjEgMTAuNTYwOCAxLjg0OTYxIDguNDUzMTJDMS44NDk4MyA0LjI0Njg4IDUuNTEyOTEgMC44NDk2MDkgMTAgMC44NDk2MDlaTTE0LjQ0NDMgMTAuNzQ1MUgxMS4xMjVWOS43MzkyNkgxMS41MDQ5TDExLjI0OSA5LjA1MjczTDEwLjE0OTQgMTAuNzMyNEwxMC4wMjQ0IDEwLjkyMzhMOS44OTg0NCAxMC43MzI0TDguNzk3ODUgOS4wNTI3M0w4LjU0Mzk1IDkuNzM5MjZIOC45MjI4NVYxMC43NDUxSDUuNjE2MjFWOS43MzkyNkg2LjI0NDE0TDguMjAyMTUgNS4xMzM3OUw4LjMxNTQzIDQuODY2MjFMOC40Njc3NyA1LjExNDI2TDEwLjAyMzQgNy42NTAzOUwxMS41ODAxIDUuMTE0MjZMMTEuNzMyNCA0Ljg2NjIxTDExLjg0NjcgNS4xMzM3OUwxMy44MDQ3IDkuNzM3M0wxNC4yOTQ5IDkuNzM5MjZIMTQuNDQ0M1YxMC43NDUxWiIgZmlsbD0iIzU3MjhGRiIgc3Ryb2tlPSIjNTcyOEZGIiBzdHJva2Utd2lkdGg9IjAuMyIvPjwvc3ZnPg==');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.firmPage__contactsBlock .commonText__link--city::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC41NTI2OSAxMS42Njg5TDEwLjQxNDEgMTcuMDUyOUMxMC43NjMgMTguMDYyMSAxMi4xNzc5IDE4LjA5NTggMTIuNTc0NSAxNy4xMDQ0TDE3LjkxNDcgMy43NTU5N0MxOC4yODYyIDIuODI3MzYgMTcuMzgwMiAxLjg5ODQ5IDE2LjQ0MjYgMi4yNDY3MUwyLjc1MTYzIDcuMzMxNkMxLjc1MTE0IDcuNzAzMTkgMS43NDg5MSA5LjExNzUgMi43NDgyMiA5LjQ5MjI0TDguNTUyNjkgMTEuNjY4OVoiIHN0cm9rZT0iIzU3MjhGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.firmPage__contactsBlock .commonText__link--district::before {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAgMThDMTAgMTggMTYuMjYwOSAxMi40MzQ4IDE2LjI2MDkgOC4yNjA4N0MxNi4yNjA5IDQuODAzMDkgMTMuNDU3OCAyIDEwIDJDNi41NDIyMiAyIDMuNzM5MTQgNC44MDMwOSAzLjczOTE0IDguMjYwODdDMy43MzkxNCAxMi40MzQ4IDEwIDE4IDEwIDE4WiIgc3Ryb2tlPSIjNTcyOEZGIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMTIuMDAwMyA4LjAwMDEzQzEyLjAwMDMgOS4xMDQ3IDExLjEwNDggMTAuMDAwMSAxMC4wMDAzIDEwLjAwMDFDOC44OTU2OSAxMC4wMDAxIDguMDAwMjYgOS4xMDQ3IDguMDAwMjYgOC4wMDAxM0M4LjAwMDI2IDYuODk1NTYgOC44OTU2OSA2LjAwMDEzIDEwLjAwMDMgNi4wMDAxM0MxMS4xMDQ4IDYuMDAwMTMgMTIuMDAwMyA2Ljg5NTU2IDEyLjAwMDMgOC4wMDAxM1oiIHN0cm9rZT0iIzU3MjhGRiIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9zdmc+');
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.commonText__dottedLink {
    color: #1D1D1B !important;
    border-bottom: dotted 1px;
    font-size: 15px;
}

.commonText__dottedLink:hover {
    text-decoration: none;
    border-color: #fff;
}

.p_a2_firmPage_main_firmDesign5main .manageFirmButton {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 16px;
    border: none;
    min-height: 38px;
    width: 100%;
    padding: 5px 20px;
    box-sizing: border-box;
    transition: .2s;
    white-space: nowrap;
    background-color: var(--ui-color-accent);
}

@media screen and (max-width: 1000px) {
    .firmPage__header {
        display: grid;
        grid-gap: 28px;
        grid-template-columns: 1fr;
        grid-template-areas: 'slider'
            'information'
            'contacts';


        background-color: #f5f4f8;
        padding: 28px;
        border-radius: 28px;
    }

    .firmPage__slider {
        align-self: start;
        width: 100%;
        min-height: 0;
        max-height: 465px;
        aspect-ratio: 3 / 2;
        position: relative;
    }

    .firmPage__slider .topSlider {
        min-height: 0;
        height: 100%;
    }

    .firmPage__actions {
        grid-template-columns: 1fr 1fr;
    }

    .firmPage__interactiveBlock {
        grid-column: 1 / -1;
    }

    .p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock {
        width: 100%;
        max-width: none;
    }

    .firmPage__contacts.firmPage__contacts--short {
        grid-template-columns: 1fr;
    }

    .firmPage__contacts {
        grid-template-columns: 1fr auto;
    }

    .firmPage__contactsBlock--geo {
        grid-column: 1/-1;
    }
}

@media screen and (max-width: 768px) {
    .firmPage__header {
        padding: 0 0 18px 0;
    }

    .firmPage__contacts,
    .firmPage__information {
        padding: 0 18px;
    }
}


@media screen and (max-width: 650px) {

    .firmPage__contacts,
    .p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock,
    .firmPage__actions {
        grid-template-columns: 1fr;
    }

    .firmPage__slider {
        position: relative;
    }

    .firmPage__slider .firmPage__accessItem {
        position: absolute;
        right: 20px;
        bottom: 20px;
        z-index: 3;
    }

    .firmPage__slider .topSlider__infoTop {
        justify-content: flex-start;
    }

    .firmPage__slider .topSlider__nav {
        display: none;
    }
}

@media screen and (max-width: 510px) {
    .firmPage__slider .topSlider {
        border-radius: 0;
    }

    .firmPage__slider .topSlider__infoBlock {
        height: 100%;
        padding: 20px;
    }

    .firmPage__slider .topSlider__infoTop {
        flex-direction: row;
        height: auto;
        justify-content: flex-start;
        align-items: center;
    }

}

@media screen and (max-width: 450px) {

    .firmPage__contacts,
    .firmPage__actions {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .p_a2_firmPage_main_firmDesign5main .firmPage__writeBlock .firmPage__interactiveUserBlock {
        gap: 10px;
    }

    .firmPage__contacts,
    .firmPage__information {
        padding: 0 10px;
    }
}

@media screen and (max-width: 390px) {

    .p_a2_firmPage_main_firmDesign5main .firmPage__interactiveUserBlock {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    /* .firmPage__writeBlock .firmPage__interactiveUserBlock {
        gap: 10px;
    }

    .firmPage__contacts,
    .firmPage__information {
        padding: 0 10px;
    } */
}

/* Модалки шапки («Записаться», «Перезвоните мне», «Написать», «Показать» телефоны)
   на мобильных отображаются компактным окном по центру, как на десктопе */
@media only screen and (max-width: 768px) {

    #writeInForm-modal .firmPage__modalWrap,
    #callMeForm-modal .firmPage__modalWrap {
        width: auto;
        height: fit-content;
        max-width: 90vw;
        border-radius: 10px;
        padding: 35px 0;
    }

    /* min-width модалки телефонов задаётся в css её кнопки, здесь не дублируем */
    #contactsPhonesModal.firmPage__modalContainer .firmPage__modalWrap,
    #contactsMessagesModal.firmPage__modalContainer .firmPage__modalWrap {
        width: auto;
        height: fit-content;
        max-width: 90vw;
        border-radius: 10px;
    }

    /* у модалки «Написать» контент прижат к краям окна (padding: 0 !important
       в messageContactsList.css) — отступ задаём на самом окне */
    #contactsMessagesModal.firmPage__modalContainer .firmPage__modalWrap {
        padding: 50px 20px;
    }

    /* выше 570px padding контента 50px из messageContactsList.css,
       с ним отступ выходил бы 70px */
    #contactsMessagesModal.firmPage__modalContainer .firmPage__modalContent {
        padding: 0;
    }

    /* чтобы при длинном содержимом окно не доставало до краёв экрана */
    #writeInForm-modal .firmPage__modalContent,
    #callMeForm-modal .firmPage__modalContent {
        max-height: calc(100dvh - 170px);
    }

    #contactsPhonesModal.firmPage__modalContainer .firmPage__modalContent,
    #contactsMessagesModal.firmPage__modalContainer .firmPage__modalContent {
        max-height: calc(100dvh - 200px);
    }

    /* на узких экранах форма не влезает в 90vw со своим min-width — разрешаем сужаться */
    #writeInForm-modal #writeInForm,
    #callMeForm-modal #callMeForm {
        min-width: 0;
    }
}