:root {
    --transition: all 0.3s 0s ease-out;
    --mb-button-size: 40px;
    --mb-bar-width: 0.75;
    --mb-bar-height: 2px;
    --mb-bar-spacing: 6px;
    --color-orange: #E07C18;
    --color-green: #65BA3F;
    --color-violet: #653FBA;
    --color-lilac: #3F99BA;
}

html,
body {
    overflow-x: hidden;
}

body {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-weight: normal;
    font-size: 18px;
    text-align: left;
    color: #000;
    line-height: 24px;
    background-color: #ffffff;
}

* {
    font-family: 'Roboto', sans-serif;
    font-weight: normal;
    font-size: 18px;
    text-align: left;
    color: #000;
    line-height: 24px;
    box-sizing: border-box;
    outline: none;
}

img {
    max-width: 100%;
    flex: none;
}

strong {
    font-weight: bold;
}

a {
    text-decoration: none;
}

.container {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 0 25px;
    width: 100%;
}

.container__small {
    max-width: 920px;
    margin: 0 auto;
    position: relative;
    padding: 0 25px;
    width: 100%;
}

.container__middle {
    max-width: 1144px;
    margin: 0 auto;
    position: relative;
    padding: 0 25px;
    width: 100%;
}

.btn {
    height: 59px;
    border-radius: 30px;
    background: #ebebeb;
    /*border: 2px solid #0a406a;*/
    color: #000000;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 6px;
    padding: 3px 12px;
    transition: var(--transition);
    text-align: center;
}

.btn__black {
    height: 54px;
    border-radius: 27px;
    background: #000;
    border: #000;
    color: #fff;
    padding: 3px 37px;
}

.btn__white {
    height: 56px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #d9d9d9;
    font-weight: normal;
    text-decoration: underline;
    font-size: 14px;
    text-align: left;
    color: #0a49af;
    line-height: 19px;
}

.btns__box {
    display: flex;
    column-gap: 9px;
}

.mburger {
    position: fixed;
    z-index: 21;
    top: 34px;
    right: 43px;
    border-radius: 50%;
    overflow: hidden;
    background: transparent;
    transition: var(--transition);
}

.mburger b {
    color: #ffffff;
}

#my-header.active .mburger {
    background: #000000;
    transition: var(--transition);
}

a {
    color: #0a49af;
    transition: var(--transition);
}

.header__logo {
    width: 158px;
    height: 146px;
    flex: none;
}

.header__info--status span {
    width: 6px;
    height: 6px;
    flex: none;
    display: block;
    border-radius: 50%;
    background: grey;
}

.header__info--status span.status__offline {
    background: grey;
}

.header__info--status span.status__online {
    background: #00ff45;
}

.geo__box {
    display: flex;
    column-gap: 8px;
    max-width: 278px;
    align-items: flex-start;
}

.header__left {
    padding-top: 47px;
}

.header__right {
    padding-top: 35px;
    padding-right: 78px;
}

.header__info--status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-top: 3px;
    column-gap: 7px;
}

.header__info--status p {
    font-size: 16px;
    text-align: right;
    color: #fff;
    line-height: 21px;
}

.header__info--links a {
    font-size: 24px;
    text-align: right;
    color: #fff;
    line-height: 32px;
}

.header__info--links a + a {
    margin-left: 3px;
}

.header__center {
    position: absolute;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
    top: 8px;
}

.geo__box p {
    font-size: 16px;
    line-height: 21px;
    color: #fff;
}

