* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* ====================================
General Styles
==================================== */

a {
    text-decoration: none !important;
    transition: all .2s;
}

a:hover {
    color: #0572AB;
}

main {
    overflow-x: hidden;
}

body {
    font-family: 'Involve', sans-serif;
    color: #333;
    line-height: 1.6;
    overflow-x: hidden;
}

.header {
    background-size: cover;
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 50;
}

.navbar {
    background: #202020;
    padding: 10px 0;
    height: 100px;
    font-weight: bold;
    width: 100%;
    position: absolute;
}

.navbar-nav .nav-link {
    color: #fff !important;
    margin: 0 15px;
    font-size: 18px;
    font-weight: 600;
    transition: opacity .2s;
}

.navbar-nav:hover .nav-link {
    opacity: 0.3;
}

.navbar-nav .nav-link:hover {
    opacity: 1;
}

.dropdown-toggle::after {
    display: none !important;
}

.header-content {
    text-align: center;
    padding-top: 80px;
}

.header-content h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.header-content p {
    font-size: 1.2rem;
    margin-bottom: 30px;
}

.swal2-confirm,
.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
    padding: 10px 30px;
}

.swal2-confirm:hover,
.btn-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
}

.gallery {
    position: relative;
    text-align: center;
}

.gallery .swiper-slide {
    padding: 0;
    position: relative;
}

.banner .swiper-slide {
    padding: 0;
    position: relative;
    height: 100dvh;
}

.banner .swiper-slide:before {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background-color: #00000088;
    z-index: 2;
}

.swiper-slide {
    padding: 20px;
}

.swiper-slide img {
    max-width: 100%;
    height: auto;
}

.video-section {
    position: relative;
    background-color: #2B2A28;
    text-align: center;
    height: 418px;
    margin-bottom: 380px;
}

.video-section .col-md-6:first-child img {
    max-width: 100%;
    height: auto;
}

.video-section .col-md-6:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.video-section h3 {
    font-size: 1.8rem;
    color: #004085;
    margin-bottom: 20px;
}

.video-section p {
    color: #6c757d;
    margin-bottom: 20px;
}

.gallery-projects {
    position: relative;
    text-align: center;
    padding: 50px 0;
}

.gallery-projects-py {
    padding-top: 0;
    padding-bottom: 50px;
}

.gallery-projects .swiper-slide img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.contact-section {
    position: relative;
    padding: 80px 0;
    background-color: #e9ecef;
    text-align: center;
}

.contact-section-page {
    margin-top: 100px;
    position: relative;
    padding: 80px 0;
    text-align: center;
}

.contact-section h2 {
    color: #004085;
    margin-bottom: 20px;
}

.contact-section p {
    color: #6c757d;
    margin-bottom: 20px;
}

.contact-section .form-control {
    border-radius: 5px;
    margin-bottom: 15px;
}

.footer {
    background-color: #1a1a1a;
    color: #fff;
    padding: 60px 0;
    text-align: center;
}

.footer p {
    margin-bottom: 10px;
}

.footer a {
    color: #fff;
    margin: 0 15px;
    text-decoration: none;
}

.footer a:hover {
    color: #0572AB;
}

.header-phone a {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
    transition: color .2s;
}

.header-phone a:hover {
    color: #0572AB;
}

.navbar > .container {
    justify-content: space-between;
}

.container {
    max-width: 100%;
    padding: 0 60px;
}

.container2 {
    max-width: 1540px;
    margin: 0 auto;
}

.navbar-collapse {
    display: flex;
    justify-content: center;
}

.slideshow-item-text {
    text-align: left;
    z-index: 3;
    position: absolute;
    bottom: 140px;
    width: 100%;
    color: #fff;
}

.slideshow-item-text h5 {
    font-size: 22px;
    margin: 0 0 10px 0;
    color: #BFE2FF;
}


.slideshow-item-text__title {
    color: #FFFFFF;
    font-size: 54px;
    font-weight: 600;
    max-width: 920px;
    line-height: 1.2;
    margin-bottom: 40px;

    font-family: 'Montserrat', sans-serif;
}

.slideshow-item-text__dop {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 400;
    max-width: 880px;
    line-height: 1.5;
    margin-bottom: 40px;
}

.slideshow-item-text__dop2 {
    position: absolute;
    margin: 0 auto;
    right: 0;
    left: 0;
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 400;
    max-width: 880px;
    line-height: 1.5;
    text-align: center;
}

.slideshow-item-text__title-dop {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 600;
    max-width: 880px;
    line-height: 1.2;
    margin-bottom: 40px;
    position: relative;
    padding-left: 84px;
}

.slideshow-item-text__title-dop:before {
    content: "";
    width: 60px;
    height: 2px;
    background-color: #FFFFFF;
    position: absolute;
    left: 0;
    top: 17px;
}

.btn,
.swal2-confirm,
.swal2-cancel {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    background-color: #0572AB;
    color: #FFFFFF;
    padding: 20px 40px;
    border-radius: 2px;
    transition: all .2s;
    font-size: 1.1rem !important;
}

.btn-secondary {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #202020;
}

.swal2-cancel:hover,
.swal2-confirm:hover,
.btn:hover {
    background-color: #202020;
    box-shadow: 0 -4px 0 rgba(182, 182, 182, 0.4) inset !important;
}

.btn-dark,
.swal2-cancel {
    background-color: #202020;
    border-color: #202020;
    color: #FFFFFF;
}

.swal2-cancel:hover,
.btn-dark:hover {
    background-color: #0572AB;
}

.slideshow-item-text__description {
    font-size: 24px;
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    color: #FFFFFF;
    z-index: 5;
    padding: 0 16px;
}


.banner-box1 {
    position: absolute;
    top: 28%;
    left: -20px;
    pointer-events: none;
    z-index: 6;
}

.banner-box2 {
    position: absolute;
    top: 70px;
    left: 60%;
    pointer-events: none;
    z-index: 6;
}

.banner-box3 {
    position: absolute;
    left: 75%;
    bottom: -20px;
    pointer-events: none;
    z-index: 6;
}

