
.text-transform-initial {
    text-transform: initial !important;
}

@media only screen and (max-width: 1200px) {
    .pr-mob-0 {
        padding-right: 0 !important;
    }

}

.adm-btn-mm {
    background: #edf3f4 !important;
    color: #000000 !important;
    padding: 0.375rem 0.625rem;
    border-radius: 0.375rem;
    border: 0.0625rem solid #000;
    margin-right: 0.3125rem;
}

.ct-2c-block__descr ol,
.ct-2c-block__descr ul,
.ct-block__descr ol,
.ct-block__descr ul {
    padding-left: 0.9375rem;
}


@media only screen and (min-width: 1200px) {
    /*.ct-2c-block__descr,*/
    /*.ct-block__descr {*/
    /*    font-size: 0.875rem;*/
    /*}*/
    .fz-xl-20 {
        font-size: 1.25rem;
    }

    .fz-xl-22 {
        font-size: 1.375rem;
    }

    .pb-xl-160 {
        padding-bottom: 10rem !important;
    }

    .mb-xl-50 {
        margin-bottom: 3.125rem !important;
    }

    .mb-xl-90 {
        margin-bottom: 5.625rem !important;
    }

    .def-sec-title {
        letter-spacing: -0.1625rem;
    }

    .mt-xl-50 {
        margin-top: 3.125rem;
    }

    .filled-image-xl {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        object-fit: cover;
    }

    .xl-100vh {
        min-height: calc(var(--vh, 1vh) * 100);
        max-height: 60rem;
    }
    .w-xl-100 {
        width: 100%!important;
    }
}

button .spinner-border {
    position: relative;
    top: 0.0625rem;
    right: 0.3125rem;
}

.modal-window__content .max-w-360 {
    padding-right: 2.25rem;
}

.off-mb-next + * {
    margin-bottom: 0 !important;
}

.off-mb-inner * {
    margin-bottom: 0 !important;
}

.pr-0 {
    padding-right: 0 !important;
}





.u-post {
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-bottom: 0;
    font-weight: 400;
}

.u-name {
    font-size: 0.5rem;
    text-transform: uppercase;
    margin-bottom: 0.125rem;
    font-weight: 500;
}

@media only screen and (min-width: 1200px) {
    .u-name {
        font-size: 1rem;
    }

    .u-post {
        font-size: 0.625rem;
        margin-bottom: 0.3125rem;
    }
}


/* CLS fix: подавляем transitions при первой загрузке,
   чтобы .scroll применялся мгновенно без визуальной «перестройки» */
html.no-transition .navbar,
html.no-transition .navbar *,
html.no-transition #navbarNav::before {
    transition: none !important;
}

.navbar {
    transition: box-shadow .3s ease-in-out;
    background-image: none !important;
}

.navbar.scroll {

    -webkit-box-shadow: inset 0 -0.0625rem 0 0 #d5dbde;
    box-shadow: inset 0 -0.0625rem 0 0 #d5dbde;
}

/* Псевдоэлемент для «шторки» */
#navbarNav::before {
    content: "";
    position: absolute;
    top: -105%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white; /* цвет шторки */
    z-index: -1; /* под содержимым шапки */
    transition: top 0.5s ease; /* анимация съезда */
    border-bottom: 0.0625rem solid #fafafa;
}

#navbarNav.bg-white {
    border-bottom: 0.0625rem solid #fafafa;
}

/* При добавлении класса scroll */
#navbarNav.scroll {

    background-color: white; /* основной фон шапки */
}

#navbarNav.scroll::before {
    top: 0; /* шторка съезжает вниз */
}

.navbar.scroll a,
.navbar.scroll p {
    color: #000000;
}

.scroll .button {
    color: #000000 !important;
    border-color: #000000 !important;
}


.navbar.scroll .navbar__logo {
    filter: invert();
}

.navbar.scroll a,
.navbar.scroll p,
.navbar.scroll .navbar__logo,
.navbar.scroll button {
    transition: all 0.6s ease-in-out;
}


.navbar.scroll .header-burger span {
    background-color: #000000;
}

.compense-navbar {
    margin-top: 3.9375rem;
}

@media only screen and (min-width: 1200px) {
    .compense-navbar {
        margin-top: 4.375rem;
    }
    .row.d-xl-flex {
        flex-grow: 1;
        margin-left: 0.125rem;
        margin-right: 0.25rem;
    }
}

.navbar.bg-white::before {
    display: none !important;
}

