/*HEADER STYLES*/

.header-bottom {
    background: #ccc;
}

.toolbar .toolbar-tab .toolbar-icon {
    padding: 0.75em 1.5em 0.75em 2.5em;
}

/* *** contextual-region *** */
.contextual-region .contextual {
    display: none;
    top: -8px;
    right: 8px;
}

.contextual-region .contextual-region .contextual {
    top: 8px;
}

.contextual-region:hover .contextual {
    display: block;
}

.contextual-region .contextual .trigger {
    width: 22px !important;
    height: 22px !important;
    background-size: 14px 14px;
}

.cart-block--summary .cart-block--summary__count {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    background: #ccc;
    color: #fff;
    top: -3px;
    right: -9px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 500;
}

#header-mob {
    top: 0;
    width: 100%;
    background: #d9d9d9;
    color: #000;
    padding: 5px 5px;
    z-index: 50;
}

#header-mob.toolbar-horizontal #header-mob {
    top: 0;
}

#header-mob > * {
    padding: 0 10px;
}

#header-mob a {
    color: #000;
}

.offcanvas {
    --bs-offcanvas-bg: #d9d9d9;
}

.offcanvas .offcanvas-title {
    color: #000;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
}

.region-navigation .nav > .nav-item:hover .dropdown-menu {
    display: block;
    top: 100%;
    left: 0;
}


/*HEADER STYLES*/

/* SLICK STYLES */
div#slider-block .view.view-slayder.view-id-slayder .view-content .node--type-slide .content {
    position: absolute;
    top: 0;
    bottom: calc(1vw + 12px);
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

button.slick-prev.slick-arrow {
    left: 25px;
}

button.slick-next.slick-arrow {
    right: 25px;
}

ul.slick-dots {
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 7px;
    list-style: none;
    margin: 10px 0;
}

ul.slick-dots li button {
    background: #686868;
    border-radius: 50%;
    border: none;
    padding: 0;
    width: 10px;
    font-size: 0;
    height: 10px;
    display: block;
}

ul.slick-dots li button::before {
    display: none;
}

ul.slick-dots li.slick-active button {
    background: #272727;
}

button.slick-arrow {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

button.slick-arrow::before {
    content: '';
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    font-size: 0;
}

button.slick-prev.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(-90deg);
}

button.slick-next.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(90deg);
}

#scrollToTop {
    width: 48px;
    height: 48px;
    background: none;
    text-indent: 0;
    font-size: 0;
    border: 0px;
    outline: 0px;
    display: flex;
    bottom: 120px;
    cursor: pointer;
    position: fixed;
    right: 75px;
    z-index: 10;
    transition: 0.2s;
    padding: 0;
}

/* SLICK STYLES */

/* PRODUCT PAGE STYLES*/
.product-teaser {
    display: flex;
    gap: 50px;
}

