@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
:root {
  --bs-body-line-height: 1.2;
  --bs-body-font-size: 16px;
}
.h1 {
  font-size: 42px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
}
@media screen and (max-width: 993px) {
  .h1 {
    font-size: 30px;
  }
}
.h2 {
  font-size: 32px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
}
@media screen and (max-width: 993px) {
  .h2 {
    font-size: 22px;
  }
}
.fs-28 {
  font-size: 28px;
  font-weight: bold;
}
@media screen and (max-width: 993px) {
  .fs-28 {
    font-size: 20px;
  }
}
.fs-14 {
  font-size: 16px;
}
.fs-16 {
  font-size: 18px;
}
.fs-18 {
  font-size: 20px;
}
.fs-26 {
  font-size: 26px;
}
@media screen and (max-width: 993px) {
  .fs-26 {
    font-size: 18px;
  }
}
.fw-normal {
  font-weight: 400;
}
.fw-medium {
  font-weight: 500;
}
.fw-bold {
  font-weight: 700;
}
.fw-extrabold {
  font-weight: 900;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-center {
  text-align: center;
}
.animated_icon {
  transition: 0.5s transform ease;
}
.animated_icon:hover {
  transform: scale(1.1);
}
.tr {
  transition: all 0.4s ease;
}
img:not(.image-style-gallery, .pswp__img) {
  max-width: 100%;
  height: auto;
}
.field[data-blazy] {
  min-width: initial;
}
table img {
  max-width: initial;
}
.flex {
  display: flex;
  flex-wrap: wrap;
}
a {
  color: var(--color);
  transition: all 0.4s ease;
}
@media (min-width: 1200px) {
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1200px;
  }
}
p:last-child {
  margin-bottom: 0 !important;
}
.field--name-body p,
.field--name-body span {
  font-size: 18px;
}
body {
  padding-top: 0 !important;
  font-family: "Inter", sans-serif;
  color: var(--color2);
}
#page {
  overflow: hidden;
  background: #000000;
  color: white;
}
.toolbar-fixed #page {
  margin-top: var(--drupal-displace-offset-top);
}
.view-slayder {
  /* Плавный переход opacity для всех слайдов */
  /* Активный слайд */
  /* Скрытые слайды */
}
.view-slayder .field--name-field-image img {
  filter: brightness(30%);
  width: 100%;
  height: 100vh;
  object-fit: cover;
}
.view-slayder .content {
  bottom: 70px;
}
.view-slayder .content .field--name-field-slide-title {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}
@media screen and (max-width: 993px) {
  .view-slayder .content .field--name-field-slide-title {
    gap: 10px;
  }
}
.view-slayder .content .field--name-field-slide-title img {
  max-width: 150px;
}
.view-slayder .content .field--name-field-slide-title p,
.view-slayder .content .field--name-field-slide-title span {
  font-size: 26px;
  margin-bottom: 0px;
}
@media screen and (max-width: 993px) {
  .view-slayder .content .field--name-field-slide-title p,
  .view-slayder .content .field--name-field-slide-title span {
    font-size: 18px;
  }
}
.view-slayder .slick-slide {
  transition: opacity 1800ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: opacity;
  /* подсказка браузеру */
  -webkit-backface-visibility: hidden;
  /* убирает «мигание» */
  backface-visibility: hidden;
}
.view-slayder .slick-slide.slick-active {
  opacity: 1;
}
.view-slayder .slick-slide:not(.slick-active) {
  opacity: 0;
}
.front #header {
  position: absolute !important;
  z-index: 2;
  width: 100%;
}
.front #header .header-main-box {
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-direction: column-reverse;
}
.front #header-mob {
  position: absolute !important;
  z-index: 2;
  width: 100%;
}
.front #header-mob .col-logo {
  display: none;
}
.front .wr_front_content {
  position: absolute;
  transform: translateY(-100%);
  z-index: 2;
  height: 60%;
  width: 100%;
}
.front .wr_front_content h1 {
  text-align: center;
}
.front .wr_front_content h1 span {
  font-size: 42px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
  text-transform: uppercase;
}
@media screen and (max-width: 993px) {
  .front .wr_front_content h1 span {
    font-size: 30px;
  }
}
@media screen and (max-width: 993px) {
  .front .wr_front_content {
    height: 75%;
    bottom: -70%;
  }
}
.page.front,
body.front {
  max-height: 100vh;
  min-height: 100vh;
  overflow-y: hidden;
}
.page.front #main,
body.front #main {
  max-height: 100vh;
  overflow-y: hidden;
  height: 100vh;
  min-height: 100vh;
}
.not-front h1 {
  margin: 40px 0px;
  font-size: 42px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
  text-transform: uppercase;
}
@media screen and (max-width: 993px) {
  .not-front h1 {
    padding: 20px 0px;
  }
}
@media screen and (max-width: 993px) {
  .not-front h1 {
    font-size: 30px;
  }
}
.not-front #header .header-main-box {
  align-items: center;
  gap: 10px;
  flex-direction: column-reverse;
}
.offcanvas {
  width: 100vw !important;
  background: #000000;
  color: white;
}
.offcanvas .offcanvas-header {
  flex-direction: column-reverse;
  gap: 10px;
}
.offcanvas .btn-close {
  --bs-btn-close-bg: url("/sites/all/themes/vesta_theme/image/x-lg.svg");
  width: 30px;
  height: 30px;
  margin-left: 0px;
  opacity: 1;
  transition: 0.5s transform ease;
}
.offcanvas .btn-close:hover {
  transform: scale(1.1);
}
.offcanvas .offcanvas-body {
  margin-top: 125px;
}
@media screen and (max-width: 993px) {
  .offcanvas .offcanvas-body {
    margin-top: 25px;
  }
}
.offcanvas .offcanvas-body ul.nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}
@media screen and (max-width: 993px) {
  .offcanvas .offcanvas-body ul.nav {
    gap: 15px;
  }
}
.offcanvas .offcanvas-body ul.nav a {
  padding: 0px;
  background: inherit;
  border: none;
  box-shadow: none;
  color: white;
  font-size: 26px;
}
@media screen and (max-width: 993px) {
  .offcanvas .offcanvas-body ul.nav a {
    font-size: 18px;
  }
}
.offcanvas .offcanvas-body ul.nav a:hover {
  text-decoration: underline;
}
.offcanvas .region-search {
  display: none;
}
@media screen and (max-width: 993px) {
  .offcanvas .offcanvas-header {
    justify-content: space-between;
  }
  .offcanvas .offcanvas-body ul.nav {
    align-items: flex-start;
  }
  .offcanvas .offcanvas-body .region-search {
    padding-bottom: 20px;
    display: block;
  }
  .offcanvas .offcanvas-body .region-search .search-form__submit {
    background: #488602;
    border: 1px solid #488602;
  }
}
.modal-dialog {
  max-width: 820px !important;
}
.modal-dialog .modal-header {
  flex-direction: column-reverse;
  gap: 15px;
  padding-top: 20px;
  padding-left: 22px;
  padding-right: 22px;
  padding-bottom: 0px;
  border-bottom: none;
}
.modal-dialog .modal-header .modal-title {
  font-size: 32px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
  text-transform: uppercase;
}
@media screen and (max-width: 993px) {
  .modal-dialog .modal-header .modal-title {
    font-size: 22px;
  }
}
.modal-dialog .modal-body {
  padding: 0px 90px;
}
@media screen and (max-width: 993px) {
  .modal-dialog .modal-body {
    padding: 0px 20px;
  }
}
.modal-dialog .modal-body form {
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
.modal-dialog .modal-body form .form-type-processed-text p,
.modal-dialog .modal-body form .form-type-processed-text span {
  text-align: center;
}
.modal-dialog .modal-body form .form-item-name,
.modal-dialog .modal-body form .form-item-telefon {
  width: 100%;
}
.modal-dialog .modal-body form .form-item-name input,
.modal-dialog .modal-body form .form-item-telefon input {
  height: 60px;
  width: 100%;
  border-radius: 5px;
  border: 1px solid black;
  padding-left: 25px;
  font-size: 20px;
}
.modal-dialog .modal-body form .form-type-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.modal-dialog .modal-body form .form-type-checkbox input {
  accent-color: #2d5204;
}
.modal-dialog .modal-body form .form-type-checkbox .webform-element-description {
  font-size: 16px;
}
.modal-dialog .modal-body form .form-type-checkbox .webform-element-description p,
.modal-dialog .modal-body form .form-type-checkbox .webform-element-description span,
.modal-dialog .modal-body form .form-type-checkbox .webform-element-description a {
  font-size: 16px;
}
.modal-dialog .modal-footer {
  justify-content: center;
  border-top: none;
  padding: 20px 90px 50px 90px;
}
@media screen and (max-width: 993px) {
  .modal-dialog .modal-footer {
    padding: 20px 20px 20px 20px;
  }
}
.modal-dialog .modal-footer button {
  height: 60px;
  width: 100%;
  border-radius: 5px;
  border: 1px solid #488602;
  background: #488602;
  font-size: 20px;
  color: white;
}
.modal-dialog .modal-footer button:hover {
  border: 1px solid #2d5204;
  background: #2d5204;
}
.modal-content:has(.webform-confirmation__message) .modal-header .modal-title,
.modal-content:has(.webform-confirmation__message) .ui-dialog-titlebar {
  display: none;
}
.modal-content:has(.webform-confirmation__message) .modal-header {
  padding-bottom: 15px;
}
.modal-content:has(.webform-confirmation__message) form {
  padding-top: 0px;
}
.modal-content:has(.webform-confirmation__message) form .webform-confirmation {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 20px;
}
.modal-content:has(.webform-confirmation__message) form .webform-confirmation .confirmation-title {
  font-size: 32px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (max-width: 993px) {
  .modal-content:has(.webform-confirmation__message) form .webform-confirmation .confirmation-title {
    font-size: 22px;
  }
}
.modal-content:has(.webform-confirmation__message) form .webform-confirmation p {
  text-align: center;
  font-size: 20px;
}
#header-mob {
  background: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
#header-mob .col-logo img {
  width: 100px;
}
#header-mob .col-phone a {
  text-decoration: none;
  color: white;
}
#header-mob .col-phone a:hover {
  color: #488602;
}
#scrollToTop {
  right: 20px;
}
.node--type-about.node--view-mode-full {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#block-vesta-theme-blokuslugi .field--name-body {
  width: 100%;
}
#block-vesta-theme-blokuslugi .field--name-body .small-text p,
#block-vesta-theme-blokuslugi .field--name-body .small-text span {
  font-size: 13px;
}
#block-vesta-theme-blokuslugi .field--name-body .table-box {
  width: 100%;
}
@media screen and (max-width: 993px) {
  #block-vesta-theme-blokuslugi .field--name-body .table-box {
    overflow-x: scroll;
  }
}
#block-vesta-theme-blokuslugi .table {
  color: white;
  --bs-table-color: white;
  --bs-table-bg: inherit;
  min-width: 900px;
}
#block-vesta-theme-blokuslugi .table > :not(caption) > * > * {
  padding: 10px;
  border: 1px solid white;
}
#block-vesta-theme-blokuslugi .table tr td:nth-child(2) {
  width: 180px;
}
#block-vesta-theme-blokuslugi .field--name-field-fotogalereya-uslugi {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#block-vesta-theme-blokuslugi .field--name-field-fotogalereya-uslugi .field__label {
  font-size: 20px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
