:root {
  --bs-body-font-family: "Manrope", sans-serif;
  --bs-body-color: #000;
  --bs-body-font-weight: 500;
  --bs-link-hover-color: #fbdc1a;
  --bs-h1-front: 58px;
  --bs-h1: 42px;
  --bs-block-title-size: 48px;
  --bs-title-block-slider: 36px;
  --bs-desc-block-slider: 36px;
  --bs-padding-slider: 81px 0 38px;
  --bs-padding-slider-block: 43px 193px 50px;
  --bs-padding-top-catalog: 45px;
  --bs-padding-about: 49px 0 36px;
  --bs-padding-form: 38px 51px 44px;
  --bs-padding-benefits-block: 65px 0 73px;
  --bs-padding-form-block: 85px;
  --bs-padding-reviews-block: 45px 0 54px;
  --bs-padding-reviews-item: 45px 30px;
  --bs-padding-gallery: 59px 0 66px;
  --bs-margin-bottom-reviews-body: 43px;
  --bs-padding-reviews-header: 0 0 42px 58px;
  --bs-margin-top-footer-block: 38px;
  --bs-border-radius: 10px;
  .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-bg-type: #fbdc1a33;
  }
  footer .nav-link {
    --bs-footer-nav-link-font-size: 16px;
    --bs-footer-nav-link-font-weight: 500;
    --bs-footer-nav-link-color: #fff;
    --bs-footer-nav-active-link-color: #fbdc1a;
    --bs-footer-nav-link-padding: 0 0 5px;
  }
  .nav-link {
    --bs-nav-link-font-size: 18px;
    --bs-nav-link-font-weight: 600;
    --bs-nav-link-color: #000;
  }
  .nav {
    --bs-nav-link-padding-x: 24px;
    --bs-nav-link-padding-y: 18px;
  }
  .dropdown-menu {
    --bs-dropdown-link-active-bg: #fbdc1a;
    --bs-dropdown-link-active-color: #000000;
  }
  .btn-primary {
    --bs-btn-color: #000;
    --bs-btn-bg: #fbdc1a;
    --bs-btn-border-color: #fbdc1a;
    --bs-btn-hover-color: ##000;
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #000;
    --bs-btn-focus-shadow-rgb: transparent;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #fff;
    --bs-btn-active-border-color: #000;
    --bs-btn-active-shadow: inset 0 3px 5px #fbdc1a;
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: #fbdc1a;
  }
}
.front h1 {
  font-size: var(--bs-h1-front);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 35px;
}
.not-front h1 {
  font-size: var(--bs-h1);
  margin-bottom: 30px;
}
.block-title {
  font-size: var(--bs-block-title-size);
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
}
a {
  text-decoration: none;
  color: #000;
}

button.slick-prev.slick-arrow::before {
  background-image: url(/sites/all/themes/vesta_theme/image/arrows-slick.svg);
  transform: rotate(-180deg);
}
button.slick-next.slick-arrow::before {
  background-image: url(/sites/all/themes/vesta_theme/image/arrows-slick.svg);
  transform: none;
}
button.slick-arrow::before {
  width: 55px;
  height: 55px;
}
button.slick-arrow {
  width: 55px;
  height: 55px;
}
button.slick-next.slick-arrow {
  right: 16px;
}
button.slick-prev.slick-arrow {
  left: 16px;
}

#scrollToTop {
  right: 12px;
}

.not-front main#main {
  margin: 25px 0 50px;
}
.form-control:focus {
  border-color: #fbdc1a;
  outline: 0;
  box-shadow: 0 0 0 0.25rem #fbdd1a5b;
}
/* header */
header .logo {
  width: 147px;
  margin-bottom: -71px;
  z-index: 10;
}
header .logo img {
  width: 100%;
}
.col-social {
  width: 150px;
}
header .col-contacts {
  gap: 32px;
  width: 438px;
  color: #fff;
}
.header-top {
  background-color: #000;
}
.contact,
.contact a,
.col-phone a {
  color: #fff;
  text-decoration: none;
}
.contact a:hover,
.col-phone a:hover {
  color: #fbdc1a;
}

