@import "settings.css";
@import "utilites.css";

@media(max-width: 579px){
    section{
        overflow: hidden;
    }
}
.agree {display:none}
.header-phone-box{
    padding: 11px 0 11px 60px;
}

.header-phone-box a{
    color: var(--color-black);
    text-align: right;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 106.667% */
}
.header-nav{
    margin-left: 40px;
}
.header-nav .menu{
    margin: 0;
    display: flex;
    gap: 40px;
}
.header-nav .menu li{
    list-style: none;
}
.header-nav .menu li a{
    color: var(--color-black, #14100E);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px; /* 100% */
    transition: .3s;
}
.header-nav .menu li a:hover{
    color: var(--color-faf);
}


/* Вертикальное меню */
.vertical-menu-overlay{
    position: fixed;
    height: 100vh;
    width: 100%;
    top: 0;
    left: -120%;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    display: none;
    transition: opacity .4s;
}
.vertical-menu-overlay.show{
    left: 0;
    display: block;
}
.vertical-menu-overlay.opacity-1{
    opacity: 1;
}

.parent-vertical-menu{
    display: flex;
    width: 260px;
    transform: translateX(-260px);
    height: 100%;
    padding: 30px;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
    background: #fff;
    transition: .4s ease-out;
    position: absolute;
    z-index: 8;
}
.parent-vertical-menu.show{
    transform: translateX(0);
}
.vertical-menu-box{
    margin-top: 50px;
    position: relative;
}

.close-menu-colum{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 0;
    background: var(--color-black);
    padding: 0;
    margin-left: auto;
    transition: .8s;
    margin-bottom: 45px;
}
.close-menu-colum.hide{
    opacity: 0;
}
.submenu{
    margin-top: 45px;
}
.submenu li{
    list-style: none;
}
.submenu li a{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 10px 0;
    color: #848484;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
}
.submenu li a:before{
    position: absolute;
    content: "";
    height: 1px;
    width: 0;
    background: #848484;
    left: 0;
    top: 0;
    transition: .5s ease-out;
}
.submenu li a.opened::before{
    width: 100%;
}

.submenu li a:hover, .submenu li a.active{
    color: var(--color-black);
}
.submenu li:last-child a::after{
    position: absolute;
    content: "";
    height: 1px;
    width: 0;
    background: #848484;
    left: 0;
    bottom: 0;
    transition: .5s ease-out;
}
.submenu li:last-child a.opened::after{
    width: 100%;
}
.sub-items-count{
    color: #585858;
    text-align: center;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 100% */
    display: flex;
    width: 28px;
    height: 28px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #848484;
    transition: .3s;
}
.submenu li a:hover .sub-items-count, .submenu li a.active .sub-items-count{
    color: #fff;
    background: var(--color-faf);
    border-color: var(--color-faf);
}








/* Полосы */

.ab-bottom {
    height: 0.5px;
    background: var(--color-black);
    position: absolute;
    bottom: 0;
    width: 0; /* Начальная ширина полосы */
    left: 50%; /* Полоса начинается с центра */
    transform: translateX(-50%); /* Сдвиг полосы по оси X влево на 50% ширины */
    transition: width 1.5s ease, left 1.5s ease; /* Плавные переходы ширины и позиции */
    transition-delay: .5s;
}

.ab-bottom.active {
    width: 100%; /* Полная ширина после активации */
    left: 0; /* Полоса начинает с самого левого края */
    transform: translateX(0); /* Убираем смещение, чтобы полоса равномерно растягивалась */
}

.ab-left {
    width: 0.5px; /* Толщина полосы */
    background: var(--color-black);
    position: absolute;
    left: 0;
    height: 0; /* Начальная высота полосы */
    top: 50%; /* Полоса начинается с центра по вертикали */
    transform: translateY(-50%); /* Сдвиг полосы по оси Y вверх на 50% высоты */
    transition: height 1.5s ease, top 1.5s ease; /* Плавные переходы высоты и позиции */
    transition-delay: .5s;
}

.ab-left.active {
    height: 100%; /* Полная высота после активации */
    top: 0; /* Полоса начинает с самого верхнего края */
    transform: translateY(0); /* Убираем смещение, чтобы полоса равномерно растягивалась вверх и вниз */
}

.ab-top {
    height: 0.5px;
    background: var(--color-black);
    position: absolute;
    top: 0;
    width: 0; /* Начальная ширина полосы */
    left: 50%; /* Полоса начинается с центра */
    transform: translateX(-50%); /* Сдвиг полосы по оси X влево на 50% ширины */
    transition: width 1.5s ease, left 1.5s ease; /* Плавные переходы ширины и позиции */
    transition-delay: .5s;
}
.fix-line{
    height: 0.5px;
    background: #848484;
}
.ab-top.active {
    width: 100%; /* Полная ширина после активации */
    left: 0; /* Полоса начинает с самого левого края */
    transform: translateX(0); /* Убираем смещение, чтобы полоса равномерно растягивалась */
}

.ab-right {
    width: 0.5px;
    background: var(--color-black);
    position: absolute;
    right: 0;
    height: 0; /* Начальная высота полосы */
    top: 50%; /* Полоса начинается с центра по вертикали */
    transform: translateY(-50%); /* Сдвиг полосы по оси Y вверх на 50% высоты */
    transition: height 1.5s ease, top 1.5s ease; /* Плавные переходы высоты и позиции */
    transition-delay: .5s;
}

.ab-right.active {
    height: 100%; /* Полная высота после активации */
    top: 0; /* Полоса начинает с самого верхнего края */
    transform: translateY(0); /* Убираем смещение, чтобы полоса равномерно растягивалась вверх и вниз */
}


/* Главная */
.home-banner{
    min-height: 650px;
    background: url("../uploads/png/home-banner.png");
    background-size: cover;
}
.home-banner-content{
    padding-top: 200px;
    padding-bottom: 80px;
}
.bg-overlay{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(20, 16, 14, 0.60);
}
.banner-col{
    max-width: 200px;
}
.banner-col-title{
    color: #fff;
    font-size: 34px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 88.235% */
    letter-spacing: -1.36px;
    text-transform: uppercase;
}
@media (max-width: 579px){
    .home-banner {
        min-height: 570px;
        height: auto;
    }
    .home-banner-content{
        padding-top: 70px;
        padding-bottom: 40px;
    }
    .banner-col{
        width: calc(50% - 10px);
    }
}
.site-header{
    background: #fff !important;
    z-index: 999 !important;
}

.site-footer{
    padding-bottom: 50px;
}
.footer-phones a{
    color: var(--color-black);
    text-align: right;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 112.5% */
    text-transform: uppercase;
}
.contact-phones a{
    color: var(--color-black);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 112.5% */
    text-transform: uppercase;
}
.footer-col-content{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer-col-content.first{
    padding: 20px 20px 20px 0;
}
.footer-col-content.center{
    padding: 20px;
}
.footer-col-content.end{
    padding: 20px 0 20px 20px;
}
.messengers a{
    color: var(--color-black) !important;
    font-size: 14px;
}
.hover-line{
    position: relative;
}
.hover-line:after{
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    height: 1px;
    width: 0;
    transition: .3s;
    background: var(--color-faf);
}
.hover-line:hover:after{
    width: 100%;
}
.messengers a:hover{
    color: var(--color-faf) !important;
}
.messengers a:hover svg path{
    fill: var(--color-faf) !important;
}
.messengers a:hover{
    color: var(--color-faf) !important;
}
.messengers a:hover:after{
    background: var(--color-faf) !important;
}
.footer-nav li{
    list-style: none;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px;
}
.footer-nav li a{
    color: var(--color-black);
}
.footer-nav ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.footer-address{
    padding: 20px 0;
}
.footer-bottom{
    padding: 15px 0;
}
.footer-bottom-link{
    color: var(--color-affogato) !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px; /* 100% */
}
.calc-icon{
    border-right: .5px solid var(--color-black);
    border-left: .5px solid var(--color-black);
}
.footer-map{
    height: 300px;
}
@media (max-width: 579px){
    .footer-col-content{
        min-height: auto;
        height: auto;
    }
    .footer-col-content.first{
        padding: 60px 0 20px;
    }

    .footer-col-content.center{
        padding: 20px 0 0;
    }
    .footer-col-content.end{
        padding: 10px 0;
    }

    .footer-nav ul{
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .footer-nav{
        width: calc(50% - 10px);
    }
    .footer-address{
        padding: 15px 0;
    }
    .footer-bottom{
        padding: 20px 0;
    }
    .footer-col-content{
        min-height: auto;
        height: auto;
    }
}


.small-title{
    color: #848484;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
    position: relative;
    left: 13px;
}
.small-title::before{
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 20px;
    background: #585858;
    position: absolute;
    left: -13px;
    top: 4px;
}
.small-title.white{
    color: #fff;
}
.small-title.white::before{
    background: #fff;
}
.w-slide-auto {
    width: fit-content;
}
.portfolio-slide-item{
    height: 400px;
    position: relative;
    overflow: hidden;
}
.portfolio-slide-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-item-content{
    position: absolute;
    z-index: 2;
    opacity: 0;
    background: #fff;
    backdrop-filter: blur(250px);
    width: calc(100% - 40px);
    height: 100%;
    top: 0;
    left: 0;
    padding: 30px 20px;
    transform: translateY(120%);
    transition: .4s ease-out;
}
.portfolio-slide-item:hover .slide-item-content{
    transform: translateY(0);
    opacity: 0.8;
}
.toggle-slide-content{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
    background: var(--color-black);
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
}
.slide-nav-item{
    border: 1px solid #848484;
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
}
.custom-swiper-pagination{
    position: static;
    width: fit-content;
}
.swiper-pagination-box{
    color: #585858;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
}


.benefit-item{
    height: 170px;
}
.benefit-icon-box{
    width: 40px;
}
@media (max-width: 579px){
    .servicesSwiper{
        width: 175%;
    }
    .portfolio-slide-item{
        height: 400px;
    }
    .portfolio-slide-item:hover .slide-item-content{
        transform: translateY(120%);
        opacity: 0;
    }
    .slide-item-content.show{
        transform: translateY(0) !important;
        opacity: 0.8 !important;
        padding-top: 50px;
    }
    .benefit-item{
        height: auto;
    }
}


.vertical-accordion-item{
    height: 450px;
    position: relative;
    width: 110px;
    transition: .5s;
}
.vertical-accordion-item:hover{
    cursor: pointer;
}
.vertical-accordion-item:hover .title,
.vertical-accordion-item:hover .number{
    color: var(--color-faf) !important;
}
.vertical-accordion-item .content{
    height: 450px;
    padding: 20px 30px;
}
.vertical-accordion-item.active{
    width: calc(100% - 330px);
}
.vertical-accordion-title-box{
    transform: rotate(-90deg);
    width: 400px;
    position: absolute;
    top: 210px;
    left: -142px;
}
.vertical-accordion-title-box .number{
    transform: rotate(90deg);
    color: #585858;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 17px; /* 100% */
}
.vertical-accordion-content{
    width: calc(100% - 110px);
    margin-left: 110px;
    padding: 20px;
    height: 450px;
    border-left: 1px solid #848484;
    overflow: hidden;
    display: none;
    opacity: 0;
}
.vertical-accordion-content .box{
    width: calc(50% - 10px);
}
.vertical-accordion-item.active .vertical-accordion-content{
    display: block;
    opacity: 1;
}
.vertical-accordion-content.show{
    display: block;
}
.vertical-accordion-content.opacity-1{
    opacity: 1;
}

.small-accordion-item{
    margin: 0;
}
.small-accordion-title{
    padding: 16px 0;
}
.small-accordion-content{
    padding: 0;
    max-height: 0;
    opacity: 0;
}
.small-accordion-content{
    padding: 0;
    max-height: 0;
    opacity: 0;
    transition: 0.3s ease;
}
.small-accordion-item.active .small-accordion-content{
    padding: 10px 0 0 0;
    max-height: 1000px;
    opacity: 1;
    border-top: 1px solid #848484;
}
.small-accordion-item.active .small-accordion-content:last-child{
    padding-bottom: 5px;
}

.home-form-box{
    max-width: 420px;
}
.form-policy{
    color: #848484;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
}
.form-policy a{
    color: #9E7567;
}
.home-form-image{
    aspect-ratio: 1/1;
    overflow: hidden;
}
.home-form-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work-slide-item{
    height: 500px;
}
@media( max-width: 579px){
    .work-slide-item{
        height: 300px;
    }
}
.work-slide-item img{
    height: 100%;
    object-fit: contain;
}
.to-work-link .title{
    color: var(--color-black);
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 90.909% */
}

.to-work-link .icon{
    border: 1px solid #848484;
    background: #FFF;
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    transition: .3s;
}

.to-work-link:hover .title{
    color: var(--color-faf);
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 90.909% */
    transition: .3s;
}

.to-work-link:hover .icon{
    border: 1px solid var(--color-faf);
    background: var(--color-faf);
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
}
.to-work-link:hover .icon svg path{
    fill: #fff;
}
.award .icon{
    border: 1px solid #848484;
    background: #FFF;
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    transition: .3s;
}

.award:hover .icon{
    border: 1px solid var(--color-faf);
    background: var(--color-faf);
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
}
.award:hover .icon svg path{
    fill: #fff;
}
.award:hover .value{
    color: var(--color-faf);
    transition: .3s;
}



.review-accordion-icon .icon{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    gap: 15px;
    background: var(--color-black);
}
.accordion-button:not(.collapsed) .icon{
    background: var(--color-faf);
}
.review-image{
    width: 310px;
    height: 200px;
}
.review-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.go-to-review-link{
    display: none;
}

@media (max-width: 579px) {
    .review-image{
        width: 100%;
        height: 225px;
        margin-bottom: 20px;
    }

    .go-to-review-link{
        display: flex;
        width: 40px;
        height: 40px;
        padding: 13px;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        background: #fff;
        position: absolute;
        top: 10px;
        right: 10px;
    }
}

.home-about-image{
    height: 425px;
    width: 100%;
}
.about-block-numbers{
    height: 425px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 420px;
}
.about-block-numbers .number{
    color: var(--color-faf);
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 36px; /* 90% */
    letter-spacing: -0.8px;
}

@media (max-width: 579px){
    .about-block-numbers{
        position: static;
        width: 100%;
        height: auto;
    }
    .about-block-numbers .number{
        font-size: 30px;
        letter-spacing: -0.3px;
    }
    .home-about-image{
        height: 225px;
    }
}

.avatar-slide-item{
    height: 310px;
}

.to-post-link{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    background: #fff;
    position: absolute;
    top: 10px;
    right: 10px;
    transition: .3s;
}
.post-slide-item{
    position: relative;
    aspect-ratio: 1/1;
}
.post-date{
    position: relative;
    color: var(--color-affogato);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
}
.post-link:hover .title{
    color: var(--color-faf);
}
.post-link:hover .to-post-link{
    background: var(--color-faf);
}
.post-link:hover .to-post-link svg path{
    fill: #fff;
}
.home-ctb-image{
    height: 400px;
}
@media (max-width: 579px) {
    .home-ctb-image{
        height: 200px;
    }
}

.remont-banner-image{
    height: 500px;
}

.repair-third-block{
    background: url("../uploads/png/repair-third-image.png");
    background-size: cover;
}
.big-number{
    font-size: 76px;
    font-style: normal;
    font-weight: 400;
    line-height: 66px; /* 86.842% */
    letter-spacing: -1.52px;
}

@media (max-width: 579px){
    .big-number{
        font-size: 40px;
        line-height: 34px; /* 86.842% */
    }
}

.circle{
    width: 50%;
    aspect-ratio: 4/3;
}
.design-image{
    height: 400px;
    border-radius: 0;
}
.card{
    border-radius: 0;
    border: 1px solid #848484;
    background: #FFF;
    margin-bottom: 20px;
}
.design-item{
    border: 1px solid  #848484;
    height: 160px;
}
.design-item:hover{
    background: var(--color-faf);
    border-color: var(--color-faf);
}
.design-arrow{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border: 1px solid #848484;
    background: #fff;
}
.design-item:hover .design-title{
    color: #fff;
}
.design-title{
    color: #14100E;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 114.286% */
}
.hover-accordion-item{
    padding: 20px 0;
}

.hover-accordion-item-body{
    padding-top: 0;
    max-height: 0;
    opacity: 0;
    transition: 0.4s ease-in-out;
}
.hover-accordion-item .number{
    color: #848484;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 17px; /* 100% */
}
.hover-accordion-item:hover .hover-accordion-item-body{
    padding-top: 10px;
    max-height: 100px;
    opacity: 1;
}
@media (max-width: 579px){
    .modal-exit-image-box{
        height: 170px !important;
    }
    .circle{
        aspect-ratio: 1/1;
    }
    .remont-banner-image{
        height: 240px;
    }
    .designSwiper{
        width: 150%;
    }
    .big-number{
        font-size: 40px;
        line-height: 34px; /* 86.842% */
    }
    .design-image{
        height: 230px;
    }
    .cards{
        padding: 0 !important;
    }
}

.category-nav li{
    list-style: none;
}

.category-nav li a{
    padding: 12px 15px;
    border: 1px solid #F0EDED;
    color: var(--color-h5-6, #585858);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 114.286% */
}
.category-nav li a:hover{
    border-color: var(--color-faf);
}
.portfolio-list-item{
    display: block;
    position: relative;
    width: 33.333333%;
    height: 605px;
}
.portfolio-loop-image{
    height: 300px;
}
.portfolio-slide-item{
    color: var(--color-black);
}
.portfolio-list-item:hover h3{
    color: var(--color-faf);
}
.portfolio-list-item:hover .to-post-link{
    background: var(--color-faf);
}
.portfolio-list-item:hover .to-post-link svg path{
    fill: #fff;
}

@media (max-width: 579px){
    .portfolio-list-item{
        width: 100%;
        height: auto;
    }
    .portfolio-loop-image{
        height: 250px;
    }
    .category-nav-section {
        overflow-x: scroll;
        -ms-overflow-style: none;  /* для Internet Explorer и Edge */
        scrollbar-width: none;     /* для Firefox */
    }
    .category-nav-section::-webkit-scrollbar {
        display: none;  /* для Chrome, Safari и Opera */
    }
    .category-nav{
        padding: 10px 0;
        width: max-content;
    }

}

.portfolio-banner-image{
    height: 600px;
}
.editor-content ul{
    margin-bottom: 0;
    margin-left: 16px;
    padding-left: 0;
}

.portfolio-parameters{
    max-width: 420px;
}
.portfolio-parameter{
    width: 50%;
}

@media (max-width: 579px) {
    .portfolio-banner-image{
        height: 350px;
    }
}

.review-large-image{
    width: 100%;
    aspect-ratio: 1/1;
}
.review-arrow{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border: 1px solid #848484;
    transition: .3s;
}
.review-arrow-link:hover .review-arrow{
    background: var(--color-faf);
    border-color: var(--color-faf);
}
.review-arrow-link:hover .description{
    color: var(--color-faf) !important;
}
.review-arrow-link:hover .review-arrow svg path{
    fill: #fff;
}
.load-more-reviews{
    height: 70px;
}
.resume-image{
    height: 400px;
}

.section-404{
    height: 650px;
    background: url("../uploads/png/404.png");
    background-size: cover;
    padding-bottom: 130px;
}

@media (max-width: 579px) {
    .vacanciesSwiper{
        width: 145%;
    }
    .resume-image{
        height: 200px;
    }
    .section-404{
        height: 420px;
        background: url("../uploads/png/404.png");
        background-size: cover;
        padding-bottom: 60px;
    }
}

.map-box{
    height: 500px;
}
.map-box iframe{
    height: 100%;
}

.contact-image{
    height: 100%;
}
@media (max-width: 579px){
    height: 250px;
}

.image-animate-box{
    position: relative;
    overflow: hidden;
}
.image-animate-overlay{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FEFEFE;
    transition: 0.7s ease-in-out;
}
.image-animate-overlay.disabled{
    transform: translateY(100%);
}

.site-bar{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #fff;
    border-top: 1px solid #848484;
    z-index: 5;
}
.breadcrumbs-box{
    height: 50px;
    padding: 18px 30px 0 28px;
    border-right: 1px solid #585858;
}
.breadcrumb .breadcrumb-item a{
    color: #CCC4C4;
}
.breadcrumb .breadcrumb-item{
    color: #585858;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px; /* 116.667% */
}

@media (max-width: 579px){
    .breadcrumbs-box{
        height: 50px;
        padding: 10px 0 0 0;
        border-right: none;
    }
    .breadcrumb{
        margin-left: 5px;
        padding-left: 0;
    }
}
.calculator-button{
    background: var(--color-black);
}
.calculator-button .text{
    color: #fff;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 50px; /* 114.286% */
    height: 50px;
    padding: 0 20px;
}

@media (max-width: 579px){
    .calculator-button{
        padding: 0 15px;
        text-align: center;
    }
}
.custom-modal-overlay{
    position: fixed;
    height: 100vh;
    width: 100%;
    top: 0;
    right: -120%;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    display: none;
    transition: opacity .4s ease-out;
}
.custom-modal-overlay.show{
    right: 0;
    display: block;
}
.custom-modal-overlay.opacity-1{
    opacity: 1;
}

.custom-modal-body{
    padding: 40px;
    position: fixed;
    height: 100vh;
    width: 500px;
    top: 0;
    right: 0;
    background: #fff;
    transform: translateX(120%);
    transition: .5s;
    overflow-y: auto;
}
.custom-modal-body.show{
    transform: translateX(0);
}
.modal-close{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
    background: var(--color-black);
    border: none;
    padding: 0;
    border-radius: 0;
}
@media (max-width: 579px){
    .custom-modal-body{
        width: 100%;
    }
}
.post-content img{
    margin-bottom: 30px;
}
.post-content ul{
    margin-left: 0;
    padding-left: 18px;
}
.post-content h2{
    margin-bottom: 15px;
}
.post-content h3{
    margin-bottom: 10px;
}
.requizites p{
    margin-bottom: 10px;
}
.benefit-icon{
    width: 28px;
}
@media (max-width: 579px){
    .custom-modal-body{
        width: 100%;
        padding: 20px 15px;
    }
}

.calc-result-value{
    color: var(--color-faf);
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 17px; /* 100% */
}

/* Fullscreen nav */
.fullscreen-nav-box{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.65);
    transform: translateX(-110%);
    transition: .7s;
}
.fullscreen-nav-box.show{
    transform: translateX(0);
}

.hero-menu-box{
    margin: 0;
    padding: 30px;
    position: absolute;
    top: 0;
    left: 0;
    height: 100vh;
    background: #fff;
    width: 260px;
    border-right: 1px solid #848484;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.hero-menu{
    margin-top: 50px;
    margin-left: 0;
    padding-left: 0;
}
.hero-menu > li{
    list-style: none;
    margin-bottom: 15px;
}
.hero-menu > li a{
    color: #848484;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    position: relative;
}
.hero-menu > li a:hover{
    color: var(--color-black) !important;
}
.hero-menu > li a:before{
    position: absolute;
    content: "";
    height: .5px;
    width: 0;
    background: var(--color-black);
    left: 0;
    bottom: 0;
    transition: .4s ease-out;
}

.hero-menu > li a.active{
    color: var(--color-black);
}
.hero-menu > li a.active:before, .hero-menu > li a:hover:before{
    width: 100%;
}
.fullscreen-nav .sub-menu-wrapper{
    display: none;
    margin: 0;
    padding: 20px;
    position: absolute;
    top: 0;
    right: 0;
    height: 100vh;
    background: #fff;
    border-right: 1px solid #848484;
    width: 370px;
    transform: rotateY(90deg);
    transition: .7s ease-out;
    opacity: 0;
}
.fullscreen-nav .sub-menu{
    display: none;
}
.fullscreen-nav .sub-menu li{
    list-style: none;
}
.fullscreen-nav .sub-menu-wrapper.opacity-1{
    opacity: 1;
}
.fullscreen-nav .sub-menu-wrapper.show{
    transform: rotateY(0);
    left: auto;
    right: -371px;
}
.fullscreen-nav .sub-menu-wrapper.show .sub-menu{
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 10px 0 0;
    overflow-y: auto;
    height: 95vh;
}
/* Стилизация самой полосы прокрутки */
.fullscreen-nav .sub-menu-wrapper.show .sub-menu::-webkit-scrollbar {
    width: 6px; /* Ширина полосы прокрутки */
}

/* Стилизация фона полосы прокрутки */
.fullscreen-nav .sub-menu-wrapper.show .sub-menu::-webkit-scrollbar-track {
    background-color: #f0f0f0; /* Светло-серый фон */
    border-radius: 10px; /* Скругление для фона */
}

/* Стилизация бегунка (ползунка) полосы прокрутки */
.fullscreen-nav .sub-menu-wrapper.show .sub-menu::-webkit-scrollbar-thumb {
    background-color: #d2d2d2; /* Цвет бегунка */
    border-radius: 10px; /* Скругление для бегунка */
}


.fullscreen-nav .sub-menu .menu-item a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #848484;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
    padding: 10px 0;
    position: relative;

}
.sub-menu .menu-item a:before{
    position: absolute;
    content: "";
    height: .5px;
    width: 0;
    background: #848484;
    left: 0;
    top: 0;
    transition: .5s ease-out;
}
.sub-menu .menu-item:last-child a:after{
    position: absolute;
    content: "";
    height: .5px;
    width: 0;
    background: #848484;
    left: 0;
    bottom: 0;
    transition: .5s ease-out;
}

.sub-menu .menu-item a.opened:before, .sub-menu .menu-item a.opened:after,
.mobile-nav .menu-item a.opened:after, .mobile-nav .menu-item a.opened:before
{
    width: 100%;
}
.sub-menu li a:hover .sub-items-count, .sub-menu li a.active .sub-items-count{
    color: #fff;
    background: var(--color-faf);
    border-color: var(--color-faf);
}
.sub-menu li a:hover{
    color: var(--color-black);
}
.sub-menu li a:hover svg path{
    fill: #fff;
}
.menu-item-has-children{
    overflow: auto;
}

.burger{
    display: none;
}
.burger .lines{
    display: flex;
    width: 50px;
    height: 50px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    position: relative;

}
.burger .line{
    display: block;
    height: 1.5px;
    width: 20px;
    transition: .3s ease-out;
}
.burger.active .line-2{
    display: none;
}
.burger.active .line-1{
    transform: rotate(45deg);
}
.burger.active .line-3{
    transform: rotate(-45deg);
    margin-top: -7px;
}
.wpcf7-response-output{
    display: none;
}
.nav-links{
    display: flex;
    gap: 5px;
}
.page-numbers{
    color: var(--color-black);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 106.667% */
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border: 1px solid #F0EDED;
}
.page-numbers.current{
    background: var(--color-faf);
    border-color: var(--color-faf);
    color: #fff;
}
.next.page-numbers:hover, .prev.page-numbers:hover{
    background: var(--color-black);
    border-color: var(--color-black);
}
.next.page-numbers:hover svg path, .prev.page-numbers:hover svg path{
    fill: #fff;
}
.success-message{
    width: 500px;
    padding: 40px 20px;
    gap: 30px;
    background: var(--color-faf);
    position: fixed;
    bottom: 60px;
    right: 10px;
    z-index: 7;
    transform: translateY(150%);
    transition: .4s ease-out;

}

.success-message.show{
    transform: translateY(0);
}
@media (max-width: 579px){
    .sub-menu-wrapper{
        overflow-y: auto;
    }
    .success-message{
        width: calc(100% - 10px);
    }
    .burger{
        display: flex;
        margin-left: auto;
        margin-right: -15px;
        padding: 0;
        border: 0;
        background: none;
    }

    .mobile-manu-box{
        background: #fff;
        width: 100%;
        height: calc(100vh - 50px);
        position: fixed;
        top: 50px;
        right: 0;
        z-index: 9999;
        padding-top: 30px;
        transform: translateX(110%);
        transition: .3s;
    }
    .mobile-manu-box.show{
        transform: translateX(0);
    }
    .mobile-nav ul{
        margin: 0;
        padding: 0;
    }
    .mobile-nav ul li{
        list-style: none;
    }
    .mobile-nav ul li a{
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        padding: 10px 15px;
        color: #848484;
        font-size: 15px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px; /* 106.667% */
    }
    .mobile-nav ul li a:before{
        position: absolute;
        content: "";
        height: 1px;
        width: 0;
        background: #848484;
        left: 0;
        top: 0;
        transition: .5s ease-out;
    }

    .mobile-nav .sub-menu-wrapper{
        background: #fff;
        position: fixed;
        bottom: 0;
        height: calc(100vh - 50px);
        right: 0;
        display: block;
        opacity: 1;
        z-index: 999;
        width: 100%;
        padding-top: 20px;
        transform: translateX(110%);
        transition: .5s ease-out;
    }
    .mobile-nav .sub-menu-wrapper.show{
        transform: translateX(0);
        padding-bottom: 100px;
    }

    .back-button{
        display: flex;
        width: fit-content;
        padding-right: 20px;
        justify-content: center;
        align-items: center;
        gap: 20px;
        border: 1px solid #848484;
        margin-bottom: 15px;
        margin-left: 15px;
    }
    .back-button a:before{
        display: none;
    }
    .back-button a{
        border-right: 1px solid #848484;
        padding: 0;
    }
    .sub-menu{
        overflow-y: auto;
        padding-bottom: 80px;
    }
}

/* prev */
.quiz-prev{
    border: 1px solid #848484;
    display: flex;
    align-items: center;
    padding: 0;
    background: none;
    border-radius: 0;
}
.quiz-prev .icon{
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #848484;
}
.quiz-prev .text{
    padding: 0 20px;
}

.quiz-prev:hover .icon svg path{
    fill: #9E7567;
}
.quiz-prev:hover .text{
    padding: 0 20px;
    color: #9E7567;
}

/* next */
.quiz-next{
    border: 1px solid #9E7567;
    display: flex;
    align-items: center;
    padding: 0;
    background: none;
    border-radius: 0;
}
.quiz-next .icon{
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #9E7567;
}
.quiz-next .icon svg path{
    fill: #9E7567;
}
.quiz-next .text{
    padding: 0 20px;
    color: #9E7567;
}
.quiz-next:disabled{
    border: 1px solid #F0EDED;
}
.quiz-next:disabled .icon{
    border-left: 1px solid #F0EDED;
}
.quiz-next:disabled .text{
    color: #F0EDED;
}
.quiz-next:disabled .icon svg path{
    fill: #F0EDED;
}

.quiz-next:hover{
    border: 1px solid #9E7567;
    background: #9E7567;
}
.quiz-next:hover .icon svg path{
    fill: #fff;
}
.quiz-next:hover .text{
    padding: 0 20px;
    color: #fff;
}
.question-number-box{
    color: #CCC4C4;
    font-size: 15px;
    font-weight: 400;
    line-height: 16px;
}
.progress-percent{
    color: #9E7567;
    font-size: 15px;
    font-weight: 500;
    line-height: 16px;
}
.quiz-line{
    border-top: 1px solid #848484;
    margin: 20px 0;
}

.progress-bar { height: 3px; background: #ccc; border-radius: 10px; overflow: hidden; margin-bottom: 20px; position: relative; }
    .progress-bar-inner { height: 100%; background: #9E7567; width: 0%; text-align: center; color: #fff; line-height: 25px; transition: width 0.3s; font-weight: bold; }