@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

/***Базовые стили***/
.page * {
    font-family: NotoSans;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
}
.page {
     background-color: #f9f8f8;
} 
#block-vesta-theme-knopkaskrollanaverkh {
    margin-bottom: 0;
}

/***Область перед шапкой***/
.region-pre-header {
    display: flex;
    justify-content: space-between;
    padding: 13px 0 10px;
    border-bottom: 1px solid #f1eeee;
    align-items: center;
}
#block-contacts-in-preheader .field--name-body {
    display: flex;
}
#block-contacts-in-preheader a.mail, #block-contacts-in-preheader .address {
    font-size: 16px;
    font-weight: normal;
    color: #0c0c0c;
    display: flex;
    align-items: center;
}
#block-contacts-in-preheader a.mail {
    margin-right: 25px;
}
#block-contacts-in-preheader a.mail::before, #block-contacts-in-preheader .address::before {
    margin-right: 10px;
    display: flex;
}
#block-contacts-in-preheader a.mail::before {
    content: url(../image/mail-preheader.svg);
}
#block-contacts-in-preheader .address::before {
    content: url(../image/location-preheader.svg);
}
#block-contacts-in-preheader a.mail:hover, #block-account-menu a:hover, #block-vesta-theme-kontakty a.tel:hover,
.cart-block--summary a:hover  {
    text-decoration: none;
    color: #972d2d;
}
#block-account-menu {
    background-color: transparent!important;
    margin: 0!important;
}
#block-account-menu a {
    font-size: 16px;
    font-weight: normal;
    color: #0c0c0c;
    padding: 0;
    width: fit-content;
}
#block-account-menu .navbar-nav {
    flex-direction: row;
    align-items: center;
    column-gap: 14px;

}
#block-account-menu .navbar-nav::after {
    content: url(../image/lk.svg);
}

/***Шапка***/
.header-block {
    padding: 18px 0 37px;
}
#block-vesta-theme-kontakty .field--name-body {
    display: flex;
    align-items: center;
}
#block-vesta-theme-kontakty a.tel {
    font-size: 24px;
    font-weight: 500;
    color: #000;
}
#block-vesta-theme-kontakty .btn-default {
    margin: 0 40px;
}
#block-vesta-theme-kontakty .messengers-block {
    display: flex;
    column-gap: 10px;
}
.cart-block--summary a {
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    color: #0c0c0c;
    padding: 13px 27px 15px 28px;
    border: solid 2px #8e0100;
}
.cart-block--summary a:hover {
    background-color: #feee73;
}
.cart-block--summary__count {
    margin: 0 10px 0 23px;
}

/***Слайдер***/
.slider-block {
    background-color: #972d2d;
    padding: 62px 0;
    margin-bottom: 0!important;
}
.node--type-slide.node--view-mode-default {
    display: flex;
}
.node--type-slide.node--view-mode-default > div {
    width: 50%;
}
.node--type-slide.node--view-mode-default .content {
    padding-top: 21px;
}
.slider-block .field--name-field-image {
    min-width: 608px;
    margin-left: 56px;
}
.slider-block button.slick-prev.slick-arrow,  #block-block-tovary-on-main button.slick-prev.slick-arrow,
#block-block-reviews-on-front button.slick-prev.slick-arrow, #block-block-tovary-on-product-page button.slick-prev.slick-arrow {
    left: -106px;
}
.slider-block button.slick-next.slick-arrow,  #block-block-tovary-on-main button.slick-next.slick-arrow,
#block-block-reviews-on-front button.slick-next.slick-arrow, #block-block-tovary-on-product-page button.slick-next.slick-arrow {
    right: -106px;
}
.slider-block button.slick-prev.slick-arrow::before, #block-block-tovary-on-main button.slick-prev.slick-arrow::before,
#block-block-reviews-on-front button.slick-prev.slick-arrow::before, #block-block-tovary-on-product-page button.slick-prev.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/prev-arrow.svg");
    transform: unset;
    opacity: 1;
}
.slider-block button.slick-next.slick-arrow::before, #block-block-tovary-on-main button.slick-next.slick-arrow::before,
#block-block-reviews-on-front button.slick-next.slick-arrow::before, #block-block-tovary-on-product-page button.slick-next.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/next-arrow.svg");
    transform: unset;
    opacity: 1;
}
.slider-block button.slick-arrow::before, #block-block-tovary-on-main button.slick-arrow::before,
#block-block-reviews-on-front button.slick-arrow::before, #block-block-tovary-on-product-page button.slick-arrow::before {
    width: 12px;
    height: 8px;
    background-size: contain;
}
.slider-block button.slick-arrow, #block-block-tovary-on-main button.slick-arrow,
#block-block-reviews-on-front button.slick-arrow, #block-block-tovary-on-product-page button.slick-arrow {
    width: 46px;
    height: 46px;
    background-color: #ca6767;
    border-radius: 100%;
}
.slider-block button.slick-arrow:hover, #block-block-tovary-on-main button.slick-arrow:hover,
#block-block-reviews-on-front button.slick-arrow:hover, #block-block-tovary-on-product-page button.slick-arrow:hover {
    border-color: #000;
    box-shadow: 0 0 3px 3px #fff;
    background-color: #972d2d;
}
.field--name-field-slide-title p {
    font-family: Lora;
    font-size: 48px;
    font-weight: 500;
    color: #fff;
}
.node--type-slide.node--view-mode-default .field--name-body {
    margin: 35px 0;
}
.node--type-slide.node--view-mode-default .field--name-body p {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.2;
    color: #fff;
}
.slider-block .slick-dots, #block-block-reviews-on-front .slick-dots {
    bottom: -24px;
    display: flex;
    column-gap: 5px;
}
.slider-block .slick-dots li, #block-block-reviews-on-front .slick-dots li {
    margin: 0;
}
.slider-block ul.slick-dots li, #block-block-reviews-on-front ul.slick-dots li {
    max-width: 13px;
    min-width: 13px;
    max-height: 13px;
    min-height: 13px;
}
.slider-block ul.slick-dots li button, #block-block-reviews-on-front ul.slick-dots li button {
    max-width: 13px;
    min-width: 13px;
    max-height: 13px;
    min-height: 13px;
    border-radius: 0;
    padding: 0;
    background: #ac4343;
}
.slider-block ul.slick-dots li.slick-active button, #block-block-reviews-on-front ul.slick-dots li.slick-active button {
  background: #feee73;
}