.banner .swiper-slide img {
    transition: transform 6s ease-out;
    will-change: transform;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner .swiper-slide-active img {
    transform: scale(1.1);
}

.banner-static,
.banner-static-white {
    position: relative;
}

.banner-static:before {
    content: "";
    background-color: #00000088;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
}

.banner-static-white:before {
    content: "";
    background-color: #46464670;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
}

.banner-static-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery {
    padding: 80px 0;
}

.title {
    position: relative;
    margin-bottom: 80px;
    text-align: center;
}

.title__g1 {
    background: linear-gradient(to bottom, #DDDDDD 0%, #D7D7D700 70%, #D7D7D700 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 100px;
    display: inline-block;


    letter-spacing: 12px;

}

.title__g2 {
    color: #403F3D;
    font-size: 18px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 10px;
    margin: auto;
    height: max-content;
    width: max-content;
    font-weight: 500;
}

.title__g2:before {
    content: "";
    height: 3px;
    width: 70px;
    position: absolute;
    left: -90px;
    background-color: #403F3D;
    top: 12px;
}

.title__g2:after {
    content: "";
    height: 3px;
    width: 70px;
    position: absolute;
    left: calc(100% + 20px);
    background-color: #403F3D;
    top: 12px;
}

.title__g3 {
    color: #0572AB;
    font-size: 24px;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    font-weight: 600;
    bottom: -80px;
    height: max-content;
    position: absolute;
    line-height: 1;
}

.service__name {
    position: absolute;
    left: 48px;
    bottom: 48px;
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 600;
}

/*.swiperService .swiper-slide:before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    pointer-events: none;*/
/*    background: linear-gradient(to bottom, #DDD0 0%, #0001 85%, #000 100%);*/
/*}*/
.gallery-flex {
    gap: 20px;
    display: flex;
    justify-content: space-between;
}

.gallery-slide img {
    transition: transform 2s ease-out;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-slide:hover img {
    transform: scale(1.1);
}

.service__gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to bottom, #DDD0 0%, #0001 85%, #000 100%);
}

.gallery-slide .service__name:after {
    display: block;
    position: absolute;
    left: 0; /*изменить на right:0;, чтобы изменить направление подчёркивания */
    width: 0; /*задаём длинну линии до наведения курсора*/
    height: 2px; /*задаём ширину линии*/
    background-color: #FFFFFF; /*задаём цвет линии*/
    content: "";
    transition: width 0.3s ease-out; /*задаём время анимации*/
}

.gallery-slide:hover .service__name:after {
    width: 100%; /*устанавливаем значение 100% чтобы ссылка подчёркивалась полностью*/
}

.gallery-slide {
    position: relative;
    overflow: hidden;
}


.btn-flex {
    margin-top: 40px;
    display: flex;
    gap: 24px;
    justify-content: center;
}

.service-box1 {
    position: absolute;
    left: 20px;
    top: 40%;
    z-index: 6;
    pointer-events: none;
}

.service-box2 {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 6;
    pointer-events: none;
}

.video-window {
    max-width: 1540px;
    margin: 0 auto;
    border-radius: 2px;
    height: 640px;
    margin-bottom: 120px;
    position: relative;
    top: 80px;
    display: flex;
}

.video-window:before {
    content: "";
    background-color: #F5F5F5;
    bottom: -60px;
    left: -60px;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
}

.video-window-video {
    position: relative;
    width: 60%;
    cursor: pointer;
}

.video-window-video .video-window-play {
    transition: transform .1s;
}

.video-window-video:hover .video-window-play {
    transform: scale(1.1);
}
.playVideo {

    cursor: pointer;
}
.review-back .video-window-play  {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    transition: transform .1s;
}
.review-back:hover .video-window-play {
    transform: scale(1.1);
}

.swiperReview .review-col img {
    width: 100%;
    object-fit: cover;
}

.video-window-video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-window-text {
    color: #FFFFFF;
    background-color: #0572AB;
    width: 620px;
}

.video-window-text {
    display: flex;
    align-items: center;
    padding: 40px;
    text-align: left;
}

.video-window-text__g1 {
    font-size: 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin-bottom: 32px;
    position: relative;
    padding-left: 80px;
}

.video-window-text__g1:before {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    width: 60px;
    height: 3px;
    background-color: #FFFFFF;
}

.video-window-text__g2 {
    font-size: 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 24px;

}

.video-window-text__g3 {
    font-size: 24px;
    margin-bottom: 32px;
    max-width: 540px;
}

.video-window-video img.video-window-play {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 88px;
    height: 88px;
}

.video-box1 {
    position: absolute;
    top: -120px;
    left: -30px;
    z-index: 5;
}

.video-box2 {
    position: absolute;
    bottom: -60px;
    right: -60px;
    z-index: 5;
}

.gallery-projects .swiper-slide {
    padding: 0;
    width: 730px;
    height: 520px;
    position: relative;
}

.gallery-projects .swiper-slide img {
    height: 100%;
    width: 100%;
}

.swiperGallery {
    padding-bottom: 80px;
}

.swiperGallery .swiper-pagination {
    display: flex;
    gap: 30px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    justify-content: center;
    width: 100% !important;

}

.swiperGallery .swiper-pagination-bullet {
    transform: scale(1) !important;
    width: 12px;
    height: 12px;
}

.swiper-pagination {

}

.swiperReview .swiper-slide {
    display: flex;
    justify-content: space-between;
    padding: 0;
}

.review-col {
    width: 50%;
}

.review-col img {
    height: 630px;
}

.review-text__g1 {
    font-size: 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin-bottom: 32px;
    position: relative;
    padding-left: 80px;
    color: #0572AB;
}

.review-text__g1:before {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    width: 60px;
    height: 3px;
    background-color: #0572AB;
}

.review-text__g2 {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 24px;
    color: #403F3D;

}

.review-text__g3 {
    font-size: 24px;
    margin-bottom: 32px;
    max-width: 540px;
    color: #403F3D;
    font-weight: 600;
}

.review-text__g4 {
    font-size: 24px;
    margin-bottom: 32px;
    max-width: 720px;
    color: #403F3D;
    font-weight: 600;
}

.review-flex-text {
    display: flex;
    align-items: end;
    max-width: 780px;
    margin-right: 110px;
    margin-left: 60px;
    height: 100%;
    padding-bottom: 160px;
}

.control-flex-text {
    display: flex;
    align-items: center;
    justify-content: left;
    max-width: 660px;
    margin-right: 110px;
    margin-left: auto;
    height: 100%;

}

.review-box1 {
    position: absolute;
    pointer-events: none;
    top: 40px;
    left: 0;
    z-index: 5;
}

.review-box2 {
    position: absolute;
    pointer-events: none;
    top: 70%;
    left: 38%;
    z-index: 5;
}

.review-btn {
    position: absolute;
    bottom: 0;
    display: flex;
    gap: 20px;
    max-width: 1800px;
    margin: 0 auto 40px;
    z-index: 9;
}

.review-section {
    margin-bottom: 80px;
}

.review-button-prev,
.review-button-next {
    cursor: pointer;
    width: 55px;
    height: 55px;
    border: 2px solid #0572AB;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.review-button-prev svg path,
.review-button-next svg path {
    transition: all .3s;
}

.review-button-prev:hover svg path,
.review-button-next:hover svg path {
    stroke: #FFFFFF;
}

.hover-slide-right::before {
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 0;
    position: absolute;
    transition: 0.3s ease-out;
    background-color: #0572AB;
}

.btn.hover-slide-right:hover::before {
    width: 100%;
}

.hover-slide-left::before {
    content: "";
    top: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    width: 0;
    position: absolute;
    transition: 0.3s ease-out;
    background-color: #0572AB;
}

.btn.hover-slide-left:hover::before {
    width: 100%;
}


/* 8. hover-slide-left */
.hover-slide-left::before {
    top: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    width: 0%;
}

.hover-slide-left:hover::before {
    width: 100%;
}

/* 9. hover-slide-right */
.hover-slide-right::before {
    top: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 0%;
}

.hover-slide-right:hover::before {
    width: 100%;
}


.contact-section {
    background-size: cover;
    position: relative;
}

.contact-section:before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #00000088;
    position: absolute;
    left: 0;
    top: 0;
}

.contact-col-800 {
    width: 100%;
    max-width: 800px;
    background-color: #FFFFFF;
    border-radius: 2px;
    padding: 60px;
}

.contact-col-50 {
    width: 50%;
    position: relative;
}

.contact-map {
    width: 100%;
    height: 600px;
}

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

.contact-text__g0 {
    font-family: 'Montserrat', sans-serif;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    color: #FFFFFF;
    margin-bottom: 32px;

}

.contact-text__g1 {
    font-size: 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin-bottom: 32px;
    position: relative;
    padding-left: 80px;
    color: #FFFFFF;
    text-align: left;
}

.contact-text__g1:before {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    width: 60px;
    height: 3px;
    background-color: #FFFFFF;
}

.contact-text__g2,
.contact-text__g2 a {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 24px;
    color: #FFFFFF;
    text-align: left;

}

.contact-text__g3 {
    font-size: 24px;
    margin-bottom: 32px;
    max-width: 540px;
    color: #FFFFFF;
    font-weight: 600;
    text-align: left;
}

.contact-section-page .contact-text__g0,
.contact-section-page .contact-text__g1,
.contact-section-page .contact-text__g2,
.contact-section-page .contact-text__g2 a,
.contact-section-page .contact-text__g3 {
    color: #202020;
}

.contact-section-page .contact-text__g1:before {
    background-color: #202020;
}


.contact-title {
    font-size: 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin-bottom: 25px;
    position: relative;
    padding-left: 80px;
    color: #0572AB;
    text-align: left;
}

.contact-title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    width: 60px;
    height: 3px;
    background-color: #0572AB;
}

.contact-title2 {
    font-size: 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin-bottom: 50px;
    position: relative;
    color: #403F3D;
    text-align: left;
}

.contact-flex-input {
    display: flex;
    gap: 24px;
    margin-bottom: 24px;
}

.contact-input {
    outline: none !important;
    border: none !important;
    border-radius: 2px;
    background-color: #E4E4E4;
    padding: 24px;
    width: 50%;
    transition: background-color .2s;
}

.contact-input:focus,
.contact-input:hover {
    background-color: #D6D6D7;
}

.contact-textarea {
    outline: none !important;
    border: none !important;
    border-radius: 2px;
    background-color: #E4E4E4;
    padding: 24px;
    width: 100%;
}

.contact-section form .btn {
    width: 100%;
    height: 80px;
}

.contact-soc-flex {
    display: flex;
    gap: 8px;
}

.contact-section-page .contact-soc-flex svg path {
    fill: #202020;
}

.footer-logo-text {
    font-size: 17px;
    color: #FFFFFF;
}

.footer-logo-flex {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.footer-menu-title {
    font-size: 24px;
    font-weight: 600;
    color: #B1B0B3;
}

.footer-menu-item {
    font-size: 18px;
    color: #FFFFFF;
}

.footer-flex {
    text-align: left;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.footer-col {
    display: flex;
    flex-direction: column;
    max-width: 300px;
    gap: 10px;
}

.footer-col a {
    margin: 0;
}

.footer-menu-title {
    margin-bottom: 14px;
}

.footer-contact-flex {
    display: flex;
    flex-direction: column;

    height: 100%;
    justify-content: space-between;
}

.footer-contact-soc-flex {
    margin-top: 24px;
    display: flex;
    justify-content: right;
    gap: 8px;
}

.contact-soc-flex a,
.footer-contact-soc-flex a {
    transition: transform .2s;
}

.contact-soc-flex a:hover,
.footer-contact-soc-flex a:hover {
    transform: scale(1.1);
}


.header-phone-flex {
    display: flex;
    gap: 8px;
    flex-direction: column;
}

.contact-box1 {
    position: absolute;
    top: -20px;
    left: -30px;
    pointer-events: none;
}

.contact-box2 {
    position: absolute;
    bottom: 15%;
    left: 35%;
    pointer-events: none;
}

.contact-box3 {
    position: absolute;
    top: 60px;
    right: 0;
    pointer-events: none;
}

.review-back {
    position: relative;
    height: max-content;
}
/*.review-back:before {*/
/*    content: "";*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    position: absolute;*/
/*    top: 70px;*/
/*    left: -70px;*/
/*    background-color: #F5F5F5;*/
/*    z-index: -1;*/
/*}*/
.review-back {
    padding-bottom: 60px;
}

.compas-img-back {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 60px;
    left: -60px;
    background-color: #F5F5F5;
    z-index: -1;
}

.compas-img-back__right {
    left: 60px;
}

.header .navbar-logo {
    transition: all .2s;
    width: 152px;
    height: 69px;
}

@media (min-width: 1000px) {
    .header.mini-menu .navbar-logo {
        width: 200px;
        height: 27px;
        object-fit: cover;
        object-position: bottom;
    }
}

/* Контейнер */
.header-phone-flex {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative; /* для абсолютного позиционирования элементов */
    height: 55px; /* примерная высота для анимации */
}

/* Телефоны */
.header-phone-flex .header-phone {
    position: relative;
    left: 0;
    transition: all 0.5s ease; /* плавная анимация позиции и размера */
}

/* Стартовые позиции (колонка) */
.header-phone-flex .header-phone:nth-child(1) {
    top: 0;
}

.header-phone-flex .header-phone:nth-child(2) {
    position: absolute;
    top: 30px;
}

@media (min-width: 1000px) {
    /* Позиции при мини-меню (ряд) */
    .header.mini-menu .header-phone-flex .header-phone:nth-child(1) {
        top: 13px;
        left: 0;
    }

    .header.mini-menu .header-phone-flex .header-phone:nth-child(2) {
        top: 13px;
        left: -170px; /* подбирается под ширину блока */
    }

    .header .navbar {
        transition: all .2s;
    }

    .header.mini-menu .navbar {
        height: 65px;
        background: #202020DD;
        border-bottom: 1px solid #D2D8DE22;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
    }
}

.header .header-phone-icon1 {
    opacity: 1;
    visibility: visible;
    transition: all .2s;
}

.header.mini-menu .header-phone-icon1 {
    opacity: 0;
    visibility: hidden;
}

.contact-text__g2 a {
    transition: color .2s;
}

.contact-text__g2 a:hover {
    color: #0572AB;
}


.background {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 130dvh;
    position: fixed;
    width: 100%;
    transform: translateY(30dvh);
    transition: all 1.2s cubic-bezier(0.22, 0.44, 0, 1);
}

.background:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
}

.background:first-child {

    transform: translateY(-15dvh);
}

.background:first-child .content-wrapper {
    transform: translateY(15dvh);
}

.background:nth-child(2) {

}

.background:nth-child(3) {

}

/* Set stacking context of slides */
.background:nth-child(1) {
    z-index: 5;
}

.background:nth-child(2) {
    z-index: 4;
}

.background:nth-child(3) {
    z-index: 3;
}

.background:nth-child(4) {
    z-index: 2;
}

.background:nth-child(5) {
    z-index: 1;
}

.content-wrapper {
    height: 100dvh;
    display: flex;
    justify-content: center;
    text-align: center;
    flex-flow: column nowrap;
    color: #fff;
    font-family: Montserrat;
    transform: translateY(40dvh);
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 1.7s cubic-bezier(0.22, 0.44, 0, 1);
}

.content-wrapper__upper {
    text-transform: uppercase;
}

.content-title {
    font-size: 7dvh;
    line-height: 1.4;
}

.background.up-scroll {
    transform: translate3d(0, -15dvh, 0);
}

.background.up-scroll .content-wrapper {
    transform: translateY(15dvh);
}

.background.up-scroll + .background {
    transform: translate3d(0, 30dvh, 0);
}

.background.up-scroll + .background .content-wrapper {
    transform: translateY(30dvh);
}

.background.down-scroll {
    transform: translate3d(0, -130dvh, 0);
}

.background.down-scroll .content-wrapper {
    transform: translateY(40dvh);
}

.background.down-scroll + .background:not(.down-scroll) {
    transform: translate3d(0, -15dvh, 0);
}

.background.down-scroll + .background:not(.down-scroll) .content-wrapper {
    transform: translateY(15dvh);
}

.content-btn {
    width: max-content;
    margin: 0 auto;
}


.breadcrumb {
    background-color: #D6D6D7;
    padding: 24px 0;
    margin-bottom: 0;
}

.breadcrumb-flex {
    display: flex;
    gap: 24px;
    align-items: center;
}

.breadcrumb-item {
    font-size: 18px;
    font-weight: 600;
    color: #403F3D;
}

.breadcrumb-item__active {
    color: #0572AB;
}


.compas {
    margin-top: 80px;
    padding-bottom: 40px;
    position: relative;
}

.control {
    margin-top: 80px;
    margin-bottom: 120px;
}

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

.compas-logo {
    height: auto !important;
}

.compas-img {
    width: 100%;
    object-fit: cover;
}


.collections-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-align: center;
    margin-bottom: 40px;
}

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

.collections {
    margin-bottom: 80px;
    position: relative;
}

.compas-gal-flex {
    display: flex;
    justify-content: space-between;
}
.compas-gal-img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.compas-gal-img__1 {
    max-width: 60%;
}
.compas-gal-img__2 {
    max-width: 39%;
}

.compas-gal {
    padding-bottom: 80px;
    position: relative;
}

.compas-gal:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #2B2A28;
    z-index: -1;
}