#block-vesta-theme-blokuslugi .field--name-field-fotogalereya-uslugi .field__items {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
#block-vesta-theme-blokuslugi .field--name-field-fotogalereya-uslugi .field__item {
  overflow: hidden;
}
#block-vesta-theme-blokuslugi .field--name-field-fotogalereya-uslugi img {
  width: 300px;
  height: 300px;
  object-fit: cover;
  transition: 0.5s transform ease;
}
#block-vesta-theme-blokuslugi .field--name-field-fotogalereya-uslugi img:hover {
  transform: scale(1.1);
}
.not-front #footer {
  margin-top: 20px;
}
#block-vesta-theme-bloknastranicekontakty .field--name-body p,
#block-vesta-theme-bloknastranicekontakty .field--name-body a {
  font-size: 20px;
}
#block-vesta-theme-bloknastranicekontakty .field--name-body a {
  text-decoration: none;
}
#block-vesta-theme-bloknastranicekontakty .field--name-body a:hover {
  color: #488602;
}
header,
.block,
footer {
  opacity: 0;
  /* для плавности */
  transition: opacity 0.5s ease;
  /* необязательно */
}
.field-rutube img {
  width: 30px;
  height: 30px;
  transition: 0.5s transform ease;
}
.field-rutube img:hover {
  transform: scale(1.1);
}
.field--name-field-video-rutub {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
}
.field--name-field-video-rutub > .field__item {
  width: 270px;
  height: 370px;
}
.field--name-field-video-rutub > .field__item .video-embed-field-provider-rutube {
  height: 100%;
}