/***Заголовок H1 на главной***/
.front .main {
    margin-bottom: 0!important;
    padding: 70px 0;
}
.front #block-vesta-theme-page-title {
    margin-bottom: 50px;
}
.front #block-vesta-theme-page-title h1 {
    font-family: Lora;
    font-size: 60px;
    font-weight: 500;
    text-align: center;
    color: #0c0c0c;
    margin-bottom: 0;
}
.node--type-front.node--view-mode-full .field--name-body {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.2;
    text-align: center;
    color: #0c0c0c;
}

/***Блоки "Услуги" на главной"***/
.first-services-block, .second-services-block {
    margin-bottom: 0!important;
    background-size: cover;
    padding: 100px 0 100px;
    background-position-y: bottom;
}
.first-services-block {
    background-image: url(../image/first.jpg);
}
.second-services-block {
    background-image: url(../image/second.jpg);
}
.node--type-service.node--view-mode-teaser .field--name-node-title {
    font-family: Lora;
    font-size: 36px;
    font-weight: 500;
    color: #fff;
}
.node--type-service.node--view-mode-teaser .field--name-body {
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    margin: 50px 0;
}
.first-services-block .node--type-service.node--view-mode-teaser .field--name-body {
    max-width: 466px;
}
.second-services-block .node--type-service.node--view-mode-teaser .field--name-body {
    max-width: 783px;
}
.second-services-block .view-content {
    display: flex;
    justify-content: end;
}

/***Блок "Готовая продукция" на главной***/
.catalog-block, .similar-products-block  {
    margin-bottom: 0!important;
    padding: 70px 0 90px;
    background-color: #972d2d;
}
.view-id-tovary {
    position: relative;
}
#block-block-tovary-on-main .block-title, #block-block-reviews-on-front .block-title, #block-block-tovary-on-product-page .block-title {
    font-family: Lora;
    font-size: 48px;
    font-weight: 500;
    line-height: normal;
    color: #fff;
    margin-bottom: 50px;
}
#block-block-tovary-on-main .view-header, #block-block-reviews-on-front .view-header,
#block-block-news-on-front .view-header, #block-block-tovary-on-product-page .view-header {
    position: absolute;
    bottom: calc(100% + 50px);
    right: 0;
}
#block-block-tovary-on-main .view-header a, #block-block-reviews-on-front .view-header a,
#block-block-news-on-front .view-header a, #block-block-tovary-on-product-page .view-header a {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
}
#block-block-tovary-on-main .views-row, #block-block-tovary-on-product-page .views-row {
    margin: 0 15px;
}
#block-block-tovary-on-main .view-content, #block-block-tovary-on-product-page .view-content {
    margin: 0 -15px;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser {
    background-color: #fff;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser .field--name-quantity input {
    pointer-events: none;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser .field--name-quantity {
    display: none;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser .content {
    padding: 20px;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser .bottom-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 37px;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser .field--name-dynamic-token-fieldcommerce-product-price-product {
    font-size: 26px;
    font-weight: 500;
    color: #0c0c0c;
}
.commerce-order-item-add-to-cart-form .form-actions {
    margin-top: 0;
    margin-bottom: 0;
}
.commerce-product--view-mode-teaser .commerce-order-item-add-to-cart-form .button--add-to-cart {
    font-size: 0;
    background-image: url(../image/cart-icon.svg);
    background-size: cover;
    padding: 0;
    display: flex;
    width: 29px;
    height: 29px;
    border: none;
    background-color: transparent;
}
.commerce-product--view-mode-teaser .commerce-order-item-add-to-cart-form .btn-primary:hover, 
.commerce-product--view-mode-teaser .commerce-order-item-add-to-cart-form .btn-primary:focus {
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
}
.commerce-product--view-mode-teaser .field--name-dynamic-token-fieldcommerce-product-name-product a {
    font-size: 20px;
    font-weight: 500;
    color: #0c0c0c;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -moz-box;
    display: -webkit-box;
    line-clamp: 1;
    box-orient: vertical;
    -moz-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    min-height: 27px;
}
.commerce-product--type-vesta-product.commerce-product--view-mode-teaser .field--name-dynamic-token-fieldcommerce-product-name-product a:hover,
.node--type-news.node--view-mode-teaser .field--name-node-title a:hover {
    text-decoration: none;
    color: #972d2d;
}

/***Блок "Преимущества" на главной***/
.benefits-block {
    padding: 100px 0;
    margin-bottom: 0!important;
}
#block-block-benefits-on-front .block-title, #block-block-news-on-front .block-title {
    font-family: Lora;
    font-size: 48px;
    font-weight: 500;
    color: #0c0c0c;
    margin-bottom: 50px;
}
#block-block-benefits-on-front .view-content {
    display: flex;
    flex-wrap: wrap;
    column-gap: 50px;
    row-gap: 40px;
}
#block-block-benefits-on-front .views-row {
    width: calc(100% / 2 - 50px);
    flex-grow: 1;
}
#block-block-benefits-on-front .field--name-body {
    max-width: 380px;
}
#block-block-benefits-on-front .views-row:last-child .field--name-body {
    max-width: 740px;
}
#block-block-benefits-on-front .layout__region {
     display: flex;
}
.field--name-field-benefit-icon {
    margin-right: 32px;
}
.field--name-field-benefit-icon img {
    border-radius: 100%;
}
#block-block-benefits-on-front .field--name-block-title {
    font-size: 20px;
    font-weight: 600;
    color: #0c0c0c;
    margin-bottom: 19px;
}
#block-block-benefits-on-front .field--name-body {
    font-size: 20px;
    font-weight: 300;
    color: #0c0c0c;
}