.scheme {
    position: relative;
    padding: 80px;
}

.scheme-col-150 {
    width: 100%;
    max-width: 150px;
    position: relative;
}

.scheme-col-100p {
    width: 100%;
    max-width: 650px;
    position: relative;
}

.scheme-col-700 {
    width: 100%;
    max-width: 700px;
    position: relative;
}

.scheme-item-img {
    width: 100%;
    max-width: 300px;
}

.scheme-flex {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.scheme-item {
    padding: 30px;
    background-color: #E4E4E4;
}

.scheme-win {
    border: 1px solid #000000;
    border-radius: 2px;
    padding: 80px;
    display: flex;
    justify-content: center;
    position: relative;
}

.scheme-fullscreen {
    position: absolute;
    bottom: 25px;
    right: 25px;
    transition: transform .2s;
    cursor: pointer;
}

.scheme-fullscreen:hover {
    transform: scale(1.1);
}

.table-container tbody tr:nth-child(2n - 1) {
    background-color: #FFFFFF;
}

.table-container {
    background: #E4E4E4;
    border-radius: 2px;
    width: 100%;
    padding: 30px;
    overflow-x: auto; /* на случай, если не влезает */
}

.table-container table {
    background-color: #f0f0f0;
    border-collapse: collapse;
    width: 100%;
    min-width: 600px;
}

.table-container th,
.table-container td {
    text-align: left;
    padding: 16px 16px;
    border-bottom: 1px solid #ddd;
}

.table-container th {
    background: #f3f3f3;
    font-weight: 600;
}

.table-container td {
    color: #333;
}


.color-box {
    position: relative;
    width: 100%;
    aspect-ratio: 20 / 9;
    border-radius: 2px;
    overflow: hidden;
}

.color-box-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all .2s;
    overflow: hidden;
}

.color-box-img.active {
    opacity: 1;
    visibility: visible;
}

.color-panel {
    margin: 0 auto 80px;
    width: 100%;
    max-width: 1100px;
    height: 160px;
    background-color: #202020;
    display: flex;
    justify-content: space-between;
    padding: 0 30px;
    align-items: end;
    position: relative;
}

.color-panel-item-img {
    border-radius: 50%;
    width: 96px;
    height: 96px;
}

.color-panel-item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 20px;
    transition: all .2s;
    cursor: pointer;
    flex-direction: column;
}

.color-panel-item:hover {
    background-color: rgba(188, 188, 188, 0.1);
}

.color-panel-item span {
    font-size: 0;
    color: #FFFFFF;
    font-weight: 500;
    line-height: 150%;
    transition: all .2s;
}

.color-panel-item__active span {
    font-size: 18px;
    white-space: nowrap;
}

.color-panel-item__active .color-panel-item-img {
    width: 115px;
    height: 115px;
}

.color-panel-item__active {
    background-color: #0572AB !important;
    gap: 20px;
    height: 125%;
}

.color-title {
    font-weight: 600;
    font-size: 24px;
    line-height: 150%;
    margin-bottom: 80px;
    width: 100%;
    text-align: center;
}

.balance {
    position: relative;
    padding: 60px 20px;
    background-color: #202020;
}

.balance-box-img {
    width: 670px;
    padding: 30px;
    border-radius: 2px;
}

.balance-box1x {
    background-color: #FFFFFF;
    border-radius: 2px;
    display: inline-block;
}

.balance-box-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 64px;
    line-height: 100%;
    margin-bottom: 30px;
    letter-spacing: -3px;
    text-transform: uppercase;
}

.balance-box-description {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
}

.balance-box2x {
    background-color: #FFFFFF;
    border-radius: 2px;
    display: inline-block;
    width: 100%;
    max-width: 700px;
    padding: 50px;
    margin-top: -200px;
    margin-left: 520px;
}

.balance-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 54px;
    line-height: 120%;
    color: #FFFFFF;
    margin-top: 90px;
}

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

.service {
    padding: 60px 0 60px;
}

.service-item {
    width: 100%;
    border: 1px solid #000000;
    border-radius: 2px;
}

.service-item-img {
    width: 100%;
    height: 390px;
    object-fit: contain;
    margin-bottom: 30px;
}

.service-item-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    margin-bottom: 24px;
    padding: 0 25px;
}

.service-item-description {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    padding: 0 25px;
    margin-bottom: 30px;
}

.service-flex {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}


.rollo {
    position: relative;
    background-color: #F5F5F5;
    padding: 60px 0;
}

.rollo-flex-right {
    display: flex;
    justify-content: end;
}

.rollo-box1x {
    background-color: #FFFFFF;
    border-radius: 2px;
    display: inline-block;
    margin-top: -200px;
    margin-left: 520px;
    z-index: -1;
}

.rollo-box-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 64px;
    line-height: 100%;
    margin-bottom: 30px;
    letter-spacing: -3px;
    text-transform: uppercase;
}

.rollo-box-description {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    margin-bottom: 40px;
}

.rollo-box2x {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 2px;
    display: inline-block;
    width: 100%;
    max-width: 700px;
    padding: 50px;
}

.compozdesc-col {
    width: 100%;
    position: relative;
}

.compozdesc {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.compozdesc-text {
    font-weight: 400;
    font-size: 22px;
    line-height: 1.5;
    padding: 50px 0;
    color: #403F3D;
}

.compozdesc-img {
    width: 100%;
    position: absolute;
    bottom: 0;
}

.phone-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 54px;
    line-height: 120%;
    margin-bottom: 24px;
}

