/* Container */
/* Fonts */
/* Colors */
/* Shadows */
:root {
  /* Fonts */
  --font-48: 48px;
  --font-42: 42px;
  --font-36: 36px;
  --font-20: 20px;
  --font-16: 16px;
  --font-13: 13px;
  --font-12: 12px;
  /* Gaps */
  --gap-93: 93px;
  --gap-30: 30px;
  --gap-20: 20px;
  --gap-17: 17px;
  --gap-16: 16px;
  --gap-10: 10px;
  --gap-8: 8px;
  /* Margins */
  --margin-70: 70px;
  --margin-60: 60px;
  --margin-48: 48px;
  --margin-30: 30px;
  --margin-20: 20px;
  --margin-16: 16px;
  --margin-15: 15px;
  --margin-10: 10px;
  --margin-8: 8px;
  /* Paddings */
  --padding-150: 150px;
  --padding-92: 92px;
  --padding-60: 60px;
  --padding-56: 56px;
  --padding-44: 44px;
  --padding-40: 40px;
  --padding-38: 38px;
  --padding-30: 30px;
  --padding-25: 25px;
  --padding-20: 20px;
  --padding-16: 16px;
  --padding-14: 14px;
  --padding-12: 12px;
  --padding-11: 11px;
  --padding-10: 10px;
  --padding-8: 8px;
}
@media screen and (max-width: 1199px) {
  :root {
    --font-48: 42px;
    --font-42: 36px;
    --font-36: 30px;
    --font-20: 18px;
    --font-16: 15px;
    --font-13: 12px;
    --gap-93: 70px;
    --gap-30: 25px;
    --gap-20: 18px;
    --gap-17: 15px;
    --gap-16: 14px;
    --margin-70: 60px;
    --margin-60: 50px;
    --margin-48: 30px;
    --margin-30: 25px;
    --margin-20: 18px;
    --margin-16: 14px;
    --margin-15: 13px;
    --padding-150: 50px;
    --padding-92: 80px;
    --padding-60: 50px;
    --padding-56: 48px;
    --padding-44: 38px;
    --padding-40: 35px;
    --padding-38: 32px;
    --padding-30: 25px;
    --padding-25: 20px;
    --padding-20: 18px;
    --padding-16: 14px;
    --padding-14: 12px;
    --padding-12: 12px;
    --padding-11: 10px;
  }
}
@media screen and (max-width: 991px) {
  :root {
    --font-48: 30px;
    --font-42: 28px;
    --font-36: 26px;
    --font-20: 16px;
    --font-16: 14px;
    --gap-93: 60px;
    --gap-30: 20px;
    --gap-20: 16px;
    --gap-17: 13px;
    --gap-16: 12px;
    --margin-70: 48px;
    --margin-60: 40px;
    --margin-48: 25px;
    --margin-30: 20px;
    --margin-20: 16px;
    --margin-16: 12px;
    --margin-15: 12px;
    --padding-92: 70px;
    --padding-60: 40px;
    --padding-56: 38px;
    --padding-44: 30px;
    --padding-40: 28px;
    --padding-38: 25px;
    --padding-30: 20px;
    --padding-25: 18px;
    --padding-20: 16px;
    --padding-16: 12px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --font-48: 22px;
    --font-42: 20px;
    --font-36: 18px;
    --font-20: 15px;
    --font-16: 13px;
    --gap-93: 50px;
    --gap-30: 16px;
    --gap-20: 14px;
    --gap-17: 12px;
    --gap-16: 11px;
    --margin-70: 40px;
    --margin-60: 32px;
    --margin-48: 20px;
    --margin-30: 16px;
    --margin-20: 14px;
    --margin-15: 11px;
    --padding-92: 60px;
    --padding-60: 32px;
    --padding-56: 30px;
    --padding-44: 25px;
    --padding-40: 22px;
    --padding-38: 20px;
    --padding-30: 16px;
    --padding-25: 15px;
    --padding-20: 14px;
    --padding-14: 11px;
  }
}
@media screen and (max-width: 575px) {
  :root {
    --font-48: 22px;
    --font-42: 20px;
    --font-36: 18px;
    --font-20: 14px;
    --font-16: 12px;
    --gap-93: 40px;
    --gap-30: 14px;
    --gap-20: 12px;
    --gap-17: 11px;
    --gap-16: 10px;
    --margin-70: 30px;
    --margin-60: 25px;
    --margin-48: 15px;
    --margin-30: 14px;
    --margin-20: 12px;
    --margin-16: 11px;
    --margin-15: 10px;
    --padding-92: 50px;
    --padding-60: 25px;
    --padding-56: 22px;
    --padding-44: 18px;
    --padding-40: 16px;
    --padding-38: 15px;
    --padding-30: 14px;
    --padding-25: 12px;
    --padding-20: 12px;
    --padding-16: 11px;
    --padding-14: 10px;
  }
}
p:last-child {
  margin-bottom: 0 !important;
}
body {
  padding-top: 0 !important;
  font-family: "Inter", sans-serif;
  font-size: var(--font-16);
  line-height: 150%;
  color: #737373;
  background-color: #f8f9fa;
}
#page {
  overflow: hidden;
}
.toolbar-fixed #page {
  margin-top: var(--drupal-displace-offset-top);
}
@media screen and (max-width: 991px) {
  #page {
    padding-top: 55px;
  }
}
.ajax-progress-throbber .throbber {
  padding: 0;
  margin: 0;
  display: none;
}
.ajax-progress-throbber {
  display: none;
}
.clearfix::after {
  display: none;
}
.container {
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 992px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
.header {
  margin-bottom: var(--margin-30);
}
.header__container {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: 1fr 1fr;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 0 8px 10px -6px rgba(0, 0, 0, 0.1), 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.header__logo {
  grid-column: 1 / 2;
  grid-row: 1 / -1;
}
.header__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-bottom-left-radius: 10px;
}
.header__top {
  grid-column: 2 / -1;
  grid-row: 1 / 2;
  display: flex;
  align-items: center;
  padding: var(--padding-11) var(--padding-20);
  background-color: #2b292a;
}
.header__top .region-callback {
  margin-right: var(--margin-10);
}
@media screen and (max-width: 1199px) {
  .header__top .region-callback {
    margin-left: auto;
    margin-right: auto;
  }
}
.header__contacts {
  display: flex;
  align-items: center;
  column-gap: var(--gap-20);
  margin-right: var(--margin-15);
}
.header__contact {
  display: flex;
  align-items: center;
  font-size: var(--font-13);
  line-height: 123%;
  color: #f1f2f3;
}
@media screen and (max-width: 1199px) {
  .header__contact {
    max-width: 150px;
  }
}
.header__contact img {
  flex-shrink: 0;
  margin-right: var(--margin-8);
}
.header__link {
  font-size: var(--font-13);
  line-height: 154%;
  font-weight: 700;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.header__link:hover,
.header__link:focus {
  color: #e31e27;
}
.header__link:active {
  color: #b7171e;
}
.header__phones {
  display: flex;
  align-items: center;
  column-gap: var(--gap-10);
  margin-left: auto;
}
.header__bottom {
  grid-column: 2 / -1;
  grid-row: 2 / 3;
  display: flex;
  align-items: center;
  padding: var(--padding-11) var(--padding-20);
  background-color: #ffffff;
  border-bottom-right-radius: 10px;
}
.header__bottom .region-navigation {
  margin-right: auto;
}
.header .nav {
  column-gap: var(--gap-20);
}
.header .nav-link {
  padding: 0;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #2b292a;
  transition: color 0.2s ease;
  text-decoration: none;
}
.header .nav-link:hover,
.header .nav-link:focus {
  color: #e31e27;
}
.header .nav-link:active {
  color: #b7171e;
}
.header .dropdown:has(.dropdown-menu:hover) .dropdown-toggle::after {
  transform: rotate(-180deg) translateY(4px);
}
.header .dropdown-toggle:hover::after,
.header .dropdown-toggle:focus::after {
  transform: rotate(-180deg) translateY(4px);
}
.header .dropdown-toggle::after {
  position: relative;
  width: 8px;
  height: 5px;
  bottom: -4px;
  right: -2px;
  border: none;
  background-image: url('/sites/all/themes/vesta_theme/image/arrow-top.svg');
  transition: transform 0.2s ease;
}
.header .dropdown-item {
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #2b292a;
  transition: color 0.2s ease;
  text-decoration: none;
}
.header .dropdown-item:hover,
.header .dropdown-item:focus {
  color: #2b292a;
}
.header .dropdown-item:active {
  color: #111011;
}
.header .dropdown-item:hover,
.header .dropdown-item:focus {
  background-color: #f1f2f3;
}
.header .dropdown-item:active {
  background-color: #d1d5db;
}
.header .dropdown-item.active,
.header .dropdown-item.is-active {
  color: #e31e27;
  background-color: #ffffff;
}
.header .dropdown-item.active:hover,
.header .dropdown-item.is-active:hover,
.header .dropdown-item.active:focus,
.header .dropdown-item.is-active:focus {
  background-color: #f1f2f3;
}
.header .dropdown-item.active:active,
.header .dropdown-item.is-active:active {
  background-color: #d1d5db;
}
.header__search {
  position: relative;
  margin-right: var(--margin-20);
}
.header__search .search-form__submit {
  display: none;
}
.header__search-btn {
  position: absolute;
  top: 8px;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  z-index: 1;
  border: none;
  background-color: transparent;
}
.header__search-btn svg path {
  transition: fill 0.2s ease;
}
.header__search-btn:hover svg path,
.header__search-btn:focus svg path {
  fill: #e31e27;
}
.header__search-btn:active svg path {
  fill: #b7171e;
}
.header__search .form-search {
  width: 321px;
  height: 31px;
  padding: var(--padding-8) var(--padding-20);
  font-size: var(--font-12);
  background-color: #f1f2f3;
  border: 1px solid #d5d5d6;
  border-radius: 8px;
  transition: border-color 0.2s ease;
}
@media screen and (max-width: 1199px) {
  .header__search .form-search {
    width: 200px;
  }
}
.header__search .form-search:hover,
.header__search .form-search:focus {
  border-color: #e31e27;
}
.header__search .form-search::placeholder {
  font-size: var(--font-12);
  color: #2b292a;
}
.header__search .form-search::-webkit-search-cancel-button {
  position: relative;
  right: 30px;
}
.header__social {
  display: block;
  width: 36px;
  height: 36px;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  border-radius: 50%;
  transition: box-shadow 0.2s ease;
}
.header__social:hover,
.header__social:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
#header-mob {
  background-color: #2b292a;
}
#header-mob .header__logo {
  width: 85px;
  height: 45px;
}
#header-mob .header__contact {
  max-width: fit-content;
}
@media screen and (max-width: 575px) {
  #header-mob .header__contact {
    display: none;
  }
}
#header-mob .header__link {
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
#header-mob .header__link:hover,
#header-mob .header__link:focus {
  color: #e31e27;
}
#header-mob .header__link:active {
  color: #b7171e;
}
#header-mob .col-nav a {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
}
#header-mob .col-nav a:hover div,
#header-mob .col-nav a:focus div {
  background-color: #e31e27;
}
#header-mob .col-nav a:hover div::before,
#header-mob .col-nav a:focus div::before,
#header-mob .col-nav a:hover div::after,
#header-mob .col-nav a:focus div::after {
  background-color: #e31e27;
}
#header-mob .col-nav a div {
  position: absolute;
  content: '';
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  pointer-events: none;
}
#header-mob .col-nav a div::before,
#header-mob .col-nav a div::after {
  position: absolute;
  content: '';
  width: 100%;
  height: 2px;
  left: 0;
  background-color: #ffffff;
  pointer-events: none;
}
#header-mob .col-nav a div::before {
  top: -10px;
}
#header-mob .col-nav a div::after {
  bottom: -10px;
}
#offcanvasNav {
  background-color: #2b292a;
}
#offcanvasNav .offcanvas-body {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-10);
}
#offcanvasNav .search-api-page-block-form form {
  display: flex;
  align-items: center;
  column-gap: var(--gap-10);
  margin-bottom: var(--margin-20);
}
#offcanvasNav .form-search {
  width: 200px;
  height: 40px;
  font-size: var(--font-13);
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
}
#offcanvasNav .form-search::-webkit-search-cancel-button {
  position: initial;
  right: 0;
}
#offcanvasNav .search-form__submit {
  max-width: 232px;
  height: 40px;
  color: #2b292a;
  background-color: #ffffff;
  transition: color 0.2s ease, background-color 0.2s ease;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
  border: none;
  border-radius: 8px;
  text-decoration: none;
}
#offcanvasNav .search-form__submit:hover,
#offcanvasNav .search-form__submit:focus {
  color: #ffffff;
  background-color: #e31e27;
}
#offcanvasNav .search-form__submit:active {
  color: #ffffff;
  background-color: #b7171e;
}
#offcanvasNav .search-form__submit:hover {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
#offcanvasNav .nav {
  flex-direction: column;
  row-gap: var(--gap-10);
}
#offcanvasNav .nav-link {
  padding: 0;
  font-size: 14px;
  line-height: 133%;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
