

/* Start:/local/templates/main/components/bitrix/news/services/bitrix/news.detail/.default/style.css?17731230615296*/




/* =============================================
   Detail page — services (iblock 41)
   Scoped to .detail-page-wrap
   ============================================= */

/* --- Base typography --- */
.detail-page-wrap {
    color: #131313;
    font-size: 14px;
    line-height: 1.5;
}

.detail-page-wrap p {
    margin-bottom: 15px;
    font-weight: 400;
}


.detail-page-wrap p.mb-0 {
    margin-bottom: 0;
}

.detail-page-wrap p.mb-40 {
    margin-bottom: 30px;
}

/* --- Headings --- */
.detail-page-wrap h2.def-title {
    margin-bottom: 30px;
}

.detail-page-wrap h3 {
    font-family: "Cormorant", sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.detail-page-wrap h4 {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 15px;
}

/* --- Sections spacing --- */
.detail-page-wrap .def-section {
    padding-top: 30px;
    padding-bottom: 30px;
}

.detail-page-wrap .def-section.pb-0 {
    padding-bottom: 0;
}

.detail-page-wrap .def-section.pt-0 {
    padding-top: 0;
}

.detail-page-wrap .def-section.pb-30 {
    padding-bottom: 20px;
}

.detail-page-wrap .def-section:first-child {
    padding-top: 20px;
}

/* --- Lists (regular ul/ol) --- */
.detail-page-wrap ul:not(.tile-list):not(.brd-items-list):not(.nav):not(.btn-list),
.detail-page-wrap ol {
    padding-left: 20px!important;
    margin-bottom: 20px;
}


.detail-page-wrap ul:not(.tile-list):not(.brd-items-list):not(.nav) li,
.detail-page-wrap ol li {
    list-style-type: initial!important;
}

.detail-page-wrap ul:not(.tile-list):not(.brd-items-list):not(.nav) li,
.detail-page-wrap ol li {
    margin-bottom: 10px;
    line-height: 1.5;
}

/* --- Tile list refinements --- */
.detail-page-wrap .tile-list {
    padding: 0;
    list-style: none;
}

.detail-page-wrap .tile-list__item {
    transition: border-color 0.2s ease;
}


/* --- Brd items list refinements --- */
.detail-page-wrap .brd-items-list {
    padding: 0;
    margin-bottom: 0;
    list-style: none;
}

.detail-page-wrap .brd-items-list__item {
    transition: border-color 0.2s ease;
}


/* --- Images inside grid --- */
.detail-page-wrap .row.gx-3 .col-md-6 .fullwidth-image,
.detail-page-wrap .row.gx-3 .col-md-6 div {
    display: flex;
    height: 100%;
}

.detail-page-wrap .row.gx-3 .col-md-6 .fullwidth-image__img {
    width: auto;
    height: 100%;
    display: flex;
}

.detail-page-wrap .fullwidth-image {
    margin-bottom: 20px;
}

.detail-page-wrap .fullwidth-image__img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- Row spacing --- */
.detail-page-wrap .row.mb-30 {
    margin-bottom: 20px;
}

.detail-page-wrap .row.mb-40 {
    margin-bottom: 30px;
}

/* --- Links --- */


/* --- Strong / bold --- */
.detail-page-wrap strong,
.detail-page-wrap b {
    font-weight: 500;
}

/* --- Horizontal rule --- */
.detail-page-wrap hr {
    border: none;
    border-top: 1px solid #d0d0d0;
    margin: 30px 0;
}

/* =============================================
   Tablet (md+)
   ============================================= */
@media only screen and (min-width: 768px) {
    .detail-page-wrap {
        font-size: 15px;
    }

    .detail-page-wrap .def-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .detail-page-wrap .def-section.pb-30 {
        padding-bottom: 30px;
    }

    .detail-page-wrap .def-section:first-child {
        padding-top: 30px;
    }

    .detail-page-wrap h2.def-title {
        margin-bottom: 40px;
    }

    .detail-page-wrap h3 {
        font-size: 26px;
        margin-bottom: 25px;
    }

    .detail-page-wrap h4 {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .detail-page-wrap p.mb-40 {
        margin-bottom: 40px;
    }

    .detail-page-wrap .row.mb-30 {
        margin-bottom: 30px;
    }

    .detail-page-wrap .row.mb-40 {
        margin-bottom: 40px;
    }

    .detail-page-wrap .fullwidth-image {
        margin-bottom: 0;
    }

    .detail-page-wrap hr {
        margin: 50px 0;
    }
}

/* =============================================
   Desktop (xl+)
   ============================================= */
@media only screen and (min-width: 1200px) {
    .detail-page-wrap {
        font-size: 16px;
        line-height: 1.5;
    }

    .detail-page-wrap p {
        font-size: 16px;
        line-height: 1.5;
    }

    .detail-page-wrap li {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .detail-page-wrap .def-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .detail-page-wrap .def-section.pb-0 {
        padding-bottom: 0;
    }

    .detail-page-wrap .def-section.pt-0 {
        padding-top: 0;
    }

    .detail-page-wrap .def-section.pb-30 {
        padding-bottom: 30px;
    }

    .detail-page-wrap .def-section:first-child {
        padding-top: 50px;
    }

    .detail-page-wrap h3 {
        font-size: 32px;
        margin-bottom: 30px;
    }

    .detail-page-wrap h4 {
        font-size: 20px;
    }
}



.blog_single-content ol,
.blog_single-content ol li
{
    list-style-type: decimal!important;
}


@media only screen and (min-width: 992px) {
    .brd-items-list__item.mb-40:last-child {
        margin-bottom: 40px !important;
    }
}

/* End */


/* Start:/local/templates/main/components/bitrix/breadcrumb/breacrumbs/style.min.css?176575060449*/
span.breadcrumbs-list__link {
    opacity: .5;
}

/* End */


/* Start:/local/templates/main/services.css?177312619016474*/
li.brd-items-list__item p + p {
    margin: 0 !important;
}
.section-default {
    padding-top: 5px;
    padding-bottom: 5px;
}

.sec-title {
    color: #131313;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    margin: 30px 0;
}

.services-container p, .services-container li {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 20px 0;
}

li.brd-items-list__item {
    margin-top: 0;
}

.brd-items-list__item {
    color: #131313;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 20px;
    border: 1px solid #D0D0D0;
    padding:20px;
}

.brd-items-list__item p {
    margin: 12px 0 !important;
    color: #131313;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.brd-items-list__item strong {
    font-weight: 600;
}

.brd-items-list__item strong p {
    font-weight: 600;
}


.big-image-block {
    margin-bottom: 30px;
    display: flex;
    height: 100%;
}

.big-image-block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.num-card {
    padding-top: 20px;
}

.num-card__right {
    max-width: 504px;
}

.num-card__right p {
    margin: 0;
}

.num-card__num {
    color: #D0D0D0;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
}

.num-card__title {
    color: #131313;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 15px;
}

.big-list-nums__item {
    border-top: 1px solid #D0D0D0;
    margin-bottom: 28px;
}

.big-list-nums {
    border-bottom: 1px solid #D0D0D0;
}

.num-card__left {
    display: flex;
}

.num-card__num {
    margin-right: 16px;
}

.big-image-block-horizontal {
    margin-top: 30px;
    margin-bottom: 30px;
}

.sec-title {
    padding-right: 16px;
    max-width: 787px;
}

p.sec-sub-title {
    color: #131313;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    max-width: 276px;
}

.brd-item {
    color: #131313;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    border: 1px solid #D0D0D0;
    padding: 20px;
    margin-bottom: 20px;

}

.brd-item--image-item {
    padding: 0 !important;
    border: none !important;
}

.brd-item p {
    margin: 0;
}

.tile-list {
}

.tile-list__item {
    border: 1px solid #D0D0D0;
    padding: 8px 20px;
    margin-bottom: 20px;
}

.tile-list__item p {
    margin: 26px 0 !important;
    color: #131313;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.tile-list__item strong {
    font-weight: 600;
}

.tile-list__item strong p {
    font-weight: 600;
}

.tile-list__item--image {
    border: none;
}

.tile-list {
    display: flex;
    flex-direction: column;
}

.tile-list__item--image {
    order: -1;
    padding: 0 !important;
}

.--mw-940 {
    max-width: 940px;
}

.descr-h3 {
    color: #131313;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
}

.brd-items-list.--mb40 {
    margin-top: 30px;
}

.sub-title-h {
    color: #131313;
    font-size: 16px;
    font-weight: 600;
    line-height: 150%;
}

.arrow-btn.arrow-btn--brd {
    padding: 14px 20px;
    background-color: #ffffff;
    font-size: 12px;
    color: #131313;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: 0.6px;
    border: 1px solid #131313;
    margin-bottom: 20px;
    width: 100% !important;
    justify-content: center;
    height: auto !important;
}

.arrow-btn.arrow-btn--brd svg {
    fill: #131313;
    width: 20px;
    height: 20px;
    margin-left: 5px !important;
}

.arrow-btn.arrow-btn--brd:hover {
    background-color: #131313;
    color: #ffffff;
}

.arrow-btn.arrow-btn--brd:hover svg {
    fill: #ffffff;
}

.section-default.big-list-btn-section {
    padding-bottom: 45px;
}

@media only screen and (min-width: 1270px) {
    .services-container .container {
        width: 1245px;
    }
}

@media only screen and (min-width: 992px) {
    .section-default.big-list-btn-section {
        margin-top: -50px;
        padding-bottom: 70px;
    }

    .big-list-section__title.sec-title {
        margin-bottom: 38px;
    }

    .mw-100 {
        max-width: 100%;
    }

    .mw-100 br {
        display: none !important;
    }

    .arrow-btn.arrow-btn--brd {
        padding: 24px 30px;
        font-size: 14px;
        letter-spacing: 0.8px;
        margin-bottom: 26px;
    }

    .brd-items-list.--mb40 {
        margin-top: 0 !important;
    }

    .brd-items-list__item p {
        margin: 20px 0 !important;
    }

    .tile-list__item {
        padding-top: 95px;
        padding-left: 50px;
        padding-right: 34px;
        padding-bottom: 24px;
        margin-bottom: 0;
    }

    .tile-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 40px;
    }

    .tile-list__item--image {
        order: initial;
    }

    .tile-list__item p {
        font-size: 18px;
    }

    .num-card__right {
        width: 504px;
        flex-shrink: 0;
    }

    .brd-items-list__item p {
        font-size: 18px;
    }

    .--section-offset-lg {
        padding-top: 68px;
    }

    .brd-items-list__item:last-child {
        margin-bottom: 0;
    }

    .big-image-block img {
        width: 100%;
    }

    .big-image-block {
        margin-bottom: 0;
    }

    .brd-items-list__item {

        font-size: 18px;
    }



    .w-50 {
        width: 50%;
        margin: 0 35px;
    }

    .row {
        display: flex;
        margin: 0 -35px;
    }

    .sec-title {
        font-size: 48px;
        line-height: 120%;
        margin: 50px 0;
    }

    .services-container p, .services-container li {
        font-size: 18px;
    }

    .two-cols-component p {
        margin-top: 0;
        margin-bottom: 62px;
    }

    .two-cols-component__title {
        margin-top: 0;
        margin-bottom: 50px;
    }

    .section-default {
        padding-bottom: 32px;
    }

    p.sec-sub-title {
        font-size: 18px;
        max-width: 100%;
    }

    .num-card__title {
        font-size: 24px;
    }

    .big-list-nums__item {
        margin-bottom: 50px;
    }

    .sec-title {
        padding-right: 0;
    }

    .big-image-block-horizontal {
        margin: 38px 0 15px;
    }

    .num-card__num {
        font-size: 34px;
    }

    .num-card {
        justify-content: space-between;
        padding-right: 80px;
        padding-top: 26px;
        display: flex;
    }

    .num-card__left {
        padding-right: 68px;
    }

    .num-card__num {
        margin-right: 78px;
    }

    .row--40 {
        margin: 0 -20px;
    }

    .row--40 .w-50 {
        margin: 0 20px;
    }

    .brd-item {
        padding: 40px 30px;
        margin-bottom: 0;
    }

    .list-els {
        display: grid;
        grid-gap: 40px;
        grid-template-areas: 'b c a d' 'e . f .';
    }

    .list-els__item:nth-child(1) {
        grid-area: a;
    }

    .list-els__item:nth-child(2) {
        grid-area: b;
    }

    .list-els__item:nth-child(3) {
        grid-area: c;
    }

    .list-els__item:nth-child(4) {
        grid-area: d;
    }

    .list-els__item:nth-child(5) {
        grid-area: e;
    }

    .list-els__item:nth-child(6) {
        grid-area: f;
    }

    .ban-pod {
        margin: auto auto auto 30px;
        padding-top: 0;
    }

    .services-container {
        padding-top: 95px;
        display: block;
        padding-bottom: 60px;
    }

    .--text-center-lg {
        text-align: center !important;
    }

    .def-title-h2 {
        margin: 50px 0 100px;
        max-width: 100%;
    }

    .two-cols-component + .land__right {
        padding-top: 0;
    }

    .portfolio-title {
        margin: 70px 0 !important;
    }

    .list-els-section {
        margin-top: -37px;
    }

     .brd-items-list__item {
        margin-bottom: 40px !important;
    }

    /*.--mb40 .brd-items-list__item:last-child {*/
    /*    margin-bottom: 0 !important;*/
    /*}*/

    .--section-offset-lg2 {
        margin-top: 118px;
    }

    .portfolio-list-box img {
        width: 100%;
    }

    .sub-title-h {
        font-size: 24px;
        line-height: 120%;
        margin-bottom: 25px;
    }

    .--footer-descr {
        padding-top: 120px;
        padding-bottom: 70px;
    }

    .descr-h3 {
        font-size: 24px;
        text-transform: initial;
        line-height: 120%;
    }

    .--lg-off-mt {
        margin-top: 0 !important;
    }

    html .slide-main__img img {
        position: absolute !important;
        height: 100% !important;
    }

    .w-25 {
        width: 22%;
        margin: 0 20px;
    }

    .w-25 .arrow-btn {
        min-width: auto;
        padding: 24px 20px;
        white-space: nowrap;
    }

    .big-image-section p {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 1600px) {
    .ban-pod {
        margin: auto auto auto 330px
    }
}

@media only screen and (max-width: 992.333px) {
    .descr-h3 {
        margin-bottom: 30px;
    }

    .section-default.big-list-section {
        padding-bottom: 0;
    }

    .--off-pt-tab .brd-items-list.--mb40 {
        margin: 0 0 70px;
    }

    .two-cols-component__title.sec-title.--mw-940 {
        margin-top: 0;
        padding-right: 0;
    }

    .land__right {
        order: -1;
    }

    .--off-pb-tab {
        padding-bottom: 0 !important;
    }

    .--off-pb-tab .brd-items-list__item:last-child {
        margin-bottom: 20px;
    }

    .--off-pt-tab {
        padding-top: 0 !important;
    }

    .services-container {
        display: flex;
        flex-direction: column;
        padding-bottom: 65px;
    }

    .def-title-h2 {
        margin: 60px 0 29px;
        font-size: 22px;
    }

    .ban-pod .bp1 {
        max-width: 100% !important;
    }

    .big-image-block {
        display: block;
    }

    .services-container .portfolio-list-box {
        padding-bottom: 125% !important;
    }

    .services-container .portfolio-title {
        margin: 23px 0 35px !important;
        height: auto !important;
    }

    .brd-item--image-item {
        margin-bottom: 30px;
    }

    .--section-offset-lg {
        padding-top: 17px;
    }

    .--section-offset-lg2 {
        padding-top: 40px;
    }

    .first-section {
        padding-bottom: 0 !important;
    }

    .first-section h2 {
        margin-bottom: 25px;
    }

    .brd-items-list.--mb40 {
        margin-top: 0 !important;
    }

    .--mb-sm-20 {
        margin-bottom: 20px !important;
    }

    .--mob-reverse-block {
        display: flex;
        flex-direction: column-reverse;
    }

    .--mob-reverse-block img.visible-tab {
        margin-top: 0;
    }

    .--mob-reverse-block .--mb40 {
        margin-bottom: -12px !important;
    }

    .tile-list__item p {
        margin: 8px 0 !important;
    }

    .brd-item--image-item img {
        width: 100% !important;
    }

    .big-list-section + .section-default {
        margin-top: 30px;
    }

    .tile-list__item:last-child {
        margin-bottom: 0;
    }

    .ban-pod .bp1 {
        margin-bottom: 2rem !important;
    }
}

@media only screen and (max-width: 420.33333px) {
    .head-top, .slide-main, .slide-main .slick-slide {
        height: 323px;
    }

    .slide-main__cell .arrow-btn {
        font-size: 12px;
    }

    .slide-main .ban-pod {
        top: 47% !important;
    }
}

.blog_single-content ul, .blog_single-content ol {
    padding-left: 50px;
    margin-bottom: 30px;
}

.blog_single-content ul li {
    list-style-type: disc;
}

.b-desing_header-block {
    margin-bottom: 60px;
}

.inter_gall-header-text br {
    display: none;
}

.section-offset-lg {
    padding-top: 40px;
}

@media only screen and (min-width: 991px) {
    .b-desing_header-block {
        margin-bottom: 100px;
    }

    .section-offset-lg {
        padding-top: 100px;
    }

    .slide-main .slick-slide {
        height: calc(100vh - 112px);
    }
}

.rev-more {
    display: flex;
    justify-content: center;
    margin: 50px 0 0px;
}

.sv-front-reviews {
    padding-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    .rev-more {
        margin-top: 30px;
    }
}

@media only screen and (max-width: 992px) {
    .rev-more {
        margin-bottom: 30px !important;
    }

    .sv-front-reviews h2 {
        margin-top: 0;
    }

    .sec-title {
        margin: 0 0 30px !important;
    }

    section.section-default.first-sec {
        padding-top: 30px;
        padding-bottom: 10px;
    }

    .section-default {
        padding: 0;
    }

    .--off-pt-tab .brd-items-list.--mb40 {
        margin: 0 0 30px;
    }

    .two-cols-component img {
        margin-bottom: 30px;
    }

    .big-image-block-horizontal {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }

    .tile-list {
        display: block;
    }

    .big-image-block {
        margin-bottom: 0 !important;
    }

    .services-container li {
        margin: 0 0 30px !important;
    }

    .footer-sec {
        padding-top: 10px !important;
    }

    .--pt-tab-30 {
        padding-top: 30px !important;
    }
}

@media only screen and (max-width: 991px) {
    .portfolio-title {
        margin-top: 30px !important;
    }

    html .head-top {
        display: none !important;
    }

    .slide-main__img img {
        height: 100%;
    }

    .head-top, .slide-main, .slide-main .slick-slide {
        height: 100vh;
    }

    .slide-main .ban-pod {
        top: 50% !important;
    }
}

.image-features {
    width: 100%;
}

.big-image-block img {
    object-position: right;
}

.b-services, .utp-row-title-desktop {
    padding-top: 40px
}

.b-services .col-3 {
    padding: 0 15px
}

@media only screen and (max-width: 579px) {
    .b-services .col-3 {
        float: none;
        width: 100%
    }
}

.sec-sub-title {
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 1.3;
}

@media (min-width: 991px) {
    .ll-block {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 40px;
    }

    .sec-sub-title {
        margin-bottom: 50px;
        font-size: 16px;
    }
}

.form-wrap--st-2 {
    display: none !important;
}

.column-6 {
    width: 50%;
}

.fw-btn {
    padding: 20px 0 20px;
    background: #ededed;
}

.fw-btn--st1 {
    margin: 20px 0 20px;
    padding: 20px 0 20px !important;
}

.fw-btn--st2 {
    margin: 20px 0 40px;
    padding: 40px 0 20px !important;
}

.fw-btn--st3 {
    margin: 20px 0 50px;
    padding: 40px 0 20px !important;
}

@media only screen and (min-width: 991px) {
    .fw-btn {
        padding: 20px 0 100px;
    }

    .fw-btn--st2 {
        padding: 100px 0 !important;
        margin: 0 0 35px;
    }

    .fw-btn--st3 {
        padding: 100px 0 !important;
        margin: 0 0 80px;
    }

    .fw-btn--st1 {
        padding: 100px 0 !important;
        margin: 75px 0 0;
    }
}

.tile-list__item--image img {
    width: 100%;
}
ul, ol {
    padding-left: 0!important;
}
ul, ol, li {

    list-style-type: none;
}
@media only screen and (min-width: 991px) {

    .two-cols-img  .col-md-6 {
        display: flex;
        flex-direction: column;
    }

    .two-cols-img  .col-md-6  .mb-40{
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }


    .two-cols-img .col-md-6 .mb-40 * {
        height: 100%;
    }
    .two-cols-img .col-md-6  .placeholder-wave {
        display: none!important;
    }
    .brd-item {
        min-height: 223px;
    }

    .brd-items-list__item {
        padding: 20px 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    /*.col-12.col-md-6 {*/
    /*    position: relative;*/
    /*}*/
    /*.col-12.col-md-6 .mb-40 {*/
    /*    position: absolute;*/
    /*    height: 100%;*/
    /*    width: 100%;*/
    /*    overflow: hidden;*/
    /*}*/

    .brd-items-list {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .brd-items-list__item {
        flex-grow: 1;
    }
}

/*@media only screen and (min-width: 1906px) {*/
/*    .brd-items-list__item {*/
/*        padding: 47.7px;*/
/*    }*/
/*}*/
@media only screen and (max-width: 1200px) {
.def-section .mb-40 {
    margin-bottom: 30px !important;
}
}



/* End */


/* Start:/local/components/classnyisait/section.accordion/templates/slider/template_styles.css?17815322803321*/
/* ===== Базовые стили ===== */


.accordion__key {
    font-size: 0.75rem;
    line-height: 1.2;
    position: absolute;
    left: 0.5rem;
    font-weight: 500;
}



.f-a-q {
    margin-bottom: 2.5rem;
}

.accordion {
    border-left: none;
    border-right: none;
    margin-bottom: 0;
    transition: background 0.4s ease-in-out;
}

.accordion__f-a-q {
    padding: 0 0 1.25rem 4.375rem;
    position: relative;
}

.accordion__f-a-q:last-child {
    border-bottom: 0.0625rem solid #000;
}

.accordion__question h3 {
    font-size: 0.75rem;
    line-height: 1.2;
    font-family: "Golos", sans-serif !important;
    width: fit-content;
    font-weight: 500;
    margin: 0;
}

.js-accordion {
    cursor: pointer;
}


.opened .accordion__f-a-q {
    margin-bottom: 0.875rem;
}
.acc-section__content {
    margin-bottom: 1.25rem;

}
.accordion__content p {
    margin: 1.125rem 0 0;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
}
.section-stages__images {
    position: relative;
    overflow: hidden;
    padding-bottom: 75.6%;
    background: #f8f9fa;           /* опционально — цвет фона на время fade */
}

.section-stages__image {
    position: absolute;
    inset: 0;

    opacity: 0;
    transform: scale(1.015);       /* едва заметный масштаб */
    transition:
            opacity 800ms ease-in-out,
            transform 1000ms ease-out;
    will-change: opacity, transform;   /* улучшает плавность на слабых устройствах */
}

.section-stages__image.show {
    opacity: 1;
    transform: scale(1);
}
.accordion__question-icon {
    font-weight: 700;
    position: absolute;
    width: 1.5625rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0;
    text-align: center;
    top: 50%;
    right: -1.875rem;
    transform: translateY(-50%);
}

.accordion__question-icon svg {
    width: 1rem;
    height: 1rem;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.opened .accordion__question-icon svg {
    transform: rotateX(180deg);
}

.accordion__question p {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
}

.accordion__question p:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0.0625rem;
    background-color: #000;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== Медиа-запросы ===== */

.acc-section__img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

.accordion__unstyled-btn {
    background: none;
    border: none;
    padding: 0;
    color: #000000!important;
}
.accordion__unstyled-btn * {
    color: #000000!important;
}
 .accordion-header {
    text-decoration: underline;
}
@media only screen and (min-width: 1200px) {
    .accordion__key {
        font-size: 1rem;
        left: 1.8rem;

    }
    .accordion__f-a-q {
        padding: 0 0 1.25rem 7.5rem;
    }
    .accordion__question h3 {
        font-size: 1.125rem;
    }
    .acc-section__content {
        margin-bottom: 0;
        flex-grow: 1;
    }
    .accordion__content p {
        font-size: 0.875rem;
    }
    .section-stages__images {

        padding-bottom: 37.9%;
    }


}


/* End */


/* Start:/local/components/classnyisait/section.full_screen_image/templates/.default/style.css?17815322804525*/
.main-banner__container {
    padding-bottom: 10px;
}
.main-banner__image {
    object-position: top;
}
.main-banner__container {
    overflow: hidden;
    min-height: calc(var(--vh, 1vh) * 100);
    display: flex;
}
.authorized-admin .main-banner__container {
    min-height: calc(100vh - 100px);
}
.authorized-admin .navbar {
    position: relative!important;
}

.main-banner__title {
    color: #ffffff;
    line-height: 0.8;
    margin-bottom: 20px;
    letter-spacing: -1.3px;
}
.main-banner__text * {
    color: #ffffff!important;
    margin: 15px 0;
}
.main-banner__row {
    margin-top: auto!important;
    z-index: 2;
    position: relative;
    width: 100%;
    flex-grow: 1;
}

.substrate:before {
    background-color: transparent;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4) 100%);
}
.user-card {
    background: #fff;
    padding: 15px;

}

.u-data__descr {
    font-size: 11px;
    padding-top: 17px;
}
.u-data__descr p {
    font-size: inherit;
}

.main-banner__content {
    width: 100%;
}
.u-data__image {
    overflow: hidden;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    position: relative;
    flex-shrink: 0;
}
.u-data {
    display: flex;
    align-items: center;
}
.u-data__content {
    flex-grow: 1;
    padding-left: 10px;
}

@media only screen and (min-width: 1200px) {
    .u-data__image {
        width: 100px;
        height: 100px;

    }
    .u-data__content {
        padding-left: 20px;
        padding-top: 5px;
    }
    .main-banner__container {
        padding-bottom: 20px;
    }
    .u-data  {
        margin-bottom: 20px;
    }
    .user-card {
        max-width: 332px;
        margin-left: auto;
        padding: 20px;
    }
    .authorized-admin .main-banner__container {
        min-height: calc(100vh - 125px);
    }
    .main-banner__title {
        margin-bottom:  0;
    }
    .main-banner__container {
        min-height: calc(var(--vh, 1vh) * 100);
    }
    .main-banner__text * {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 429.3333px) {
    .user-card .col-6:nth-child(1) {
        width: 100%;
        margin-bottom: 10px;
    }
    .user-card .col-6:nth-child(2) {
        width: 100%;
        flex-grow: 1;
    }

}

/*START ANIMATION*/
/*
.main-banner__title {
    overflow: hidden;
}

.main-banner__title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(100%);
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 1.2s ease-out;
}

.banner-load .main-banner__title span {
    opacity: 1;
    transform: translateY(0);
}

.banner-load .main-banner__title span:nth-child(1) { transition-delay: 0.5s;  }
.banner-load .main-banner__title span:nth-child(2) { transition-delay: 0.85s; }
.banner-load .main-banner__title span:nth-child(3) { transition-delay: 1.2s;  }
 */
.main-banner__title span {
    margin: 0 !important;
    display: inline-block;
    opacity: 0;
    filter: blur(8px);
    transform: translateY(60px) scale(0.92);
    transition:
            opacity 1.1s ease-out,
            filter 1.1s ease-out,
            transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.banner-load .main-banner__title span {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
}

.banner-load .main-banner__title span:nth-child(1) { transition-delay: 0.35s; }
.banner-load .main-banner__title span:nth-child(2) { transition-delay: 0.65s; }
.banner-load .main-banner__title span:nth-child(3) { transition-delay: 0.95s; }
/*END ANIMATION*/
/* Базовое состояние карточки */
.user-card {
    opacity: 0;
    transform: translateY(80px);
    filter: blur(6px);
    transition:
            opacity 1s ease-out,
            transform 1.3s cubic-bezier(0.22, 0.61, 0.36, 1),
            filter 1.1s ease-out;
}

/* Появление */
.banner-load .user-card {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* Дополнительная микро-анимация фото + имени с небольшой задержкой */
.banner-load .user-card .u-data__image {
    opacity: 0;
    transform: scale(0.75);
    transition: all 0.9s ease-out;
    transition-delay: 0.9s;
}

.banner-load .user-card .u-data__name {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.8s ease-out;
    transition-delay: 1.15s;
}

.banner-load .user-card .u-data__image,
.banner-load .user-card .u-data__name {
    opacity: 1;
    transform: scale(1) translateX(0);
}



/* End */


/* Start:/local/components/classnyisait/section.full_screen_image_descr_btn/templates/cover/style.css?17815322801266*/
.fw-img-txt {
    padding: 1.25rem 0;
    min-height: 56.25rem;
}
 
.ct-block--offset .ct-block__descr {
    margin-bottom: 2.5rem;
}


@media only screen and (min-width: 1200px) {
    .fw-img-txt {
        min-height: calc(var(--vh, 1vh) * 100);
        min-height: 100svh;
    }
}
.ct-block {
    background-color: #ffffff;
    position: relative;
    z-index: 2;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    max-height: fit-content;
}
.ct-block--offset {
    max-height: fit-content;
}
.ct-block__title {
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 1.875rem;
}

.ct-block__descr h3 {
    font-size: 1.25rem;
    line-height: 1.3;
    margin: 1.875rem 0;
    text-transform: initial;
}

.ct-block__descr {
    font-size: 0.75rem;
    line-height: 1.45;
    margin-bottom: 2.375rem;
}
.ct-block__descr p {
    font-size: inherit;
}
.ct-block__meta {
    margin-top: auto;
}

.pl-0 {
    padding-left: 0!important;
}

@media only screen and (min-width: 1200px) {
    .ct-block__title {
              font-size: 1.35rem;
        margin-bottom: 2.5rem;
    }




    .ct-block__descr h3 {
        font-size: 1.75rem;
        margin: 2.5rem 0;
    }
    .fw-img-txt__bg {
        position: absolute!important;
    }

}


/* End */


/* Start:/local/components/classnyisait/skeleton/templates/quiz-form/style.css?17815322805573*/
.js-vue-placeholder:not(.init) + .quiz {
    display: none;
}

.js-quiz-tail-scope {
    position: relative;
    overflow: hidden;
    background: #040404;
}

.js-quiz-tail-scope > * {
    position: relative;
    z-index: 1;
}

.js-quiz-tail-scope canvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
}


.error-box {
    position: absolute;
    bottom: auto;
    left: -1.875rem;
    color: #ffffff;
    z-index: 3;
    font-size: 0.875rem;
    background: #b50808;
    text-align: center;
    width: calc(100% + 3.75rem);
    padding-top: 0.9375rem;
    top: 1.25rem;
}


.active-err .content-block__nav button:not(.btn-brd) {
    background: #b50808;
}
.quiz-form__content {
    width: 100%;
}

.nav-btn-block {
    max-width: 100%!important;
}

/* Quiz: show each error under its own field row (static flow). */
.quiz .quiz-form .d-form__row {
    position: relative;
}

.quiz .quiz-form .d-form__row label.error,
.quiz .quiz-form .d-form__row .form-err,
.quiz .quiz-form .form-check label.error,
.quiz .quiz-form .form-check .form-err {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0.375rem 0.5rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

@media only screen and (min-width: 1200px) {
    .error-box {
        top: initial;
        bottom: 0;
        left: 2.5rem;
        color: #b50808;
        background: #ffffff;
        font-size: 1rem;
        width: fit-content;
    }

    .quiz-form__image {
        height: 100%!important
    }
    .quiz-form {
        min-height:  735px;
        width: 100%;
    }

    .quiz-form__image {
        position: relative;
        width: 100% !important;
        height: 100% !important;
    }
    .quiz-form__img {
               position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                object-fit: cover;
    }

}

.js-quiz-tail-scope .quiz-form {
    position: relative;
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(0.985);
    transition: transform 860ms cubic-bezier(.2,.75,.2,1), opacity 860ms cubic-bezier(.2,.75,.2,1);
    transform-origin: 50% 60%;
    will-change: transform, opacity, filter;
}

.js-quiz-tail-scope.is-inview .quiz-form {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}
/*
.js-quiz-tail-scope .quiz-form::before {
    content: "";
    position: absolute;
    inset: -1px;
    pointer-events: none;
    border: 1px solid rgba(144, 240, 255, 0.24);
    box-shadow:
        0 0 24px rgba(96, 220, 255, 0.1),
        0 0 56px rgba(110, 255, 214, 0.08);
    opacity: 0;
    transition: opacity 680ms ease;
}
*/
.js-quiz-tail-scope.is-inview .quiz-form::before {
    opacity: 0.68;
    animation: quizNeonPulse 5.6s ease-in-out infinite;
}

.js-quiz-tail-scope .quiz-form__content.quiz-content-anim-in {
    animation: quizCardEnter 620ms cubic-bezier(.2,.75,.2,1) both;
}

.js-quiz-tail-scope .quiz-form__content.quiz-content-anim-in::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(120% 80% at 10% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 46%);
    animation: quizCardLightSweep 740ms cubic-bezier(.2,.75,.2,1) both;
}

@media only screen and (max-width: 991px) {
    .js-quiz-tail-scope .quiz-form {
        transform: translate3d(0, 16px, 0) scale(0.992);
        transition: transform 560ms cubic-bezier(.2,.75,.2,1), opacity 560ms cubic-bezier(.2,.75,.2,1);
        will-change: auto;
    }

    .js-quiz-tail-scope .quiz-form__content.quiz-content-anim-in {
        animation-duration: 420ms;
    }

    .js-quiz-tail-scope .quiz-form__content.quiz-content-anim-in::after {
        animation: none;
    }
}

.js-quiz-tail-scope .quiz-form__image,
.js-quiz-tail-scope .quiz-form__img {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
}

@keyframes quizCardEnter {
    0% {
        opacity: 1;
        transform: translate3d(0, 24px, 0) scale(.985);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes quizCardLightSweep {
    0% {
        opacity: 0;
        transform: translate3d(-2%, 2%, 0) scale(1.02);
    }
    35% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translate3d(1%, -1%, 0) scale(1);
    }
}

@keyframes quizNeonPulse {
    0% {
        opacity: 0.48;
        box-shadow:
            0 0 22px rgba(96, 220, 255, 0.08),
            0 0 46px rgba(110, 255, 214, 0.06);
    }
    50% {
        opacity: 0.72;
        box-shadow:
            0 0 30px rgba(96, 220, 255, 0.12),
            0 0 64px rgba(110, 255, 214, 0.1);
    }
    100% {
        opacity: 0.52;
        box-shadow:
            0 0 24px rgba(96, 220, 255, 0.09),
            0 0 50px rgba(110, 255, 214, 0.07);
    }
}

@media (prefers-reduced-motion: reduce) {
    .js-quiz-tail-scope .quiz-form,
    .js-quiz-tail-scope .quiz-form * {
        transform: none !important;
        opacity: 1 !important;
        animation: none !important;
        transition: none !important;
    }
}

/* End */


/* Start:/local/components/classnyisait/section.our_projects/templates/.default/style.css?17815322803371*/
@media only screen and (min-width: 1200px) {
   /*.section-our-project__tabs .mob-slide-200 .swiper-slide {*/
   /*    width: 18vw !important;*/
   /* }*/
   .section-our-project__tabs .mob-slide-200 .p-card img {
        height: 100%!important;
    }
   .section-our-project__tabs .mob-slide-200 .p-card__image {
        height: 35.6vw!important;
    }
}
.tab-content .swiper {
    overflow: visible;
}

/* === Entrance Animation === */

.section-our-project.sa-init .sa-anim {
    opacity: 0;
    transform: translateY(2.5rem);
    transition:
        opacity 1s ease-out,
        transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.section-our-project.sa-init.sa-loaded .sa-anim {
    opacity: 1;
    transform: translateY(0);
}

.section-our-project.sa-init.sa-loaded .sa-anim.section-our-project__title {
    transition-delay: 0.1s;
}

.section-our-project.sa-init.sa-loaded .sa-anim.tab-nav-block {
    transition-delay: 0.25s;
}

.section-our-project.sa-init.sa-loaded .sa-anim.section-our-project__tabs {
    transition-delay: 0.4s;
}

@media only screen and (max-width: 991px) {
    .section-our-project.sa-init .sa-anim {
        transform: translateY(1rem);
        transition:
            opacity 0.6s ease-out,
            transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    }

    .section-our-project.sa-init.sa-loaded .sa-anim.section-our-project__title {
        transition-delay: 0.03s;
    }

    .section-our-project.sa-init.sa-loaded .sa-anim.tab-nav-block {
        transition-delay: 0.08s;
    }

    .section-our-project.sa-init.sa-loaded .sa-anim.section-our-project__tabs {
        transition-delay: 0.12s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .section-our-project .sa-anim {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* QA fix: skeleton-placeholder для карточек портфолио пока фото не загрузилось */
/* GPU-composited: анимируем transform псевдоэлемента, а не background-position */
@keyframes p-skel-pulse {
    0%   { transform: translate3d(-100%, 0, 0); }
    100% { transform: translate3d(100%, 0, 0); }
}

.p-card__image.is-loading {
    position: relative;
    background: #e8e8e8;
    overflow: hidden;
}
.p-card__image.is-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(232, 232, 232, 0) 0%,
        rgba(244, 244, 244, 1) 50%,
        rgba(232, 232, 232, 0) 100%
    );
    transform: translate3d(-100%, 0, 0);
    will-change: transform;
    animation: p-skel-pulse 1.4s ease-in-out infinite;
    pointer-events: none;
}

/* Скрываем picture/img пока идёт загрузка */
/*.p-card__image.is-loading picture,*/
/*.p-card__image.is-loading img {*/
/*    opacity: 0;*/
/*}*/

/* Плавное появление после загрузки */
.p-card__image picture,
.p-card__image img {
    transition: opacity 0.35s ease;
}

.section-our-project__tabs .p-card__image img {
    height: 100%;
}

/* Не мигаем при prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .p-card__image.is-loading::after {
        animation: none;
        display: none;
    }
    .p-card__image picture,
    .p-card__image img {
        transition: none;
    }
}

/* End */


/* Start:/local/templates/main/components/bitrix/news.list/links_section/style.css?17720497614361*/
.links-section {
    padding-top: 5px;
    padding-bottom: 5px;
}

@media (min-width: 992px) {
    .links-section {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

.links-container {
    max-width: 1245px;
    margin: 0 auto;
    padding: 0 20px;
}

.links-title {
    color: #131313;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    margin: 30px 0;
    padding-right: 16px;
    max-width: 787px;
}

@media (min-width: 992px) {
    .links-title {
        font-size: 48px;
        line-height: 120%;
        margin: 50px 0;
        padding-right: 0;
    }
}

.links-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 576px) {
    .links-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .links-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
}

@media (min-width: 1200px) {
    .links-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.link-card {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background-color: #ffffff;
    border: 1px solid #131313;
    text-decoration: none;
    color: #131313;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: 0.6px;
    transition: all 0.3s ease;
    overflow: hidden;
    min-height: 60px;
}

@media (min-width: 992px) {
    .link-card {
        padding: 24px 30px;
        font-size: 14px;
        letter-spacing: 0.8px;
        min-height: 80px;
    }
}

.link-card-content {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.link-card-text {
    color: #131313;
    transition: color 0.3s ease;
    flex: 1;
}

.link-card-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.link-card-arrow svg {
    width: 20px;
    height: 20px;
    fill: #131313;
    transition: all 0.3s ease;
}

@media (min-width: 992px) {
    .link-card-arrow svg {
        width: 24px;
        height: 24px;
    }
}

.link-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #131313;
    transition: width 0.3s ease;
    z-index: 1;
}

.link-card:hover {
    border-color: #131313;
}

.link-card:hover .link-card-arrow {
  color: #ffffff;
}

.link-card:hover::before {
    width: 100%;
}

.link-card:hover .link-card-text {
    color: #ffffff;
}

.link-card:hover .link-card-arrow svg {
    fill: #ffffff;
    transform: translateX(4px);
}

.link-card:active {
    transform: scale(0.98);
}

/* Анимация появления */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.link-card {
    animation: fadeInUp 0.6s ease forwards;
    opacity: 0;
}

.link-card[data-index="0"] { animation-delay: 0.05s; }
.link-card[data-index="1"] { animation-delay: 0.1s; }
.link-card[data-index="2"] { animation-delay: 0.15s; }
.link-card[data-index="3"] { animation-delay: 0.2s; }
.link-card[data-index="4"] { animation-delay: 0.25s; }
.link-card[data-index="5"] { animation-delay: 0.3s; }
.link-card[data-index="6"] { animation-delay: 0.35s; }
.link-card[data-index="7"] { animation-delay: 0.4s; }
.link-card[data-index="8"] { animation-delay: 0.45s; }
.link-card[data-index="9"] { animation-delay: 0.5s; }

/* Адаптивность */
@media (max-width: 767px) {
    .links-section {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .links-title {
        font-size: 22px;
        margin: 30px 0;
    }

    .link-card {
        padding: 14px 20px;
        min-height: 55px;
    }

    .link-card-text {
        font-size: 12px;
    }

    .link-card-arrow svg {
        width: 18px;
        height: 18px;
    }
}

/* Focus состояние для доступности */
.link-card:focus-visible {
    outline: 2px solid #131313;
    outline-offset: 2px;
}
@media only screen and (min-width: 1200px) {
    .links-grid--50 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* End */


/* Start:/local/components/classnyisait/skeleton/templates/fw-btn/style.css?17815322804886*/
.fw-btn-section {
    position: relative;
    padding-top: 5px;
    padding-bottom: 5px;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
}

@media (min-width: 992px) {
    .fw-btn-section {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

/* Анимированный фон секции - плавающие круги */
.fw-btn-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -25%;
    width: 75%;
    height: 200%;
    background: radial-gradient(
        ellipse at center,
        rgba(19, 19, 19, 0.03) 0%,
        transparent 70%
    );
    animation: float-shape-1 15s ease-in-out infinite;
    z-index: 0;
}

.fw-btn-section::after {
    content: '';
    position: absolute;
    bottom: -50%;
    right: -25%;
    width: 75%;
    height: 200%;
    background: radial-gradient(
        ellipse at center,
        rgba(19, 19, 19, 0.03) 0%,
        transparent 70%
    );
    animation: float-shape-2 18s ease-in-out infinite;
    animation-delay: -5s;
    z-index: 0;
}

@keyframes float-shape-1 {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    33% {
        transform: translate(10%, 10%) rotate(120deg);
    }
    66% {
        transform: translate(-5%, 15%) rotate(240deg);
    }
}

@keyframes float-shape-2 {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    33% {
        transform: translate(-10%, -10%) rotate(-120deg);
    }
    66% {
        transform: translate(5%, -15%) rotate(-240deg);
    }
}

/* Декоративные линии на фоне */
.fw-btn-section .bg-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.fw-btn-section .bg-lines span {
    position: absolute;
    display: block;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(19, 19, 19, 0.05) 50%,
        transparent 100%
    );
    animation: line-float 8s ease-in-out infinite;
}

.fw-btn-section .bg-lines span:nth-child(1) {
    left: 10%;
    animation-delay: 0s;
}

.fw-btn-section .bg-lines span:nth-child(2) {
    left: 30%;
    animation-delay: -2s;
}

.fw-btn-section .bg-lines span:nth-child(3) {
    left: 50%;
    animation-delay: -4s;
}

.fw-btn-section .bg-lines span:nth-child(4) {
    left: 70%;
    animation-delay: -6s;
}

.fw-btn-section .bg-lines span:nth-child(5) {
    left: 90%;
    animation-delay: -8s;
}

@keyframes line-float {
    0%, 100% {
        transform: translateY(-20%) scaleY(0.8);
        opacity: 0.3;
    }
    50% {
        transform: translateY(20%) scaleY(1.2);
        opacity: 0.7;
    }
}

/* Плавающие точки */
.fw-btn-section .bg-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.fw-btn-section .bg-dots span {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: rgba(19, 19, 19, 0.08);
    border-radius: 50%;
    animation: dot-float 12s ease-in-out infinite;
}

.fw-btn-section .bg-dots span:nth-child(1) {
    top: 20%;
    left: 15%;
    animation-delay: 0s;
    animation-duration: 10s;
}

.fw-btn-section .bg-dots span:nth-child(2) {
    top: 60%;
    left: 25%;
    animation-delay: -3s;
    animation-duration: 14s;
}

.fw-btn-section .bg-dots span:nth-child(3) {
    top: 40%;
    left: 50%;
    animation-delay: -6s;
    animation-duration: 11s;
}

.fw-btn-section .bg-dots span:nth-child(4) {
    top: 80%;
    left: 65%;
    animation-delay: -9s;
    animation-duration: 13s;
}

.fw-btn-section .bg-dots span:nth-child(5) {
    top: 30%;
    left: 80%;
    animation-delay: -12s;
    animation-duration: 15s;
}

.fw-btn-section .bg-dots span:nth-child(6) {
    top: 70%;
    left: 90%;
    animation-delay: -5s;
    animation-duration: 12s;
}

@keyframes dot-float {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.3;
    }
    25% {
        transform: translate(20px, -30px) scale(1.2);
        opacity: 0.6;
    }
    50% {
        transform: translate(-15px, 20px) scale(0.9);
        opacity: 0.4;
    }
    75% {
        transform: translate(25px, 15px) scale(1.1);
        opacity: 0.5;
    }
}


/* Анимация появления кнопки */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fw-btn-section .btn-def {
    animation: fadeInUp 0.6s ease forwards;
}

/* Адаптивность */
@media (max-width: 767px) {
    .fw-btn-section {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .btn-def {
        padding: 14px 20px;
        font-size: 12px;
    }
}

/* End */


/* Start:/local/components/classnyisait/section.reviews/templates/.default/style.css?17815322801273*/
.rev-section .mob-slide-340 .swiper-slide {
    width: 21.25rem;
}

.rev-section .mob-slide-340 .r-card img {
    height: 16.125rem;
    object-fit: cover;
}

.r-card__title {
    text-transform: initial;
    font-size: 0.875rem;
    line-height: 1.2;
    margin-bottom: 1.25rem;
}

.r-card__sub-title {
    font-size: 0.6875rem;
    line-height: 1.4;
    margin-bottom: 0.125rem;
}

.r-card__descr {
    font-size: 0.75rem;
    max-width: 16.875rem;
    margin-left: auto;
}

.r-card__content {
    padding-top: 1.25rem;
}

@media only screen and (min-width: 1200px) {
    .rev-section .mob-slide-340 .swiper-slide {
        width: 32vw!important;
    }
    .rev-section .mob-slide-340 .r-card img {
        height: 24.3vw;
    }
    .r-card__title {
        font-size: 1rem;
        margin-bottom: 1.875rem;
    }
    .r-card__sub-title {
        font-size: 0.75rem;
    }
    .r-card__descr {
        font-size: 0.875rem;
        max-width: 20.3125rem;
    }

}
.swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.swiper-slide img{
  max-width: 100%;
}
/* End */


/* Start:/local/components/classnyisait/section.main-banner/templates/banner-accent/style.css?17815322802464*/
.num-list-descr {
    margin-bottom: 2.5rem;
}

.num-list-descr__item {
    font-size: 0.75rem;
    line-height: 1.2;
    margin-top: 1.3125rem !important;
}

.num-list-descr__item p {
    margin-bottom: 0;
    text-transform: uppercase;
}

.banner-accent__title {
    font-size: 1rem;
    font-weight: 400;
    line-height: 120%;
    text-transform: initial;
    margin-bottom: 12.5rem;
}

.banner-accent__title-md {
    max-width: 20rem;
    margin-bottom: 12.5rem;
}

.banner-accent__image {
    position: relative;
    width: 100%;
}

.banner-accent__img {
    width: 100%;
}

.u-card {
    margin-bottom: 2.0625rem;
    display: flex;
}

.u-card__image {
    width: 8.125rem;
    height: 10.625rem;
    position: relative;
    flex-shrink: 0;
}

.u-card__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding-left: 0.625rem;
}


.u-card__descr {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 140%;
    margin-top: auto;
    margin-bottom: 0;
}

.u-card__descr p {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin-bottom: inherit;
}
.banner-accent__img {
    height: auto;
}

@media only screen and (max-width: 576px) {
    .banner-accent__content {
        min-height: 124.15vw;
    }
}

@media only screen and (min-width: 1200px) {

    .banner-accent__content {
        min-height: initial;
    }

    .u-card {
        margin-bottom: 0;
    }

    .banner-accent__title {
        font-size: 1.5rem;
        margin-bottom: auto;
    }

    .banner-accent__title-md {
        max-width: 30.375rem;
    }

    .u-card__image {
        width: 13.625rem;
        height: 17.8125rem;
    }

    .u-card__descr {
        font-size: 0.875rem;
    }

    .num-list-descr__item {
        font-size: 1rem;
        line-height: 1.2;
        margin-top: 2rem !important;
    }

    .num-list-descr {
        margin-bottom: 0;
    }

    .banner-accent__image {
        display: flex;
        width: 100%;
    }

    .banner-accent {
        min-height: calc(var(--vh, 1vh) * 100);
    }

    .banner-accent__img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        object-fit: cover;
    }
}
.link-title {
    font-size: 1.25rem;
    font-weight: 500;
    text-decoration: underline;
    text-transform: initial!important;
}

.num-list-descr__item h4 {
    margin-top: -0.3125rem;
}

/* End */
/* /local/templates/main/components/bitrix/news/services/bitrix/news.detail/.default/style.css?17731230615296 */
/* /local/templates/main/components/bitrix/breadcrumb/breacrumbs/style.min.css?176575060449 */
/* /local/templates/main/services.css?177312619016474 */
/* /local/components/classnyisait/section.accordion/templates/slider/template_styles.css?17815322803321 */
/* /local/components/classnyisait/section.full_screen_image/templates/.default/style.css?17815322804525 */
/* /local/components/classnyisait/section.full_screen_image_descr_btn/templates/cover/style.css?17815322801266 */
/* /local/components/classnyisait/skeleton/templates/quiz-form/style.css?17815322805573 */
/* /local/components/classnyisait/section.our_projects/templates/.default/style.css?17815322803371 */
/* /local/templates/main/components/bitrix/news.list/links_section/style.css?17720497614361 */
/* /local/components/classnyisait/skeleton/templates/fw-btn/style.css?17815322804886 */
/* /local/components/classnyisait/section.reviews/templates/.default/style.css?17815322801273 */
/* /local/components/classnyisait/section.main-banner/templates/banner-accent/style.css?17815322802464 */