.phone-title2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 38px;
    line-height: 120%;
    margin-bottom: 24px;
}

.phone-description {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    letter-spacing: 0;
    margin-bottom: 24px;
}

.phone {
    margin-top: 80px;
    display: flex;
    justify-content: space-between;
    position: relative;
}
.phone__2 {
    margin-top: 30px!important;
}
.phone .container {
    padding: 0 60px;
    margin: 0;
}

.phone-flex {
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    color: #403F3D;
}

.icons {
    padding: 80px 0;
}

.icons-flex {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.icon {
    background-color: #202020;
    padding: 35px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

.icon-img {
    max-width: 160px;
    height: 160px;
    object-fit: contain;
    margin-bottom: 30px;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-text {
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0;
    text-align: center;
    padding: 0 14px;
    color: #FFFFFF;
}

.video2-text {
    padding-top: 80px;
}

.pagetext {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}

.pagetext2 {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    text-align: center;
    padding-top: 120px;
    padding-bottom: 80px;
    position: relative;
}

.pagetext3 {
    font-weight: 400;
    font-size: 24px;
    text-align: center;
    position: relative;
    padding-bottom: 80px;
}

.pagetext-black {
    margin-top: 120px;
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative;
    color: #FFFFFF;
    background-color: #202020;
}

.pagetext-black--py80 {
    padding: 80px 0;
}
.pagetext-black--py0 {

}

.pagetext-black p {
    margin-bottom: 0;
}

.solution {
    position: relative;
    padding-bottom: 120px;
    overflow: hidden;
}

.solution__back1:before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: calc(100% - 120px);
    top: 60px;
    left: 60px;
    background-color: #F5F5F5;
}

.solution__back2:before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: calc(100% - 120px);
    top: 60px;
    left: -60px;
    background-color: #2B2A28;
}

.solution-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 120%;
    color: #FFFFFF;
    margin-bottom: 24px;
}

.solution-description {
    font-weight: 600;
    font-size: 24px;
    line-height: 150%;
    max-width: 690px;
    color: #FFFFFF;
    margin-bottom: 40px;
}

.solution-box {
    position: relative;
    height: 900px;
    display: flex;
    align-items: center;

    background-size: cover;
    background-position: center center;
}
.solution-box__white:before {
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #37373782;
}
.solution-box__white > .container {
    position: relative;
}

.solution-btn {
    display: flex;
    gap: 16px;
}

.solution-title-dop {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 600;
    max-width: 880px;
    line-height: 1.2;
    margin-bottom: 40px;
    position: relative;
    padding-left: 84px;
}

.solution-title-dop:before {
    content: "";
    width: 60px;
    height: 2px;
    background-color: #FFFFFF;
    position: absolute;
    left: 0;
    top: 17px;
}

.peculiarities {
    position: relative;
    padding: 80px 0;
}

.peculiarities-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 120%;
    color: #FFFFFF;
    margin-bottom: 32px;

}

.peculiarities {
    background-color: #202020;
}

.peculiarities-title-dop {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 600;
    max-width: 880px;
    line-height: 1.2;
    margin-bottom: 25px;
    position: relative;
    padding-left: 84px;
    color: #FFFFFF;
}

.peculiarities-title-dop:before {
    content: "";
    width: 60px;
    height: 2px;
    background-color: #FFFFFF;
    position: absolute;
    left: 0;
    top: 17px;
}

.peculiarities-description {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    color: #FFFFFF;
    margin-bottom: 40px;
}

.peculiarities {

}

.peculiarities-flex {
    display: flex;
    justify-content: space-between;
    gap: 25px;
}

.peculiarities-col75 {
    width: 65%;
    overflow: hidden;
    object-fit: cover;
}

.peculiarities-col25 {
    width: 35%;
    overflow: hidden;
    object-fit: cover;
}

.temp {
    padding: 80px 0;
    position: relative;
}

.temp-black {
    padding-bottom: 0;
}

.temp-black:before {
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20%;
    position: absolute;
    background-color: #202020;
}

.temp-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 120%;
    margin-bottom: 80px;
}

.temp-text {
    font-weight: 400;
    font-size: 32px;
    line-height: 150%;
    padding: 40px 0;
}

.temp-text2 {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    margin-bottom: 80px;
    margin-top: 80px;
    text-align: center;
}

.temp-flex {
    display: flex;
    justify-content: space-between;
    gap: 25px;
}

.temp-col {
    position: relative;
    width: 100%;
}

.temp-col img {
    width: 100%;
}

.temp-img-back {
    position: relative;
}

.temp-img-back:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 40px;
    left: -40px;
    z-index: -1;
    background-color: #F5F5F5;
}

.solution-box1 {
    position: absolute;
    top: 60px;
    left: 0;
    pointer-events: none;
}

.solution-box2 {
    position: absolute;
    bottom: 25%;
    left: 55%;
    pointer-events: none;
}

.solution-box3 {
    position: absolute;
    bottom: 100px;
    right: 100px;
    pointer-events: none;
}
.solution-box12 {
    position: absolute;
    top: 60px;
    left: 0;
    pointer-events: none;
}

.solution-box22 {
    position: absolute;
    bottom: 25%;
    left: 55%;
    pointer-events: none;
}

.solution-box32 {
    position: absolute;
    bottom: 100px;
    right: 100px;
    pointer-events: none;
}

.solution2-box1,
.solution2-box12 {
    position: absolute;
    bottom: 60px;
    left: 0;
    pointer-events: none;
}

.solution2-box2,
.solution2-box22 {
    position: absolute;
    bottom: 25%;
    left: 25%;
    pointer-events: none;
}

.solution2-box3,
.solution2-box32 {
    position: absolute;
    bottom: 100px;
    right: 100px;
    pointer-events: none;
}

.solution3-box1 {
    position: absolute;
    bottom: 360px;
    left: 30%;
    pointer-events: none;
}

.solution3-box2 {
    position: absolute;
    bottom: 15%;
    left: 15%;
    pointer-events: none;
}

.solution3-box3 {
    position: absolute;
    bottom: 100px;
    right: 100px;
    pointer-events: none;
}

.solution4-box1 {
    position: absolute;
    top: 160px;
    left: 0;
    pointer-events: none;
}

.solution4-box2 {
    position: absolute;
    bottom: 0;
    left: 55%;
    pointer-events: none;
}

.solution4-box3 {
    position: absolute;
    bottom: 300px;
    right: 0;
    pointer-events: none;
}

.compas-box1 {
    position: absolute;
    bottom: 0;
    left: 20%;
    pointer-events: none;
}

.compas-box2 {
    position: absolute;
    top: 200px;
    right: 10%;
    pointer-events: none;
}

.compas-box3 {
    position: absolute;
    top: 50%;
    left: 45%;
    pointer-events: none;
    z-index: -1;
}

.collections-box1 {
    position: absolute;
    bottom: -50px;
    left: 0;
    pointer-events: none;
}

.collections-box2 {
    position: absolute;
    bottom: -150px;
    right: 0;
    pointer-events: none;
}

.scheme-box1 {
    position: absolute;
    top: -10px;
    left: 0;
    pointer-events: none;
}

.scheme-box2 {
    position: absolute;
    bottom: -50px;
    right: 40%;
    pointer-events: none;
}

.scheme-box3 {
    position: absolute;
    top: -150px;
    left: 50%;
    pointer-events: none;
}

.scheme-box4 {
    position: absolute;
    bottom: 100px;
    right: 0;
    pointer-events: none;
}

.color-box1 {
    position: absolute;
    top: 50%;
    left: 2%;
    pointer-events: none;
}

.color-box2 {
    position: absolute;
    bottom: 100px;
    right: 10%;
    pointer-events: none;
}

.color {
    position: relative;
}

.balance-box1 {
    position: absolute;
    top: -60px;
    left: 40%;
    pointer-events: none;
}

.balance-box2 {
    position: absolute;
    left: 50px;
    bottom: 10%;
    pointer-events: none;
}

.balance-box3 {
    position: absolute;
    top: 350px;
    left: 70%;
    pointer-events: none;
}

.balance-box4 {
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
}

.rollo-box1 {
    position: absolute;
    top: -60px;
    left: 0;
    pointer-events: none;
}

.rollo-box2 {
    position: absolute;
    left: 20%;
    top: 400px;
    pointer-events: none;
}

.rollo-box3 {
    position: absolute;
    top: 450px;
    left: 45%;
    pointer-events: none;
}

.rollo-box4 {
    position: absolute;
    top: 70px;
    right: 10%;
    pointer-events: none;
}

.phone-box1 {
    position: absolute;
    top: 0;
    left: 40%;
    pointer-events: none;
}

.phone-box2 {
    position: absolute;
    right: 5%;
    top: 100px;
    pointer-events: none;
}

.gallery-box1 {
    position: absolute;
    top: 100px;
    left: 2%;
    pointer-events: none;
}

.peculiarities-box1 {
    position: absolute;
    top: 130px;
    right: 0;
    pointer-events: none;
}

.peculiarities-box2 {
    position: absolute;
    left: 40%;
    top: 50px;
    pointer-events: none;
}

.peculiarities-box3 {
    position: absolute;
    bottom: -80px;
    right: 25%;
    pointer-events: none;
}

.pagedescription {
    padding: 80px 0;
}

.pagedescription-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 120%;
    margin-bottom: 40px;

}

.pagedescription-text {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
}

.galSwiper2 .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pageswiperx .galSwiper2 .swiper-slide img {
    object-fit: contain;
}
.galSwiperR .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.galSwiper .swiper-slide img {
    height: 300px;
}

.galSwiperR .swiper-slide,
.galSwiper .swiper-slide {
    width: auto;
    padding: 0;
    cursor: pointer;
}