/***Блок "Отзывы" на главной***/
.view-reviews {
    position: relative;
}
.reviews-block {
    margin-bottom: 0!important;
    padding: 70px 0 113px;
    background-image: url(../image/reviews-back.jpg);
    background-size: cover;
}
#block-block-reviews-on-front button.slick-arrow {
    background-color: rgba(255, 255, 255, 0.2);
}
#block-block-reviews-on-front .slick-dots {
    bottom: -30px;
    padding-left: 50px;
}
#block-block-reviews-on-front ul.slick-dots li button {
    background-color: rgba(255, 255, 255, 0.2);
}

/***Страница отзывов***/
.view-display-id-page_all_reviews .view-content {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.view-display-id-page_all_reviews .views-row {
    width: 100%;
    box-shadow: 0 0 3px 3px #972d2d;
}
.view-display-id-page_all_reviews .views-row img {
    width: 100%;
    height: auto;
}

/***Блок "Новости" на главной***/
.view-news {
    position: relative;
}
.news-block {
    margin-bottom: 0!important;
    padding: 70px 0;
}
#block-block-news-on-front .view-header a {
    color: #8e0100;
}
#block-block-news-on-front .view-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
}
#block-block-news-on-front .views-row {
    width: calc(100% / 3 - 30px);
}
.node--type-news.node--view-mode-teaser .field--name-field-date {
    font-size: 13px;
    font-weight: 500;
    color: #b4b4b4;
    margin: 10px 0;
}
.node--type-news.node--view-mode-teaser .field--name-node-title a {
    font-family: NotoSans;
    font-size: 20px;
    font-weight: 600;
    color: #0c0c0c;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -moz-box;
    display: -webkit-box;
    line-clamp: 2;
    box-orient: vertical;
    -moz-box-orient: vertical;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 54px;
}
.field--name-field-image-news img {
    width: 100%;
    height: auto;
}

/***Веб-форма на главной***/
.form-block {
    margin-bottom: 0!important;
    background-color: #972d2d;
    padding: 90px 0 110px;
}
#block-vesta-theme-web-form .block-title {
    font-family: Lora;
    font-size: 48px;
    font-weight: 500;
    line-height: normal;
    color: #fff;
    margin-bottom: 20px;
}
#block-vesta-theme-web-form #edit-subheader-form {
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    margin-top: 0;
    margin-bottom: 40px;
}
#block-vesta-theme-web-form #edit-content-form {
    margin-top: 0;
    margin-bottom: 20px;
}
#block-vesta-theme-web-form #edit-content-form .fieldset-wrapper {
    display: flex;
    align-items: center;
    column-gap: 30px;
    row-gap: 15px;
}
#block-vesta-theme-web-form #edit-content-form .fieldset-wrapper .form-item,
#block-vesta-theme-web-form #edit-content-form .fieldset-wrapper .form-actions {
    margin-top: 0;
    margin-bottom: 0;
}
#block-vesta-theme-web-form .form-control {
    height: 57px;
    border-radius: 0;
    border: 1px solid transparent;
    padding: 15px 20px;
    font-size: 20px;
    line-height: normal;
    color: #0c0c0c;
}
#block-vesta-theme-web-form .form-control::placeholder {
    color: #0c0c0c;
}
#block-vesta-theme-web-form .form-control:focus {
    border-color: #972d2d;
    box-shadow: 0 0 3px 3px #fff;
}
.webform-submission-callback-form .js-form-type-checkbox {
    display: flex;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
}
.webform-submission-callback-form .description {
    margin-left: 10px!important;
}
.webform-submission-callback-form .js-form-type-checkbox input {
    display: none;
}
.webform-submission-callback-form .js-form-type-checkbox label {
    display: block;
    background-color: #fff;
    width: 19px;
    height: 19px;
    font-size: 0;
    margin-bottom: 0;
    position: relative;
    cursor: pointer;
    border: 1px solid #972d2d;
}
.webform-submission-callback-form .js-form-type-checkbox label::after {
    display: none;
}
.webform-submission-callback-form .js-form-type-checkbox input:checked + label::before {
    content: '\2713';
    font-size: 18px;
    color: #972d2d;
    font-weight: 900;
    position: absolute;
    left: 2px;
    line-height: 1;
}
.webform-submission-callback-form #edit-privacy--description, .webform-submission-callback-form #edit-privacy--description a {
    font-size: 15px;
    font-weight: 300;
    color: #fff;
}