header .col-phone {
  font-size: 18px;
  font-weight: 600;
  width: 128px;
}
header .region-navigation {
  padding-left: 152px;
  width: 98%;
  box-sizing: border-box;
}
.col-cart {
  width: 26px;
}
a.btn-callback,
.ui-dialog-buttonset button {
  background-color: #fbdc1a;
  text-align: center;
  color: #000;
  border-radius: 10px;
  border: 1.3px solid #fbdc1a;
  box-sizing: border-box;
  padding: 10px;
  display: block;
}
a.btn-callback:hover,
.ui-dialog-buttonset button:hover,
a.btn-callback:first-child:active {
  border-color: #000;
  background-color: #fff;
  color: #000;
  box-shadow: none;
}
.col-callback {
  width: 169px;
}

.header-bottom {
  background: #fff;
}
.js-search-btn {
  background: url(/sites/all/themes/vesta_theme/image/search.svg) center center
    no-repeat;
  color: transparent;
  border: none;
  width: 20px;
}
button.js-search-btn.active {
  background: url(/sites/all/themes/vesta_theme/image/close.png) center center
    no-repeat;
  background-size: contain;
}
#header .region-search {
  display: none;
}
#header .region-search.active {
  display: block;
  position: absolute;
  top: 13px;
  left: auto;
  right: 40px;
  z-index: 10;
}
.search-form__submit,
.search-form__submit:hover,
.search-form__submit:active,
.search-form__submit:first-child:active,
.search-form__submit:focus-visible,
.search-form__submit:focus,
.search-form__submi:not(:disabled):not(.disabled).active {
  color: transparent;
  background-color: #fff;
  border: none;
  background-image: url(/sites/all/themes/vesta_theme/image/search.svg);
  background-repeat: no-repeat;
  background-position: center center;
  width: 35px;
  height: 35px;
}
.col-navigation {
  position: relative;
}
.form-search {
  width: 235px;
}
.form-search:focus {
  box-shadow: 0 0 0 0.25rem #fbdc1a40;
}
.search-api-page-block-form-search {
  position: relative;
  width: max-content;
}
.search-api-page-block-form-search .form-actions {
  position: absolute;
  right: 1px;
  top: 1px;
}
.dropdown-toggle::after {
  display: none;
}
/*end header */