.galSwiper2 .swiper-button-next,
.galSwiper2 .swiper-button-prev {
    display: none !important;
}

.pageswiper {
    position: relative;
}

.pageswiper-top {
    margin-top: 80px;
}

.pageswiper:before {
    content: "";
    position: absolute;
    width: 100%;
    height: calc(100% - 250px);
    left: 0;
    top: 300px;
    background-color: #202020;
}

.galSwiper2 .swiper-slide {
    position: relative;
    padding: 0;
    margin-bottom: 30px;
    height: 700px;
}

.pageswiper-box1 {
    position: absolute;
    top: 40%;
    left: 0;
    pointer-events: none;
}

.pageswiper-box2 {
    position: absolute;
    left: 60%;
    top: -100px;
    pointer-events: none;
}

.pageswiper-box3 {
    position: absolute;
    top: 40%;
    right: 0;
    pointer-events: none;
}

.pagetext-box1 {
    position: absolute;
    top: -40px;
    left: 90px;
    pointer-events: none;
}

.pagetext-box5 {
    position: absolute;
    top: -120px;
    left: 90px;
    pointer-events: none;
}

.pagetext-box2 {
    position: absolute;
    left: 60%;
    top: -40px;
    pointer-events: none;
}

.pagetext-box3 {
    position: absolute;
    top: 40%;
    right: 0;
    pointer-events: none;
}

.public {
    position: relative;
    padding-bottom: 160px;
}

.swiper-PHOTO2,
.swiper-PHOTO3 {
    position: relative;
}

.swiper-PHOTO2:before {
    content: "";
    top: 50%;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #202020;
}

.swiper-PHOTO3:before {
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 20%;
    position: absolute;
    background-color: #202020;
}

.public .swiper-pagination-bullets {
    bottom: 100px;
}

.swiper-PHOTO2 .swiper-pagination-bullet {
    background-color: #D6D6D7;
}

.public-win {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 220px;
    z-index: 10;
    pointer-events: none;
    background-color: #FFFFFF;
    width: max-content;
    margin: 0 auto;
    padding: 12px 16px;
    border-radius: 2px;

    font-weight: 400;
    font-size: 24px;

}

.PHOTO1-box1 {
    position: absolute;

    bottom: 0;
    left: 90px;
    pointer-events: none;
}

.PHOTO1-box2 {
    position: absolute;
    left: 60%;
    bottom: 40px;
    pointer-events: none;
}

.PHOTO1-box3 {
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
}

.PHOTO2-box1 {
    position: absolute;

    bottom: 80px;
    left: 30%;
    pointer-events: none;
}

.PHOTO2-box2 {
    position: absolute;
    left: 40%;
    bottom: 40px;
    pointer-events: none;
}

.PHOTO2-box3 {
    position: absolute;
    bottom: 5%;
    right: 0;
    pointer-events: none;
}

.PHOTO3-box1 {
    position: absolute;

    bottom: -20px;
    left: 4%;
    pointer-events: none;
}

.PHOTO3-box2 {
    position: absolute;
    left: 60%;
    bottom: 40px;
    pointer-events: none;
}

.PHOTO3-box3 {
    position: absolute;
    bottom: -50px;
    right: 10px;
    pointer-events: none;
}

.PHOTO4-box1 {
    position: absolute;

    bottom: 0;
    left: 90px;
    pointer-events: none;
}

.PHOTO4-box2 {
    position: absolute;
    left: 40%;
    bottom: -40px;
    pointer-events: none;
}

.PHOTO4-box3 {
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
}

.roller {
    position: relative;
    padding-bottom: 0;
}

.roller:before {
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    position: absolute;
    background-color: #202020;
}

.roller .swiper-pagination-bullet {
    background-color: #D6D6D7;
}

.review-text-ul-li {
    font-weight: 400;
    font-size: 24px;
    line-height: 1.5;
    display: flex;
    gap: 24px;
}

.goals {
    position: relative;
    padding: 80px 0;
}

.goals-flex {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 22px;
}

.goals-box {
    height: 400px;
    width: 100%;
    background-color: #FFFFFF;
    border: 1px solid #EFEFEF;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px;
    position: relative;
}

.goals-box:before {
    content: "";
    pointer-events: none;
    border: 1px solid #0572AB;
    width: calc(100% - 50px);
    height: calc(100% - 50px);
    position: absolute;
    top: 25px;
    left: 25px;
}

.goals-box-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-align: center;
    margin-bottom: 24px;
}

.goals-box-description {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    text-align: center;
}

.goals-box__black {
    background-color: #202020;
}

.goals-box__black .goals-box-description,
.goals-box__black .goals-box-title {
    color: #FFFFFF;
}

.portfolio {
    margin-top: 100px;
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}

.portfolio-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 120%;
    text-align: center;
    margin-bottom: 24px;
}
.portfolio-title2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 120%;
    text-align: center;
    margin-bottom: 24px;
    margin-top: 200px
}

.portfolio-list {
    position: relative;
}

.blog-list {
    position: relative;
}

.portfolio-list:before {
    content: "";
    top: 55%;
    left: 0;
    width: 100%;
    height: 30%;
    position: absolute;
    background-color: #202020;
}

.breadcrumb-top {
    margin-top: 100px;
    transition: all .2s;

    opacity: 1;
    visibility: visible;

    transition-timing-function: ease;
    transition-duration: .8s;
    transform: translateY(0);
}

.mini-menu + main .breadcrumb-top {
    /*opacity: 0;*/
    /*visibility: hidden;*/

    transform: translateY(-35px);
}

.portfolio-detail-description {
    margin-top: 120px;
    margin-bottom: 60px;
}

.notfound {
    min-height: 800px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 100px;
    text-align: center;
}

.notfound-flex {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.notfound-info {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
}

.notfound-404 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 400px;
    line-height: 1.1;

}


.swal2-close {
    position: absolute !important;
    outline: none !important;
    box-shadow: none !important;
}


.swal-textarea {
    width: 100%;
    outline: none !important;
    border: none !important;
    border-radius: 2px;
    background-color: #E4E4E4;
    padding: 24px;
}

.swal-input {
    width: 100%;
    margin-bottom: 24px;
    outline: none !important;
    border: none !important;
    border-radius: 2px;
    background-color: #E4E4E4;
    padding: 24px;
    transition: background-color .2s;
}

.swal-input:focus,
.swal-input:hover {
    background-color: #D6D6D7;
}

.pagetext-black-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-align: center;
    margin-bottom: 24px !important;
}

.footer-menu-item {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    margin-bottom: 5px;
}


.trapezoid {
    position: absolute;
    top: 0;
    left: 0;
    width: 88%;
    height: 100%;
    overflow: hidden;
    transition: transform .2s;
    transform: translate(135px, -100px);
}

.trapezoid2 {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: transform .2s;
    transform: translate(-135px, 100px);
}

.color-mame-left {
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 2;
    padding: 20px 40px;
    background-color: #E4E4E4;
    font-size: 22px;

}
.color-mame-right {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 2;
    padding: 20px 40px;
    background-color: #E4E4E4;
    font-size: 22px;
}

.color-box-img.active .trapezoid {
    transform: translate(0, 0);
}

.color-box-img.active .trapezoid2 {
    transform: translate(0, 0);
}

.trapezoid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-clip-path: polygon(0% 0%, 95% 0, 10% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 95% 0, 10% 100%, 0% 100%);
}

.trapezoid2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /*-webkit-clip-path: polygon(84.9% 0%, 100% 0%, 100% 100%, 0% 100%);*/
    /*clip-path: polygon(84.9% 0%, 100% 0%, 100% 100%, 0% 100%);*/
}

.navbar > .container {
    flex-wrap: nowrap;
}


.burger-checkbox {
    position: absolute;
    visibility: hidden;
}

.burger-menu {
    display: none;
}

.burger {
    cursor: pointer;
    display: block;
    position: relative;
    border: none;
    background: transparent;
    width: 30px;
    height: 16px;
    margin: 0 auto;
}

.burger::before,
.burger::after {
    content: '';
    left: 0;
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 10px;
    background: #FFFFFF;
}

.burger::before {
    top: 0;
    transition: box-shadow .3s .15s, top .3s .15s, transform .3s;
}

.burger::after {
    bottom: 1px;
    transition: bottom .3s .15s, transform .3s;
}

.burger-checkbox:checked + .burger::before {
    top: 7px;
    transform: rotate(45deg);
    box-shadow: 0 6px 0 rgba(0, 0, 0, 0);
    transition: box-shadow .15s, top .3s, transform .3s .15s;
}

.burger-checkbox:checked + .burger::after {
    bottom: 7px;
    transform: rotate(-45deg);
    transition: bottom .3s, transform .3s .15s;
}

.menu {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    background-color: #202020;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 80px 20px 20px;
    z-index: 8;
    overflow-y: auto;
    transform: translateY(-50px);
    transition: all .5s ease-out;
}
.menu .footer-menu-title {
    display: none;
}

.menu .footer-menu-item {
    line-height: 1.8;
}
.burger__active .menu {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    display: block;
    pointer-events: auto;
}

.breadcrumb-item__back {

}

.footer-contact-c {
    margin-bottom: 0!important;
    margin-top: 20px;
    text-align: right;
}

.back-arrow {
    transform: rotate(180deg) scale(0.8) translateY(-1px);
}

.collections-img {
    width: 100%;
    max-width: 19%;
}

.footer-contact-soc-flex-up {
    display: none;
}