.product-teaser .product-teaser-image {
    max-width: 500px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider {
    margin: 0 0 10px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 500px;
    min-width: 500px;
    max-height: 500px;
    min-height: 500px;
    object-fit: cover;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable {
    margin: 0 -5px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
    margin: 0 5px;
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
    object-fit: cover;
}

.product-teaser .product-teaser-info {
    max-width: 500px;
}

.product-view-full button.slick-prev.slick-arrow {
    left: -25px;
}

.product-view-full button.slick-next.slick-arrow {
    right: -25px;
}


.node--view-mode-full .field--name-body img {
    margin: 0 10px;
}

/* PRODUCT PAGE STYLES*/

#block-vesta-theme-tabs  .flex-md-row {
    justify-content: center;
}

/***Страница услуги***/
#image-page-service {
    position: relative;
}
#block-image-on-page-service .views-field-nothing {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 48.5px;
}
#block-image-on-page-service .views-field-nothing .container {
    display: flex;
    justify-content: end;
}
#block-image-on-page-service .text-block {
    padding: 20px;
    border-radius: 10px;
    background-color: #ff6b00;
    max-width: 570px;
}
#block-image-on-page-service .text-block p {
    margin-bottom: 0;
}
#block-image-on-page-service .views-field-nothing h1 {
    font-size: 40px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.38;
    letter-spacing: normal;
    text-align: left;
    color: #ffffff;
    max-width: 478px;
    margin-bottom: 0;
}
#block-image-on-page-service .short-description {
    font-size: 20px;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
    color: #fff;
    margin: 7px 0 20px;
}
#block-image-on-page-service .bottom-text-block {
    display: flex;
    align-items: center;
}
#block-image-on-page-service a.place-an-order {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50.6px;
    border-radius: 9.9px;
    background-color: #fff;
    font-size: 16px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.28;
    letter-spacing: normal;
    color: #ff6b00;
    text-transform: uppercase;
    margin-right: 17px;
    border: 2px solid #ffffff;
    transition: all 0.4s ease;
}
#block-image-on-page-service a.place-an-order:hover {
    box-shadow: 0 0 3px 3px #ffffff;
    border-color: #ff6b00;
}
#block-image-on-page-service .approximate-price {
    font-size: 28px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 0.77;
    letter-spacing: normal;
    text-align: left;
    color: #fff;
}
.not-front.body-node-type--usluga .main {
    padding: 60px 0;
}
#usluga .horizontal-tabs {
    box-shadow: 0 4px 17px 0 rgba(54, 31, 7, 0.25);
    border-radius: 10px;
    border: none;
    margin: 0;
}
#usluga .horizontal-tabs .horizontal-tabs-list {
    background-color: transparent;
    border-bottom: none;
}
#usluga .horizontal-tabs .horizontal-tab-button {
    
    background-color: #202938;
    width: 50%;
    border-right: none;
}
#usluga .horizontal-tabs .horizontal-tab-button:first-child {
    border-top-left-radius: 10px;
}
#usluga .horizontal-tabs .horizontal-tab-button:last-child {
    border-top-right-radius: 10px;
}
#usluga .horizontal-tab-button.selected {
    border-bottom: none;
    margin-bottom: 0;
    background-color: #ff6b00;
}
#usluga .horizontal-tabs ul.horizontal-tabs-list li a, .horizontal-tabs ul.horizontal-tabs-list li.selected a {
    padding: 17px 15px;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #fff;
}
#usluga .horizontal-tabs .horizontal-tab-button a:hover {
    background-color: unset;
    color: #ffffff;
}
#usluga .horizontal-tabs-panes .horizontal-tabs-pane {
    padding: 0;
}
#usluga .card-body {
    padding: 30px 40px;
}
#usluga .horizontal-tabs-panes .field--name-field-list-of-work,
#usluga .horizontal-tabs-panes .field--name-field-characteristics-material {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 30px;
}
#usluga .horizontal-tabs-panes .field--name-field-name-type-work,
#usluga .horizontal-tabs-panes .field--name-field-material-name,
#usluga .horizontal-tabs .field--name-field-name-type-work,
#usluga .horizontal-tabs .field--name-field-material-name  {
    font-size: 16px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #202938;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}
#usluga .horizontal-tabs-panes .field--name-field-name-type-work::before,
#usluga .horizontal-tabs-panes .field--name-field-material-name::before,
#usluga .horizontal-tabs .field--name-field-name-type-work::before,
#usluga .horizontal-tabs .field--name-field-material-name::before {
    content: url(../image/service-white.svg);
    margin-right: 8px;
}
#usluga .horizontal-tabs-panes .field--name-field-description-material p,
#usluga .horizontal-tabs-panes .field--name-field-description-type-work p {
    margin-bottom: 0;
}
#usluga .horizontal-tabs-panes .field--name-field-description-material,
#usluga .horizontal-tabs-panes .field--name-field-description-type-work {
    font-size: 16px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #717182;
}
#table-page-service-block {
     background-color: #f6f6f6;
     padding: 70px 0;
}
#table-page-service-block .views-label-field-cost-work-materials {
    font-size: 40px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
    color: #202938;
    text-transform: uppercase;
}
#table-page-service-block .views-field-field-cost-work-materials .field-content {
    margin-top: 25px;
}
#table-page-service-block .table > :not(caption) > * > * {
    padding: 13px 11px 13px 22px;
}
#table-page-service-block .table {
    margin-bottom: 0;
    border-collapse: separate; /* Обязательно! */
    border-spacing: 0; /* Убирает двойные границы */
    border-radius: 10px; /* Радиус скругления */
    border: 1px solid #eaeaea; /* Цвет рамки */
    overflow: hidden; /* Скрывает углы у фона */
}
#table-page-service-block .table tr:not(:last-child) td {
    border-bottom: 1px solid #eaeaea;
}
#table-page-service-block .table tr {
    font-size: 20px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
    color: #000;
}
#table-page-service-block .table tr:first-child {
    font-weight: bold;
}