/***Подвал***/
#footer {
    padding: 50px 0 20px;
    margin-bottom: 0!important;
    background-color: #2f2f2f;
}
#footer .region-footer {
    flex-direction: row;
    justify-content: space-between;
    padding: 0;
}
.logo-footer {
    display: block;
    margin-bottom: 40px;
}
.copy-rights {
    display: flex;
    flex-direction: column;
    row-gap: 5px;
}
.copy-rights p, .copy-rights a {
    font-size: 15px;
    letter-spacing: 0.45px;
    color: #938d8d;
    white-space: nowrap;
}
.copy-rights a:hover {
    text-decoration: none;
    color: #fff;
}
#block-vesta-theme-osnovnayanavigaciya-3 {
    width: fit-content;
}
#superfish-main--2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 83px;
    row-gap: 30px;
    width: fit-content;
}
#superfish-main--2 li {
    width: fit-content;
}
#superfish-main--2 li a {
    padding: 0;
    font-size: 20px;
    font-weight: 500;
    color: #fff;
}
#block-contacts-footer .top-block {
    display: flex;
    flex-direction: column;
    row-gap: 15px;
    margin-bottom: 35px;
}
#block-contacts-footer .top-block a, #block-contacts-footer .top-block .address {
    font-size: 20px;
    color: #fff;
}
#block-contacts-footer .top-block a:hover {
    color: #fff;
}
#block-contacts-footer .top-block a.tel, #block-contacts-footer .top-block a.mail, #block-contacts-footer .top-block .address {
    display: flex;
    column-gap: 23px;
}
#block-contacts-footer .top-block a.tel::before {
    content: url(../image/phone-f.svg);
}
#block-contacts-footer .top-block a.mail::before {
    content: url(../image/mail-f.svg);
}
#block-contacts-footer .top-block .address::before {
    content: url(../image/location-f.svg);
}
#block-contacts-footer .bottom-block {
    display: flex;
    align-items: center;
    column-gap: 20px;
}
#block-contacts-footer .messengers-block {
    display: flex;
    align-items: center;
    column-gap: 10px;
}
.vesta_backlink {
    margin-top: 50px; 
}
.vesta_backlink .container {
    padding-top: 20px;
    border-top: 1px solid #404040;
    text-align: center;
}
a.vesta {
    font-size: 15px;
    letter-spacing: 0.45px;
    color: #938d8d;
}
a.vesta:hover {
    color: #fff;
    text-decoration: none;
}