.collections-img {
    cursor: pointer;
    opacity: 0.6;
    transition: 0.3s;
}
.collections-img.active {
    opacity: 1;
    transform: scale(1.05);
}
.swiperCollection {
    transition: opacity 0.4s ease;
}
.compas-gal .swiper-slide {
    max-width: 60%;
}
.swiperCollection .swiper-slide img {
    width: 100%;
    max-height: 600px;
    height: 100%;
    object-fit: cover;
}
.swiperCollection .swiper-slide {
    padding: 0!important;
}

.collections .collections-img.active {
    filter: brightness(0.9);
}



.tablebodytext {
    display: none!important;
}


.swiper-wrapper {
    height: auto;
}

.scheme-win .swiper-slide {
    display: flex;
    justify-content: center;
    height: auto;
    align-items: center;
}



.galswipersmall0 .swiper-slide,
.galswipersmall1 .swiper-slide,
.galswipersmall2 .swiper-slide,
.galswipersmall3 .swiper-slide,
.galswipersmall4 .swiper-slide {
    height: auto !important;
    aspect-ratio: 1 / 1;
    padding: 0;
    cursor: pointer;
    opacity: .6;
    transition: opacity .2s;
}
.galswipersmall0 .swiper-slide:hover,
.galswipersmall1 .swiper-slide:hover,
.galswipersmall2 .swiper-slide:hover,
.galswipersmall3 .swiper-slide:hover,
.galswipersmall4 .swiper-slide:hover {
    opacity: 1;
}
.galswipersmall0 .swiper-slide.swiper-slide-thumb-active,
.galswipersmall1 .swiper-slide.swiper-slide-thumb-active,
.galswipersmall2 .swiper-slide.swiper-slide-thumb-active,
.galswipersmall3 .swiper-slide.swiper-slide-thumb-active,
.galswipersmall4 .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
}
.galswipersmall0 .swiper-slide:last-child,
.galswipersmall1 .swiper-slide:last-child,
.galswipersmall2 .swiper-slide:last-child,
.galswipersmall3 .swiper-slide:last-child,
.galswipersmall4 .swiper-slide:last-child {
    margin-bottom: 0!important;
}
.galswipersmall0 .swiper-slide img,
.galswipersmall1 .swiper-slide img,
.galswipersmall2 .swiper-slide img,
.galswipersmall3 .swiper-slide img,
.galswipersmall4 .swiper-slide img {
    height: 100% !important;
    object-fit: cover;
}



.contact-agree {
    text-align: center;
}
.contact-agree a {
    color: #0572AB;
}
.swal2-actions {
    margin-top: 10px;
}








.compas-review .review-back {
    padding-bottom: 0;
}





@media (max-width: 1500px) {
    .navbar-nav .nav-link {
        margin: 0 10px;
        font-size: 16px;
    }

    .header-phone a {
        font-size: 16px;
    }

    .header.mini-menu .header-phone-flex .header-phone:nth-child(1) {
        top: 14px;
    }

    .header.mini-menu .header-phone-flex .header-phone:nth-child(2) {
        top: 14px;
        left: -150px;
    }

    .video-window {
        padding: 0 60px;
        height: 540px;
    }

    .video-section {
        margin-bottom: 260px;
    }
}

@media (max-width: 1400px) {
    .footer-flex {
        flex-direction: column;
    }

    .footer-col {
        max-width: 100%;
    }

    .footer-logo-flex {
        align-items: start;
    }

    .btn-feedback-footer {
        max-width: 275px;
        margin-top: 30px !important;
    }

    .footer-contact-soc-flex {
        display: none;
    }

    .footer-contact-soc-flex-up {
        display: flex;
        max-width: 280px;
        margin-top: 0;
    }

    .gallery {
        padding: 50px 0;
    }
    .title {
        margin-bottom: 50px;
    }
    .service__name {
        left: 38px;
        bottom: 28px;
        font-size: 26px;
    }

}

@media (max-width: 1300px) {
    .navbar-collapse {
        padding-right: 160px;
    }
}

@media (max-width: 1150px) {
    .header-phone-flex {
        display: none;
    }

    .navbar-collapse {
        padding-right: 0;
        justify-content: end;
    }

    .nav-item:last-child .nav-link {
        margin-right: 0 !important;
        padding-right: 0 !important;
    }

}