#callback-page-service-block {
    padding: 60px 0;
}
#block-callback-on-page-service .field--name-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#block-callback-on-page-service .field--name-body > div {
    width: 50%;
}
#block-callback-on-page-service .left-block {
    max-width: 670px;
}
#block-callback-on-page-service .header-callback {
    font-size: 40px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
    color: #202938;
    margin-bottom: 15px;
}
#block-callback-on-page-service .text-callback {
    font-size: 20px;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
    color: #202938;
}
#block-callback-on-page-service .right-block {
    display: flex;
    justify-content: end;
} 
#block-callback-on-page-service .right-block .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 270px;
    height: 51px;
    padding: 0;
}

#accordeon-page-service-block {
    padding: 50px 0;
    background-color: #f6f6f6;
}
#block-asked-question-on-service-page .block-title {
    font-size: 40px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: left;
    color: #202938;
    margin-bottom: 25px;
}
.view-display-id-on_service_page .views-field-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    font-size: 20px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #202938;
}
.view-display-id-on_service_page .views-field-title .field-content {
    order: 1;
    padding: 6.5px 0;
}
.view-display-id-on_service_page .views-field-title .ui-accordion-header-icon {
    order: 2;
}
.view-display-id-on_service_page .views-field-title .ui-icon {
    background-image: none;
    width: 40px;
    height: 40px;
    margin-top: 0;
}
.view-display-id-on_service_page .views-field-title .ui-icon-triangle-1-e {
    background-image: url(../image/expand.svg);
    background-position: center;
}
.view-display-id-on_service_page .views-field-title .ui-icon-triangle-1-s {
    background-image: url(../image/collapse.svg);
    background-position: center;
}
.view-display-id-on_service_page .ui-accordion-content {
    padding: 5px 0 0;
    font-size: 20px;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #717182;
    background: transparent;
    border: none;
}
.view-display-id-on_service_page .ui-accordion-content p {
    margin-bottom: 8px;
}
.view-display-id-on_service_page .ui-accordion-content p:last-child {
    margin-bottom: 0;
}
.view-display-id-on_service_page .view-content .views-row > .views-row:not(:last-child) {
    margin-bottom: 40px;
}
.view-display-id-on_service_page .ui-accordion-header {
    margin: 0;
    background: transparent;
    border: none;
}
.body-node-type--usluga .gallery-block {
    background-color: #ffffff;
    padding: 70px 0;
}
.body-node-type--usluga #block-vesta-theme-views-block-fotogalereya-block-1 .block-title {
    margin-bottom: 25px;
    text-align: center;
}
#block-vesta-theme-views-block-uslugi-block-1 .view-content .views-row:last-child .field--name-field-list-of-work,
.view-id-uslugi.view-display-id-page_1 .view-content .views-row:last-child .field--name-field-list-of-work,
#block-vesta-theme-views-block-uslugi-block-1 .view-content .views-row:not(:last-child) .field--name-body,
.view-id-uslugi.view-display-id-page_1 .view-content .views-row:not(:last-child) .field--name-body {
    display: none;
}

/***Адаптивные стили***/
@media screen and (max-width: 1800px) {
    /***Страница услуги***/
    #block-image-on-page-service .views-field-field-banner-on-internal-page img {
        min-height: 500px;
        object-fit: cover;
    }
}

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

}

