/*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: var(--color-white);
    color: #000;
    padding: 15px 5px;
    z-index: 50;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
}

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

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

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

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

.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);
}



/* 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;
    display: block;
    margin-right: auto;
    margin-left: auto;
}

/* PRODUCT PAGE STYLES*/




/*HEADER START*/
.top-header-line {
    gap: var(--gap);
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    line-height: 25px;
    padding-top: 25px;
}

.right-header-top {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
}

.right-header-top .col-adress, .right-header-top .col-contacts {
    flex: 0 0 auto;
    width: 50%;
}

.right-header-top .col-contacts {
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    column-gap: 15px;
    row-gap: 5px;
}

.right-header-top .col-contacts>a {
    /* margin-bottom: 15px; */
}

.right-header-top .col-contacts .mail {
    flex: 1 0 100%;
}

.right-header-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap);
    padding: 7px 0;
    border-top: 1px solid var(--color-black);
}


.right-header-bottom .nav .nav-item:first-child .nav-link {
    padding-left: 0px;
}

/*HEADER END*/
.btn-main {
    padding-left: 100px;
    padding-right: 100px;
}

section {
    border-radius: 40px;
}

.bricks {
    background: url(../image/bricks-bg.jpg) no-repeat center;
    background-size: cover;
}

/*TOP SECTION START*/
.top_section {
    padding-top: 200px;
    padding-bottom: 190px;
    background: url(../image/top-section-bg.png) no-repeat center;
    background-size: cover;
    color: var(--color-white);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.top_section h1 {
    margin-bottom: 36px;
}

.top_section p {

    font-size: 24px;
    line-height: 140%;
    font-weight: 600;
    margin: 0;
}

.top_section .btn-main {
    font-size: 20px;
    line-height: 27px;
    margin-top: 100px;
}

/*TOP SECTION END*/
/*ABOUT START*/
.about {
    padding-top: 70px;
    padding-bottom: 120px;
}

.about .region-about {
    height: 100%;
    display: flex;
    flex-direction: column;
}



.about .block-block-contentf4343818-8328-4122-8e1e-4372b35f6bbf {
    margin-top: auto;
}


.about .block-title {
    margin-bottom: 45px;
}

.about-line {
    display: flex;
    gap: calc(var(--gap) * 2);
    justify-content: space-between;
    flex-wrap: wrap;
}

.about-line .about-left,
.about-line .about-right {
    flex: 0 1 calc((100% - var(--gap)*2*1) / 2);
}

.about-left p {
    line-height: 142.5%;
    letter-spacing: 0.02em;
}

.about-right img {
    border-radius: 20px;
}

/*ABOUT END*/
/*BENEFITS START*/
.benefits {
    padding: 65px 0;
    background: #2874BA;
}

.benefits .block-title {
    color: var(--color-white);
    margin-bottom: 50px;
}

.benefits .view-content {
    display: flex;
    gap: calc(var(--gap) * 2);
    justify-content: space-between;
    flex-wrap: wrap;
}

.benefits .view-content .views-row {
    flex: 0 1 calc((100% - var(--gap)*2*2) / 3);
}

.benefits .benefits-card {
    background: var(--color-white);
    border-radius: 20px;
    padding: 45px 25px;
}

.benefits .benefits-card .field--type-image {
    text-align: center;
    margin-bottom: var(--gap);
}

/*BENEFITS END*/

/*PRODUCTS START*/

.products {
    padding: 120px 0;
}

.products .block-title {
    margin-bottom: 77px;
}

.views-infinite-scroll-content-wrapper.clearfix::after {
    display: none;
}

.products .view-content .views-infinite-scroll-content-wrapper,
main .view-content .views-infinite-scroll-content-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--gap) * 2);
    justify-content: center;
}

.view-content .views-row {
    flex: 0 1 calc((100% - var(--gap) * 2 * 3) / 4);
}

.product-card {
    padding: var(--gap);
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02), -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1), -1px 2px 5px rgba(0, 0, 0, 0.12);
    border-radius: 20px;

}

.product-card img {
    display: block;
    margin: 0 auto;
}

.product-card h4 {
    font-size: 18px;
    margin-bottom: 44px;
    margin-top: 17px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 44px;
}

.product-card .taxonomy-term--type-katalog-produktov {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* кнопка Подробнее у карточки */
.products .product-card .field--name-taxonomy-term-link,
main .product-card .field--name-taxonomy-term-link {
    margin-top: auto;
    margin-bottom: 7px;
}

.products .product-card .field--name-taxonomy-term-link>a,
main .product-card .field--name-taxonomy-term-link>a {
    width: 100%;
}

.products .product-card:first-child .field--name-taxonomy-term-link>a {
    color: var(--color-white);
    background: var(--color-accent);
    border-color: var(--color-accent);
    width: 100%;
}

.products .product-card:first-child .field--name-taxonomy-term-link>a:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
}

/* кнопка Смотреть все */