@media (max-width: 1000px) {
    .video-window {
        padding: 0;
    }
    .navbar-nav {
        display: none !important;
    }

    .burger-menu {
        display: block;
    }

    .navbar {
        height: 60px;
    }

    .header .navbar-logo {
        height: 33px;
        width: auto;
    }

    .container {
        padding: 0 16px;
    }

    .navbar-brand {
        padding-bottom: 0;
        padding-top: 0;
    }

    .slideshow-item-text__title {
        font-size: 28px;
    }

    .banner .btn {
        padding: 15px 10px;
        margin-bottom: 16px;
        width: max-content;
    }

    .btn, .swal2-confirm, .swal2-cancel {
        font-size: 1rem !important;
    }

    .slideshow-item-text__description {
        font-size: 16px;
        bottom: 24px;
    }

    .banner-box1 {
        display: none;
    }

    .title__g1 {
        font-size: 40px;
    }

    .title__g2 {
        top: 5px;
        bottom: 0;
        font-size: 12px;
    }

    .title__g3 {
        font-size: 14px;
        bottom: -60px;
    }

    .title__g2:before {
        content: "";
        height: 2px;
        width: 35px;
        position: absolute;
        left: -50px;
        background-color: #403F3D;
        top: 7px;
    }

    .title__g2:after {
        content: "";
        height: 2px;
        width: 35px;
        position: absolute;
        left: calc(100% + 15px);
        background-color: #403F3D;
        top: 7px;
    }

    .gallery {
        padding: 32px 0;
    }

    .title {
        margin-bottom: 32px;
    }

    .gallery-flex {
        flex-wrap: wrap;
        gap: 20px;
    }

    .btn-flex {
        flex-direction: column;
    }

    .service__name {
        left: 24px;
        bottom: 24px;
        font-size: 18px;
        margin-bottom: 0;
    }

    .btn-flex {
        margin-top: 24px;
    }

    .video-window {
        flex-direction: column;
    }

    .video-window-video {
        width: 100%;
    }

    .video-window-text {
        padding: 24px 16px 40px;
        width: 100%;
    }

    .video-window-text__g1:before {
        width: 30px;
    }

    .video-window-text__g1 {
        padding-left: 50px;
        font-size: 18px;
    }

    .video-window-text__g1:before {
        top: 13px;
        height: 2px;
    }

    .video-window-text__g2 {
        font-size: 22px;
    }

    .video-window-text__g3 {
        font-size: 16px;
    }

    .video-section {
        height: 230px;
    }

    .gallery-projects .swiper-slide {
        width: 70%;
        height: 175px;
        object-fit: cover;
    }

    .swiperGallery {
        padding-bottom: 50px;
    }

    .swiperReview .swiper-slide {
        flex-direction: column;
    }

    .review-back {
        display: none;
    }

    .review-flex-text {
        margin-left: 0;
        margin-right: 0;
        padding-left: 16px;
        padding-right: 16px;
    }

    .review-text__g1 {
        font-size: 18px;
        padding-left: 50px;
    }

    .review-col:last-child {
        display: none;
    }

    .review-text__g1:before {
        content: "";
        left: 0;
        top: 15px;
        width: 30px;
        height: 2px;
    }

    .review-col {
        width: 100%;
    }

    .review-text__g2 {
        font-size: 14px;
    }

    .review-text__g3 {
        font-size: 16px;
    }

    .review-section {
        margin-bottom: 0;
    }

    .contact-flex {
        flex-direction: column;
    }

    .contact-text__g0 {
        font-size: 20px;
    }

    .contact-text__g1 {
        padding-left: 50px;
        font-size: 18px;
    }

    .contact-text__g1:before {
        width: 30px;
        height: 2px;
        top: 15px;
    }

    .contact-text__g1 {
        margin-bottom: 16px;
    }

    .contact-text__g2, .contact-text__g2 a {
        font-size: 16px;
    }

    .contact-text__g3 {
        font-size: 16px;
    }

    .contact-soc-flex {
        margin-bottom: 32px;
    }

    .contact-text__g0 {
        text-align: left;
        font-size: 22px;
        margin-bottom: 16px;
    }

    .contact-col-800 {
        padding: 24px 16px;
    }

    .contact-title {
        padding-left: 50px;
        font-size: 18px;
    }

    .contact-title:before {
        width: 30px;
        height: 2px;
        top: 15px;
    }

    .contact-section .container {
        padding: 0;
    }

    .contact-section {
        padding: 0;
        padding-top: 40px;
    }

    .contact-col {
        padding: 0 16px
    }

    .contact-title {
        margin-bottom: 0;
    }

    .contact-title2 {
        font-size: 22px;
        margin-bottom: 16px;
    }

    .contact-input {
        width: 100%;
    }

    .contact-flex-input {
        flex-direction: column;
    }

    .video-section .btn {
        width: 100%;
    }

    .banner .btn {
        width: 100%;
    }
    .header .navbar-logo {
        width: 196px;
        height: 27px;
        object-fit: cover;
        object-position: bottom;
    }
    .video-window {
        top: 20px;
    }
    .banner-box3 {
        display: none;
    }
    .content-title {
        font-size: 3dvh;
    }
    .content-subtitle {

        font-size: 14px;
        padding: 20px;
    }

    .slideshow-item-text__title-dop {
        padding-left: 50px;
        font-size: 18px;
    }

    .slideshow-item-text__title-dop:before {
        width: 30px;
        height: 2px;
        top: 8px;
    }
    .breadcrumb-flex {
        gap: 5px;
    }
    .breadcrumb-item {
        font-size: 12px;
        display: contents;
    }
    .breadcrumb svg {
        min-width: 20px;
        transform: scale(0.5) translateY(-2px);
    }
    .pagetext {
        padding-bottom: 32px;
        padding-top: 32px;
        font-size: 16px;
    }
    .navbar {
        position: relative;
    }
    .slideshow-item-text {
        bottom: 100px
    }

    .solution-title {
        font-size: 22px;
        margin-bottom: 12px;
    }
    .solution-description {
        font-size: 16px;
    }
    .solution-btn {
        flex-wrap: wrap;
    }
    .btn {
        padding: 15px 30px;
    }
    .btn-flex .btn {
        width: 100%;
    }
    .banner-static, .banner-static-white {
        height: calc(var(--fixed-vh) - 60px);
        overflow: hidden;

    }
    .slideshow-item-text__dop {
        font-size: 16px;
    }
    .solution-box {

        padding: 40px 0;
        height: auto;
    }
    .gallery-projects {
        padding: 25px 0;
    }
    .video-window {
        
    }
    .video-window:before {
        display: none;
    }
    .video-section {
        height: 200px;
    }
    .video-box1,
    .video-box2,
    .service-box1,
    .service-box2 {
        z-index: -1;
    }
    .swiperGallery .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
    }
    .swiperGallery .swiper-pagination {
        gap: 20px;
    }
    .footer-logo-flex > img {
        width: 280px;
    }
    .btn-flex {
        gap: 16px;
    }

    .solution__back1:before {
        left: 0;
    }
    .solution-box3 {
        display: none;
    }
    .solution-description ul li {
        margin: 10px 0;
    }


    .solution-box {
        position: relative;
        background-position: center center;
        background-size: cover;

        height: calc(var(--fixed-vh) - 60px);
    }
    .solution-box:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(79, 79, 79, 0) 100%);
        pointer-events: none;
    }

    .solution-box > .container {
        position: relative;
    }

    .solution2-box3 {
        display: none;
    }
    .solution__back1:before,
    .solution__back2:before {
        top: 100px;
    }
    .solution {
        padding-bottom: 40px;
    }

    .contact-section form .btn {
        height: 54px;
    }

    .contact-input,
    .contact-textarea {
        padding: 16px;
        font-size: 14px;
    }
    
    .solution3-box2 {
        display: none;
    }

    .solution-title-dop {
        padding-left: 50px;
        font-size: 18px;
    }

    .solution-title-dop:before {
        width: 30px;
        height: 2px;
        top: 8px;
    }

    .slideshow-item-text__title-dop,
    .slideshow-item-text__title {
        margin-bottom: 20px;
    }

    .portfolio {
        margin-top: 0;
        padding-top: 48px;
        padding-bottom: 24px;
    }

    .portfolio-title {
        font-size: 22px;
        margin-bottom: 12px;
    }
    .portfolio-title2 {
        font-size: 22px;
        margin-top: 40px;
        margin-bottom: 12px;
    }

    .portfolio-description {
        font-size: 16px;
        line-height: 1.5;
    }

    .portfolio-item {
        padding: 20px;
        gap: 0;
        margin-bottom: 32px;
    }

    .portfolio-item-name {
        font-size: 18px;
        margin-bottom: 12px;
    }


    .portfolio-item-description {
        font-size: 14px;
    }

    .breadcrumb-top {
        margin-top: 0;
    }
    .galSwiper2 .swiper-slide {
        height: 250px;
        margin-bottom: 8px;
    }
    .galSwiper .swiper-slide img {
        height: 70px;
    }
    .pageswiper-top {
        margin-top: 30px;
    }
    .portfolio-detail-description {
        padding: 0 16px;
    }
    .portfolio-text {
        font-size: 16px;
    }
    .portfolio-detail-description h3 {
        font-size: 22px;
    }

    .back-arrow {
        transform: rotate(180deg) scale(0.5) translateY(-1px) !important;
    }
    .portfolio-detail-description {
        margin-top: 100px;
        margin-bottom: 30px;
    }

    .footer-col__one {
        margin-bottom: 40px;
        align-items: center;
    }
    .footer-contact-soc-flex {
        gap: 15px;
    }

    .footer-menu-title {
        margin-bottom: 10px;
    }
    .footer-col {
        margin-bottom: 24px;
    }
    .btn-feedback-footer {
        max-width: 400px;
    }
    .footer-logo-text {
        width: 100%;
        text-align: center;
    }

    .footer-contact-c {
        text-align: center;
    }
    .breadcrumb-back {
        padding: 17px 0;
    }
    .breadcrumb-item {
        line-height: 1.2;
        display: flex;
        align-items: center;
    }

    .peculiarities-title {
        font-size: 28px;
    }

    .peculiarities-title-dop {
        padding-left: 50px;
        font-size: 18px;
    }

    .peculiarities-title-dop:before {
        width: 30px;
        height: 2px;
        top: 8px;
    }

    .peculiarities-description {
        font-size: 16px;
    }
    .peculiarities-box1 {
        display: none;
    }
    .peculiarities-flex {
        gap: 5px;
    }

    .temp-title {
        font-size: 22px;
    }
    .temp {
        padding: 30px 0;
    }
    .temp-title {
        margin-bottom: 30px;
    }
    .temp-flex {
        flex-direction: column;
    }
    .temp-img-back {
        width: calc(100% + 32px);
        transform: translateX(-16px);
    }

    .temp-text {
        font-size: 16px;
    }
    .control .review-back {
        display: block;
        padding-bottom: 0;
    }
    .control {
        margin-top: 30px;
        margin-bottom: 0;
    }
    .control .review-col img {
        height: 340px;
    }
    .control .review-col {
        display: block;
    }
    .compas-flex {
        flex-direction: column;
        gap: 32px;
    }
    .compas-img-back__right {
        display: none;
    }
    .control .control-flex-text {
        padding: 0 16px;
    }
    .control-flex-text {
        padding-left: 16px;
        padding-right: 16px;
        margin-right: 0;
    }
    .control .review-text__g4 {
        margin-bottom: 12px;
    }
    .video-section {
        background-color: #202020;
    }
    .video-window-video {
        aspect-ratio: 1.8 / 1;
        padding: 20px;
    }
    .video-window-video img.video-window-play {
        width: 40px;
        height: 40px;
    }
    .video-section {
        height: auto;
        background-color: transparent;
        position: relative;
    }
    .video-section:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 40%;
        background-color: #202020;
    }
    .video-window {
        height: auto;
        margin-bottom: 30px;
    }


    .compas .review-text__g4 {
        font-size: 16px;
        margin-bottom: 12px;
        line-height: 1.5;
    }

    .review-flex-text {
        padding-bottom: 30px;
    }
    .collections-title {
        font-size: 22px;
        max-width: 80%;
        margin: 0 auto;
    }

    .collections-img {
        width: 20%;
    }
    .collections-flex {
        gap: 4px;
        flex-wrap: nowrap;
        width: 100%;
        position: relative;
    }
    .container2 {
        padding: 0 16px;
    }
    .collections-title {
        margin-bottom: 24px;
    }
    .scheme {
        padding: 30px 0;
    }

    .scheme-flex {
        flex-wrap: wrap;
    }
    .table-container table {
        min-width: auto;
    }
    /*.scheme-col-100p {*/
    /*    order: 1;*/
    /*}*/
    /*.scheme-col-150 {*/
    /*    order: 2;*/
    /*}*/
    /*.scheme-col-700 {*/
    /*    order: 3;*/
    /*}*/
    .color-panel-item-img {
        width: 100%;
        height: auto;
        max-width: 60%; /* Чтобы две картинки помещались в ряд с небольшим отступом */
        object-fit: cover;
    }
    .color-panel-item__active .color-panel-item-img {
        width: 100%;
        height: auto;
        max-width: 70%; /* Чтобы две картинки помещались в ряд с небольшим отступом */
        object-fit: cover;
    }
    .color-panel-item__active span {
        font-size: 8px;
    }
    .color-panel {
        height: 50px;
    }
    .color-panel-item__active {
        gap: 8px;
        height: 70px;
        min-width: 20% !important;
    }

    .color-panel-item {
        padding: 0;
    }
    .color-panel {
        padding: 0;
        margin-bottom: 30px;
    }
    .color-panel-item {
        padding: 8px;
        min-width: 16%;

    }

    .table-container {
        padding: 10px;
    }

    .table-container table {
        border: 0;
        min-width: 100%;
    }

    .table-container thead {
        display: none;
    }

    .table-container tr {
        display: block;
        margin-bottom: 12px;
        background: #f9f9f9;
        border-radius: 6px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    .table-container td {
        display: flex;
        justify-content: space-between;
        padding: 10px 14px;
        border: none;
        border-bottom: 1px solid #eee;
    }

    .table-container td:last-child {
        border-bottom: none;
    }

    .table-container td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #555;
    }

    .color-title {
        font-size: 14px;
        margin-bottom: 30px;
    }
    
    .color-box1,
    .color-box2 {
        display: none;
    }

    .balance-flex {
        flex-direction: column-reverse;
    }
    .balance-title {
        font-size: 22px;
        margin-top: 30px;
        margin-bottom: 24px;
    }
    .balance-box-img {
        width: 100%;
    }
    .balance {
        position: relative;
        padding: 0;
        padding-bottom: 40px;
    }
    .balance-box-img {
        width: 100%;
        padding: 10px;
    }
    .balance-box1x {
        width: 80%;
    }
    .balance-box2x {
        margin-top: -50px;
        margin-left: 20%;
        width: 80%;
        padding: 15px;
    }
    .balance-box-title {
        font-size: 30px;
        margin-bottom: 12px;
    }
    .balance-box-description {
        font-size: 14px;
    }
    .service-flex {
        flex-direction: column;
    }
    .service-item-title {
        font-size: 18px;
        margin-bottom: 12px;
    }
    .service-item-description {
        font-size: 14px;
    }
    .service-item-img {
        margin-bottom: 12px;
    }
    .service-item-title,
    .service-item-description {
        padding: 0 16px;
    }
    .rollo-flex-right {
        justify-content: start;
    }
    .rollo-box2x {
        padding: 20px 12px;
        width: 70vw;
    }

    .rollo-box-title {
        font-size: 30px;
        margin-bottom: 12px;
    }
    .rollo-box-description {
        font-size: 14px;
    }
    .rollo-flex-right-w100 {
        width: 100%;
    }
    .rollo-box1x {
        margin-top: -50px;
        margin-left: auto;
        width: 70vw;
        float: right;
    }
    .compozdesc {
        flex-direction: column;
    }
    .rollo-box1x {
        margin-top: -60px;
    }
    .compozdesc-img {
        position: relative;
    }
    .compozdesc-text {
        padding: 30px 0;
        font-size: 16px;
    }
    .compozdesc-text {
        line-height: 1.5;
    }
    .phone {
        flex-direction: column-reverse;
    }
    .phone {
        margin-top: 0;
    }
    .phone-img {
        max-width: 100%;
    }
    .phone .container {
        padding: 30px 16px;
    }
    .phone-title {
        font-size: 22px;
    }
    .phone-description {
        font-size: 16px;
    }
    .icons {
        padding: 0;
    }
    .phone-description:last-child {
        margin-bottom: 0;
    }
    .icon {
        padding: 0;
        width: 49%;
    }
    .icon:last-child {
        width: 100%;
    }
    .icon-text {
        font-size: 10px;
    }
    .icon-img {
        max-width: 50px;
        max-height: 50px;
        margin-bottom: 12px;
        margin-top: 1rem;
    }
    .icons-flex {
        justify-content: center;
        gap: 5px;
        flex-wrap: wrap;
    }
    .phone-title {
        font-size: 22px;
        margin-bottom: 12px;
    }
    .phone-title2 {
        font-size: 18px;
        margin-bottom: 12px;
    }
    .phone-description {
        font-size: 16px;
    }
    .video-window-text__g2 {
        margin-bottom: 0;
    }
    .video-window-text {
        padding: 20px;
    }
    .video2-text {
        padding: 20px 16px;
    }
    .compas {
        margin-top: 30px;
    }
    .video-window-text__g1 {
        margin-bottom: 8px;
    }
    .video-window-text__g2 {
        margin-bottom: 12px;
    }
    .pagedescription-title {
        font-size: 22px;
        margin-bottom: 40px;
    }
    .pagedescription {
        padding: 30px 0;
    }
    .pagedescription-text {
        font-size: 16px;
    }
    .pagetext2 {
        font-size: 16px;
        padding-top: 80px;
        padding-bottom: 40px;
    }

    .gallery-projects .public .swiper-pagination-bullets {
        bottom: 25px;
    }
    .public-win {
        bottom: 70px;
        padding: 4px 8px;
        font-size: 14px;
    }
    .pagetext-black p {
        font-size: 14px;
        line-height: 1.5;

    }
    
    .pagetext-box5 {
        display: none;
    }
    .pagetext-black--py80 {
        padding: 30px 0;
    }

    .gallery-projects {
        padding: 0 0;
    }
    .roller {
        padding-top: 20px;
    }
    .temp-text {
        padding: 10px 0;
    }
    .deti .temp-flex {
        flex-direction: row;
    }
    .deti .temp-img-back:before {
        display: none;
    }
    .deti .temp-col {
        overflow: hidden;
        position: relative;
    }

    .deti .temp-img-back {
        width: 100%;
        transform: translateX(0);
    }
    .deti .temp-flex {
        gap: 5px;
    }

    .temp-text2 {
        margin-top: 24px;
        font-size: 16px;
        margin-bottom: 30px;
    }
    .peculiarities-box3 {
        display: none;
    }

    .temp {
        padding: 0;
    }
    .review-text-ul-li {
        font-size: 16px;
    }
    .review-text-ul-li svg {
        transform: translateY(4px) scale(0.8) !important;
    }

    .btn-portfolio {
        margin-top: 20px;
    }
    .goals-flex {
        flex-direction: column;
    }
    .goals-box-title {
        font-size: 18px;
    }
    .goals-box-description {
        font-size: 14px;
    }
    .goals {
        padding: 30px 0;
        margin-bottom: -80px;
    }
    .goals-flex__invert .goals-box__black {
        order: 2;
    }
    .goals-box__black {
    }
    .title-mb55 {
        margin-bottom: 55px;
        margin-top: 80px;
    }
    .pagetext-black {
        margin-top: 30px;
    }
    .ymaps3x0--map {
        width: 100% !important
    }
    .contact-col-50 {
        width: 100%;
    }
    .contact-map {
        height: 70dvh;
    }
    .contact-section-page {
        margin-top: 0;
        padding: 30px 0;
    }
    .contact-section-page .contact-col {
        padding: 0;
    }
    .contact-soc-flex {
        width: 100%;
        max-width: 500px;
        justify-content: left;
    }
    .compas-box1,
    .compas-box2 {
        display: none;
    }
    .review-col img {
        height: 250px;
    }

    .compas-review .review-col img {
        height: 250px;
    }
    .compas-review .review-col {
        display: block;
    }
    .compas-flex__revers {
        flex-direction: column-reverse;
    }

    .compas {
        padding-bottom: 0;
    }
    .compas-review.control {
        margin-top: 0;
    }
    .portfolio-img {
        padding: 24px;
    }

    .video-section {
        margin-bottom: 0;
    }

    .review-text__g3 {
        margin-bottom: 30px;
    }
    .review-text__g4 {
        margin-bottom: 110px;
    }
    .review-flex-text {
        padding-top: 30px;
    }

    .phone__2 {
        flex-direction: column!important;
    }


    .banner .swiper-slide {
        height: calc(var(--fixed-vh) - 60px);
    }

    .gallery-slide {
        aspect-ratio: 1.2 / 1;
    }
    .gallery-flex {
        justify-content: center;
    }
    .collections-box2,
    .collections-box1,
    .balance-box4,
    .balance-box2,
    .scheme-box4,
    .scheme-box2,
    .rollo-box1,
    .rollo-box3,
    .contact-box1,
    .contact-box2,
    .video-box1,
    .PHOTO4-box2,
    .PHOTO4-box3,
    .solution2-box1,
    .compas-box3
    {
        display: none;
    }
    .slideshow-item-text__dop2 {
        font-size: 16px;
    }

    .peculiarities {
        padding: 40px 0;
        margin: 40px 0;
    }

    .temp-img-back:before {
        top: 20px;
    }

    .banner-static-white {
        margin-top: 40px;
    }
    .mob-mt-40 {
        margin-top: 40px!important;
    }

    .pagetext3 {
        padding-bottom: 0;
    }

    .deti {
        margin-top: 40px;
    }
    .temp-text {
        font-weight: 600;
    }
    .temp-title {
        margin-bottom: 10px!important;
    }

    .compas-review .review-back {
        padding-bottom: 0;
    }
    .compas-review .compas-img-back {;
        top: 20px;
    }
    .playVideo .compas-img-back {
        top: 20px;
    }
    .mob-mb-0 {
        margin-bottom: 10px!important;
    }

    .galswipersmall0,
    .galswipersmall1,
    .galswipersmall2,
    .galswipersmall3,
    .galswipersmall4 {
        overflow-x: scroll;
    }

    .swiperCollection .swiper-slide img {
        aspect-ratio: 1 / 1;
    }

    .galswipersmall0 .swiper-slide,
    .galswipersmall1 .swiper-slide,
    .galswipersmall2 .swiper-slide,
    .galswipersmall3 .swiper-slide,
    .galswipersmall4 .swiper-slide {
        max-width: 80px;
        max-height: 80px;
        margin-bottom: 0;
        margin-right: 15px;
    }
    .scheme-col-150 {
        max-width: inherit;
        width: auto;
    }
    .compas-gal {
        padding-bottom: 15px;
    }
    .collections {
        margin-bottom: 40px;
    }
    .galswipersmall0 .swiper-slide img, .galswipersmall1 .swiper-slide img, .galswipersmall2 .swiper-slide img, .galswipersmall3 .swiper-slide img, .galswipersmall4 .swiper-slide img {
        object-fit: contain;
    }

    .swiperReview .review-text__g4 {

    }

    .compas-review .compas-flex__revers {
        flex-direction: column;
    }
    .compas-review .review-flex-text {
        padding-top: 0;
        padding-bottom: 0;
    }

    .gallery .gallery-slide {
        min-height: 300px;
        width: 100%;
    }

    .playVideo {
        display: block!important;
    }
    .review-back {
        padding-bottom: 0;
        margin-bottom: 60px;
    }
}



.cookie-box {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 14px 18px;
    background: #0f1724D5;
    backdrop-filter: blur(3px);
    color: #e6eef6;
    font-family: system-ui, sans-serif;
    font-size: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.4);
    animation: slide-up 0.3s ease forwards;
    z-index: 9999;
}
@keyframes slide-up {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.cookie-text { line-height: 1.3; }
.cookie-actions { display: flex; align-items: center; gap: 10px; }
.cookie-btn {
    background: #10b981;
    border: none;
    color: #052019;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
}
.cookie-close {
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 20px;
    cursor: pointer;
    padding: 0 4px;
}


@media (max-width: 1000px) {
    .cookie-box {
        font-size: 14px;
    }

}

.fancybox__caption {
    display: none;
}