@media screen and (max-width: 991px) {
    #offcanvasNav .nav .dropdown-menu {
        display: none;
        position: static;
        border: 0px solid;
        background: transparent;
        padding: 10px 0;
        border-bottom: 1px solid #BDBDBD;
    }

    #offcanvasNav li.nav-item {
        width: 100%;
    }

    /***Страница услуги***/
    #block-image-on-page-service .views-field-nothing h1 {
        font-size: 34px;
    }
    #block-image-on-page-service .short-description {
        font-size: 16px;
    }
    #block-image-on-page-service .approximate-price {
        font-size: 26px;
    }
    #block-image-on-page-service .views-field-nothing {
        bottom: 20px;
    }
    #block-image-on-page-service .views-field-field-banner-on-internal-page img {
        min-height: 450px;
    }
    .not-front.body-node-type--usluga .main, #table-page-service-block, #callback-page-service-block, #accordeon-page-service-block,
    .body-node-type--usluga .gallery-block {
        padding: 30px 0;
    }
    #usluga .horizontal-tabs ul.horizontal-tabs-list li a, .horizontal-tabs ul.horizontal-tabs-list li.selected a {
        padding: 12px 5px;
        font-size: 16px;
    }
    #table-page-service-block .views-label-field-cost-work-materials, #block-callback-on-page-service .header-callback,
    #block-asked-question-on-service-page .block-title {
        font-size: 30px;
    }
    #table-page-service-block .table tr, #block-callback-on-page-service .text-callback {
        font-size: 16px;
    }
    #block-callback-on-page-service .right-block .btn {
        width: 170px;
        height: 40px;
    }
    #block-asked-question-on-service-page .block-title {
        margin-bottom: 15px;
    }
    .view-display-id-on_service_page .ui-accordion-content {
        font-size: 16px;
    }
    .view-display-id-on_service_page .view-content .views-row > .views-row:not(:last-child) {
        margin-bottom: 15px;
    }

}

@media screen and (max-width: 768px) {
    /***Страница услуги***/
    #block-image-on-page-service .views-field-nothing h1 {
        font-size: 28px;
    }
    #block-image-on-page-service a.place-an-order {
        width: 160px;
        height: 40px;
        font-size: 14px;
    }
    #block-image-on-page-service .approximate-price {
        font-size: 20px;
    }
    #block-image-on-page-service .text-block {
        padding: 10px;
        border-radius: 5px;
    }
    #block-image-on-page-service .views-field-field-banner-on-internal-page img {
        min-height: 350px;
    }
    #usluga .card-body {
        padding: 15px;
    }
    #table-page-service-block .views-label-field-cost-work-materials, #block-callback-on-page-service .header-callback, 
    #block-asked-question-on-service-page .block-title {
        font-size: 22px;
    }
    #table-page-service-block .table tr, #block-callback-on-page-service .text-callback {
        font-size: 14px;
    }
    #table-page-service-block .table > :not(caption) > * > * {
        padding: 8px;
    }
    #table-page-service-block .table {
        overflow: auto;
        display: block;
    }
    #table-page-service-block .views-field-field-cost-work-materials .field-content {
        margin-top: 10px;
    }
    #usluga .horizontal-tabs .field--name-field-name-type-work, 
    #usluga .horizontal-tabs .field--name-field-material-name {
        font-size: 14px;
    }
    .view-display-id-on_service_page .views-field-title {
        font-size: 16px;
    }
    .view-display-id-on_service_page .views-field-title .ui-icon {
        width: 30px;
        height: 30px;
        min-width: 30px;
        min-height: 30px;
    }
    .view-display-id-on_service_page .views-field-title .ui-icon-triangle-1-e,
    .view-display-id-on_service_page .views-field-title .ui-icon-triangle-1-s {
        background-size: contain;
    }
    .view-display-id-on_service_page .ui-accordion-content {
        font-size: 14px;
    }
}

@media screen and (max-width: 576px) {
    /***Страница услуги***/
    #block-image-on-page-service .views-field-nothing h1 {
        font-size: 26px;
    }
    #block-image-on-page-service .short-description {
        font-size: 14px;
    }
    #block-image-on-page-service a.place-an-order {
        width: 140px;
        height: 35px;
        font-size: 12px;
    }
    #block-image-on-page-service .approximate-price {
        font-size: 16px;
    }
    #block-image-on-page-service .bottom-text-block {
        flex-wrap: wrap;
    }
    #usluga .horizontal-tabs .field--name-field-description-material, 
    #usluga .horizontal-tabs .field--name-field-description-type-work {
        font-size: 14px;
    }
    #table-page-service-block .views-label-field-cost-work-materials, #block-callback-on-page-service .header-callback, 
    #block-asked-question-on-service-page .block-title {
        font-size: 18px;
    }
    #table-page-service-block .table tr, #block-callback-on-page-service .text-callback {
        font-size: 12px;
    }
    #block-callback-on-page-service .right-block .btn {
        width: 120px;
        height: 30px;
        font-size: 14px;
        min-width: fit-content;
    }
}