.products .js-pager__items,
main .js-pager__items {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    margin-top: 30px;
}

.products .view-footer, .certificates .view-footer, .gallery .view-footer, .reviews .view-footer {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    margin-top: 30px;
}

.products .more-link-page, .certificates .more-link-page, .gallery .more-link-page, .reviews .more-link-page {
    display: block;
    color: var(--color-white);
    background: var(--color-main);
    border-color: var(--color-main);
    border-radius: 15px;
    padding: 12px 80px;
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;
}

.products .more-link-page:hover,
.certificates .more-link-page:hover,
.gallery .more-link-page:hover,
.reviews .more-link-page:hover {
    background: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
}



main .js-pager__items .pager__item a {
    display: block;
    color: var(--color-white);
    background: var(--color-main);
    border-color: var(--color-main);
    border-radius: 15px;
    padding: 12px 80px;
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;
}

.products .js-pager__items .pager__item a:hover,
main .js-pager__items .pager__item a:hover {
    background: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
}

/* скрыла кнопку СМОТРЕТЬ ВСЕ */

.products .js-pager__items {
    display: none;
}

/* внутренняя страница карточки товара */
.taxonomy-term--type-katalog-produktov .group-right p {
    line-height: 1.5;
    font-size: 16px;
}

/*PRODUCTS END*/

/*SERVICES START*/
.services {
    padding: 65px 0;
    background: var(--bs-primary);
}

.services .block-title {
    color: var(--color-white);
    margin-bottom: 50px;
}

.services .view-content .views-infinite-scroll-content-wrapper {
    display: flex;
    gap: calc(var(--gap) * 2);
    justify-content: space-between;
    flex-wrap: wrap;
}

.services .view-content .views-infinite-scroll-content-wrapper:after {
    display: none;
}

.services .view-content .views-row, .view-services .view-content .views-row {
    flex: 0 1 calc((100% - var(--gap)*2*2) / 3);
}

.services-card .node--view-mode-teaser {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.services-card {
    background: var(--color-white);
    border-radius: 20px;
    padding: 45px 25px 25px;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 142.5%;
    letter-spacing: 0.02em;
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02), -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1), -1px 2px 5px rgba(0, 0, 0, 0.12);

}

/* .services .services-card {
    background: var(--color-white);
    border-radius: 20px;
    padding: 45px 25px 25px;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 142.5%;
    letter-spacing: 0.02em;
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02), -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1), -1px 2px 5px rgba(0, 0, 0, 0.12);

} */

.services-card h3 {
    font-size: 18px;
    margin-bottom: 30px;
}

.services-card .field--name-body {
    margin-bottom: var(--gap);
}

.services-card .field--name-node-link {
    margin-top: auto;
}

.services-card .field--name-node-link>a {
    width: 100%;
}

.services .view-footer {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    margin-top: 30px;
}

/* .services .js-pager__items {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    margin-top: 30px;
} */

.services .js-pager__items .pager__item {}

.services .more-link-page {
    display: block;
    color: var(--color-white);
    background: var(--color-accent);
    border-color: var(--color-accent);
    border-radius: 15px;
    padding: 12px 80px;
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;

}

/* .services .js-pager__items .pager__item a {
    display: block;
    color: var(--color-white);
    background: var(--color-accent);
    border-color: var(--color-accent);
    border-radius: 15px;
    padding: 12px 80px;
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;

} */

.services .js-pager__items .pager__item a:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
}



/* скрыла кнопку СМОТРЕТЬ ВСЕ */

.services .js-pager__items {
    display: none;
}

/*SERVICES END*/

/*GALLERY START*/
.gallery-section {
    padding: 60px 0;
    /* background: var(--color-white); */
}

.gallery-section .block-title {
    margin-bottom: 50px;
}

.gallery-section .view-content .views-infinite-scroll-content-wrapper {
    display: flex;
    gap: calc(var(--gap) * 2);
    justify-content: center;
    flex-wrap: wrap;
}

.gallery-section .view-content .views-infinite-scroll-content-wrapper:after {
    display: none;
}

.gallery-card.views-row {
    flex: 0 1 calc((100% - var(--gap)*2*2) / 3);
}

.gallery-card.views-row .views-field-field-media-image {
    height: 100%;
}

.gallery-card.views-row .views-field-field-media-image .field-content {
    height: 100%;
}

.gallery-card.views-row .views-field-field-media-image .field-content {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 20px;
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02),
        -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1),
        -1px 2px 5px rgba(0, 0, 0, 0.12);
    overflow: hidden;

}


/* .gallery-section .photoswipe-gallery {
    display: block;
    border-radius: 20px;
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02), -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1), -1px 2px 5px rgba(0, 0, 0, 0.12);

} */

.views-field-field-media-image .field-content img {
    display: block;
    /* border-radius: 20px;
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02),
        -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1),
        -1px 2px 5px rgba(0, 0, 0, 0.12); */
}