/***Внутренняя страница товара***/
.body-product-type--vesta_product .main {
    margin-bottom: 109px!important;
}
.commerce-product--view-mode-full .top-block {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}
.commerce-product--view-mode-full .top-block > div {
    width: 50%;
}
.commerce-product--view-mode-full .left-block {
    max-width: 551px;
    display: flex;
    column-gap: 11px;
    justify-content: space-between;
}
.commerce-product--view-mode-full .right-block {
    padding: 30px 20px 30px 22px;
    min-width: 620px;
}
.commerce-product--view-mode-full .bottom-block {
    max-width: 1170px;
    margin-top: 50px;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider {
    font-size: 0;
    max-width: 70px;
    min-height: 448px;
    display: flex!important;
    align-items: center;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider .slick-list {
    max-height: 389px;
    padding: 0!important;
    display: flex;
    align-items: center;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider .slick-slide {
    margin: 5px 0;
    width: 70px;
    min-height: 70px;
    max-height: 70px;
    cursor: pointer;
    object-fit: cover;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider button.slick-arrow {
    width: 70px;
    height: 19px;
    background-color: #e8e8e8;
    z-index: 1;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider button.slick-arrow:hover {
    background-color: #8e0100;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider .slick-prev {
    top: 0;
    left: 0;
    right: 0;
    transform: none;
 }
.field--name-dynamic-token-fieldcommerce-product-additional-slider button.slick-next.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/down.svg");
    transform: none;
    background-size: auto;
    opacity: 1;
 }
.field--name-dynamic-token-fieldcommerce-product-additional-slider .slick-next {
    top: unset;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider button.slick-prev.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/up.svg");
    transform: none;
    background-size: auto;
    opacity: 1;
}
.commerce-product--view-mode-full .field--name-field-image-product-view .slick-list {
    max-width: 470px;
}
.field--name-dynamic-token-fieldcommerce-product-additional-slider button.slick-arrow::before {
    width: 19px;
    height: 19px;
}
.field--name-dynamic-token-fieldcommerce-product-name-product-inner h1 {
    font-family: Lora;
    font-size: 36px;
    font-weight: 500;
    color: #0c0c0c;
    margin-bottom: 0;
}
.commerce-product--view-mode-full .field--name-dynamic-token-fieldcommerce-product-price-product {
    padding: 14px 466px 13px 30px;
    background-color: #e8e8e8;
    font-size: 26px;
    font-weight: 500;
    color: #0c0c0c;
    margin: 58px 0 20px;
}
.commerce-product--view-mode-full .field--name-field-technical-characteristics {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.2;
    color: #0c0c0c;
    max-height: 105px;
    overflow: auto;
    margin-bottom: 47px;
}
.commerce-product--view-mode-full .field--name-field-technical-characteristics > div:not(:last-child) {
    margin-bottom: 10px;
}
.paragraph--type-technical-characteristics {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.paragraph--type-technical-characteristics  > div {
    white-space: nowrap;
}
.field--name-dynamic-token-fieldparagraph-separator {
    width: 100%;
    margin: 0 10px;
}
.field--name-dynamic-token-fieldparagraph-separator hr {
    margin-top: 5px;
    margin-bottom: 0;
    border-top: 1px solid #ededed;
}
.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form {
    display: flex;
}
.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form .form-actions {
    order: 1;
    margin-left: 20px;
}
.commerce-product--view-mode-full .commerce-order-item-add-to-cart-form #edit-quantity-wrapper {
    order: 2;
}
.commerce-product--view-mode-full .form-type-number {
    margin-top: 0;
    margin-bottom: 0;
}
.form-type-number label {
    display: none;
}
.form-type-number .quantity-wrapper {
    display: flex;
    align-items: center;
}
.form-type-number .quantity-wrapper span {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 57px;
    height: 57px;
    background-color: #f0f0f0;
    position: relative;
}
.form-type-number .quantity-wrapper span:hover {
    background-color: #972d2d;
}
.form-type-number .quantity-wrapper input {
    appearance: textfield;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
}
.form-type-number .quantity-wrapper .form-control {
    width: 57px;
    height: 57px;
    padding: 3px;border-radius: 0;
    border: solid 1px #e8e8e8;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
    color: #0c0c0c;
    z-index: 1;
}
.form-type-number .quantity-wrapper .form-control:focus {
    box-shadow: 0 0 3px 3px #feee73;
}
.decrement-btn::before, .increment-btn::before {
    content: ''; 
    display: block;
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center;
}
.decrement-btn::before {
    background-image: url(../image/minus.svg);
}
.increment-btn::before {
    background-image: url(../image/plus.svg);
}
.commerce-product--view-mode-full .field--name-body .field__label {
    font-size: 24px;
    font-weight: 600;
    color: #0c0c0c;
    margin-bottom: 20px;
}
.commerce-product--view-mode-full .field--name-body .field__item {
    font-size: 20px;
    font-weight: 300;
}

/***Страница корзины***/
.view-id-commerce_cart_form .form-actions {
    display: flex;
    align-items: center;
    column-gap: 10px;
}
.view-id-commerce_cart_form .form-actions .js-hide {
    display: flex;
}
.view-id-commerce_cart_form .table td {
    vertical-align: middle;
}
.cart-form .commerce-product--view-mode-token.ds-1col {
    display: flex;
    align-items: center;
    width: fit-content;
}
.cart-form .commerce-product--view-mode-token.ds-1col .field--name-field-image-product-view {
    margin-right: 15px;
}
.cart-form .commerce-product--view-mode-token.ds-1col .field--name-field-image-product-view img {
    height: 60px;
    width: 60px;
    object-fit: contain;
}
.cart-form .commerce-product--view-mode-token.ds-1col .field--name-title a {
    font-size: 20px;
    font-weight: 500;
    color: #0c0c0c;
}

/***Страница всех товаров***/
.view-display-id-page_1 .field--name-field-image-product-view img {
    width: 100%;
    height: auto;
}
.view-display-id-page_1 .view-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, 280px);
    gap: 15px;
    justify-content: space-between;
}

/***Страница каталога***/
.taxonomy-term--view-mode-teaser .field--name-taxonomy-term-title a {
    font-size: 24px;
    font-weight: 600;
    color: #0c0c0c;
}
.taxonomy-term--view-mode-teaser .field--name-taxonomy-term-title a:hover {
    text-decoration: none;
    color: #8e0100;
}

/***Страница раздела каталога***/
.view-id-tovary.view-display-id-page_2 .view-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 15px;
}
.view-id-tovary.view-display-id-page_2 .view-content img {
    width: 100%;
    object-fit: contain;
}

/***Страница поиска***/
#search-api-page-block-form-search .form-control {
    height: 55px;
    border-radius: 0;
}
#search-api-page-block-form-search .form-control:focus {
    border-color: #000;
    box-shadow: 0 0 3px 3px #8e0100;
}