#offcanvasNav .nav-link:hover,
#offcanvasNav .nav-link:focus {
  color: #e31e27;
}
#offcanvasNav .nav-link:active {
  color: #b7171e;
}
#offcanvasNav .nav-link.is-active,
#offcanvasNav .nav-link:has(+ .dropdown-menu .dropdown-item.active) {
  color: #e31e27;
  transition: color 0.2s ease;
  text-decoration: none;
}
#offcanvasNav .nav-link.is-active:hover,
#offcanvasNav .nav-link:has(+ .dropdown-menu .dropdown-item.active):hover,
#offcanvasNav .nav-link.is-active:focus,
#offcanvasNav .nav-link:has(+ .dropdown-menu .dropdown-item.active):focus {
  color: #b7171e;
}
#offcanvasNav .nav-link.is-active:active,
#offcanvasNav .nav-link:has(+ .dropdown-menu .dropdown-item.active):active {
  color: #8a1117;
}
#offcanvasNav .nav .dropdown-toggle.open::after {
  transform: rotate(-180deg) translateY(4px);
}
#offcanvasNav .nav .dropdown-toggle::after {
  position: relative;
  width: 8px;
  height: 5px;
  bottom: -4px;
  right: -2px;
  border: none;
  background-image: url('/sites/all/themes/vesta_theme/image/arrow-top-white.svg');
  transition: transform 0.2s ease;
}
#offcanvasNav .nav .dropdown-item {
  font-size: 14px;
  line-height: 133%;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
  background-color: transparent;
}
#offcanvasNav .nav .dropdown-item:hover,
#offcanvasNav .nav .dropdown-item:focus {
  color: #e31e27;
}
#offcanvasNav .nav .dropdown-item:active {
  color: #b7171e;
}
#offcanvasNav .nav .dropdown-item.is-active {
  color: #e31e27;
  transition: color 0.2s ease;
  text-decoration: none;
}
#offcanvasNav .nav .dropdown-item.is-active:hover,
#offcanvasNav .nav .dropdown-item.is-active:focus {
  color: #b7171e;
}
#offcanvasNav .nav .dropdown-item.is-active:active {
  color: #8a1117;
}
#offcanvasNav .nav .dropdown-menu {
  border: none;
}
#offcanvasNav .btn-close {
  filter: invert(1) brightness(2);
}
#offcanvasNav .header__contact {
  max-width: fit-content;
  font-size: 14px;
}
#offcanvasNav .header__link {
  font-size: 14px;
  font-weight: 600;
}
#offcanvasNav .header__container {
  display: flex;
  align-items: center;
  column-gap: var(--gap-10);
  box-shadow: none;
  border-radius: 0;
}
#offcanvasNav .header__phones {
  flex-direction: column;
  row-gap: var(--gap-10);
  margin-left: 0;
}
.btn.btn--callback {
  padding: var(--padding-10) var(--padding-25);
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #ffffff;
  text-transform: uppercase;
  background-color: #e31e27;
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
  border: 1px solid transparent;
  border-radius: 20px;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btn.btn--callback:hover,
.btn.btn--callback:focus {
  color: #ffffff;
  background-color: #2b292a;
  border-color: #e31e27;
}
.btn.btn--callback:active {
  color: #e31e27;
}
.btn.btn--banner {
  padding: var(--padding-20) var(--padding-40);
  color: #ffffff;
  background-color: #2b292a;
  transition: color 0.2s ease, background-color 0.2s ease;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
  border-radius: 40px;
}
.btn.btn--banner:hover,
.btn.btn--banner:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.btn.btn--banner:active {
  color: #ffffff;
  background-color: #b7171e;
}
@media screen and (max-width: 991px) {
  .btn.btn--banner {
    padding: 11px;
  }
}
@media screen and (max-width: 767px) {
  .btn.btn--banner {
    padding: 8px;
  }
}
.btn.btn--banner--light {
  color: #2b292a;
  background-color: #ffffff;
  transition: color 0.2s ease, background-color 0.2s ease;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  border: 1px solid #d5d5d6;
  box-shadow: none;
}
.btn.btn--banner--light:hover,
.btn.btn--banner--light:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.btn.btn--banner--light:active {
  color: #ffffff;
  background-color: #b7171e;
}
.btn.btn--banner:hover,
.btn.btn--banner:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
  border-color: transparent;
}
.btn.btn--service {
  padding: 0;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #e31e27;
  transition: color 0.2s ease;
  text-decoration: none;
}
.btn.btn--service:hover,
.btn.btn--service:focus {
  color: #ffffff;
}
.btn.btn--service:active {
  color: #e6e6e6;
}
.banner {
  margin-bottom: var(--margin-30);
  position: relative;
  background-color: #f8f9fa;
}
.banner::before {
  position: absolute;
  content: '';
  width: calc(100vw - 162px);
  height: 297px;
  top: -24px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url('/sites/all/themes/vesta_theme/image/banner-bg.svg');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1199px) {
  .banner::before {
    width: calc(100vw - 30px);
  }
}
.banner__container {
  position: relative;
  display: flex;
  column-gap: var(--gap-30);
  z-index: 2;
}
@media screen and (max-width: 991px) {
  .banner__container {
    padding-top: var(--padding-30);
  }
}
@media screen and (max-width: 767px) {
  .banner__container {
    flex-direction: column;
    row-gap: var(--gap-10);
  }
}
.banner__left {
  padding: var(--padding-40) var(--padding-30);
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
.banner__buttons {
  display: flex;
  column-gap: var(--gap-10);
}
.banner__right {
  width: 370px;
  height: 370px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 991px) {
  .banner__right {
    width: 258px;
    height: 258px;
  }
}
@media screen and (max-width: 767px) {
  .banner__right {
    width: 100%;
    height: 250px;
  }
}
.banner__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.node--type-banner .field--name-node-title {
  margin-bottom: var(--margin-30);
  font-size: var(--font-48);
  line-height: 100%;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #1e1e1e;
}
.node--type-banner .field--name-node-title .special {
  color: #e31e27;
}
.node--type-banner .field--name-body {
  max-width: 615px;
  margin-bottom: var(--margin-60);
}
@media screen and (max-width: 767px) {
  .node--type-banner .field--name-field-image {
    width: 100%;
    height: 250px;
  }
}
@media screen and (max-width: 767px) {
  .node--type-banner .field--name-field-image img {
    width: 100%;
    height: 250px;
  }
}
.block-title {
  margin-bottom: var(--margin-30);
  font-size: var(--font-36);
  line-height: 111%;
  font-weight: 700;
  color: #1e1e1e;
}
.services {
  margin-bottom: var(--margin-30);
  padding: var(--padding-30) 0;
  background-color: #ffffff;
}
.block-views-blockservices-block-1 {
  padding: var(--padding-40) var(--padding-30);
  background-color: #f8f9fa;
  border-radius: 10px;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
.view-services .view-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--gap-30);
  margin-bottom: var(--margin-30);
}
@media screen and (max-width: 991px) {
  .view-services .view-content {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 575px) {
  .view-services .view-content {
    grid-template-columns: 1fr;
  }
}
.node--type-service {
  height: 100%;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  padding: var(--padding-30);
  background-color: #f0f1f2;
  border-radius: 8px;
  transition: color 0.2s ease, background-color 0.2s ease;
}
@media screen and (max-width: 1199px) {
  .node--type-service {
    min-height: 300px;
  }
}
@media screen and (max-width: 991px) {
  .node--type-service {
    min-height: 250px;
  }
}
@media screen and (max-width: 767px) {
  .node--type-service {
    min-height: 200px;
  }
}
@media screen and (max-width: 575px) {
  .node--type-service {
    min-height: 150px;
  }
}
.node--type-service.node--view-mode-full {
  padding: 0;
  background-color: transparent;
}
.node--type-service.node--view-mode-full .field--name-body {
  font-size: var(--font-16);
  margin-bottom: var(--margin-20);
}
.node--type-service.node--view-mode-full .field--name-field-additional-text {
  margin-bottom: var(--margin-20);
}
.node--type-service.node--view-mode-full .btn--service {
  display: block;
  max-width: 232px;
  padding: var(--padding-20) var(--padding-38);
  color: #ffffff;
  background-color: #2b292a;
  transition: color 0.2s ease, background-color 0.2s ease;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
  border-radius: 40px;
  text-decoration: none;
}
.node--type-service.node--view-mode-full .btn--service:hover,
.node--type-service.node--view-mode-full .btn--service:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.node--type-service.node--view-mode-full .btn--service:active {
  color: #ffffff;
  background-color: #b7171e;
}
.node--type-service.node--view-mode-full .btn--service:hover {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.node--type-service:not(.node--view-mode-full):hover,
.node--type-service:not(.node--view-mode-full):focus {
  color: #ffffff;
  background-color: #e31e27;
}
.node--type-service:not(.node--view-mode-full):hover .service__title,
.node--type-service:not(.node--view-mode-full):focus .service__title {
  color: #ffffff;
}
.node--type-service:not(.node--view-mode-full):hover .service__bottom,
.node--type-service:not(.node--view-mode-full):focus .service__bottom {
  border-color: #ffffff;
}
.node--type-service:not(.node--view-mode-full):hover .field--name-body ul li::marker,
.node--type-service:not(.node--view-mode-full):focus .field--name-body ul li::marker {
  color: #ffffff;
}
.node--type-service:not(.node--view-mode-full):hover .btn.btn--service,
.node--type-service:not(.node--view-mode-full):focus .btn.btn--service {
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.node--type-service:not(.node--view-mode-full):hover .btn.btn--service:hover,
.node--type-service:not(.node--view-mode-full):focus .btn.btn--service:hover,
.node--type-service:not(.node--view-mode-full):hover .btn.btn--service:focus,
.node--type-service:not(.node--view-mode-full):focus .btn.btn--service:focus {
  color: #1e1e1e;
}
.node--type-service:not(.node--view-mode-full):hover .btn.btn--service:active,
.node--type-service:not(.node--view-mode-full):focus .btn.btn--service:active {
  color: #040404;
}
.node--type-service .field--name-body {
  margin-bottom: var(--margin-60);
  font-size: var(--font-12);
  line-height: 133%;
}
.node--type-service .field--name-body ul {
  margin: 0;
  padding: 0;
  padding-left: 16px;
}
.node--type-service .field--name-body ul li::marker {
  color: #e31e27;
  transition: color 0.2s ease;
}
.node--type-service .field--name-node-link a {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  background-color: #f8f9fa;
  border: 1px solid transparent;
  border-radius: 50%;
}
.node--type-service .field--name-node-link a:hover::after,
.node--type-service .field--name-node-link a:focus::after {
  transform: rotate(-90deg) translate(50%, -50%);
}
.node--type-service .field--name-node-link a::after {
  position: absolute;
  content: '';
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url('/sites/all/themes/vesta_theme/image/arrow.svg');
  transition: transform 0.2s ease;
}
.service__title {
  margin-bottom: var(--margin-16);
  font-size: var(--font-20);
  line-height: 130%;
  font-weight: 700;
  color: #1e1e1e;
  transition: color 0.2s ease;
}
.service__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: var(--padding-12);
  border-top: 1px solid #d5d5d6;
  transition: border-color 0.2s ease;
}
.more-link {
  text-align: center;
}
.more-link a {
  display: block;
  max-width: 232px;
  padding: var(--padding-20) var(--padding-38);
  color: #ffffff;
  background-color: #2b292a;
  transition: color 0.2s ease, background-color 0.2s ease;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
  border-radius: 40px;
  text-decoration: none;
}
.more-link a:hover,
.more-link a:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.more-link a:active {
  color: #ffffff;
  background-color: #b7171e;
}
@media screen and (max-width: 991px) {
  .more-link a {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .more-link a {
    max-width: 190px;
    padding: 8px;
  }
}
.more-link a:hover {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.about {
  position: relative;
  margin-bottom: var(--margin-30);
}
.about::before {
  position: absolute;
  content: '';
  width: calc(100vw - 162px);
  height: 297px;
  bottom: -140px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url('/sites/all/themes/vesta_theme/image/about-bg.svg');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1199px) {
  .about::before {
    width: calc(100vw - 30px);
  }
}
.about__right {
  padding: var(--padding-40) var(--padding-30);
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
.node--type-about {
  position: relative;
  display: flex;
  column-gap: var(--gap-30);
  z-index: 2;
}
@media screen and (max-width: 991px) {
  .node--type-about {
    flex-direction: column;
    row-gap: var(--gap-10);
  }
}
.node--type-about .field--name-field-image {
  width: 470px;
  height: 470px;
  flex-shrink: 0;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 1199px) {
  .node--type-about .field--name-field-image {
    width: 468px;
    height: 468px;
  }
}
@media screen and (max-width: 991px) {
  .node--type-about .field--name-field-image {
    width: 100%;
    height: 300px;
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .node--type-about .field--name-field-image {
    height: 250px;
  }
}
.node--type-about .field--name-field-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.node--type-about .field--name-node-title {
  margin-bottom: var(--margin-30);
}
.node--type-about .field--name-node-title h2 {
  margin-bottom: 0;
  font-size: var(--font-36);
  line-height: 111%;
  font-weight: 700;
  color: #1e1e1e;
}
.node--type-about .field--name-body {
  margin-bottom: var(--margin-48);
}
.node--type-about .field--name-field-link {
  text-align: center;
}
.node--type-about .field--name-field-link a {
  display: block;
  max-width: 159px;
  padding: var(--padding-20) var(--padding-38);
  color: #ffffff;
  background-color: #2b292a;
  transition: color 0.2s ease, background-color 0.2s ease;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
  border-radius: 40px;
  text-decoration: none;
}
.node--type-about .field--name-field-link a:hover,
.node--type-about .field--name-field-link a:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.node--type-about .field--name-field-link a:active {
  color: #ffffff;
  background-color: #b7171e;
}
@media screen and (max-width: 991px) {
  .node--type-about .field--name-field-link a {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .node--type-about .field--name-field-link a {
    padding: 8px;
  }
}
.node--type-about .field--name-field-link a:hover {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.advantages {
  margin-bottom: var(--margin-60);
}
.advantages .block-title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
  margin: -1px;
  padding: 0;
}
.view-advantages .view-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--gap-30);
  padding: var(--padding-30);
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 991px) {
  .view-advantages .view-content {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 575px) {
  .view-advantages .view-content {
    grid-template-columns: 1fr;
  }
}
.node--type-advantage {
  height: 100%;
  min-height: 170px;
  padding: var(--padding-30);
  background-color: #f8f9fa;
  border-radius: 8px;
}
@media screen and (max-width: 991px) {
  .node--type-advantage {
    min-height: 150px;
  }
}
.node--type-advantage .field--name-field-icon {
  width: 48px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-right: var(--margin-16);
  background-color: #f0f1f2;
  border-radius: 16px;
}
.node--type-advantage .field--name-field-icon img {
  flex-shrink: 0;
}
.node--type-advantage .field--name-node-title h3 {
  margin: 0;
  font-size: var(--font-20);
  line-height: 120%;
  font-weight: 700;
  color: #1e1e1e;
}
.node--type-advantage .field--name-body {
  font-size: var(--font-12);
  line-height: 133%;
}
@media screen and (max-width: 575px) {
  .node--type-advantage .field--name-body {
    text-align: center;
  }
}
.advantage__top {
  display: flex;
  align-items: center;
  margin-bottom: var(--margin-16);
}
@media screen and (max-width: 575px) {
  .advantage__top {
    justify-content: center;
  }
}
.gallery {
  padding-top: var(--padding-40);
  padding-bottom: var(--padding-30);
  background-color: #2a2a2a;
}
.view-fotogalereya .view-content {
  margin-bottom: var(--margin-30);
}
.view-fotogalereya .more-link a {
  max-width: 146px;
  color: #1e1e1e;
  background-color: #ffffff;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.view-fotogalereya .more-link a:hover,
.view-fotogalereya .more-link a:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.view-fotogalereya .more-link a:active {
  color: #ffffff;
  background-color: #b7171e;
}
.node--type-photogallery .field--name-node-title {
  margin-bottom: var(--margin-30);
}
.node--type-photogallery .field--name-node-title h2 {
  margin-bottom: 0;
  font-size: var(--font-36);
  line-height: 111%;
  font-weight: 700;
  color: #ffffff;
}
.node--type-photogallery .field--name-field-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--gap-30);
}
@media screen and (max-width: 767px) {
  .node--type-photogallery .field--name-field-gallery {
    grid-template-columns: 1fr 1fr;
  }
}
.node--type-photogallery .field--name-field-gallery img {
  border-radius: 10px;
}
.node--type-photogallery .field--name-field-gallery .field__item {
  position: relative;
}
.node--type-photogallery .field--name-field-gallery .field__item:hover::before,
.node--type-photogallery .field--name-field-gallery .field__item:focus::before {
  display: block;
}
.node--type-photogallery .field--name-field-gallery .field__item:hover::after,
.node--type-photogallery .field--name-field-gallery .field__item:focus::after {
  display: flex;
  justify-content: center;
  align-items: center;
}
.node--type-photogallery .field--name-field-gallery .field__item::before,
.node--type-photogallery .field--name-field-gallery .field__item::after {
  pointer-events: none;
}
.node--type-photogallery .field--name-field-gallery .field__item::before {
  display: none;
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 10px;
}
.node--type-photogallery .field--name-field-gallery .field__item::after {
  display: none;
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  transform: translate(-50%, -50%);
  background-image: url('/sites/all/themes/vesta_theme/image/scale.svg');
  background-size: cover;
}
.request {
  padding-top: var(--padding-30);
  padding-bottom: var(--padding-60);
  background-color: #2a2a2a;
}
.request__left {
  padding: var(--padding-92) var(--padding-150) var(--padding-30) var(--padding-30);
  background-color: #f8f9fa;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
@media screen and (max-width: 991px) {
  .request__left {
    padding-top: 0;
    background-color: transparent;
    border-radius: 0;
  }
}
.node--type-form-block {
  display: flex;
  padding: var(--padding-40) var(--padding-30);
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.05), 0 15px 25px -5px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 991px) {
  .node--type-form-block {
    flex-direction: column;
    row-gap: var(--gap-10);
  }
}
.node--type-form-block .field--name-node-title {
  max-width: 330px;
  margin-bottom: var(--margin-30);
  font-size: var(--font-36);
  line-height: 111%;
  font-weight: 700;
  color: #1e1e1e;
}
@media screen and (max-width: 991px) {
  .node--type-form-block .field--name-node-title {
    max-width: fit-content;
  }
}
@media screen and (max-width: 991px) {
  .node--type-form-block .field--name-node-title br {
    display: none;
  }
}
.node--type-form-block .field--name-body {
  max-width: 330px;
}
@media screen and (max-width: 991px) {
  .node--type-form-block .field--name-body {
    max-width: fit-content;
  }
}
.node--type-form-block .field--name-field-form > div {
  height: 100%;
}
.node--type-form-block .field--name-field-form .webform-submission-form {
  height: 100%;
}
.webform-submission-form {
  display: grid;
  width: 600px;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-20);
  padding: var(--padding-40);
  background-color: #2a2a2a;
  border-radius: 8px;
}
@media screen and (max-width: 991px) {
  .webform-submission-form {
    width: 100%;
  }
}
.webform-submission-form .form-item label {
  margin-bottom: var(--margin-10);
  color: #ffffff;
}
.webform-submission-form input[type="text"],
.webform-submission-form textarea {
  padding: var(--padding-14) var(--padding-20);
  font-size: var(--font-12);
  line-height: 133%;
  color: #1e1e1e;
  background-color: #f9f9f9;
  border: none;
  border-radius: 8px;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  transition: box-shadow 0.2s ease;
}
.webform-submission-form input[type="text"]:hover,
.webform-submission-form textarea:hover,
.webform-submission-form input[type="text"]:focus,
.webform-submission-form textarea:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.webform-submission-form input[type="text"]::placeholder,
.webform-submission-form textarea::placeholder {
  font-size: var(--font-12);
  line-height: 133%;
  color: #6b7280;
}
.webform-submission-form textarea {
  height: 44px;
}
.webform-submission-form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  background-color: #d1d5db;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  transition: box-shadow 0.2s ease;
  cursor: pointer;
}
.webform-submission-form input[type="checkbox"]:hover,
.webform-submission-form input[type="checkbox"]:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.webform-submission-form input[type="checkbox"]:checked {
  background-color: #e31e27;
}
.webform-submission-form .form-item-name {
  grid-column: 1 / 2;
}
.webform-submission-form .form-item-nomer-telefona {
  grid-column: 2 / 3;
}
.webform-submission-form .form-item-nomer-telefona .form-item--error-message {
  margin-top: var(--margin-15);
}
.webform-submission-form .form-item-message,
.webform-submission-form .form-item-privacy,
.webform-submission-form .form-actions {
  grid-column: 1 / 3;
}
.webform-submission-form .form-item-privacy {
  max-width: 480px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--gap-17);
}
@media screen and (max-width: 991px) {
  .webform-submission-form .form-item-privacy {
    max-width: fit-content;
  }
}
.webform-submission-form .form-item-privacy .form-item--error-message {
  grid-row: 2 / 3;
  grid-column: 1 / -1;
}
.webform-submission-form .description {
  font-size: var(--font-12);
  line-height: 133%;
  color: #ffffff;
}
.webform-submission-form .description__link {
  font-size: var(--font-12);
  line-height: 133%;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.webform-submission-form .description__link:hover,
.webform-submission-form .description__link:focus {
  color: #e31e27;
}
.webform-submission-form .description__link:active {
  color: #b7171e;
}
.webform-submission-form .webform-button--submit {
  width: 100%;
  padding: var(--padding-20);
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #ffffff;
  text-transform: uppercase;
  background-color: #e31e27;
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
  border: 1px solid transparent;
  border-radius: 40px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.webform-submission-form .webform-button--submit:hover,
.webform-submission-form .webform-button--submit:focus {
  color: #ffffff;
  background-color: #2b292a;
  border-color: #e31e27;
}
.webform-submission-form .webform-button--submit:active {
  color: #e31e27;
  background-color: #2b292a;
  border-color: #e31e27;
}
.webform-submission-form .alert-error {
  grid-column: 1 / -1;
  font-size: var(--font-12);
  line-height: 133%;
}
.webform-submission-form .alert-error a {
  font-size: var(--font-12);
  line-height: 133%;
  color: #1e1e1e;
  transition: color 0.2s ease;
  text-decoration: none;
}
.webform-submission-form .alert-error a:hover,
.webform-submission-form .alert-error a:focus {
  color: #e31e27;
}
.webform-submission-form .alert-error a:active {
  color: #b7171e;
}
.webform-submission-form .form-item--error-message {
  font-size: var(--font-12);
  line-height: 133%;
  color: #ffffff;
  font-weight: 500;
}
.webform-submission-form .webform-confirmation__message {
  font-size: var(--font-12);
  line-height: 133%;
  color: #ffffff;
}
.modal-dialog {
  max-width: 600px;
}
.modal-content {
  background-color: #2a2a2a;
  border: 0;
}
.modal-header,
.modal-body,
.modal-footer {
  border: none;
}
.modal-header {
  padding: var(--padding-20) var(--padding-40);
}
.modal-header .btn-close {
  filter: invert(1) brightness(2);
}
.modal-body {
  padding: 0;
}
.modal-body .webform-submission-form {
  padding: 0 var(--padding-40);
  border-radius: 0;
}
.modal-footer {
  justify-content: center;
}
.modal-title {
  color: #ffffff;
}
.modal .webform-button--submit {
  width: 100%;
  padding: var(--padding-20);
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #ffffff;
  text-transform: uppercase;
  background-color: #e31e27;
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
  border: 1px solid transparent;
  border-radius: 40px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.modal .webform-button--submit:hover,
.modal .webform-button--submit:focus {
  color: #ffffff;
  background-color: #2b292a;
  border-color: #e31e27;
}
.modal .webform-button--submit:active {
  color: #e31e27;
  background-color: #2b292a;
  border-color: #e31e27;
}
.contacts {
  position: relative;
}
@media screen and (max-width: 991px) {
  .contacts {
    margin-top: var(--margin-30);
  }
}
@media screen and (min-width: 992px) {
  .contacts .block-title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    margin: -1px;
    padding: 0;
  }
}
@media screen and (max-width: 991px) {
  .contacts .block-title {
    position: relative;
    top: 0;
    left: calc((100vw - 768px) / 2 + 15px);
  }
}
@media screen and (max-width: 767px) {
  .contacts .block-title {
    left: calc((100vw - 576px) / 2 + 15px);
  }
}
@media screen and (max-width: 575px) {
  .contacts .block-title {
    left: 15px;
  }
}
.contacts__list {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-16);
  margin: 0;
  padding: 0;
  list-style: none;
}
.contacts__item {
  display: flex;
  align-items: center;
  font-size: var(--font-12);
  line-height: 133%;
}
.contacts__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-right: var(--margin-8);
  padding: var(--padding-16);
  background-color: #f8f9fa;
  border-radius: 16px;
}
@media screen and (max-width: 991px) {
  .contacts__icon {
    padding-left: 0;
  }
}
.contacts__container {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-8);
  margin-right: auto;
}
@media screen and (max-width: 991px) {
  .contacts__container {
    margin-right: var(--margin-10);
  }
}
.contacts__link {
  font-size: var(--font-13);
  line-height: 154%;
  font-weight: 700;
  color: #737373;
  transition: color 0.2s ease;
  text-decoration: none;
}
.contacts__link:hover,
.contacts__link:focus {
  color: #e31e27;
}
.contacts__link:active {
  color: #b7171e;
}
.contacts__link--social {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  border-radius: 50%;
  transition: box-shadow 0.2s ease;
}
.contacts__link--social svg {
  width: 48px;
  height: 48px;
}
.contacts__link--social:hover,
.contacts__link--social:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.contacts__link--social:active {
  border-color: #b7171e;
}
.node--type-contacts {
  position: relative;
  padding: var(--padding-56) 0;
}
@media screen and (max-width: 991px) {
  .node--type-contacts {
    padding: 0;
  }
}
.node--type-contacts .field--name-body {
  position: relative;
  max-width: 370px;
  padding: var(--padding-30);
  background-color: #ffffff;
  border-radius: 8px;
  z-index: 2;
}
@media screen and (max-width: 991px) {
  .node--type-contacts .field--name-body {
    margin-bottom: var(--margin-20);
    padding: 0;
    background-color: transparent;
  }
}
.node--type-contacts .field--name-field-map {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 991px) {
  .node--type-contacts .field--name-field-map {
    position: static;
  }
}
.node--type-contacts.node--view-mode-full .field--name-body {
  max-width: fit-content;
}
.mapContainer {
  position: relative;
}
@media screen and (max-width: 1199px) {
  .mapContainer {
    max-height: 316px;
  }
}
@media screen and (max-width: 991px) {
  .mapContainer {
    border-radius: 8px;
    overflow: hidden;
  }
  .mapContainer::before {
    display: none;
  }
}
.mapContainer::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  transition: opacity 1s ease;
  opacity: 1;
}
.mapContainer.active::before {
  opacity: 0;
}
.page-view--contacts .node--type-contacts {
  padding: 0;
}
.page-view--contacts .node--type-contacts .field--name-body {
  margin-bottom: var(--margin-20);
  padding: 0;
  background-color: transparent;
}
.page-view--contacts .node--type-contacts .field--name-field-map {
  position: static;
}
.page-view--contacts .mapContainer {
  border-radius: 8px;
  overflow: hidden;
}
.page-view--contacts .mapContainer::before {
  display: none;
}
#footer .dropdown-toggle::after {
  display: none;
}
#footer .dropdown-menu {
  display: none;
}
.footer {
  background-color: #2a2a2a;
}
.footer__top {
  display: flex;
  justify-content: space-between;
  padding: var(--padding-40) 0;
}
@media screen and (max-width: 991px) {
  .footer__top {
    flex-direction: column;
    align-items: center;
    row-gap: var(--gap-20);
    text-align: center;
  }
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  padding-right: var(--padding-56);
  padding-bottom: var(--padding-20);
}
@media screen and (max-width: 991px) {
  .footer__bottom {
    flex-direction: column;
    align-items: center;
    row-gap: var(--gap-10);
    padding-right: 0;
    text-align: center;
  }
}
@media screen and (max-width: 991px) {
  .footer .region-webvesta {
    order: 1;
  }
}
.footer__title {
  margin-bottom: var(--margin-20);
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #ffffff;
}
.footer__container {
  font-size: var(--font-12);
  line-height: 133%;
  letter-spacing: 0.03em;
}
.footer__container--right {
  text-align: right;
}
@media screen and (max-width: 991px) {
  .footer__container--right {
    text-align: center;
  }
}
.footer .nav {
  flex-direction: column;
  row-gap: var(--gap-10);
}
.footer .nav-item:first-child .nav-link {
  margin-bottom: var(--margin-10);
  font-weight: 700;
}
.footer .nav-link {
  padding: 0;
  font-size: var(--font-12);
  line-height: 133%;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.footer .nav-link:hover,
.footer .nav-link:focus {
  color: #e31e27;
}
.footer .nav-link:active {
  color: #b7171e;
}
.footer .view-services .view-content {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-10);
  margin-bottom: 0;
  font-size: var(--font-12);
  line-height: 133%;
  letter-spacing: 0.03em;
}
.footer .view-services .view-content a {
  font-size: var(--font-12);
  line-height: 133%;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.footer .view-services .view-content a:hover,
.footer .view-services .view-content a:focus {
  color: #e31e27;
}
.footer .view-services .view-content a:active {
  color: #b7171e;
}
.footer .view-services .view-content a.active {
  color: #e31e27;
  transition: color 0.2s ease;
  text-decoration: none;
}
.footer .view-services .view-content a.active:hover,
.footer .view-services .view-content a.active:focus {
  color: #b7171e;
}
.footer .view-services .view-content a.active:active {
  color: #8a1117;
}
.footer .contact__list {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-20);
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer .contact__item {
  font-size: var(--font-12);
  line-height: 133%;
  letter-spacing: 0.03em;
  color: #ffffff;
  text-align: right;
}
.footer .contact__container {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-10);
}
@media screen and (max-width: 991px) {
  .footer .contact__container {
    align-items: center;
  }
}
.footer .contact__link {
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.footer .contact__link:hover,
.footer .contact__link:focus {
  color: #e31e27;
}
.footer .contact__link:active {
  color: #b7171e;
}
.footer .contact__link--social {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin-left: auto;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  border-radius: 50%;
  transition: box-shadow 0.2s ease;
}
@media screen and (max-width: 991px) {
  .footer .contact__link--social {
    margin-right: auto;
  }
}
.footer .contact__link--social:hover,
.footer .contact__link--social:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.footer .contact__link--social svg {
  width: 48px;
  height: 48px;
}
.footer .contact__text {
  margin: 0;
}
.privacy {
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 400;
  color: #ffffff;
}
.privacy__link {
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 400;
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
.privacy__link:hover,
.privacy__link:focus {
  color: #e31e27;
}
.privacy__link:active {
  color: #b7171e;
}
div#vpa-short-wrapper {
  max-width: 973px;
  column-gap: var(--gap-93);
  padding: var(--padding-44) var(--padding-30) var(--padding-40);
  font-family: "Inter", sans-serif;
  border-radius: 10px;
  box-shadow: 0 8px 10px -6px rgba(0, 0, 0, 0.1), 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  div#vpa-short-wrapper {
    flex-direction: column;
    padding-top: 30px;
    text-align: center;
  }
}
div#vpa-short-wrapper .vpa-close-zone {
  height: 30px;
}
div#vpa-short-wrapper .vpa-content p {
  font-size: var(--font-16);
  line-height: 150%;
  color: #161616;
}
div#vpa-short-wrapper .vpa-content a {
  font-size: var(--font-16);
  line-height: 150%;
  color: #161616;
  transition: color 0.2s ease;
  text-decoration: none;
}
div#vpa-short-wrapper .vpa-content a:hover,
div#vpa-short-wrapper .vpa-content a:focus {
  color: #e31e27;
}
div#vpa-short-wrapper .vpa-content a:active {
  color: #b7171e;
}
div#vpa-short-wrapper .vpa-actions .btn {
  width: 138px;
  height: 56px;
  color: #ffffff;
  background-color: #2a2a2a;
  transition: color 0.2s ease, background-color 0.2s ease;
  border-radius: 40px;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
}
div#vpa-short-wrapper .vpa-actions .btn:hover,
div#vpa-short-wrapper .vpa-actions .btn:focus {
  color: #ffffff;
  background-color: #e31e27;
}
div#vpa-short-wrapper .vpa-actions .btn:active {
  color: #ffffff;
  background-color: #b7171e;
}
div#vpa-short-wrapper .vpa-actions .btn:hover,
div#vpa-short-wrapper .vpa-actions .btn:focus {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
#scrollToTop {
  width: 104px;
  height: 27px;
  bottom: 400px;
  right: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e31e27;
  border-radius: 20px;
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
@media screen and (max-width: 1199px) {
  #scrollToTop {
    width: 75px;
    right: 25px;
  }
}
@media screen and (max-width: 991px) {
  #scrollToTop {
    width: 50px;
    bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  #scrollToTop {
    width: 45px;
  }
}
#scrollToTop:hover,
#scrollToTop:focus {
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
}
#scrollToTop:hover svg path,
#scrollToTop:focus svg path {
  fill: #737373;
}
#scrollToTop:active svg path {
  fill: #1e1e1e;
}
#scrollToTop svg path {
  transition: fill 0.2s ease;
}
.block-page-title-block h1 {
  margin-bottom: var(--margin-30);
  font-size: var(--font-42);
  line-height: 100%;
  font-weight: 700;
  color: #1e1e1e;
}
.pagination {
  margin-bottom: var(--margin-20);
  margin-bottom: 0;
}
.page-link {
  font-size: var(--font-16);
  color: #1e1e1e;
  background-color: #ffffff;
  transition: color 0.2s ease, background-color 0.2s ease;
  border-color: #1e1e1e;
}
.page-link:hover,
.page-link:focus {
  color: #1e1e1e;
  background-color: #d1d5db;
}
.page-link:active {
  color: #1e1e1e;
  background-color: #b4bbc5;
}
.page-link:hover,
.page-link:focus {
  border-color: #1e1e1e;
}
.page-item.active .page-link {
  color: #e31e27;
  background-color: #ffffff;
  transition: color 0.2s ease, background-color 0.2s ease;
  border-color: #1e1e1e;
}
.page-item.active .page-link:hover,
.page-item.active .page-link:focus {
  color: #e31e27;
  background-color: #d1d5db;
}
.page-item.active .page-link:active {
  color: #e31e27;
  background-color: #b4bbc5;
}
@media screen and (max-width: 575px) {
  .page-item {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-item.pager__item--first,
  .page-item.pager__item--previous,
  .page-item.active,
  .page-item.pager__item--next,
  .page-item.pager__item--last {
    display: block;
  }
}
.not-front .wr_content {
  margin-bottom: var(--margin-30);
}
@media screen and (max-width: 991px) {
  .not-front .wr_content {
    margin-top: var(--margin-30);
  }
}
.not-front .view-services .view-content {
  margin-bottom: 0;
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) {
  display: flex;
  align-items: center;
  column-gap: var(--gap-10);
  margin-bottom: var(--margin-20);
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .form-search {
  width: 300px;
  height: 40px;
  font-size: var(--font-13);
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
}
@media screen and (max-width: 575px) {
  .search-api-page-block-form:not(.region-search .search-api-page-block-form) .form-search {
    width: 200px;
  }
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .form-search::-webkit-search-cancel-button {
  position: initial;
  right: 0;
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .search-form__submit {
  max-width: 232px;
  height: 40px;
  color: #ffffff;
  background-color: #2b292a;
  transition: color 0.2s ease, background-color 0.2s ease;
  font-size: var(--font-12);
  line-height: 133%;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 4px 6px -4px rgba(23, 23, 23, 0.1), 0 10px 15px -3px rgba(23, 23, 23, 0.1);
  border: none;
  border-radius: 8px;
  text-decoration: none;
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .search-form__submit:hover,
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .search-form__submit:focus {
  color: #ffffff;
  background-color: #e31e27;
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .search-form__submit:active {
  color: #ffffff;
  background-color: #b7171e;
}
.search-api-page-block-form:not(.region-search .search-api-page-block-form) .search-form__submit:hover {
  box-shadow: 0 2px 4px -2px rgba(227, 30, 39, 0.2), 0 4px 6px -1px rgba(227, 30, 39, 0.2);
}
.search__link,
h3:has(.search__link) {
  font-size: var(--font-16);
  line-height: 133%;
  color: #1e1e1e;
  transition: color 0.2s ease;
  text-decoration: none;
}
.search__link:hover,
h3:has(.search__link):hover,
.search__link:focus,
h3:has(.search__link):focus {
  color: #e31e27;
}
.search__link:active,
h3:has(.search__link):active {
  color: #b7171e;
}
h3:has(.search__link) {
  margin-bottom: var(--margin-10);
}
.nav-link.is-active,
.nav-link:has(+ .dropdown-menu .dropdown-item.active) {
  color: #e31e27;
  transition: color 0.2s ease;
  text-decoration: none;
}
.nav-link.is-active:hover,
.nav-link:has(+ .dropdown-menu .dropdown-item.active):hover,
.nav-link.is-active:focus,
.nav-link:has(+ .dropdown-menu .dropdown-item.active):focus {
  color: #b7171e;
}
.nav-link.is-active:active,
.nav-link:has(+ .dropdown-menu .dropdown-item.active):active {
  color: #8a1117;
}
#footer .nav-link:has(+ .dropdown-menu .dropdown-item.active) {
  color: #ffffff;
  transition: color 0.2s ease;
  text-decoration: none;
}
#footer .nav-link:has(+ .dropdown-menu .dropdown-item.active):hover,
#footer .nav-link:has(+ .dropdown-menu .dropdown-item.active):focus {
  color: #e31e27;
}
#footer .nav-link:has(+ .dropdown-menu .dropdown-item.active):active {
  color: #b7171e;
}
