.clearfix::after {
  display: none !important;
}
.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;
  }
}
/* Colors */
/* Font sizes */
:root {
  --font-42: 42px;
  --font-32: 32px;
  --font-24: 24px;
  --font-22: 22px;
  --font-18: 18px;
  --font-14: 14px;
}
/* Paddings and margins */
:root {
  --margin-23: 23px;
  --margin-20: 20px;
  --margin-30: 30px;
  --margin-80: 80px;
  --margin-40: 40px;
  --margin-24: 24px;
  --margin-10: 10px;
  --margin-12: 12px;
  --margin-17: 17px;
  --padding-20: 20px;
  --padding-v-20: 20px 0;
  --padding-button: 10px 30px;
  --padding-banner: 215px 338px 260px 46px;
  --padding-80: 80px;
  --padding-h-52: 0 52px;
  --padding-v-100: 100px 0;
  --padding-advantages: 20px 56px 20px 70px;
  --padding-form: 40px 70px;
  --padding-footer: 52px 0 20px 0;
  --padding-cookies: 11px 40px;
  --padding-195: 195px;
  --padding-103: 103px;
  --padding-30: 30px;
  --padding-90: 90px;
  --padding-70: 70px;
  --padding-v-40: 40px 0;
  --padding-40: 40px;
  --padding-input: 15px 20px 18px 20px;
  --gap-100: 100px;
  --gap-60: 60px;
  --gap-40: 40px;
  --gap-30: 30px;
  --gap-20: 20px;
}
/* Transition */
/* Width */
:root {
  --item-width: calc(50% - 15px);
}
/* 1199px */
@media screen and (max-width: 1199px) {
  :root {
    --font-42: 36px;
    --font-32: 28px;
    --font-24: 18px;
    --font-22: 17px;
    --font-18: 16px;
    --font-14: 12px;
    --margin-80: 60px;
    --margin-40: 32px;
    --margin-30: 24px;
    --padding-banner: 180px 200px 220px 40px;
    --padding-80: 70px;
    --padding-90: 70px;
    --padding-70: 50px;
    --padding-v-100: 90px 0;
    --padding-195: 120px;
    --padding-103: 60px;
    --padding-h-52: 0 30px;
    --padding-advantages: 18px 40px 18px 50px;
    --padding-form: 35px 50px;
    --padding-footer: 40px 0 20px 0;
    --padding-cookies: 10px 30px;
    --padding-button: 10px 22px;
    --padding-40: 30px;
    --gap-100: 70px;
    --gap-60: 45px;
    --gap-40: 24px;
    --gap-30: 20px;
    --item-width: calc(50% - 15px);
  }
}
/* 991px */
@media screen and (max-width: 991px) {
  :root {
    --font-42: 32px;
    --font-32: 24px;
    --font-24: 16px;
    --font-22: 15px;
    --font-18: 14px;
    --margin-80: 50px;
    --margin-40: 28px;
    --margin-30: 22px;
    --padding-banner: 80px 30px 100px 30px;
    --padding-80: 60px;
    --padding-90: 50px;
    --padding-70: 40px;
    --padding-v-100: 80px 0;
    --padding-195: 80px;
    --padding-103: 40px;
    --padding-h-52: 0 25px;
    --padding-advantages: 16px 30px 16px 40px;
    --padding-form: 28px 40px;
    --padding-footer: 35px 0 20px 0;
    --padding-40: 25px;
    --gap-100: 50px;
    --gap-60: 35px;
    --gap-40: 22px;
    --gap-30: 15px;
    --item-width: 100%;
  }
}
/* 767px */
@media screen and (max-width: 767px) {
  :root {
    --font-42: 28px;
    --font-32: 22px;
    --font-24: 15px;
    --font-22: 14px;
    --font-18: 13px;
    --margin-80: 40px;
    --margin-40: 24px;
    --margin-30: 20px;
    --margin-23: 16px;
    --margin-20: 16px;
    --margin-24: 18px;
    --margin-17: 14px;
    --margin-12: 10px;
    --margin-10: 8px;
    --padding-20: 16px;
    --padding-v-20: 16px 0;
    --padding-button: 8px 24px;
    --padding-banner: 80px 20px 100px 20px;
    --padding-90: 40px;
    --padding-70: 30px;
    --padding-v-100: 70px 0;
    --padding-195: 0;
    --padding-103: 30px;
    --padding-h-52: 0 20px;
    --padding-advantages: 14px 20px 14px 28px;
    --padding-form: 22px 30px;
    --padding-footer: 30px 0 15px 0;
    --padding-cookies: 8px 20px;
    --padding-input: 12px 16px 14px 16px;
    --padding-40: 15px;
    --gap-100: 40px;
    --gap-60: 28px;
    --gap-40: 20px;
    --gap-20: 15px;
  }
}
/* 575px */
@media screen and (max-width: 575px) {
  :root {
    --font-42: 22px;
    --font-32: 20px;
    --font-24: 16px;
    --font-22: 14px;
    --font-18: 14px;
    --font-14: 12px;
    --margin-80: 30px;
    --margin-40: 20px;
    --margin-30: 16px;
    --margin-23: 14px;
    --margin-20: 14px;
    --margin-24: 16px;
    --margin-17: 12px;
    --margin-12: 8px;
    --margin-10: 8px;
    --padding-20: 14px;
    --padding-v-20: 14px 0;
    --padding-button: 8px 16px;
    --padding-banner: 80px 20px 60px 16px;
    --padding-90: 32px;
    --padding-70: 25px;
    --padding-103: 24px;
    --padding-h-52: 0 16px;
    --padding-advantages: 12px 16px 12px 22px;
    --padding-form: 18px 24px;
    --padding-footer: 25px 0 12px 0;
    --padding-cookies: 8px 16px;
    --padding-input: 10px 14px 12px 14px;
    --padding-40: 10px;
    --gap-100: 28px;
    --gap-60: 22px;
    --gap-40: 16px;
    --gap-30: 14px;
    --gap-20: 12px;
  }
}
p:last-child {
  margin-bottom: 0 !important;
}
body {
  padding-top: 0 !important;
  font-family: "Montserrat", sans-serif;
  line-height: 1.15;
  color: #1e1e1e;
}
#app {
  overflow: hidden;
}
.toolbar-fixed #app {
  margin-top: var(--drupal-displace-offset-top);
}
.ajax-progress-throbber .throbber {
  padding: 0;
  margin: 0;
  display: none;
}
.ajax-progress-throbber {
  display: none;
}
#header {
  background-color: #fffdfd;
}
#header-mob {
  background-color: #ffe6cc;
}
#header-mob .col-logo {
  width: 120px;
}
#header-mob .header__link {
  color: #1e1e1e;
  transition: color 0.2s ease;
}
#header-mob .header__link:hover {
  color: #d9741f;
}
#header-mob .header__phone {
  margin-right: 0;
}
.offcanvas {
  background-color: #ffe6cc;
}
.offcanvas__logo {
  width: 100px;
}
.offcanvas-body {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-30);
}
.offcanvas .header__contacts {
  flex-direction: column;
  align-items: flex-start;
  row-gap: var(--gap-20);
}
.offcanvas .header__phone {
  margin-right: 0;
}
.header {
  background-color: #fffdfd;
}
.header__container {
  display: flex;
  align-items: center;
  padding: var(--padding-v-20);
}
.header__logo {
  margin-right: var(--margin-23);
}
@media screen and (max-width: 1199px) {
  .header__logo {
    width: 120px;
  }
}
.header__contacts {
  display: flex;
  align-items: center;
  column-gap: var(--gap-40);
  margin-right: var(--margin-40);
}
.header__link {
  font-size: var(--font-14);
  color: #1e1e1e;
  text-decoration: none;
  transition: color 0.2s ease;
}
.header__link:hover {
  color: #d9741f;
}
.header__link--social {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background-color: #1e1e1e;
  transition: background-color 0.2s ease;
}
.header__link--social:hover {
  background-color: #d9741f;
}
.header__link--outer {
  background-color: #fffdfd;
}
.header__link--outer path {
  fill: #1e1e1e;
  transition: fill 0.2s ease;
}
.header__link--outer:hover {
  background-color: #fffdfd;
}
.header__link--outer:hover path {
  fill: #d9741f;
}
.header__callback {
  padding: var(--padding-button);
  color: #fffdfd;
  background-color: #f28c28;
  transition: color 0.2s ease, background-color 0.2s ease;
  border: none;
  border-radius: initial;
}
.header__callback:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.header__phone {
  margin-right: var(--margin-10);
}
.header__phone svg path {
  fill: #1e1e1e;
  transition: fill 0.2s ease;
}
.header__phone:has(a:hover) svg path {
  fill: #d9741f;
}
.header__messangers {
  display: flex;
  column-gap: 10px;
}
.nav {
  gap: var(--gap-40);
  margin-right: var(--margin-40);
}
.nav-link {
  font-size: var(--font-14);
  font-weight: 500;
  color: #1e1e1e;
  padding: 0;
  text-decoration: none;
  transition: color 0.2s ease;
}
.nav-link:hover {
  color: #d9741f;
}
.nav-link:focus {
  color: #d9741f;
}
.banner {
  font-size: var(--font-22);
  font-weight: 500;
  color: #fffdfd;
  position: relative;
}
.banner .region-banner {
  padding: var(--padding-banner);
}
.banner h1 {
  margin-bottom: var(--margin-20);
  font-size: var(--font-42);
  font-weight: 700;
}
.banner p {
  margin-bottom: var(--margin-20);
  line-height: 1.15em;
}
.banner p:nth-child(2n) {
  padding-left: var(--padding-20);
}
.banner .field--name-body {
  margin-bottom: var(--margin-30);
  padding-left: var(--padding-103);
}
.banner__buttons {
  display: flex;
  column-gap: var(--gap-20);
  padding-left: var(--padding-195);
}
.banner__btn {
  padding: var(--padding-button);
  font-size: var(--font-18);
  font-weight: 600;
  color: #f28c28;
  background-color: #e5e5e5;
  border: none;
  border-radius: initial;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.25);
  transition: color 0.2s ease;
  transition: background-color 0.2s ease;
}
.banner__btn:hover {
  color: #d9741f;
  background-color: #ffe6cc;
}
.banner .contextual-region {
  position: initial;
}
.banner .field--name-field-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.banner .field--name-field-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-title {
  margin-bottom: var(--margin-40);
  font-size: var(--font-32);
  font-weight: 700;
  text-align: center;
}
.services {
  background-color: #f6f6f6;
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-90);
}
.services .field--name-body {
  padding: var(--padding-h-52);
  font-size: var(--font-14);
}
.services__btn {
  margin-top: var(--margin-20);
  padding: var(--padding-button);
  font-size: var(--font-18);
  font-weight: 600;
  color: #fffdfd;
  background-color: #f28c28;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.services__btn:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.view-services .view-content,
.node--type-service .view-content {
  gap: var(--gap-30);
  margin: 0;
  margin-bottom: var(--margin-30);
  padding: 0;
}
.view-services .views-row,
.node--type-service .views-row {
  width: var(--item-width);
  padding: 0;
  padding-bottom: var(--padding-40);
  border-bottom: 7px solid transparent;
  background-color: #ffffff;
  transition: border-color 0.2s ease;
}
@media screen and (min-width: 1200px) {
  .view-services .views-row,
  .node--type-service .views-row {
    min-height: 480px;
  }
}
@media screen and (max-width: 991px) {
  .view-services .views-row,
  .node--type-service .views-row {
    border-bottom: 3px solid transparent;
  }
}
.view-services .views-row:hover,
.node--type-service .views-row:hover {
  border-bottom-color: #d9741f;
}
.view-services .field--name-field-service__image,
.node--type-service .field--name-field-service__image {
  margin-bottom: var(--margin-40);
}
@media screen and (max-width: 991px) {
  .view-services .field--name-field-service__image img,
  .node--type-service .field--name-field-service__image img {
    width: 100%;
  }
}
.view-services .field--name-node-title,
.node--type-service .field--name-node-title {
  margin-bottom: var(--margin-20);
  text-align: center;
}
.view-services .field--name-node-title a,
.node--type-service .field--name-node-title a {
  font-size: var(--font-24);
  font-weight: 700;
  color: #1e1e1e;
  text-align: center;
  text-decoration: none;
  transition: color 0.2s ease;
}
.view-services .field--name-node-title a:hover,
.node--type-service .field--name-node-title a:hover {
  color: #d9741f;
}
.view-services .field--name-body,
.node--type-service .field--name-body {
  padding: var(--padding-h-52);
  font-size: var(--font-14);
}
.view-services .more-link,
.node--type-service .more-link {
  text-align: center;
}
.view-services .more-link a,
.node--type-service .more-link a {
  padding: var(--padding-button);
  font-size: var(--font-18);
  font-weight: 600;
  color: #fffdfd;
  background-color: #f28c28;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.view-services .more-link a:hover,
.node--type-service .more-link a:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.node--type-service.node--view-mode-full .field--name-field-price {
  font-weight: 500;
  margin-top: var(--margin-20);
}
.view-projects .view-content,
.node--type-project .view-content {
  gap: var(--gap-30);
  margin: 0;
  margin-bottom: var(--margin-30);
  padding: 0;
}
.view-projects .views-row,
.node--type-project .views-row {
  width: var(--item-width);
  padding: 0;
  padding-bottom: var(--padding-30);
  border-bottom: 7px solid transparent;
  background-color: #ffffff;
  transition: border-color 0.2s ease;
}
@media screen and (max-width: 991px) {
  .view-projects .views-row,
  .node--type-project .views-row {
    border-bottom: 3px solid transparent;
  }
}
.view-projects .views-row:hover,
.node--type-project .views-row:hover {
  border-bottom-color: #d9741f;
}
.view-projects .field--name-field-project-image,
.node--type-project .field--name-field-project-image {
  margin-bottom: var(--margin-40);
}
@media screen and (max-width: 991px) {
  .view-projects .field--name-field-project-image img,
  .node--type-project .field--name-field-project-image img {
    width: 100%;
  }
}
.view-projects .field--name-node-title,
.node--type-project .field--name-node-title {
  margin-bottom: var(--margin-20);
  text-align: center;
}
.view-projects .field--name-node-title a,
.node--type-project .field--name-node-title a {
  font-size: var(--font-24);
  font-weight: 700;
  color: #1e1e1e;
  text-align: center;
  text-decoration: none;
  transition: color 0.2s ease;
}
.view-projects .field--name-node-title a:hover,
.node--type-project .field--name-node-title a:hover {
  color: #d9741f;
}
.view-projects .field--name-body,
.node--type-project .field--name-body {
  padding: var(--padding-h-52);
  font-size: var(--font-14);
}
.view-projects .more-link,
.node--type-project .more-link {
  text-align: center;
}
.view-projects .more-link a,
.node--type-project .more-link a {
  padding: var(--padding-button);
  font-size: var(--font-18);
  font-weight: 600;
  color: #fffdfd;
  background-color: #f28c28;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.view-projects .more-link a:hover,
.node--type-project .more-link a:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.wr_content:has(.node--type-project) {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-90);
  background-color: #f6f6f6;
}
.not-front .node--type-project .field--name-body {
  font-size: var(--font-22);
}
.not-front .node--type-project .field--name-field-project-image {
  text-align: left;
}
.page-view--projects .wr_content {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-90);
  background-color: #f6f6f6;
}
.page-view--projects .views-infinite-scroll-content-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
}
.wr_content:has(.node--type-service) {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-90);
  background-color: #f6f6f6;
}
.not-front .node--type-service .field--name-body {
  font-size: var(--font-22);
}
.not-front .node--type-service .field--name-field-service__image {
  text-align: left;
}
.node--view-mode-full.node--type-service .field--name-body {
  padding: 0;
}
.node--view-mode-full.node--type-project .field--name-body {
  padding: 0;
}
.block-page-title-block h1 {
  margin-bottom: var(--margin-40);
  font-size: var(--font-42);
  font-weight: 700;
  text-align: left;
}
.page-view--services .wr_content {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-90);
  background-color: #f6f6f6;
}
.page-view--services .views-infinite-scroll-content-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
}
.js-pager__items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pager__item {
  text-align: center;
}
.pager__item a {
  padding: var(--padding-button);
  font-size: var(--font-18);
  font-weight: 600;
  color: #fffdfd;
  background-color: #f28c28;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.pager__item a:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.about {
  position: relative;
  overflow: hidden;
  padding: var(--padding-v-100);
  background-color: #2a2a2a;
}
.about::before,
.about::after {
  content: '';
  position: absolute;
  width: 928px;
  height: 279px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  pointer-events: none;
}
.about::before {
  top: 261px;
  left: 0px;
  background-image: url("/sites/all/themes/vesta_theme/image/left.png");
  transform: rotate(71deg);
  opacity: 0.18;
}
.about::after {
  top: -16px;
  right: -115px;
  background-image: url("/sites/all/themes/vesta_theme/image/right.png");
  transform: rotate(-150deg);
  opacity: 0.18;
}
.about .block-title {
  text-align: left;
  color: #f28c28;
}
.about__right {
  padding-top: var(--padding-70);
}
.about__btn {
  padding: var(--padding-button);
  color: #fffdfd;
  background-color: #f28c28;
  transition: color 0.2s ease, background-color 0.2s ease;
  border: none;
  border-radius: initial;
}
.about__btn:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.view-about {
  font-size: var(--font-18);
  color: #fffdfd;
}
.view-about h3 {
  margin-bottom: var(--margin-20);
  font-size: var(--font-32);
  font-weight: 700;
}
.view-about p {
  margin-bottom: var(--margin-20);
}
.view-about p + h3 {
  margin-top: var(--margin-40);
}
.view-about ul {
  margin-bottom: var(--margin-24);
}
.node--type-about {
  display: grid;
  grid-template-columns: 667px 723px;
  column-gap: 33px;
  margin-right: -253px;
}
@media screen and (max-width: 1800px) {
  .node--type-about {
    grid-template-columns: 100%;
    margin-right: 0;
  }
  .node--type-about .field--name-dynamic-token-fieldnode-get-commerce-offer {
    text-align: center;
  }
  .node--type-about .field--name-field-about-image {
    text-align: center;
  }
}
.page-view--about .wr_content {
  position: relative;
  padding: var(--padding-v-100);
  background-color: #2a2a2a;
}
.page-view--about .wr_content::before,
.page-view--about .wr_content::after {
  content: '';
  position: absolute;
  width: 928px;
  height: 279px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  pointer-events: none;
}
.page-view--about .wr_content::before {
  top: 261px;
  left: 0px;
  background-image: url("/sites/all/themes/vesta_theme/image/left.png");
  transform: rotate(71deg);
  opacity: 0.18;
}
.page-view--about .wr_content::after {
  top: -16px;
  right: -115px;
  background-image: url("/sites/all/themes/vesta_theme/image/right.png");
  transform: rotate(-150deg);
  opacity: 0.18;
}
.page-view--about .block-page-title-block {
  color: #f28c28;
}
.advantages {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-80);
  background-color: #f6f6f6;
}
.advantages__left {
  position: relative;
  width: 50px;
  height: 50px;
  min-width: 50px;
  min-height: 50px;
  background-color: #f28c28;
}
.advantages__left img {
  position: relative;
  top: 20px;
  left: -12px;
}
.view-advantages .view-content {
  justify-content: center;
  gap: var(--gap-30);
  margin: 0;
  padding: 0;
}
.view-advantages .views-row {
  width: var(--item-width);
  padding: 0;
  background-color: #ffffff;
}
.view-advantages .node--type-advantage {
  display: flex;
  column-gap: 38px;
  padding: var(--padding-advantages);
  border: 1px solid #d9741f;
}
@media screen and (max-width: 991px) {
  .view-advantages .node--type-advantage {
    justify-content: center;
  }
}
.view-advantages .field--name-node-title {
  display: flex;
  align-items: center;
}
.view-advantages .field--name-node-title h2,
.view-advantages .field--name-node-title h3 {
  margin: 0;
  align-self: center;
  font-size: var(--font-18);
  font-weight: 500;
}
.contacts {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-80);
  background-color: #f6f6f6;
}
.contacts .field--name-body {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-40);
}
@media screen and (max-width: 1199px) {
  .contacts .field--name-body {
    flex-direction: row;
    column-gap: var(--gap-100);
  }
}
@media screen and (max-width: 575px) {
  .contacts .field--name-body {
    flex-direction: column;
  }
}
.contacts__subtitle {
  position: relative;
  padding-left: 10px;
  font-size: var(--font-32);
  font-weight: 700;
  margin-bottom: var(--margin-20);
}
.contacts__subtitle::before {
  display: inline-block;
  position: relative;
  left: -10px;
  width: 15px;
  height: 33px;
  content: '';
  background-image: url("/sites/all/themes/vesta_theme/image/mark.svg");
}
.contacts__company {
  margin-bottom: var(--margin-20);
  font-size: var(--font-24);
  font-weight: 700;
  color: #f28c28;
}
.contacts__address {
  margin-bottom: var(--margin-20);
  font-size: var(--font-18);
  font-weight: 500;
}
.block-content--type-contacts {
  display: flex;
  gap: var(--gap-100);
  margin-right: -243px;
}
@media screen and (max-width: 1699px) {
  .block-content--type-contacts {
    margin-right: 0;
  }
}
@media screen and (max-width: 1199px) {
  .block-content--type-contacts {
    flex-direction: column;
  }
}
.field--name-field-map {
  max-width: 843px;
  border: 1px solid #f6f6f6;
  box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 1199px) {
  .field--name-field-map {
    align-self: center;
  }
}
@media screen and (max-width: 991px) {
  .field--name-field-map {
    max-width: 100%;
  }
}
.mapContainer {
  max-width: 100%;
}
main:has(.wr_content + .contacts) {
  background-color: #f6f6f6;
}
.contact-us {
  padding: var(--padding-v-40);
  background: linear-gradient(180deg, rgba(242, 140, 40, 0) 0%, #683400 100%), url("/sites/all/themes/vesta_theme/image/contact-background.jpg") center / cover no-repeat;
}
.contact-us__container {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (max-width: 991px) {
  .contact-us__container {
    align-items: center;
  }
}
.contact-us__slogan {
  width: 547px;
  position: absolute;
  bottom: 80px;
  right: 0;
  font-size: var(--font-32);
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 1199px) {
  .contact-us__slogan {
    width: 350px;
    bottom: initial;
    top: 20px;
  }
}
@media screen and (max-width: 991px) {
  .contact-us__slogan {
    position: initial;
    width: 100%;
    order: -1;
    text-align: center;
  }
}
@media screen and (min-width: 1200px) {
  .contact-us .block-title {
    margin-bottom: 24px;
  }
}
.not-front:has(.contacts) .wr_content {
  padding-top: var(--padding-80);
}
.not-front:has(.contacts) .contacts {
  padding-top: 0;
}
.block-webform {
  width: 570px;
  padding: var(--padding-form);
  background-color: #f6f6f6;
}
@media screen and (max-width: 991px) {
  .block-webform {
    margin-top: var(--margin-20);
  }
}
@media screen and (max-width: 575px) {
  .block-webform {
    width: 100%;
  }
}
.block-webform input,
.block-webform textarea {
  font-size: var(--font-14);
  color: #5a5a5a;
  border-radius: 2px;
}
.block-webform input[type="tel"],
.block-webform input[type="text"],
.block-webform input[type="email"] {
  margin-bottom: var(--margin-10);
  padding: var(--padding-input);
  background-color: #fffdfd;
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.block-webform input[type="tel"]:hover,
.block-webform input[type="text"]:hover,
.block-webform input[type="email"]:hover {
  border-color: #d9741f;
}
.block-webform textarea {
  margin-bottom: var(--margin-10);
  padding: var(--padding-input);
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.block-webform textarea:hover {
  border-color: #d9741f;
}
.block-webform input[type="tel"] {
  width: 100%;
}
.block-webform .form-type-checkbox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: -10px;
  margin-right: -20px;
  margin-bottom: var(--margin-24);
}
@media screen and (max-width: 767px) {
  .block-webform .form-type-checkbox {
    margin-right: 0;
    margin-left: 0;
  }
}
.block-webform input[type="checkbox"] {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin-right: 10px;
  width: 14px;
  height: 14px;
  border: 1px solid #5a5a5a;
  border-radius: 0;
  background-color: #e5e5e5;
  cursor: pointer;
}
.block-webform input[type="checkbox"]:checked::after {
  position: absolute;
  content: '';
  top: 2px;
  left: 1px;
  width: 12px;
  height: 9px;
  background-image: url("/sites/all/themes/vesta_theme/image/check.svg");
  background-position: center;
  background-repeat: no-repeat;
}
.block-webform .description {
  font-size: var(--font-14);
  color: #5a5a5a;
}
.block-webform .description a {
  font-size: var(--font-14);
  color: #5a5a5a;
  text-decoration: none;
  transition: color 0.2s ease;
}
.block-webform .description a:hover {
  color: #d9741f;
}
.block-webform .webform-actions {
  text-align: center;
}
.block-webform .webform-button--submit {
  padding: var(--padding-button);
  color: #fffdfd;
  background-color: #f28c28;
  transition: color 0.2s ease, background-color 0.2s ease;
  border: none;
  border-radius: initial;
}
.block-webform .webform-button--submit:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
#footer {
  padding: var(--padding-footer);
  font-size: var(--font-14);
  background-color: #f6f6f6;
}
.footer__container {
  row-gap: var(--gap-60);
}
@media screen and (max-width: 991px) {
  .footer__container {
    align-items: center;
    text-align: center;
  }
}
@media screen and (max-width: 1199px) {
  .footer__info {
    width: 28%;
  }
}
@media screen and (max-width: 991px) {
  .footer__info {
    width: 100%;
    padding: 0;
  }
  .footer__info .region-confidential {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .footer__info .footer__copyright {
    display: none;
  }
}
@media screen and (max-width: 1199px) {
  .footer__logo {
    width: 120px;
  }
}
@media screen and (max-width: 991px) {
  .footer__logo {
    width: 100px;
  }
}
@media screen and (max-width: 1199px) {
  .footer__nav {
    width: 32%;
    padding: 0;
  }
}
@media screen and (max-width: 991px) {
  .footer__nav {
    width: 100%;
    flex-direction: column;
    margin: 0;
    align-items: center;
  }
}
@media screen and (max-width: 991px) {
  .footer__contacts {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
  }
}
.footer__link {
  font-weight: 500;
  color: #1e1e1e;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer__link:hover {
  color: #d9741f;
}
.footer__link--social {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background-color: #1e1e1e;
  transition: background-color 0.2s ease;
}
.footer__link--social:hover {
  background-color: #d9741f;
}
.footer__link--outer {
  background-color: #fffdfd;
}
.footer__link--outer path {
  fill: #1e1e1e;
  transition: fill 0.2s ease;
}
.footer__link--outer:hover {
  background-color: #fffdfd;
}
.footer__link--outer:hover path {
  fill: #d9741f;
}
.footer__link--underline {
  font-weight: 400;
  text-decoration: underline;
}
.footer__list {
  display: flex;
  flex-direction: column;
}
.footer__list--zero-left {
  padding-left: 0;
}
@media screen and (max-width: 991px) {
  .footer__list:not(:last-child) {
    margin-bottom: var(--margin-20);
  }
}
.footer__list .nav {
  flex-direction: column;
  margin: 0;
  row-gap: 10px;
}
.footer__title {
  margin-bottom: var(--margin-17);
  font-size: var(--font-24);
  font-weight: 700;
}
.footer__messangers {
  display: flex;
  column-gap: 10px;
  margin-bottom: 10px;
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  list-style: none;
  margin: 0;
}
.footer__contacts .footer__title {
  margin-bottom: calc(var(--margin-17) - 10px);
}
@media screen and (max-width: 991px) {
  .footer__contacts .footer__title {
    margin-bottom: var(--margin-17);
  }
}
.footer__item-list {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 991px) {
  .footer__item-list {
    align-items: center;
  }
}
.footer__item {
  display: flex;
  align-items: center;
}
.footer__item svg {
  margin-right: 6px;
}
.footer__item svg path {
  fill: #1e1e1e;
  transition: fill 0.2s ease;
}
.footer__item:has(.footer__link:hover) svg path {
  fill: #d9741f;
}
.footer__item--addresses svg {
  align-self: flex-start;
}
.footer__item--addresses:has(.footer__addresses:hover) {
  color: #d9741f;
}
.footer__item--addresses:has(.footer__addresses:hover) svg path {
  fill: #d9741f;
}
.footer__text {
  margin: 0;
  font-weight: 500;
  transition: color 0.2s ease;
}
.footer__addresses {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}
.footer__webvesta {
  margin-top: var(--margin-30);
  text-align: center;
}
@media screen and (max-width: 991px) {
  .footer__webvesta {
    margin-top: 0;
  }
}
.footer__mob {
  display: none;
}
@media screen and (max-width: 991px) {
  .footer__mob {
    display: block;
  }
}
.gallery {
  background-color: #f6f6f6;
}
.gallery .view-content {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
}
.gallery .view-gallery-alboms .views-row {
  width: calc(25% - 23px);
  padding: 0;
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.gallery .view-gallery-alboms .views-row:hover {
  border-color: #d9741f;
}
@media screen and (max-width: 1199px) {
  .gallery .view-gallery-alboms .views-row {
    width: calc(25% - 15px);
  }
}
@media screen and (max-width: 991px) {
  .gallery .view-gallery-alboms .views-row {
    width: calc(33% - 8px);
  }
}
@media screen and (max-width: 767px) {
  .gallery .view-gallery-alboms .views-row {
    width: calc(33% - 9px);
  }
}
@media screen and (max-width: 575px) {
  .gallery .view-gallery-alboms .views-row {
    width: calc(50% - 7px);
  }
}
.gallery .view-gallery-alboms .photoswipe-gallery {
  gap: var(--gap-30);
  margin-left: 0;
  margin-bottom: var(--margin-30);
  margin-right: 0;
}
.gallery .view-gallery-alboms .more-link {
  text-align: center;
}
.gallery .view-gallery-alboms .more-link a {
  padding: var(--padding-button);
  font-size: var(--font-18);
  font-weight: 600;
  color: #fffdfd;
  background-color: #f28c28;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.gallery .view-gallery-alboms .more-link a:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
.gallery .view-content {
  padding-bottom: var(--padding-80);
}
.page-view--gallery .wr_content {
  padding-top: var(--padding-80);
  padding-bottom: var(--padding-30);
  background-color: #f6f6f6;
}
.page-view--gallery .view-content {
  margin-bottom: 0;
}
.page-view--gallery .views-infinite-scroll-content-wrapper {
  row-gap: var(--gap-30);
  margin-bottom: var(--margin-30);
  justify-content: space-between;
  display: flex;
  flex-wrap: wrap;
}
.page-view--gallery .views-infinite-scroll-content-wrapper .views-row:nth-child(2n) {
  padding-left: 8px;
}
.view-gallery-alboms .views-infinite-scroll-content-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
  padding-bottom: var(--padding-80);
}
.view-gallery-alboms .views-row {
  width: calc(33% - 20px);
}
@media screen and (max-width: 991px) {
  .view-gallery-alboms .views-row {
    width: calc(33% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .view-gallery-alboms .views-row {
    width: calc(50% - 8px);
  }
}
@media screen and (max-width: 575px) {
  .view-gallery-alboms .views-row {
    width: calc(50% - 7px);
  }
}
.view-gallery-alboms .views-row .views-field-title {
  margin-bottom: var(--margin-20);
  text-align: center;
}
.view-gallery-alboms .views-row .views-field-title a {
  font-size: var(--font-22);
  color: #5a5a5a;
  text-decoration: none;
  transition: color 0.2s ease;
}
.view-gallery-alboms .views-row .views-field-title a:hover {
  color: #d9741f;
}
.photoswipe-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
}
.photoswipe-gallery .field__item:has(img) {
  width: calc(33% - 20px);
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.photoswipe-gallery .field__item:has(img):hover {
  border-color: #d9741f;
}
@media screen and (max-width: 767px) {
  .photoswipe-gallery .field__item:has(img) {
    width: calc(50% - 8px);
  }
}
.wr_content:has(.photoswipe-gallery) {
  padding-bottom: var(--padding-80);
  background-color: #f6f6f6;
}
.page-view--gallery_alboms .field__item:has(img) {
  width: 100%;
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.page-view--gallery_alboms .field__item:has(img):hover {
  border-color: #d9741f;
}
.page-view--gallery_alboms .field__item:has(img) {
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.page-view--gallery_alboms .field__item:has(img):hover {
  border-color: #d9741f;
}
.page-view--gallery_alboms .field--name-node-title {
  margin-bottom: var(--margin-20);
  text-align: center;
}
.page-view--gallery_alboms .field--name-node-title a {
  font-size: var(--font-22);
  color: #5a5a5a;
  text-decoration: none;
  transition: color 0.2s ease;
}
.page-view--gallery_alboms .field--name-node-title a:hover {
  color: #d9741f;
}
.page-view--gallery_alboms .region-content {
  padding-top: var(--padding-80);
}
.app.not-front:not(.page-view--gallery_alboms):has(.node--type-photogallery) .region-content {
  padding-top: var(--padding-80);
}
.page-view--gallery_alboms .node--type-photogallery {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.page-view--gallery_alboms .node--type-photogallery .field--name-field-gallery {
  margin-top: auto;
}
.pswp__scroll-wrap__img {
  max-width: 80vw;
}
#drupal-bootstrap4-modal .modal-content {
  min-width: 570px;
  padding: var(--padding-form);
  background-color: #f6f6f6;
  border: none;
}
@media screen and (max-width: 767px) {
  #drupal-bootstrap4-modal .modal-content {
    width: 100%;
    min-width: initial;
  }
}
#drupal-bootstrap4-modal .modal-content input,
#drupal-bootstrap4-modal .modal-content textarea {
  font-size: var(--font-14);
  color: #5a5a5a;
  border-radius: 2px;
}
#drupal-bootstrap4-modal .modal-content input[type="tel"],
#drupal-bootstrap4-modal .modal-content input[type="text"],
#drupal-bootstrap4-modal .modal-content input[type="email"] {
  margin-bottom: var(--margin-10);
  padding: var(--padding-input);
  background-color: #fffdfd;
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
#drupal-bootstrap4-modal .modal-content input[type="tel"]:hover,
#drupal-bootstrap4-modal .modal-content input[type="text"]:hover,
#drupal-bootstrap4-modal .modal-content input[type="email"]:hover {
  border-color: #d9741f;
}
#drupal-bootstrap4-modal .modal-content textarea {
  margin-bottom: var(--margin-10);
  padding: var(--padding-input);
  border: 1px solid transparent;
  transition: border-color 0.2s ease;
}
#drupal-bootstrap4-modal .modal-content textarea:hover {
  border-color: #d9741f;
}
#drupal-bootstrap4-modal .modal-content input[type="tel"] {
  width: 100%;
}
#drupal-bootstrap4-modal .modal-content .form-type-checkbox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: -10px;
  margin-right: -20px;
  margin-bottom: var(--margin-24);
}
@media screen and (max-width: 767px) {
  #drupal-bootstrap4-modal .modal-content .form-type-checkbox {
    margin-right: 0;
    margin-left: 0;
  }
}
#drupal-bootstrap4-modal .modal-content input[type="checkbox"] {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin-right: 10px;
  width: 14px;
  height: 14px;
  border: 1px solid #5a5a5a;
  border-radius: 0;
  background-color: #e5e5e5;
  cursor: pointer;
}
#drupal-bootstrap4-modal .modal-content input[type="checkbox"]:checked::after {
  position: absolute;
  content: '';
  top: 2px;
  left: 1px;
  width: 12px;
  height: 9px;
  background-image: url("/sites/all/themes/vesta_theme/image/check.svg");
  background-position: center;
  background-repeat: no-repeat;
}
#drupal-bootstrap4-modal .modal-content .description {
  font-size: var(--font-14);
  color: #5a5a5a;
}
#drupal-bootstrap4-modal .modal-content .description a {
  font-size: var(--font-14);
  color: #5a5a5a;
  text-decoration: none;
  transition: color 0.2s ease;
}
#drupal-bootstrap4-modal .modal-content .description a:hover {
  color: #d9741f;
}
#drupal-bootstrap4-modal .modal-content .webform-button--submit {
  padding: var(--padding-button);
  color: #fffdfd;
  background-color: #f28c28;
  transition: color 0.2s ease, background-color 0.2s ease;
  border: none;
  border-radius: initial;
}
#drupal-bootstrap4-modal .modal-content .webform-button--submit:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
#drupal-bootstrap4-modal .modal-content .modal-header {
  margin: 0;
  margin-bottom: var(--margin-20);
  padding: 0;
  justify-content: center;
  border: none;
}
#drupal-bootstrap4-modal .modal-content .modal-header .btn-close {
  display: none;
}
#drupal-bootstrap4-modal .modal-content .modal-body {
  margin: 0;
  padding: 0;
  border: none;
}
#drupal-bootstrap4-modal .modal-content .modal-footer {
  margin: 0;
  padding: 0;
  border: none;
  justify-content: center;
}
.form-item--error-message {
  width: 100%;
  order: 1;
  margin-top: var(--margin-10);
  margin-bottom: var(--margin-10);
  font-size: var(--font-14);
}
#scrollToTop {
  width: 41px;
  height: 34px;
  top: initial;
  bottom: 380px;
  left: initial;
  right: 81px;
  justify-content: center;
  align-items: center;
  border: none;
  border-radius: 2px 2px 0 0;
  background-color: #fffdfd;
}
@media screen and (max-width: 1199px) {
  #scrollToTop {
    right: 50px;
    bottom: 330px;
  }
}
@media screen and (max-width: 991px) {
  #scrollToTop {
    bottom: 150px;
  }
}
#scrollToTop path {
  stroke: #2a2a2a;
  transition: fill 0.2s ease;
}
#scrollToTop:hover path {
  stroke: #d9741f;
}
#block-vesta-theme-vestaprivacyaccessblock.block-vesta-privacy-access .vpa-wrapper.vpa-slide {
  top: initial;
  left: initial;
  bottom: 0;
  right: 0;
  gap: 20px;
  padding: var(--padding-cookies);
  font-family: "Montserrat", sans-serif;
  color: #1e1e1e;
  background-color: #fffdfd;
  border: none;
  border-radius: initial;
  box-shadow: none;
}
#block-vesta-theme-vestaprivacyaccessblock.block-vesta-privacy-access .vpa-wrapper.vpa-slide .vpa-content {
  font-size: var(--font-14);
}
#block-vesta-theme-vestaprivacyaccessblock.block-vesta-privacy-access .vpa-wrapper.vpa-slide .vpa-content a {
  font-size: var(--font-14);
  color: #1e1e1e;
  text-decoration: none;
  transition: color 0.2s ease;
}
#block-vesta-theme-vestaprivacyaccessblock.block-vesta-privacy-access .vpa-wrapper.vpa-slide .vpa-content a:hover {
  color: #d9741f;
}
#block-vesta-theme-vestaprivacyaccessblock.block-vesta-privacy-access .vpa-wrapper.vpa-slide .vpa-actions button {
  padding: var(--padding-button);
  font-size: 18px;
  color: #fffdfd;
  background-color: #f28c28;
  transition: color 0.2s ease, background-color 0.2s ease;
  border: none;
  border-radius: initial;
}
#block-vesta-theme-vestaprivacyaccessblock.block-vesta-privacy-access .vpa-wrapper.vpa-slide .vpa-actions button:hover {
  color: #e5e5e5;
  background-color: #d9741f;
}