/***Страница услуг***/
.field--name-node-title a {
    font-size: 18px;
    font-weight: 500;
    color: #0c0c0c;
}
.field--name-node-title a:hover {
    color: #972d2d;
    text-decoration: none;
}

/***************************************************Адаптивные стили************************************************/
@media screen and (max-width:1200px) {
    /***Область перед шапкой***/
    .region-pre-header {
        padding: 5px 0;
    }

    /***Шапка***/
    #block-vesta-theme-kontakty a.tel {
       font-size: 18px; 
    }
    #block-vesta-theme-kontakty .btn-default {
        margin: 0 20px;
    }
    .btn:not(.btn-primary) {
        padding: 10px 15px!important;
    }
    .cart-block--summary a {
        padding: 10px 15px;
        font-size: 18px;
    }
    .cart-block--summary__icon img {
        width: 20px;
    }
    .cart-block--summary__count {
        margin: 0 10px;
    }
    #block-vesta-theme-kontakty .messengers-block {
        column-gap: 5px;
    }
    #block-vesta-theme-logo img {
        width: 150px;
    }
    .header-block {
        padding: 15px 0 20px;
    }
    .region-navigation {
        padding: 10px 0!important;
    }
    #superfish-main li a {
        font-size: 18px!important;
    }
    #superfish-main li:not(:last-child) {
        margin-right: 30px!important;
    }
    #block-search-icon img {
        width: 20px;
    }

    /***Слайдер***/
    .slider-block {
        padding: 20px 0;
    }
    .slider-block .field--name-field-image {
        min-width: auto;
        margin-left: 20px;
    }
    .field--name-field-slide-title p {
        font-size: 40px;
    }
    .node--type-slide.node--view-mode-default .content {
        padding-top: 0;
    }
    .node--type-slide.node--view-mode-default .field--name-body {
        margin: 15px 0;
    }

    /***Заголовок H1 на главной***/
    .front .main {
        padding: 30px 0;
    }
    .front #block-vesta-theme-page-title {
        margin-bottom: 25px;
    }
    .front #block-vesta-theme-page-title h1 {
        font-size: 55px;
    }

    /***Блоки "Услуги" на главной"***/
    .first-services-block, .second-services-block {
        padding: 20px 0;
    }
    .node--type-service.node--view-mode-teaser .field--name-body {
        margin: 20px 0;
    }

    /***Блок "Готовая продукция" на главной***/
    .catalog-block, .similar-products-block {
        padding: 20px 0;
    }
    #block-block-tovary-on-main .block-title, #block-block-reviews-on-front .block-title, 
    #block-block-tovary-on-product-page .block-title, #block-block-benefits-on-front .block-title, 
    #block-block-news-on-front .block-title, #block-vesta-theme-web-form .block-title {
        font-size: 40px;
        margin-bottom: 20px;
    }
    #block-block-tovary-on-main button.slick-next.slick-arrow, 
    #block-block-reviews-on-front button.slick-next.slick-arrow, #block-block-tovary-on-product-page button.slick-next.slick-arrow {
        right: -5px;
    }
    #block-block-tovary-on-main button.slick-prev.slick-arrow, 
    #block-block-reviews-on-front button.slick-prev.slick-arrow, #block-block-tovary-on-product-page button.slick-prev.slick-arrow {
        left: -5px;
    }
    #block-block-tovary-on-main .views-row, #block-block-tovary-on-product-page .views-row {
        margin: 0 5px;
    }
    #block-block-tovary-on-main .view-content, #block-block-tovary-on-product-page .view-content {
        margin: 0 -5px;
    }
    #block-block-tovary-on-main .view-header, #block-block-reviews-on-front .view-header, #block-block-news-on-front .view-header, 
    #block-block-tovary-on-product-page .view-header {
        bottom: calc(100% + 30px);
    }

    /***Блок "Преимущества" на главной***/
    .benefits-block {
        padding: 30px 0;
    }
    .field--name-field-benefit-icon img {
        width: 80px;
    }
    #block-block-benefits-on-front .field--name-block-title {
        margin-bottom: 10px;
    }

    /***Блок "Отзывы" на главной***/
    .reviews-block, .news-block, .form-block {
        padding: 30px 0;
    }

    /***Веб-форма на главной***/
    #block-vesta-theme-web-form .block-title {
        margin-bottom: 10px;
    }
    #block-vesta-theme-web-form #edit-subheader-form {
        margin-bottom: 10px;
    }

    /***Подвал***/
    #block-contacts-footer .top-block a, #block-contacts-footer .top-block .address, .copy-rights p, .copy-rights a {
       width: fit-content; 
   }
    .vesta_backlink {
        margin-top: 20px;
    }

    /***Внутренняя страница товара***/
    .field--name-dynamic-token-fieldcommerce-product-name-product-inner h1 {
        font-size: 30px;
    }
    .commerce-product--view-mode-full .right-block {
        padding: 10px;
        min-width: auto;
    }
    .commerce-product--view-mode-full .field--name-dynamic-token-fieldcommerce-product-price-product {
        padding: 10px;
        font-size: 20px;
        margin: 15px 0 15px;
    }
    .commerce-product--view-mode-full .field--name-field-technical-characteristics {
        font-size: 18px;
    }
    .commerce-product--view-mode-full .top-block > div {
        width: max-content;
    }
    .commerce-product--view-mode-full .left-block {
        max-width: fit-content;
    }
    .commerce-product--view-mode-full .field--name-field-image-product-view .slick-list {
        max-width: 480px;
    }
    .commerce-product--view-mode-full .field--name-field-technical-characteristics {
        margin-bottom: 20px;
    }
    .commerce-product--view-mode-full .bottom-block {
        margin-top: 20px;
    }
    .body-product-type--vesta_product .main {
        margin-bottom: 30px !important;
    } 
}