/*@media only screen and (max-width: 768px) { }*/
.swiper-overflow-mob-visible .swiper {
    overflow: visible !important;
}
.load {
    position: relative;
}
.load::before {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    width: 100%;
    background-image: url(/local/templates/main/image/simple-loader.gif);
    display: block;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #ffffff;
    z-index: 999999999;
    background-size: 1.5625rem;
    opacity: .7;
}


.all-height-sec {
    min-height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.swiper-slide {
    cursor: grabbing;
}

.swiper-slide a {
    cursor: grabbing;
}


/*start animation*/
.animation .bf-circle {
    border-radius: 50%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    -o-transition: transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    overflow: visible;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

.animation .bf-circle:after {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    left: 0;
    bottom: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    background: #000000;
    color: #fff;
    background-image: url(/local/templates/main/image/logo-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80%;
}

.animate-in .bf-circle {
    -webkit-transform: rotateY(0);
    transform: rotateY(0);
}

.swiper-slide:nth-child(2) .bf-circle,
.about-grid-sec__item:nth-child(2) .bf-circle {
    transition: transform 1s, -webkit-transform 1s;
}

.swiper-slide:nth-child(3) .bf-circle,
.about-grid-sec__item:nth-child(3) .bf-circle {
    transition: transform 1s, -webkit-transform 1.2s;
}

.swiper-slide:nth-child(4) .bf-circle,
.about-grid-sec__item:nth-child(4) .bf-circle {
    transition: transform 1s, -webkit-transform 1.4s;
}

.swiper-slide:nth-child(5) .bf-circle,
.about-grid-sec__item:nth-child(5) .bf-circle {
    transition: transform 1s, -webkit-transform 1.6s;
}

.swiper-slide:nth-child(6) .bf-circle,
.about-grid-sec__item:nth-child(6) .bf-circle {
    transition: transform 1s, -webkit-transform 1.8s;
}

.swiper-slide:nth-child(6) .bf-circle,
.about-grid-sec__item:nth-child(6) .bf-circle {
    transition: transform 1s, -webkit-transform 2s;
}

.swiper-slide:nth-child(7) .bf-circle,
.about-grid-sec__item:nth-child(7) .bf-circle {
    transition: transform 1s, -webkit-transform 2.2s;
}

.swiper-slide:nth-child(8) .bf-circle,
.about-grid-sec__item:nth-child(8) .bf-circle {
    transition: transform 1s, -webkit-transform 2.4s;
}

.swiper-slide:nth-child(9) .bf-circle,
.about-grid-sec__item:nth-child(9) .bf-circle {
    transition: transform 1s, -webkit-transform 2.6s;
}

.swiper-slide:nth-child(10) .bf-circle,
.about-grid-sec__item:nth-child(10) .bf-circle {
    transition: transform 1s, -webkit-transform 2.8s;
}

/*start animation*/
section {
    overflow: hidden;
}
.js-fix-col-3 {
    max-width: initial!important;
    width: calc(
            (var(--container-width) - var(--bs-gutter-сt-x) - 1.9rem) / 12 * 3
    );
}
@media only screen and (min-width: 1200px) {
    .mw-xxl-325 {
        min-width: initial!important;
        width: calc(
                (var(--container-width) - var(--bs-gutter-сt-x) - 1.9rem) / 12 * 3
        )!important;
    }

}
/*fix-for-rem*/
@media only screen and (min-width: 576px) {
    html {
        font-size: 2.5vw;
    }
}
@media only screen and (min-width: 768px) {
    html {
        font-size: 1rem;
    }
}

.def-slide {
    @media (min-width: 320px) and (max-width: 2060px) {
        width: 12.75rem !important;
        width: calc(
                (var(--container-width) - var(--bs-gutter-сt-x) - 1.9rem) / 12 * 6.7
        ) !important;
    }

    @media (min-width: 1200px) and (max-width: 2060px) {
        width: calc(
                (var(--container-width) - var(--bs-gutter-сt-x) - 1.9rem) / 12 * 3.5
        )!important;
    }

}

.def-slide--big {
    @media (min-width: 320px)
    {
        width: 15.25rem !important;
        width: calc(
                (var(--container-width) - var(--bs-gutter-сt-x) - 1.9rem) / 12 * 11
        ) !important;

    }
    @media (min-width: 1200px)
    {
        width: calc(
                (var(--container-width) - var(--bs-gutter-сt-x) - 1.9rem) / 12 * 7
        ) !important;
    }

}

.js-parallax {
    transition: transform 0.05s linear;
    will-change: transform;
}
@media only screen and (min-width: 1200px) {
    html .mb-xl-10   {
        margin-bottom: 0.625rem !important;
    }
}
.fw-500 {
    font-weight: 500;
}

@media only screen and (max-width: 992px) {

    .form-section .container,
    .form-section .col-12
    {
        padding: 0!important;
    }
    .form-section .row

    {
        margin: 0!important;
    }
    .form-section {
        padding: 2.5rem 1.875rem!important;
    }
}
.navbar.fixed-top {
    transition: transform 0.28s cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: transform;
}

/* опционально — тень только когда шапка видна и мы уже проскроллили */
.navbar.fixed-top {
    box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.08);
    /* или */
    /* border-bottom: 0.0625rem solid #eee; */
}
.p-image-card {
    display: block;
}
.placeholder-wave {
    opacity: 0.2;
}
.def-sec-title-3 {
    word-wrap: break-word;
}
.sort {
    display: none;
}

.pb-30 {
    padding-bottom: 1.875rem !important;
}


@media only screen and (min-width:  1200px) {
    .main-banner__title--sm {
        font-size: 5rem;
    }

    .mt-xl-20 {
        margin-top: 17px!important;
    }
}

.w-fit-content {
    width: fit-content!important;
    height: auto;
    max-width: initial;
    display: block;
}

/* Global Apple-like reveal animation */
.js-apple-reveal {
    opacity: 0;
    transform: translate3d(0, 1.25rem, 0) scale(0.992);
    transition:
            opacity 1.1s ease-out,
            transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-delay: calc(var(--reveal-delay, 0ms) + 0.25s);
    will-change: transform, opacity;
}

.js-apple-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

@media only screen and (max-width: 991px) {
    .js-apple-reveal {
        transform: translate3d(0, 0.75rem, 0) scale(0.996);
        transition:
                opacity 0.6s ease-out,
                transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
        transition-delay: calc(var(--reveal-delay, 0ms) + 0.06s);
        will-change: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .js-apple-reveal {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}

/* ==============================
   Modal — custom Fancybox animation
   ============================== */
@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translate3d(0, 2.5rem, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes modalSlideOut {
    from {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        transform: translate3d(0, -1rem, 0);
    }
}

.f-modalIn {
    animation: modalSlideIn 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.f-modalOut {
    animation: modalSlideOut 0.3s cubic-bezier(0.55, 0, 1, 0.45) both;
}

.fancybox__backdrop {
    transition: opacity 0.45s ease !important;
}

/* Sequential scroll-reveal for card collections (.js-load-item) */
.js-load-item.scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 1.25rem, 0);
    transition:
            opacity 0.7s ease-out,
            transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform, opacity;
}

.js-load-item.scroll-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media only screen and (max-width: 991px) {
    .js-load-item.scroll-reveal {
        transform: translate3d(0, 0.75rem, 0);
        transition:
                opacity 0.5s ease-out,
                transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
        will-change: auto;
    }
   .amo-livechat_bubble [title="amoCRM Live Chat"] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .js-load-item.scroll-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
.iti--allow-dropdown {
    z-index: 14!important;
}
.modal-window__h2.accent-font.def-sec-title {
    letter-spacing: normal;
}
.fancybox__container {
    z-index: 99999 !important;
}

h1 .brand-balcon {
    display: inline-block;
    line-height: 1;
    margin: 0;
    height: 0.63em;
    vertical-align: baseline;
}

h1 .brand-balcon svg {
    display: inline-block;
    margin-top: 0;
    vertical-align: -0.02em;
    margin-bottom: 0;
    margin-left: 4px;
}

/* Логотип в надзаголовке H1 главной (мелкий гротеск в разрядку): высота — по
   заглавным Golos (0.7em), обводка добирает толщину штриха до шрифта строки,
   справа — та же разрядка, что у букв. */
h1 .bd-h1-pre .brand-balcon {
    height: 0.7em;
    margin: 0 0.12em 0 0.05em;
}

h1 .bd-h1-pre .brand-balcon svg {
    height: 100%;
    margin-left: 0;
    vertical-align: 0;
}

h1 .bd-h1-pre .brand-balcon svg path {
    stroke: currentColor;
    stroke-width: 1.3;
    stroke-linejoin: round;
    paint-order: stroke;
}
@media (min-width: 1200px)  and (max-width: 1605px) {
    #navbarNav .def-link--btn {
        padding:  .9375rem 1.475rem .9375rem 1.875rem;
    }
}
@media only screen and (max-width: 768px) {
    .form-check-input:before {
        border:2px solid #fff
    }
}
a.main-banner__portfolio-link {
    display: none !important;
}