/* slider */
.node--type-slide {
  position: relative;
  padding: var(--bs-padding-slider);
}
.node--type-slide .blazy--field-image {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.media--blazy.media--image {
  width: 100%;
  height: 100%;
}
.media--blazy.media--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
div#slider-block
  .view.view-slayder.view-id-slayder
  .view-content
  .node--type-slide
  .content {
  position: relative;
  color: #000;
}

.node--type-slide .field--name-node-title {
  z-index: 10;
  position: relative;
  text-align: center;
  width: 1164px;
  margin: 0 auto 75px;
}
.paragraph--type--block-slider {
  padding: var(--bs-padding-slider-block);
  text-align: center;
  background-color: #fbdc1a6e;
}
.field--name-field-title-block-slider {
  font-size: var(--bs-title-block-slider);
  font-weight: 700;
  text-transform: uppercase;
}
.field--name-field-desc-block-slide {
  font-size: var(--bs-desc-block-slider);
  font-weight: 600;
}
ul.slick-dots {
  gap: 12px;
  margin: 36px 0 0;
}
.field--name-field-block-slider ul.slick-dots li button {
  background: #fbdc1a7d;
  width: 11px;
  height: 11px;
}
.field--name-field-block-slider ul.slick-dots li.slick-active button {
  background: #fbdc1a;
}
/* end slider */

/* каталог */
.catalog-block {
  padding-top: var(--bs-padding-top-catalog);
}
.catalog-block .block-title {
  margin-bottom: 35px;
}
.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser,
.node--type-services.node--view-mode-teaser {
  padding: 213px 0 5px;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column-reverse;
}
.taxonomy-term--type-catalog .field--name-taxonomy-term-title,
.node--type-services.node--view-mode-teaser .field--name-node-title {
  text-align: center;
  /* min-height: 190px; */
  width: 80%;
  margin: 0 auto;
  background-color: #ffffffb3;
  z-index: 10;
  position: relative;
  align-content: center;
}
.taxonomy-term--type-catalog .field--name-taxonomy-term-title a,
.node--type-services.node--view-mode-teaser .field--name-node-title a {
  color: inherit;
  font-size: 32px;
  font-weight: 600;
  padding: 5px 63px;
  display: block;
  font-family: "Oswald", sans-serif;
}
.blazy--field-catalog-image,
.blazy--field-services-img {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.blazy--field-catalog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.more-link a,
.field--name-field-link-about a {
  width: 194px;
  border-radius: 10px;
  border: 1.3px solid #000;
  display: block;
  text-align: center;
  padding: 10px;
}
.more-link a:hover,
.field--name-field-link-about a:hover {
  background-color: #fbdc1a;
  border-color: #fbdc1a;
}
.view-id-catalog .more-link a {
  margin: 45px auto 0;
}
.taxonomy-term--view-mode-video-razdela {
  width: 40%;
  margin-bottom: 60px;
}
/*end каталог */

/* о нас */
.about-block {
  padding: var(--bs-padding-about);
}
.header-about {
  display: flex;
  gap: 16px;
}
.field--name-field-logo-about {
  width: 93px;
  height: 93px;
}
.field--name-field-logo-about img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.field--name-field-name-about {
  font-size: 24px;
  font-weight: 600;
}
.block-content--type-o-nas .field--name-body {
  font-weight: 600;
}
/* end о нас */

/* преимущества */
.benefits-block {
  background: url(/sites/all/themes/vesta_theme/image/background-benefits.png)
    center center no-repeat;
  background-size: cover;
  padding: var(--bs-padding-benefits-block);
}
.benefits-block .block-title {
  margin-bottom: 73px;
}
.field--name-field-img-benefits {
  border-radius: 50px;
  text-align: center;
  -webkit-box-shadow: 0px 18px 29px 0px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0px 18px 29px 0px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 18px 29px 0px rgba(0, 0, 0, 0.25);
}

.node--type-benefits .field--name-node-title {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.node--type-benefits {
  display: flex;
  flex-direction: column;
  gap: 52px;
  align-items: center;
}
.node--type-benefits .row {
  gap: 73px;
}
/*end преимущества */

/* галерея */
.gallery-block {
  background: linear-gradient(180deg, #fbdc1a33, #fff);
  padding: var(--bs-padding-gallery);
}
.gallery-block .block-title {
  margin-bottom: 51px;
}
.node--type-videogalereya.node--view-mode-teaser .field--name-node-title {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  margin-top: 26px;
}
.gallery-block .more-link a {
  margin: 30px auto 0;
}
.block-views-blockvideogalereya-block-1 {
  margin-bottom: 46px;
}
.video-embed-field-lazy-play {
  border: none;
}
/*end галерея */

/* Отзывы */

.reviews-block {
  padding: var(--bs-padding-reviews-block);
  background: url(/sites/all/themes/vesta_theme/image/background-reviews.png)
    center center no-repeat;
  background-size: cover;
}
.reviews-block .block-title {
  margin-bottom: 50px;
}
.reviews_header {
  padding: var(--bs-padding-reviews-header);
}
.field--name-field-name-avtor {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 6px;
}

.reviews_content {
  position: relative;
  background-color: #fff;
  padding: var(--bs-padding-reviews-item);
  color: #000;
  -webkit-box-shadow: 0px 18px 29px 0px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0px 18px 17px 0px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 18px 29px 0px rgba(0, 0, 0, 0.25);
}
.reviews_content:before {
  content: "";
  background: url(/sites/all/themes/vesta_theme/image/reviews-after.png)
    no-repeat;
  display: block;
  width: 100%;
  height: 45px;
  z-index: 10;
  position: absolute;
  top: -22px;
  right: 0;
  left: 0;
}
.reviews_content .field--name-body {
  font-weight: 400;
  margin-bottom: var(--bs-margin-bottom-reviews-body);
}
.reviews_content .field--name-node-link {
  text-decoration: underline;
}
.reviews_content .field--name-node-link a:hover {
  color: #fbdc1a;
}
.node--type-reviews.node--view-mode-teaser {
  padding: 0 16px 56px;
}
.reviews_content .field--name-body p {
  position: relative;
}
.reviews_content .field--name-body p:after {
  content: "\0020";
  display: block;
  width: 100%;
  height: 25px;
  position: absolute;
  right: 0px;
  bottom: 0px;
  z-index: 8;
  background: linear-gradient(0deg, #fff, #66666600 100%);
}
/*end Отзывы */

/* web-форма */
div#web_form-block {
  background: url(/sites/all/themes/vesta_theme/image/background-form.png)
    center center no-repeat;
  padding: var(--bs-padding-form-block);
  background-size: cover;
  color: #000;
}
.form-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
div#block-vesta-theme-vebforma {
  padding: var(--bs-padding-form);
  width: 1044px;
  margin: 0 auto;
  background-color: #ffffffa6;
}
#block-vesta-theme-vebforma .form-container .js-form-item-name,
#block-vesta-theme-vebforma .form-container .js-form-item-telefon {
  width: 40%;
}
.webform-submission-callback-node-2-add-form .js-form-type-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  width: 100%;
  margin-top: 45px;
}
.webform-submission-callback-node-2-add-form .description {
  order: 2;
}
.webform-submission-callback-node-2-add-form input {
  order: 1;
}
.webform-submission-callback-node-2-add-form
  .js-form-type-checkbox
  .form-item--error-message {
  order: 3;
}
.form-item--error-message {
  font-size: 14px;
  color: #58151c;
}
.webform-button--submit {
  width: 169px;
  height: 43px;
}
.description {
  display: inline-block;
  font-size: 14px;
}
.description a {
  text-decoration: underline;
}
.js-form-item-name input,
.js-form-item-telefon input {
  height: 43px;
  margin: 0;
  border: none;
  border-radius: 10px;
}
.js-form-item-name input:focus,
.js-form-item-telefon input:focus {
  box-shadow: 0 0 0 0.25rem #fbdc1a40;
}
.block-webform .form-item-text {
  width: 100%;
  text-align: center;
  font-size: 20px;
  margin: 10px 0 10px;
}
.ui-dialog-content .webform-submission-form input,
.ui-dialog-content .webform-submission-usluga-form input,
.js-form-item-usluga {
  margin-bottom: 10px;
}
/* end web-форма */
.mapContainer {
  height: 428px;
}
/* footer */
footer#footer {
  background-color: #000;
  padding-bottom: 17px;
  position: relative;
}
.col-logo {
  width: 147px;
}
.col-logo img {
  width: 100%;
}
footer .col-contacts {
  row-gap: 19px;
  margin-top: var(--bs-margin-top-footer-block);
}
.col-phone {
  font-size: 20px;
  font-weight: 600;
  margin: 10px 0 12px;
}
.col-contacts-2 {
  margin-top: var(--bs-margin-top-footer-block);
}
footer .col-nav {
  margin-top: var(--bs-margin-top-footer-block);
}
footer .nav-link {
  font-size: var(--bs-footer-nav-link-font-size);
  font-weight: var(--bs-footer-nav-link-font-weight);
  color: var(--bs-footer-nav-link-color);
  padding: var(--bs-footer-nav-link-padding);
}
footer .nav-link:hover,
.row-copiryght a:hover {
  color: #fbdc1a;
}
footer#footer .nav-link.active {
  color: var(--bs-footer-nav-active-link-color);
}
div#block-vesta-theme-produkciya-menu {
  color: #fff;
  margin-bottom: 4px;
}
.col-nav-product a {
  font-size: 14px;
}
.row-copiryght,
.row-copiryght a {
  color: #fff;
}
.col-webvesta {
  margin-top: 85px;
  font-size: 12px;
}
footer .privacy {
  margin-top: 13px;
}
.copyright {
  font-size: 14px;
}
.social {
  position: fixed;
  bottom: 264px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  z-index: 12;
}
/* end footer */