@media screen and (max-width:991px) {
    /***Шапка***/
    #block-vesta-theme-logo img {
        width: 110px;
    }
    #block-vesta-theme-kontakty a.tel {
        font-size: 16px;
    }
    .btn:not(.btn-primary) {
        font-size: 18px!important;
    }

    /***Слайдер***/
    .field--name-field-slide-title p {
        font-size: 30px;
    }
    .node--type-slide.node--view-mode-default .field--name-body p {
        font-size: 16px;
    }
    .node--type-slide.node--view-mode-default .field--name-body p br {
        display: none;
    }

    /***Заголовок H1 на главной***/
    .front #block-vesta-theme-page-title h1 {
        font-size: 50px;
    }
    .node--type-front.node--view-mode-full .field--name-body br {
        display: none;
    }

    /***Блоки "Услуги" на главной"***/
    .node--type-service.node--view-mode-teaser .field--name-node-title {
        font-size: 30px;
    }
    .node--type-service.node--view-mode-teaser .field--name-body {
        font-size: 18px;
    }
    .node--type-service.node--view-mode-teaser .field--name-body br {
        display: none;
    }

    /***Блок "Готовая продукция" на главной***/
    #block-block-tovary-on-main .block-title, #block-block-reviews-on-front .block-title, 
    #block-block-tovary-on-product-page .block-title, #block-block-benefits-on-front .block-title, 
    #block-block-news-on-front .block-title, #block-vesta-theme-web-form .block-title {
        font-size: 35px;
    }
    #block-block-tovary-on-main .view-header, #block-block-reviews-on-front .view-header, #block-block-news-on-front .view-header, 
    #block-block-tovary-on-product-page .view-header {
        bottom: calc(100% + 25px);
    }
    .commerce-product--view-mode-teaser .field--name-dynamic-token-fieldcommerce-product-name-product a {
        font-size: 16px; 
    }
    .commerce-product--type-vesta-product.commerce-product--view-mode-teaser .bottom-block {
        margin-top: 10px;
    }
    .commerce-product--type-vesta-product.commerce-product--view-mode-teaser .field--name-dynamic-token-fieldcommerce-product-price-product {
        font-size: 22px;
    }

    /***Блок "Преимущества" на главной***/
    #block-block-benefits-on-front .view-content {
        gap: 20px;
    }
    #block-block-benefits-on-front .views-row {
        width: calc(100% / 2 - 20px);
    }
    .field--name-field-benefit-icon img {
        width: 70px;
    }
    #block-block-benefits-on-front .field--name-body {
        font-size: 18px;
    }

    /***Блок "Новости" на главной***/
    .node--type-news.node--view-mode-teaser .field--name-node-title a {
        font-size: 18px;
    }
    #block-block-news-on-front .view-content {
        gap: 10px;
    }
    #block-block-news-on-front .views-row {
        width: calc(100% / 3 - 10px);
    }

    /***Веб-форма на главной***/
    #block-vesta-theme-web-form #edit-content-form .fieldset-wrapper {
        column-gap: 10px;
    }

    /***Подвал***/
    #superfish-main--2 {
        column-gap: 20px;
        row-gap: 10px;
    }
    #block-vesta-theme-osnovnayanavigaciya-3 {
        margin: 0 10px;
    }
    #block-contacts-footer .top-block a.tel, #block-contacts-footer .top-block a.mail, 
    #block-contacts-footer .top-block .address {
        column-gap: 10px;
    }
    #superfish-main--2 {
        grid-template-columns: repeat(1, 1fr);
    }

    /***Внутренняя страница товара***/
    .commerce-product--view-mode-full .top-block {
        flex-wrap: wrap;
    }
    .commerce-product--view-mode-full .top-block > div {
        width: 100%;
    } 
    .commerce-product--view-mode-full .field--name-field-image-product-view .slick-list {
        max-width: 655px;
        max-height: 480px;
    }
    .slick-slide img {
        object-fit: cover;
        max-height: 480px; 
    }
}