.bg__img {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.main__banner {
    position: relative;
    height: 390px;
    border-radius: 0 0 60px 60px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.normal__banner {
    position: relative;
    height: 157px;
    border-radius: 0 0 60px 60px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.banner__box {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 47px;
    padding-bottom: 38px;
}

.title__banner {
    font-size: 54px;
    /*text-align: center;*/
    color: #fff;
    line-height: 72px;
    margin-bottom: 0.5rem;
}

.mask {
    position: relative;
}

.mask::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.mask > * {
    position: relative;
    z-index: 1;
}

#my-header {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
}

.header__box {
    display: flex;
    justify-content: space-between;
}

.parallax__img {
    background-position: center 0;
}

.header__menu {
    display: block;
    position: fixed;
    z-index: 20;
    overflow: hidden;
    top: 0;
    left: -100vw;
    padding: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    transition: var(--transition);
}

.header__menu.open {
    left: 0;
    transition: all 0.3s ease-in-out;
}

.menu__nav {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 56px;
}

.menu__nav > li {
    width: calc(100% / 4 - 16px * 3 / 4);
}

.menu__nav li a {
    font-weight: bold;
    color: #fff;
}

.menu__nav li ul {
    padding-top: 15px;
}

.menu__nav li ul li {
    margin-bottom: 8px;
}

.menu__nav li ul li a {
    font-weight: normal;
    font-size: 16px;
    line-height: 16px;
}

.header__menu .header__box {
    height: 190px;
}

.nav__box {
    height: calc(100vh - 190px);
    overflow-x: hidden;
    overflow-y: auto;
}

.lock {
    overflow: hidden;
}

.footer {
    background: #000;
    padding-top: 50px;
}

.footer__top {
    display: flex;
    justify-content: space-between;
}

.footer__logo a img {
    width: 218px;
    position: relative;
    left: -15px;
    top: 17px;
}

.footer__name {
    font-size: 34px;
    color: #fff;
    line-height: 45px;
    margin-bottom: 22px;
}

.footer__geo {
    color: #fff;
    margin-bottom: 25px;
}

.footer__tel {
    margin-bottom: 24px;
}

.footer__tel a {
    font-size: 24px;
    line-height: 32px;
    color: #fff;
}

.footer__email a {
    color: #fff;
}

.footer__form {
    position: relative;
    width: 539px;
    border-radius: 30px;
    padding: 46px 60px 36px;
}

.footer__form p {
    font-size: 34px;
    line-height: 45px;
    color: #fff;
    margin-bottom: 2px;
}

.footer__info {
    padding-top: 30px;
}

input[type="tel"],
input[type="text"] {
    width: calc(100% - 154px - 9px);
    height: 59px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid #000;
    color: #000;
    text-align: center;
}

.input__tel {
    width: calc(100% - 154px - 9px);
}

.input__tel input[type="tel"] {
    width: 100%;
}

.group__flex {
    display: flex;
    flex-wrap: wrap;
    column-gap: 9px;
}

input[type="tel"]::placeholder,
input[type="text"]::placeholder {
    color: #000;
}

input[type="submit"] {
    width: 154px;
    cursor: pointer;
}

.appl {
    margin-top: 16px;
    display: flex;
    align-items: flex-start;
}

.appl label,
.appl label a {
    font-size: 14px;
    color: #fff;
    line-height: 19px;
}

.appl label a {
    text-decoration: underline;
}

.footer__bottom a,
.footer__bottom span {
    font-weight: normal;
    font-size: 16px;
    line-height: 16px;
    color: #fff;
}

.bottom__right div {
    display: flex;
    align-items: center;
    column-gap: 11px;
}

.footer__middle {
    padding-top: 72px;
}

.footer__bottom {
    padding-top: 107px;
    padding-bottom: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bottom__left {
    display: flex;
    column-gap: 37px;
    align-items: center;
}

.bottom__left .btns__box {
    margin-left: 29px;
    column-gap: 17px;
}

.grid__catalog--list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 16px;
}

.section__catalog--list {
    padding-top: 21px;
}

.item__catalog--list {
    display: flex;
    justify-content: space-between;
    height: 159px;
    border-radius: 30px;
    background-color: #F2F3F8;
    border: 1px solid #d9d9d9;
    overflow: hidden;
    /*background-color: rgb(0 0 0 / 70%);*/
    background-color: #000000;
}

.grid__catalog--list .item__catalog--list {
    width: calc(100% / 4 - 16px * 3 / 4);
}

.grid__catalog--list .item__catalog--list:nth-child(1),
.grid__catalog--list .item__catalog--list:nth-child(2),
.grid__catalog--list .item__catalog--list:nth-child(3) {
    width: calc(100% / 3 - 16px * 2 / 3);
}

.grid__catalog--list .item__catalog--list:nth-child(1) .img__box,
.grid__catalog--list .item__catalog--list:nth-child(2) .img__box,
.grid__catalog--list .item__catalog--list:nth-child(3) .img__box {
    /*width: 28%;*/
}

.item__catalog--list .text__box {
    padding: 29px 0 44px 30px;
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.item__catalog--list:nth-child(1) .text__box,
.item__catalog--list:nth-child(2) .text__box,
.item__catalog--list:nth-child(3) .text__box {
    width: 62%;
}

.item__catalog--list .text__box .name__box {
    font-size: 24px;
    line-height: 30px;
}

.item__catalog--list .text__box .count__box {
    color: #0a49af;
}

.item__catalog--list .img__box {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    /*width: 28%;*/
    width: 140px;
    flex: none;
}

.item__catalog--list .img__box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item__catalog--list .text__box .count__box,
.item__catalog--list .text__box .name__box {
    color: #ffffff;
}

.section__catalog--list {
    padding-bottom: 22px;
    border-bottom: 1px solid #c7c7c7;
}

.bg__orange {
    background-color: var(--color-orange);
}

.bg__green {
    background-color: var(--color-green);
}

.bg__violet {
    background-color: var(--color-violet);
}

.bg__lilac {
    background-color: var(--color-lilac);
}

.section__title--grid {
    display: flex;
    justify-content: space-between;
    margin-bottom: 35px;
}

.section__title--grid .title {
    font-size: 54px;
    line-height: 72px;
}

.section__title--grid p {
    font-size: 24px;
    line-height: 32px;
    max-width: 650px;
}

.section__title--grid .text__box {
    max-width: 650px;
    padding-top: 5px;
}

.section__products {
    padding-top: 86px;
}

.item__product {
    padding-bottom: 32px;
    border-bottom: 1px solid #c7c7c7;
    display: flex;
    justify-content: space-between;
    column-gap: 55px;
    margin-bottom: 40px;
}

.item__product--description {
    width: 428px;
    padding-top: 3px;
}

.item__product--gallery {
    width: calc(100% - 428px - 16px);
    position: relative;
}

.item__product--description .name,
.item__product--description .name a {
    font-size: 48px;
    line-height: 63px;
    margin-bottom: 14px;
}

.item__product--description .geo {
    margin-bottom: 21px;
}

.geo,
.geo span {
    color: rgba(0, 0, 0, 0.5);
}

.item__product--description .about {
    margin-bottom: 18px;
}

.item__product--description .about p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item__product--description .price {
    font-weight: bold;
    font-size: 48px;
    line-height: 63px;
    margin-bottom: 9px;
}

.item__product--description .in__sale {
    margin-bottom: 32px;
}

.item__product--description .btns__box {
    margin-bottom: 12px;
}

.item__product--description .btns__box .btn {
    width: 159px;
    border-color: #ebebeb;
}

.item__product--description .download__link {
    text-decoration: underline;
}

.product__gallery a {
    border-radius: 30px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
    display: block;
}

.product__gallery {
    display: flex;
    column-gap: 16px;
    margin-bottom: 16px;
}

.product__gallery a {
    aspect-ratio: 1 / 0.75;
}

.product__gallery .img__big {
    width: 63%;
}

.product__gallery .img__smalls {
    width: 37%;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    flex: none;
}

.product__gallery .img__smalls a {
    height: 50%;
    aspect-ratio: 1 / 0.75;
}

.item__product--gallery .btn__all {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 145px;
}

.product__gallery a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.actions__box {
    position: absolute;
    top: -39px;
    left: -39px;
    display: flex;
    flex-direction: column;
    row-gap: 6px;
}

.actions__box span {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 77px;
    height: 77px;
    border-radius: 50%;
    overflow: hidden;
    font-size: 20px;
    color: #fff;
    line-height: 26px;
    text-transform: uppercase;
}

.item__product:last-child {
    border-bottom: none;
    margin-bottom: 7px;
}

.section__banner {
    border-radius: 30px;
    overflow: hidden;
}

.grid__banner {
    display: flex;
    justify-content: space-between;
    padding: 114px 0 107px 111px;
}

.banner__left {
    width: 54%;
    flex: none;
}

.banner__right {
    width: 46%;
    position: relative;
}

.banner__right .banner__img img {
    position: absolute;
    top: -12%;
    right: auto;
    height: 138%;
    left: 6%;
    width: auto;
    max-width: none;
}

.banner__right .banner__img.banner__img--logo img {
    position: absolute;
    top: -46px;
    height: 127%;
    left: -12px;
}

.banner__description .title {
    font-size: 48px;
    color: #fff;
    line-height: 63px;
    margin-bottom: 29px;
}

.banner__description p {
    font-size: 24px;
    color: #fff;
    line-height: 32px;
    max-width: 80%;
    margin-bottom: 1.5rem;
    text-align: justify;
}

.banner__form .fields__group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 16px;
}

.banner__form p {
    font-size: 14px;
    color: #fff;
    line-height: 19px;
    width: 100%;
    margin-top: 18px;
    margin-bottom: 0;
}

.banner__form .appl {
    margin-top: 11px;
}

.banner__form input[type="submit"] {
    width: 205px;
}

.banner__form input[type="text"] {
    width: 163px;
}

.banner__form input[type="tel"] {
    width: calc(100% - 205px - 163px - 16px * 2);
}

.grid__banner--2 .banner__form. input[type="submit"] {
    width: 250px;
}

.grid__banner--2 .banner__form input[type="tel"] {
    width: calc(100% - 250px - 163px - 16px * 2);
}

.item__news {
    /*height: 236px;*/
    height: 368px;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid #d9d9d9;
    width: calc(100% / 4 - 16px * 3 / 4);
}

.item__news .img__box {
    display: block;
    height: 100%;
}

.item__news .img__box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item__news:nth-child(2),
.item__news:nth-child(4),
.item__news:nth-child(5),
.item__news:nth-child(7) {
    /*height: 368px;*/
}

.item__news:nth-child(5),
.item__news:nth-child(7) {
    /*margin-top: -132px;*/
}

.mask__bottom {
    position: relative;
}

.mask__bottom::after {
    content: '';
    width: 100%;
    height: 133px;
    background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.42;
    position: absolute;
    bottom: 0;
    left: 0;
}

.item__news--info {
    position: absolute;
    z-index: 1;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 0 24px 14px;
}

.item__news--info .date {
    color: rgba(255, 255, 255, 0.75);
}

.item__news--info p {
    font-size: 24px;
    color: #fff;
    line-height: 32px;
}

.section__news {
    padding-top: 38px;
}

.grid__news {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 21px;
    padding-top: 37px;
    padding-bottom: 38px;
    border-bottom: 1px solid #c7c7c7;
}

.section__partners {
    padding-top: 48px;
    padding-bottom: 65px;
    border-bottom: 1px solid #c7c7c7;
}

.grid__partners {
    display: flex;
    flex-wrap: wrap;
    column-gap: 12%;
    row-gap: 104px;
    padding-top: 6px;
}

.grid__partners a {
    width: 16%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion__item {
    margin: 0;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 30px;
    overflow: hidden;
}

.accordion__item + .accordion__item {
    margin-top: -50px;
}

.accordion__item .accordion__title {
    position: relative;
    display: block;
    padding: 40px 40px 72px;
    cursor: pointer;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.accordion__item .accordion__title.accordion__active,
.accordion__item:last-child .accordion__title {
    padding-bottom: 40px;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.accordion__item .accordion__title span {
    line-height: 32px;
    font-weight: normal;
    font-size: 24px;
    text-align: left;
    color: #000;
}

.accordion__item .accordion__title::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 22px;
    width: auto;
    right: 22px;
    height: 1px;
    background: #707070;
    opacity: 0;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.accordion__item .accordion__title.accordion__active::after {
    opacity: 0.15;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.accordion__item .accordion__title .accordion__arrow {
    position: absolute;
    top: 46px;
    transform: translateY(-50%);
    right: 66px;
    display: inline-block;
    vertical-align: middle;
    width: 28px;
    height: 14px;
    text-align: center;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.accordion__item img {
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.accordion__item .accordion__rotate img {
    transform: rotate(180deg);
}

.accordion__item .accordion__content {
    padding: 20px 22px 65px;
    display: none;
}

.section__accordion {
    padding-top: 40px;
    padding-bottom: 62px;
}

.section__listik {
    padding-top: 133px;
    padding-bottom: 70px;
    position: relative;
    border-bottom: 1px solid #c7c7c7;
}

.grid__listik {
    display: flex;
}

.grid__listik .text__box {
    width: 67%;
}

.grid__listik .img__box img {
    position: absolute;
    top: 0;
    right: -157px;
}

.naming__box p.name {
    font-weight: bold;
    font-size: 34px;
    line-height: 45px;
}

.section__consultant {
    padding-top: 52px;
    padding-bottom: 52px;
}

.grid__consultant {
    display: flex;
    align-items: center;
}

.grid__consultant .img__box {
    width: 206px;
    height: 206px;
    border-radius: 50%;
    overflow: hidden;
    display: block;
    flex: none;
}

.grid__consultant .text__box p {
    font-size: 24px;
    /*color: #0a49af;*/
    line-height: 32px;
    max-width: 85%;
    margin-bottom: 0;
}

.naming__box {
    margin-left: 16px;
    margin-right: 54px;
}

.banner__center .banner__description,
.banner__center .banner__description .title,
.banner__center .banner__description p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.main__content {
    padding-bottom: 36px;
}

.section__breadcrumbs {
    padding: 23px 0 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.breadcrumbs span,
.breadcrumbs span a {
    font-size: 16px;
    color: #9a9a9a;
    line-height: 21px;
}

.breadcrumbs a span,
.breadcrumbs span a {
    color: #000000;
}

.breadcrumbs,
.breadcrumbs span {
    font-size: 16px;
    color: #9a9a9a;
    line-height: 21px;
}

.section__title--combine {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
}

.section__title--combine .title {
    font-size: 54px;
    color: #000;
    line-height: 72px;
    margin-bottom: 5px;
}

.section__title--combine p {
    font-size: 24px;
    line-height: 32px;
    max-width: 650px;
    margin-top: 16px;
}

.grid__sorting .find {

}

.sort__select select {
    height: 54px;
    border-radius: 27px;
    background: #fff;
    border: 1px solid #d9d9d9;
}

.sort__select select,
.sort__select select option {
    font-size: 16px;
    text-align: center;
    color: #9a9a9a;
    line-height: 21px;
}

.sorting__box,
.grid__sorting {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.grid__sorting {
    column-gap: 116px;
}

.sorting__box {
    padding-top: 33px;
    padding-bottom: 44px;
}

.sort__select {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.sort__select select {
    min-width: 251px;
}

.link__card img {
    margin-left: 5px;
}

.pagination {
    padding: 39px 0;
    width: 100%;
}

.pagination ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.pagination ul li,
.pagination ul li a {
    font-size: 24px;
    line-height: 32px;
    color: #000000;
}

.pagination ul li {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    color: #000000;
    background: transparent;
    border: 2px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px;
}

.pagination ul li.active {
    color: #ffffff;
    border: 2px solid #000000;
    background: #000000;
}

.same__carousel .item__catalog--list {
    height: 228px;
}

.section__same {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-right: -25px;
}

.section__seo {
    max-width: 1144px;
    margin: 0 auto;
    padding: 27px 25px;
}

.section__seo .title {
    font-size: 54px;
    line-height: 72px;
    margin-bottom: 18px;
}

.section__seo p {
    margin-bottom: 24px;
}

.product__list {
    background: #fafafa;
    border: 1px solid #d9d9d9;
    overflow: hidden;
    border-radius: 30px;
    display: flex;
    padding-right: 24px;
    position: relative;
}

.product__img {
    width: 402px;
    flex: none;
    border: 1px solid #d9d9d9;
    border-radius: 30px;
    overflow: hidden;
    margin: -1px 0 -1px -1px;
}

.product__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product__list--consult {
    width: 293px;
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 40px;
}

.product__list--consult .img__box {
    width: 90px;
    height: 90px;
    margin-bottom: 7px;
}

.product__list--consult .name {
    font-weight: bold;
}

.product__list--consult .state {
    font-size: 14px;
    line-height: 19px;
}

.product__list--consult .btns__box {
    margin-top: 15px;
    flex-direction: column;
    row-gap: 12px;
    width: 100%;
    margin-bottom: 15px;
}

.product__list--consult .btns__box .btn {
    border: none;
    width: 100%;
}

.product__list--description {
    width: 100%;
    padding: 51px 17px 42px 42px;
}

.product__list--description .tag__category {
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 11px;
}

.product__list--description .name {
    font-size: 34px;
    line-height: 45px;
    margin-bottom: 5px;
}

.product__list--description .geo {
    margin-bottom: 15px;
}

.product__list--description .price {
    font-weight: bold;
    font-size: 48px;
    line-height: 48px;
}

.product__list--description .price__per {
    font-weight: bold;
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 7px;
}

.product__list--description .about p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product__list--description .options__table {
    margin-bottom: 9px;
}

.product__list--description .options__table table {
    width: 100%;
    table-layout: fixed;
}

.product__list--description .options__table td {
    color: rgba(0, 0, 0, 0.5);
}

hr {
    border-top: 1px solid #c7c7c7;
    margin-top: 21px;
    margin-bottom: 21px;
}

.section__category--new .item__product:last-child {
    border-bottom: 1px solid #c7c7c7;
}

.contacts__map {
    width: 543px;
    flex: none;
}

.contacts__info {
    display: flex;
    flex-direction: column;
}

.contacts__info .title {
    font-size: 54px;
    line-height: 72px;
    margin-bottom: 8px;
}

.contacts__info .contacts__group {
    margin-bottom: 31px;
}

.contacts__info .contacts__group p,
.contacts__info .contacts__group a {
    font-size: 24px;
    line-height: 32px;
}

.contacts__info .contacts__group .contacts__label {
    font-size: 14px;
    color: #9a9a9a;
    line-height: 19px;
    margin-bottom: 11px;
}

.contacts__info .contacts__actions {
    margin-top: auto;
    margin-bottom: 0;
}

.contacts__info .contacts__actions p {
    font-size: 34px;
    line-height: 45px;
}

.section__contacts {
    display: flex;
    justify-content: space-between;
    padding-bottom: 47px;
    column-gap: 16px;
}

.contacts__info > p {
    margin-bottom: 32px;
    font-size: 24px;
    line-height: 32px;
}

.contacts__map .section__banner {
    height: 84%;
}

.contacts__map .section__banner .grid__banner {
    height: 100%;
    padding: 0;
    max-width: 68%;
    margin: auto;
}

.grid__banner--2 .banner__form input[type="submit"] {
    width: auto;
    width: 163px;
    padding: 5px 23px;
}

.link__soc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 12px;
    margin-top: -9px;
}

.link__soc .share,
.link__soc span {
    color: rgba(0, 0, 0, 0.5);
}

.link__soc .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__badge_more {
    aspect-ratio: 1/1;
}

.link__soc .img__box {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    background: #e8e8e8;
}

.section__apart--card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.apart_left {
    width: 100%;
    /*max-width: 761px;*/
}

.apart_right {
    width: calc(100% - 761px);
    width: 33%;
    flex: none;
}

.apart__info {
    width: 316px;
    padding: 0 25px 28px;
    margin: 0 auto;
}

.apart_left .title {
    font-size: 54px;
    line-height: 72px;
    margin-bottom: 12px;
}

.apart__gallery .gallery__main a {
    border-radius: 30px;
    display: inline-block;
    padding: 20px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
}

.apart__gallery .gallery__main a img {
    display: block;
    /*width: 100%;*/
}

.gallery__grid {
    display: flex;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 8px;
}

.gallery__grid a {
    width: calc(100% / 7 - 10px * 6 / 8);
    aspect-ratio: 1/1;
    border-radius: 10px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
}

.gallery__grid a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.apart__description p {
    font-size: 24px;
    line-height: 32px;
}

.gallery__main {
    margin-bottom: 20px;
}

.apart__gallery {
    margin-bottom: 24px;
}

.apart__info .price {
    font-weight: bold;
    font-size: 34px;
    line-height: 45px;
}

.options__list {
    padding-top: 13px;
    padding-bottom: 12px;
}

.options__list p {
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 2px;
}

.apart__info a.btn {
    width: 100%;
}

.consultant__box {
    display: flex;
    align-items: center;
    column-gap: 14px;
    padding-top: 28px;
    padding-bottom: 28px;
}

.consultant__box .img__box {
    width: 95px;
    height: 95px;
    display: block;
    overflow: hidden;
    border-radius: 50%;
}

.consultant__info .name {
    font-weight: bold;
}

.consultant__info .state {
    font-size: 14px;
    line-height: 19px;
}

.consultant__info a {
    font-weight: bold;
    color: #000;
    font-size: 17px;
}

.apart__info .btn + .btn,
.apart__info .btn + script + .btn {
    margin-top: 12px;
}

.apart__info .btn:last-child {
    margin-top: 22px;
}

.section__about--apart {
    padding-top: 28px;
}

.about__apart {
    border-radius: 30px;
    background: #f2f3f9;
    border: 1px solid #d9d9d9;
}

.about__apart .title {
    font-size: 54px;
    line-height: 72px;
    margin-bottom: 13px;
}

.about__apart p,
.about__apart p strong {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 16px;
}

.about__apart p:last-child {
    margin-bottom: 0;
}

.about__apart {
    display: flex;
    justify-content: space-between;
    padding: 29px 23px 25px 41px;
}

.about__apart--left {
    width: 45%;
}

.about__apart--right {
    width: 50%;
    padding-top: 16px;
}

.section__tabs {
    padding-top: 36px;
    padding-bottom: 57px;
}

.tabs {
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow-x: auto;
    margin-bottom: 36px;
}

.tabs .tab {
    cursor: pointer;
    font-weight: bold;
    font-size: 24px;
    line-height: 32px;
    text-align: center;
    padding: 5px 21px;
    color: rgba(0, 0, 0, 0.3);
}

.tabs .tab.on {
    color: #000000;
}

.tabs__items .item {
    display: none
}

.tabs__items .item.on {
    display: block
}

.tabcontent {
    display: none;
    -webkit-animation: fadeEffect 1s;
    animation: fadeEffect 1s;
    padding: 0;
    overflow: hidden;
}

@-webkit-keyframes fadeEffect {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeEffect {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.grid__tabs--1 {
    display: flex;
    justify-content: space-between;
    column-gap: 16px;
}

.grid__tabs--1 .item__product--gallery {
    flex: none;
}

.apart__map {
    border-radius: 30px;
    overflow-x: hidden;
}

.section__about--worker {
    padding-top: 71px;
}

.section__about--worker .title {
    font-size: 48px;
    line-height: 63px;
    margin-bottom: 7px;
}

.section__about--worker .about__apart {
    background: #fafafa;
    align-items: center;
}

.about__apart--left .img__box {
    text-align: center;
    padding-bottom: 80px;
}

.section__about--worker .about__apart p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 16px;
    max-width: 540px;
}

.section__about--worker .about__apart--right {
    padding-top: 59px;
    padding-bottom: 42px;
}

.section__about--worker .about__apart--left {
    width: 39%;
}

.section__ipoteka {
    padding-top: 72px;
    padding-bottom: 72px;
}

.section__category--apart .title,
.section__ipoteka .title {
    font-size: 48px;
    line-height: 63px;
}

.section__category--apart .title {
    margin-bottom: 36px;
    margin-top: 60px;
}

.grid__center {
    justify-content: center;
    padding-left: 40px;
    padding-right: 40px;
}

.grid__center .banner__center {
    max-width: 753px;
    margin: 0 auto;
}

.big__banner {
    height: 100vh;
    position: relative;
    border-radius: 0 0 60px 60px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.big__banner--description .title {
    font-size: 54px;
    color: #fff;
    line-height: 64px;
}

.big__banner--description .price {
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    line-height: 32px;
    margin-bottom: 4px;
}

.big__banner--description .price__per {
    font-weight: bold;
    font-size: 16px;
    color: #fff;
    line-height: 21px;
    margin-bottom: 18px;
}

.big__banner--description {
    width: 100%;
    padding: 0 25px 63px;
}

.btns__group {
    display: flex;
    justify-content: space-between;
}

.btns__group .btn {
    min-width: 159px;
}

.section__new--info {
    padding-top: 5px;
}

.new__info {
    border-radius: 30px;
    background: #f2f3f9;
    /*background-color: rgb(0 0 0 / 70%);*/
    border: 1px solid #d9d9d9;
    display: flex;
    justify-content: space-between;
    padding: 31px 41px 38px;
}

.new__info--group div {
    font-size: 24px;
    line-height: 32px;
    text-align: center;
    /*color: #ffffff;*/
}

.new__info--group .label {
    font-size: 18px;
    line-height: 24px;
    color: rgba(0, 0, 0, 0.5);
    /*color: #ffffff;*/
    margin-bottom: 4px;
}

.section__description {
    padding-top: 43px;
}

.description__partly {
    margin-bottom: 47px;
}

.description__partly .content__half {
    display: flex;
    column-gap: 16px;
}

.description__partly .content__half div {
    width: 50%;
}

.description__partly .content__half div:first-child p {
    font-size: 34px;
    line-height: 45px;
}

.description__partly > .img__box {
    width: 100%;
    border-radius: 30px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
}

.description__partly > .img__box img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.description__more p {
    font-size: 24px;
    line-height: 34px;
    margin-bottom: 34px;
}

.description__more .content__box {
    display: flex;
    align-items: flex-start;
    column-gap: 16px;
}

.description__more .content__box .img__box {
    background: #f2f3f9;
    width: 428px;
    border-radius: 30px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
    flex: none;
}

.description__more .content__box .img__box img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.btn__more {
    width: 100%;
    text-align: center;
}

.btn__more .btn__black {
    width: 211px;
}

.btn__more--filter a span,
.btn__more .btn__black span {
    color: #FFFFFF;
    text-align: center;
}

.btn__more--filter a {
    text-decoration: none;
}

.btn__more--filter {
    padding: 8px 0;
}

.btn__more--filter a span:first-child,
.btn__more .btn__black span:first-child {
    display: none;
}

.btn__more--filter a.opened span,
.btn__more .btn__black.opened span {
    display: none;
}

.btn__more--filter a.opened span:first-child,
.btn__more .btn__black.opened span:first-child {
    display: block;
}

.description__more--filter {
    clear: both;
}

.section__category--apart > .btns__box {
    margin-top: 35px;
    margin-bottom: 35px;
}

.section__workers .title,
.section__map .title,
.section__near .title,
.section__products .title,
.section__tabs .title {
    font-size: 48px;
    line-height: 63px;
    margin-bottom: 20px;
}

.mb__36 {
    margin-bottom: 36px;
}

.section__products .title {
    margin-bottom: 60px;
}

.near__box {
    display: flex;
    justify-content: space-between;
}

.near__box span {
    color: #FFFFFF;
}

.near__box span:first-child {
    font-size: 24px;
    line-height: 32px;
}

.grid__building {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 16px;
    padding-top: 20px;
}

.grid__building a {
    display: block;
    flex: none;
    width: calc(100% / 4 - 16px * 3 / 4);
    border-radius: 30px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
}

.grid__building a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.filter__building--period,
.filter__building--grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 16px;
}

.filter__building--period > div,
.filter__building--grid > div {
    width: 50%;
}

.filter__building--group .label {
    font-size: 14px;
    line-height: 19px;
    color: #9a9a9a;
    margin-bottom: 5px;
}

.filter__building--group .value {
    font-size: 24px;
    line-height: 32px;
    height: 54px;
    display: flex;
    align-items: center;
}

.filter__building--group select {
    width: 251px;
    height: 54px;
    border-radius: 27px;
    background: #fff;
    border: 1px solid #d9d9d9;
    font-size: 18px;
    line-height: 24px;
    padding: 5px 18px;
}

.pt__0 {
    padding-top: 0;
}

.section__products.pt__0 .title {
    margin-bottom: 12px;
}

.filter__building--month .label {
    margin-left: 22px;
}

.filter__building {
    padding-bottom: 20px;
}

.section__title .title {
    font-size: 54px;
    line-height: 72px;
    margin-bottom: 9px;
}

.search__box input[type=search] {
    width: 100%;
    height: 59px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid #c7c7c7;
    padding: 5px 32px;
}

.search__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 16px;
    padding-bottom: 13px;
}

.search__box .btn {
    width: 131px;
    height: 59px;
}

.search__item {
    display: flex;
    align-items: center;
}

.search__item .img__box {
    width: 18%;
}

.search__item .name__box {
    width: 24%;
    padding-top: 2px;
}

.search__item .end__box {
    width: 16%;
    padding-top: 6px;
}

.search__item .work__box {
    width: 18%;
    padding-top: 6px;
}

.search__item .action__box {
    width: calc(100% - 18% - 24% - 16% - 18%);
}

.search__item .img__box img {
    display: block;
    width: 134px;
}

.search__item .name {
    font-weight: bold;
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 9px;
}

.search__item .label {
    font-size: 14px;
    color: #9a9a9a;
    line-height: 19px;
    margin-bottom: 13px;
}

.search__item p a {
    text-decoration: underline;
    font-size: 14px;
    color: #0a49af;
    line-height: 19px;
}

.search__item .btn {
    white-space: nowrap;
    width: 100%;
}

.worker__info {
    width: 100%;
    max-width: 428px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid #d9d9d9;
    overflow: hidden;
    margin: 5px 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 13px 14px 20px;
}

.worker__info .img__box {
    max-width: 192px;
}

.worker__works div p,
.worker__works {
    display: flex;
    align-items: center;
}

.worker__works {
    column-gap: 37px;
}

.worker__works div p {
    column-gap: 7px;
}

.worker__works span {
    font-size: 14px;
    color: #9a9a9a;
    line-height: 19px;
}

.worker__info .year {
    margin-top: 28px;
    margin-bottom: 20px;
}

.tabs__content .grid__products .item__product {
    margin-top: 40px;
}

.pb__0 {
    padding-bottom: 0;
}

.mb__0 {
    margin-bottom: 0;
}

.pt__0 {
    padding-top: 0;
}

.bb__none {
    border-bottom: none;
}

.news__description {
    padding-bottom: 18px;
}

.news__description .link__soc {
    display: inline-flex;
}

.news__description .title {
    font-size: 54px;
    line-height: 72px;
}

.news__description .news__date {
    color: rgba(0, 0, 0, 0.75);
    margin-bottom: 20px;
}

.news__description > .img__box {
    border-radius: 30px;
    border: 1px solid #d9d9d9;
    overflow: hidden;
    margin-bottom: 20px;
}

.news__description > .img__box img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.news__description p {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 20px;
}

.content__404 .title {
    font-size: 54px;
    line-height: 70px;
}

.content__404 p {
    color: rgba(0, 0, 0, 0.75);
    margin-bottom: 20px;
}

.content__404 .btn {
    padding: 5px 57px;
}

.content__404 {
    padding-bottom: 102px;
}

#map-products-outer {
    display: inline-block;
    width: 100%;
    /*float: left;*/
    position: relative;
    height: 1px;
    padding-bottom: 56.25%;
}

#map-products {
    position: absolute;
    width: 100%;
    height: 100%;
}

.ymaps-2-1-79-balloon-content__header {
    display: block;
    margin: 0 0 5px;
    font-size: 120%;
    font-weight: 700;
    color: #000000;
}

.ballon {
    padding: 5px;
    width: auto;
    height: auto;
    float: left;
    text-align: left;
    color: #000;
    /*min-width: 240px;*/
    /*min-height: 79px;*/
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.ballon a {
    font-size: 10px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
}

.ballon span {
    font-size: 14px;
    font-weight: 600;
    color: #000;
}

.mf-captcha {
    display: flex;
    width: 100%;
    padding-top: 9px;
    column-gap: 9px;
    align-items: center;
}

.banner__form .fields__group.fields__captcha .mf-captcha img {
    height: 100%;
    width: auto;
}

h2 {
    font-size: 50px;
    line-height: 62px;
}

h3 {
    font-size: 40px;
    line-height: 56px;
}

h4 {
    font-size: 28px;
    line-height: 36px;
}

input::placeholder {
    opacity: 0.5;
}

.more-options {
    background: transparent;
    text-align: center;
    color: #fff;
    border: none;
    border-top: 1px solid;
    border-bottom: 1px solid;
    padding: 5px 16px;
    margin-bottom: 16px;
}

.filter__box .bx-filter-horizontal .bx-filter-popup-result span,
.filter__box .bx-filter-horizontal .bx-filter-popup-result a {
    color: #FFFFFF;
}

.tags__item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.tags__item p {
    width: 32%;
    width: 47%;
    order: 6;
}

.tags__item p, .tags__item p a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: left;
    color: #383838;
}

.tags__item p:nth-child(1) {
    order: 1;
}

.tags__item p:nth-child(2) {
    order: 4;
}

.tags__item p:nth-child(3) {
    order: 2;
}

.tags__item p:nth-child(4) {
    order: 3;
}

.grid__tags {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    padding: 17px 0 18px;
    margin-bottom: 10px;
}

.main__banner .btns__box .btn__black,
.big__banner--description .btns__box .btn__black {
    /*background-color: rgba(0,0,0,.6);*/
}

.bottom__left .btns__box a span {
    margin-left: 1ch;
}

.fancybox-infobar,
.fancybox-infobar span,
.fancybox-button svg path {
    fill: #ccc;
    color: #ccc;
}

body .b24-window-panel>div>.b24-window-scrollable {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 30px;
}

body .b24-window-panel .b24-form-wrapper {
    border: none;
}

body .b24-form-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 6px;
    transition: var(--transition);
    text-align: center;
    height: 54px;
    border-radius: 27px;
    background: #000;
    border: #000;
    color: #fff;
    padding: 3px 37px;
}

body .b24-window-close {
    display: none;
}