.gallery-section .photoswipe-gallery>a {
    display: block;
}


.gallery-section .js-pager__items {
    display: none;
}

.gallery-section .js-pager__items {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    margin-top: 30px;
}

.gallery-section .js-pager__items .pager__item {}

/* .gallery-section .js-pager__items .pager__item a {
    display: block;
    color: var(--color-white);
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    border-radius: 15px;
    padding: 12px 80px;
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;

}

.gallery-section .js-pager__items .pager__item a:hover {
    background: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);

} */


/* скрыла кнопку СМОТРЕТЬ ВСЕ */

.gallery-section .js-pager__items {
    display: none;
}

/*GALLERY END*/
/*CERTIFICATES START*/
.certificates {
    padding: 120px 0 60px 0;
}

.gallery {
    padding: 60px 0 120px 0;
}

.reviews {
    padding: 120px 0 60px 0;
}

/* .certificates .block-title {
    margin-bottom: 50px;
}

.certificates .view-content .views-infinite-scroll-content-wrapper {
    display: flex;
    gap: calc(var(--gap) * 2);
    justify-content: space-between;
    flex-wrap: wrap;
}

.certificates .view-content .views-infinite-scroll-content-wrapper:after {
    display: none;
}

.certificates .view-content .views-row {
    flex: 0 1 calc((100% - var(--gap)*2*2) / 3);
}


.certificates .photoswipe-gallery {
    display: block;
    border-radius: 20px;
    box-shadow: -13px 35px 15px rgba(0, 0, 0, 0.02), -7px 20px 13px rgba(0, 0, 0, 0.06), -3px 9px 9px rgba(0, 0, 0, 0.1), -1px 2px 5px rgba(0, 0, 0, 0.12);

}


.certificates .photoswipe-gallery>a {
    display: block;
}

.certificates .js-pager__items {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    margin-top: 30px;
}

.certificates .js-pager__items .pager__item {}

.certificates .js-pager__items .pager__item a {
    display: block;
    color: var(--color-white);
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    border-radius: 15px;
    padding: 13px 80px;
    font-size: 18px;
    font-weight: 600;
    line-height: 25px;

}

.certificates .js-pager__items .pager__item a:hover {
    background: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);


}

CERTIFICATES END */

/*FORM_BLOCK START*/
.form_block {
    padding: 80px 0;
    color: var(--color-white);
    background: #2874BA;
}

.form_block .block-title, .form_block p {
    text-align: center;
    margin-bottom: 10px;
}

.form_block .form-text {
    margin-top: 0;
}

.form_block .form-wrapper {
    display: flex;
    justify-content: center;
}

.form_block .webform-flexbox {
    margin-top: 38px;
    margin-bottom: 0;
}

.form-control {
    border-radius: 15px;
    padding: 12px 16px;
}

.form_block .form-control::placeholder {
    color: rgba(40, 116, 186, 0.3);
    font-weight: 600;
    font-size: 16px;
    font-family: 'OpenSans', sans-serif;

}

.form_block .form-type-checkbox .description a {
    color: var(--color-white);
}

.form_block .form-type-checkbox .description a:hover {
    color: var(--color-active-hover);
}

.form_block .form-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
}

/*FORM_BLOCK END*/

/*MAP START*/

.map {
    padding-top: 60px;
    padding-bottom: 120px;
}

.map-line {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    justify-content: space-between;
}

.map-left {
    border-radius: 20px;
    overflow: hidden;
    flex: 0 1 calc((60% - var(--gap)*0.5));
}

.map-right {
    border-radius: 20px;
    padding: 10px 30px;
    background: var(--bs-primary);
    color: var(--color-white);
    flex: 0 1 calc((40% - var(--gap)*0.5));
}

.map-right .contacts {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    border-bottom: 1px solid var(--color-white);
    margin-top: 25px;
    line-height: 142.5%;
    letter-spacing: 0.02em;
}

.map-right .contacts.contact-email {
    border-bottom: none;
}

.map-right .contact-icon {
    margin-left: 15px;
}

/* .map-right .contact-icon.map-pin {
    width: 30px;
    height: auto;
} */

.map-right .content {
    margin-bottom: 25px;
}

.map-right .content h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
}

.map-right .content span {
    font-size: 18px;
}

.map-right .content a {
    color: var(--color-white);
}

.map-right .content a:hover {
    color: var(--color-active-hover);
}

/*MAP END*/

/*FOOTER START*/

footer {
    background: #E2EEF9;
    padding: 57px 0 43px 0;
    margin-top: auto;
}

footer ul.nav {
    padding-top: 10px;
}

footer .contact-item.phone {
    padding-top: 15px;
}

footer .contacts {
    text-align: right;
}

footer .contact-item.mail {
    padding-top: 14px;
}

footer .row.row-copiryght {
    padding-top: 42px;
    line-height: 1.5;
    font-size: 13px;
}

/*FOOTER END*/