@media screen and (max-width:768px) {
    /***Шапка***/
    .pre-header-block {
        display: none;
    }
    #block-vesta-theme-logo-2 img {
        width: 100px;
    }
    #open-mobile-menu circle {
        stroke: #8e0100;
    }
    #open-mobile-menu path {
        fill: #8e0100;
    }
    #mm-blocker {
        background: #8e0100;
        opacity: 0.3;
    }

    /***Слайдер***/
    .field--name-field-slide-title p {
        font-size: 20px;
    }
    .node--type-slide.node--view-mode-default .field--name-body p {
        font-size: 14px;
    }
    .slider-block .field--name-field-image {
        margin-left: 10px;
    }

    /***Заголовок H1 на главной***/
    .front #block-vesta-theme-page-title h1 {
        font-size: 40px;
    }
    .node--type-front.node--view-mode-full .field--name-body {
        font-size: 18px;
    }

    /***Блок "Готовая продукция" на главной***/
    #block-block-tovary-on-main .block-title, #block-block-reviews-on-front .block-title, 
    #block-block-tovary-on-product-page .block-title, #block-block-benefits-on-front .block-title, 
    #block-block-news-on-front .block-title, #block-vesta-theme-web-form .block-title {
        font-size: 30px;
    }

    /***Блок "Преимущества" на главной***/
    #block-block-benefits-on-front .views-row {
        width: 100%;
    }
    #block-block-benefits-on-front .field--name-body {
        max-width: fit-content;
    }
    .field--name-field-benefit-icon {
        margin-right: 15px;
    }

    /***Блок "Новости" на главной***/
    #block-block-news-on-front .views-row:last-child {
        display: none;
    }
    #block-block-news-on-front .views-row {
        width: calc(100% / 2 - 10px);
    }

    /***Веб-форма на главной***/
    #block-vesta-theme-web-form #edit-subheader-form {
       font-size: 18px; 
    }
    #block-vesta-theme-web-form #edit-content-form .fieldset-wrapper {
        flex-wrap: wrap;
    }

    /***Подвал***/
    #block-vesta-theme-osnovnayanavigaciya-3 {
        display: none;
    }
    #block-contacts-footer .top-block a, #block-contacts-footer .top-block .address {
       font-size: 18px; 
    }
    .vesta_backlink .container {
        padding-top: 10px;
    }
    #footer {
        padding: 20px 0 10px;
    }
    .mapContainer {
        max-height: 300px;
    }

    /***Внутренняя страница товара***/
    .not-front .mm-page {
        padding-top: 95px;
    }
    .commerce-product--view-mode-full .field--name-field-image-product-view .slick-list {
        max-width: 465px;
    }
    .field--name-dynamic-token-fieldcommerce-product-additional-slider {
        min-height: 443px;
    }

}

@media screen and (max-width:576px) {
    /***Слайдер***/
    .node--type-slide.node--view-mode-default {
        flex-wrap: wrap;
        row-gap: 10px;
    }
    .node--type-slide.node--view-mode-default > div {
        width: 100%;
    }
    .slider-block .field--name-field-image {
        margin-left: 0;
    }

    /***Блок "Готовая продукция" на главной***/
    #block-block-tovary-on-main .view-header, #block-block-reviews-on-front .view-header, 
    #block-block-news-on-front .view-header, #block-block-tovary-on-product-page .view-header {
        position: relative;
        margin-bottom: 10px;
    }
    #block-block-tovary-on-main .view-header a, #block-block-reviews-on-front .view-header a, 
    #block-block-news-on-front .view-header a, #block-block-tovary-on-product-page .view-header a {
        font-size: 16px;
    }

    /***Блок "Новости" на главной***/
    #block-block-news-on-front .views-row {
        width: 100%;
    }
    .node--type-news.node--view-mode-teaser .field--name-node-title a {
        min-height: 35px;
    }

    /***Подвал***/
    #footer .region-footer {
        flex-wrap: wrap;
        row-gap: 15px;
    }

    /***Внутренняя страница товара***/
    .field--name-dynamic-token-fieldcommerce-product-additional-slider {
        max-width: 40px;
    }
    .field--name-dynamic-token-fieldcommerce-product-additional-slider button.slick-arrow {
        width: 40px;
    }
    .field--name-dynamic-token-fieldcommerce-product-additional-slider .slick-slide {
        min-height: 40px;
    }
    .commerce-product--view-mode-full .field--name-field-image-product-view .slick-list {
        max-width: 290px;
    }
    .field--name-dynamic-token-fieldcommerce-product-additional-slider {
        min-height: 266px;
    }
    .field--name-dynamic-token-fieldcommerce-product-additional-slider .slick-list {
        max-height: 270px;
    }
    .field--name-dynamic-token-fieldcommerce-product-name-product-inner h1 {
        font-size: 25px;
    }
    .commerce-product--view-mode-full .field--name-field-technical-characteristics {
        font-size: 16px;
    }
    .commerce-product--view-mode-full .field--name-field-technical-characteristics {
        max-height: 80px;
    }
    .commerce-product--view-mode-full .field--name-body .field__item {
        font-size: 18px;
    }
    .commerce-product--view-mode-full .field--name-body .field__label {
        font-size: 20px;
        margin-bottom: 10px;
    }


}

@media screen and (max-width:420px) {
    /***Шапка***/
    #block-vesta-theme-logo-2 {
        display: none;
    }
}