/* карточка товара */
.js-form-type-number label {
  display: none;
}
.form-type-number {
  display: flex;
  align-items: center;
}
.js-form-type-number input {
  width: 50px;
  text-align: center;
  border-color: #fbdc1a;
  border-radius: 0;
}
.c-plus-minus {
  background-color: #fbdc1a;
  padding: 7px 12px;
  cursor: pointer;
}
.c-minus {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.c-plus {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.element img {
  width: 100%;
  height: auto;
}
.button--add-to-cart {
  margin-top: 10px;
  width: 164px;
}
.product-teaser {
  flex-wrap: wrap;
}
.product-teaser .product-teaser-image {
  width: 500px;
}
.product-teaser-image img {
  width: 100%;
  height: 395px;
  object-fit: cover;
}
.commerce-product-variation--view-mode-default .field__label,
.commerce-product-variation--view-mode-default .field__item {
  display: inline;
}
.commerce-product-variation--view-mode-default {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.product-teaser-info .field--name-price {
  margin-bottom: 10px;
}

/* end карточка товара */

/* тизер карточки товара */
.commerce-product--view-mode-teaser .product-view-tiser {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  justify-content: space-between;
  padding: 10px;
  border: 1px solid;
  border-radius: 10px;
}
.commerce-product--view-mode-teaser .field--name-title {
  margin-top: 5px;
}
.field--widget-commerce-product-variation-attributes {
  margin-bottom: 10px;
}
/* end тизер карточки товара */

/* внутренняя галереи */
.block-views-blockblok-fotogalerei-dlya-vnutrenney-stranicy-block-1
  .slider_wrap
  * {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.block-views-blockblok-fotogalerei-dlya-vnutrenney-stranicy-block-1
  .slick-slide {
  margin: 0 10px;
}
.block-views-blockblok-fotogalerei-dlya-vnutrenney-stranicy-block-1
  .slider-item
  img {
  max-width: 100%;
}
.view-videogalereya .slider_wrap * {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.view-videogalereya .slick-slide {
  margin: 0 10px;
}
.view-videogalereya .slider-item .field--name-field-video {
  max-width: 100%;
}
.view-videogalereya button.slick-arrow {
  top: 110px;
}
.block-views-blockblok-fotogalerei-dlya-vnutrenney-stranicy-block-1
  .block-title,
.block-views-blockvideogalereya-block-2 .block-title {
  font-size: 32px;
  margin-bottom: 20px;
}
.block-views-blockblok-fotogalerei-dlya-vnutrenney-stranicy-block-1 {
  margin-bottom: 35px;
}
/* end внутренняя галереи */

/* модалка */
.ui-widget-header {
  border: none;
  background: #fff;
  text-align: center;
  font-size: 18px;
}
#webform-submission-callback-form-ajax
  .webform-submission-add-form.webform-submission-callback-form,
#webform-submission-zakaz-tovara-form-ajax .webform-submission-add-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#webform-submission-callback-form-ajax
  .webform-submission-add-form.webform-submission-callback-form
  input,
#webform-submission-zakaz-tovara-form-ajax .webform-submission-add-form input,
.webform-submission-form input {
  border: 1px solid #fbdc1a;
}
.js-form-type-checkbox {
  display: flex;
  gap: 5px;
}
.ui-dialog .ui-dialog-titlebar-close {
  background: url(/sites/all/themes/vesta_theme/image/close.png);
  border: none;
}
.ui-dialog .ui-dialog-titlebar-close {
  background: url(/sites/all/themes/vesta_theme/image/close.png) center center
    no-repeat;
  border: none;
  width: 15px;
  height: 15px;
  background-size: contain;
  background-color: #fff;
}
.ui-dialog-buttonset {
  display: flex;
}
.ui-widget-content {
  border: none;
}
/* end модалка */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type="number"],
input[type="number"]:hover,
input[type="number"]:focus {
  appearance: none;
  -moz-appearance: textfield;
}
.ajax-progress .throbber,
.ajax-progress-throbber .throbber {
  display: inline-block;
  float: none;
  margin: 400px auto 0 auto;
  width: 64px;
  height: 64px;
  background: url("../image/preloader.gif") no-repeat center center;
}
.ajax-progress,
.ajax-progress-throbber {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4444;
  vertical-align: middle;
  text-align: center;
}
.field--name-field-address legend,
.checkout-pane-payment-information > legend {
  display: none;
}

.layout-checkout-form.clearfix input.form-text {
  height: 43px;
  margin-bottom: 15px;
}
.js-form-item-payment-information-payment-method {
  display: flex;
  align-items: center;
  gap: 6px;
}
#edit-payment-information-payment-method--wrapper {
  margin-bottom: 20px;
}
.checkout-pane {
  margin-bottom: 20px;
}
a.link--previous {
  margin-left: 20px;
}
.checkout-order-summary {
  border: 1px solid;
  padding: 9px;
  border-color: #dee2e6;
  border-radius: 10px;
}
#edit-review-contact-information,
.layout-region-checkout-secondary h3 {
  margin-bottom: 20px;
}
.view-commerce-cart-form .c-plus-minus {
  padding: 7px 9px;
}
.fieldset-legend a {
  font-size: 18px;
  color: #e1c200;
}
span.fieldset-legend {
  font-size: 22px;
}
.alert_metrika {
  background: #000;
  filter: drop-shadow(0 0 2px #fff);
}
.alert_metrika button.btn.btn-primary {
  border-radius: 10px;
  color: #000;
}
.pswp {
  --pswp-bg: #00000075;
}
.taxonomy-term--type-catalog.taxonomy-term--view-mode-carousel-img
  .field--name-field-carousel-img
  .slick-slide
  img {
  height: 500px;
  object-fit: cover;
}
.taxonomy-term--type-catalog.taxonomy-term--view-mode-carousel-img
  .field--name-field-carousel-img
  .field__item.slick-slide {
  margin: 0 10px;
}
.node--type-services.node--view-mode-full .btn-callback {
  width: 300px;
}
