/* Colors */
/* Container */
:root {
  /* fonts */
  --font-96: 96px;
  --font-64: 64px;
  --font-48: 48px;
  --font-36: 36px;
  --font-32: 32px;
  --font-24: 24px;
  --font-20: 20px;
  --font-16: 16px;
  --font-14: 14px;
  /* gaps */
  --gap-119: 119px;
  --gap-94: 94px;
  --gap-80: 80px;
  --gap-64: 64px;
  --gap-30: 30px;
  --gap-20: 20px;
  --gap-10: 10px;
  /* margins */
  --margin-116: 116px;
  --margin-80: 80px;
  --margin-70: 70px;
  --margin-67: 67px;
  --margin-60: 60px;
  --margin-54: 54px;
  --margin-35: 35px;
  --margin-34: 34px;
  --margin-32: 32px;
  --margin-30: 30px;
  --margin-24: 24px;
  --margin-23: 23px;
  --margin-22: 22px;
  --margin-21: 21px;
  --margin-20: 20px;
  --margin-15: 15px;
  --margin-13: 13px;
  --margin-10: 10px;
  --margin-7: 7px;
  /* paddings */
  --padding-85: 85px;
  --padding-80: 80px;
  --padding-68: 68px;
  --padding-36: 36px;
  --padding-35: 35px;
  --padding-32: 32px;
  --padding-30: 30px;
  --padding-23: 23px;
  --padding-15: 15px;
  --padding-10: 10px;
  --padding-contact: 9px 21px;
  --padding-button: 8px 25px;
  --padding-slider-subtitle: 6px;
  --padding-service: 33px 42px 25px;
  --padding-example: 10px 50px;
  --padding-projector: 23px 35px;
  --padding-form: 30px 89px 38px 89px;
  --padding-input: 11px 15px 12px;
}
/* 1199px */
@media screen and (max-width: 1199px) {
  :root {
    --font-64: 58px;
    --font-48: 43px;
    --font-36: 22px;
    --font-32: 29px;
    --font-24: 22px;
    --font-20: 18px;
    --font-16: 14px;
    --font-14: 13px;
    --gap-119: 107px;
    --gap-94: 30px;
    --gap-80: 38px;
    --gap-64: 58px;
    --gap-30: 25px;
    --gap-20: 18px;
    --gap-10: 9px;
    --margin-116: 104px;
    --margin-80: 72px;
    --margin-70: 63px;
    --margin-67: 60px;
    --margin-60: 54px;
    --margin-54: 49px;
    --margin-35: 32px;
    --margin-34: 31px;
    --margin-32: 29px;
    --margin-30: 27px;
    --margin-24: 22px;
    --margin-23: 21px;
    --margin-22: 20px;
    --margin-21: 19px;
    --margin-20: 18px;
    --margin-15: 14px;
    --margin-13: 12px;
    --margin-10: 9px;
    --margin-7: 6px;
    --padding-85: 77px;
    --padding-80: 72px;
    --padding-68: 61px;
    --padding-36: 32px;
    --padding-35: 32px;
    --padding-32: 29px;
    --padding-30: 27px;
    --padding-23: 21px;
    --padding-15: 14px;
    --padding-10: 9px;
    --padding-contact: 8px 19px;
    --padding-button: 8px 23px;
    --padding-slider-subtitle: 5px;
    --padding-service: 30px 38px 23px;
    --padding-example: 9px 45px;
    --padding-projector: 21px 32px;
    --padding-form: 27px 80px 34px 80px;
    --padding-input: 10px 14px 11px;
  }
}
/* 991px */
@media screen and (max-width: 991px) {
  :root {
    --font-64: 51px;
    --font-48: 35px;
    --font-32: 20px;
    --font-24: 19px;
    --font-20: 16px;
    --font-16: 13px;
    --font-14: 12px;
    --gap-119: 89px;
    --gap-80: 60px;
    --gap-64: 48px;
    --gap-30: 23px;
    --gap-20: 15px;
    --gap-10: 8px;
    --margin-116: 87px;
    --margin-80: 60px;
    --margin-70: 53px;
    --margin-67: 50px;
    --margin-60: 45px;
    --margin-54: 41px;
    --margin-35: 26px;
    --margin-34: 26px;
    --margin-32: 24px;
    --margin-30: 23px;
    --margin-24: 18px;
    --margin-23: 17px;
    --margin-22: 17px;
    --margin-21: 16px;
    --margin-20: 15px;
    --margin-15: 11px;
    --margin-13: 10px;
    --margin-10: 8px;
    --margin-7: 5px;
    --padding-85: 68px;
    --padding-80: 64px;
    --padding-68: 54px;
    --padding-36: 29px;
    --padding-35: 28px;
    --padding-32: 26px;
    --padding-30: 24px;
    --padding-23: 18px;
    --padding-15: 12px;
    --padding-10: 8px;
    --padding-contact: 7px 17px;
    --padding-button: 8px 20px;
    --padding-service: 26px 34px 20px;
    --padding-example: 8px 40px;
    --padding-projector: 18px 28px;
    --padding-form: 24px 71px 30px 71px;
    --padding-input: 9px 12px 10px;
  }
}
/* 767px */
@media screen and (max-width: 767px) {
  :root {
    --font-64: 38px;
    --font-48: 31px;
    --font-24: 16px;
    --font-20: 13px;
    --font-16: 12px;
    --gap-119: 71px;
    --gap-80: 48px;
    --gap-64: 38px;
    --gap-30: 18px;
    --gap-20: 12px;
    --margin-116: 64px;
    --margin-80: 44px;
    --margin-70: 39px;
    --margin-67: 37px;
    --margin-60: 33px;
    --margin-54: 30px;
    --margin-35: 19px;
    --margin-34: 19px;
    --margin-32: 18px;
    --margin-30: 17px;
    --margin-24: 13px;
    --margin-23: 13px;
    --margin-22: 12px;
    --margin-21: 12px;
    --margin-20: 11px;
    --margin-15: 8px;
    --margin-13: 7px;
    --margin-10: 6px;
    --margin-7: 4px;
    --padding-85: 55px;
    --padding-80: 52px;
    --padding-68: 44px;
    --padding-36: 23px;
    --padding-35: 23px;
    --padding-32: 21px;
    --padding-30: 20px;
    --padding-23: 15px;
    --padding-15: 10px;
    --padding-10: 7px;
    --padding-contact: 6px 14px;
    --padding-button: 8px 16px;
    --padding-slider-subtitle: 4px;
    --padding-service: 21px 27px 16px;
    --padding-example: 7px 33px;
    --padding-projector: 15px 23px;
    --padding-form: 20px 58px 25px 58px;
    --padding-input: 7px 10px 8px;
  }
}
/* 575px */
@media screen and (max-width: 575px) {
  :root {
    --font-64: 23px;
    --font-48: 20px;
    --font-36: 18px;
    --font-32: 16px;
    --font-24: 12px;
    --font-20: 12px;
    --gap-119: 54px;
    --gap-80: 36px;
    --gap-64: 29px;
    --gap-30: 14px;
    --gap-20: 9px;
    --margin-116: 46px;
    --margin-80: 32px;
    --margin-70: 28px;
    --margin-67: 27px;
    --margin-60: 24px;
    --margin-54: 22px;
    --margin-35: 14px;
    --margin-34: 14px;
    --margin-32: 13px;
    --margin-30: 12px;
    --margin-24: 10px;
    --margin-23: 9px;
    --margin-22: 9px;
    --margin-21: 8px;
    --margin-20: 8px;
    --margin-15: 6px;
    --margin-13: 5px;
    --margin-7: 3px;
    --padding-85: 43px;
    --padding-80: 40px;
    --padding-68: 34px;
    --padding-36: 18px;
    --padding-35: 18px;
    --padding-32: 16px;
    --padding-30: 15px;
    --padding-23: 12px;
    --padding-15: 8px;
    --padding-10: 5px;
    --padding-contact: 5px 11px;
    --padding-button: 6px 13px;
    --padding-slider-subtitle: 3px;
    --padding-service: 17px 21px 13px;
    --padding-example: 5px 25px;
    --padding-projector: 12px 18px;
    --padding-form: 15px 45px 19px 45px;
    --padding-input: 6px 8px 6px;
  }
}
p:last-child {
  margin-bottom: 0 !important;
}
body {
  padding-top: 0 !important;
  font-family: 'Inter', sans-serif;
  color: #ffffff;
  scroll-behavior: smooth;
}
#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 !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;
  }
}
main {
  background-color: #000000;
  background-image: url('/sites/all/themes/vesta_theme/image/background.webp');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}
#header {
  background-color: #040510;
}
#header-mob {
  padding: 14px;
  background-color: #040510;
  border-bottom: 1px solid #DEFE00;
}
@media screen and (max-width: 767px) {
  #header-mob {
    padding: 16px 14px;
  }
}
#header-mob .col-nav a {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
}
#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;
}
#header-mob .header__link {
  color: inherit;
}
@media screen and (max-width: 767px) {
  #header-mob .header__logo {
    max-width: 180px;
  }
}
@media screen and (max-width: 575px) {
  #header-mob .header__logo {
    max-width: 130px;
  }
}
#header-mob .header__contact {
  padding: var(--padding-contact);
}
#offcanvasNav {
  background-color: #040510;
}
#offcanvasNav .offcanvas-header {
  margin-bottom: var(--margin-30);
}
#offcanvasNav .nav {
  row-gap: var(--gap-20);
  margin-bottom: var(--margin-30);
}
#offcanvasNav .btn-close {
  filter: brightness(0) invert(1);
  opacity: 0.8;
}
#offcanvasNav .btn-close:hover,
#offcanvasNav .btn-close:focus {
  opacity: 0.9;
}
#offcanvasNav .btn-close:active {
  opacity: 0.5;
}
.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: var(--gap-94);
  padding: var(--padding-30) 0;
}
.header__contact {
  display: flex;
  align-items: center;
  padding: var(--padding-contact);
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.header__contact svg path {
  fill: #040510;
}
.header__contact:hover,
.header__contact:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
.header__contact:hover svg path,
.header__contact:focus svg path {
  fill: #DEFE00;
}
.header__contact:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
.header__contact svg {
  margin-right: 5px;
}
.header__link {
  font-size: var(--font-14);
  font-weight: 500;
  text-decoration: none;
  color: inherit;
}
.nav {
  column-gap: var(--gap-30);
}
.nav-link {
  padding: 0;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
  font-size: var(--font-16);
  font-weight: 700;
  text-transform: uppercase;
}
.nav-link:hover,
.nav-link:focus {
  color: #DEFE00;
}
.nav-link:active {
  color: #e5ff32;
}
.node--type-slide {
  border-top: 1px solid #DEFE00;
  border-bottom: 1px solid #DEFE00;
}
.node--type-slide .content {
  height: 100%;
  padding: 0 15px;
}
.node--type-slide .field--name-field-subtitle {
  max-width: 770px;
  margin-bottom: var(--margin-30);
  padding: var(--padding-slider-subtitle);
  font-size: var(--font-14);
  text-align: center;
  color: #DEFE00;
  text-transform: uppercase;
  background-color: rgba(226, 234, 167, 0.3);
  border-left: 3px solid #DEFE00;
}
.node--type-slide .field--name-field-slide-title {
  max-width: 500px;
  margin-bottom: var(--margin-10);
  font-size: var(--font-48);
  line-height: 58px;
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: 2px 0 0 #DEFE00;
}
.node--type-slide .field--name-body {
  max-width: 500px;
  margin-bottom: var(--margin-10);
  font-size: var(--font-16);
}
.node--type-slide .field--name-body p {
  margin-bottom: 0;
}
.node--type-slide .field--name-dynamic-token-fieldnode-vk {
  display: flex;
  justify-content: center;
  align-items: center;
}
.node--type-slide .field--type-image img {
  min-height: 477px;
  object-fit: cover;
  object-position: center;
}
.slider__buttons {
  display: flex;
  align-items: center;
}
button.slick-arrow {
  width: 40px;
  height: 40px;
}
button.slick-arrow.slick-prev,
button.slick-arrow.slick-next {
  top: initial;
  bottom: 65px;
  border: 1px solid #DEFE00;
  transition: background-color 0.2s ease;
}
button.slick-arrow.slick-prev:hover,
button.slick-arrow.slick-next:hover,
button.slick-arrow.slick-prev:focus,
button.slick-arrow.slick-next:focus {
  background-color: #040510;
}
button.slick-arrow.slick-prev:active,
button.slick-arrow.slick-next:active {
  background-color: #939393;
}
@media screen and (max-width: 1199px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    width: 38px;
    height: 38px;
    bottom: 74px;
  }
}
@media screen and (max-width: 991px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    width: 36px;
    height: 36px;
    bottom: 112px;
  }
}
@media screen and (max-width: 767px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    bottom: 111px;
  }
}
@media screen and (max-width: 575px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    width: 32px;
    height: 32px;
    bottom: 118px;
  }
}
@media screen and (max-width: 398px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    bottom: 109px;
  }
}
@media screen and (max-width: 378px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    bottom: 100px;
  }
}
@media screen and (max-width: 370px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    bottom: 91px;
  }
}
@media screen and (max-width: 367px) {
  button.slick-arrow.slick-prev,
  button.slick-arrow.slick-next {
    bottom: 82px;
  }
}
button.slick-arrow.slick-prev::before,
button.slick-arrow.slick-next::before {
  width: 10px;
  height: 12px;
  background-size: auto;
}
button.slick-arrow.slick-prev {
  left: initial;
  right: calc((100% - 1200px) / 2 + 80px);
}
@media screen and (max-width: 1199px) {
  button.slick-arrow.slick-prev {
    right: calc((100% - 992px) / 2 + 80px);
  }
}
@media screen and (max-width: 991px) {
  button.slick-arrow.slick-prev {
    right: calc((100% - 768px) / 2 + 80px);
  }
}
@media screen and (max-width: 767px) {
  button.slick-arrow.slick-prev {
    right: calc((100% - 576px) / 2 + 80px);
  }
}
@media screen and (max-width: 575px) {
  button.slick-arrow.slick-prev {
    right: 80px;
  }
}
button.slick-arrow.slick-prev::before {
  transform: rotate(180deg);
}
button.slick-arrow.slick-next {
  right: calc((100% - 1200px) / 2 + 20px);
}
@media screen and (max-width: 1199px) {
  button.slick-arrow.slick-next {
    right: calc((100% - 992px) / 2 + 20px);
  }
}
@media screen and (max-width: 991px) {
  button.slick-arrow.slick-next {
    right: calc((100% - 768px) / 2 + 20px);
  }
}
@media screen and (max-width: 767px) {
  button.slick-arrow.slick-next {
    right: calc((100% - 576px) / 2 + 20px);
  }
}
@media screen and (max-width: 575px) {
  button.slick-arrow.slick-next {
    right: 20px;
  }
}
button.slick-arrow.slick-next::before {
  transform: rotate(0);
}
.btn.btn__slider.btn-form {
  margin-right: 5px;
  padding: var(--padding-button);
  font-size: var(--font-14);
  font-weight: 500;
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  border-radius: 0;
  text-transform: uppercase;
}
.btn.btn__slider.btn-form svg path {
  fill: #040510;
}
.btn.btn__slider.btn-form:hover,
.btn.btn__slider.btn-form:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
.btn.btn__slider.btn-form:hover svg path,
.btn.btn__slider.btn-form:focus svg path {
  fill: #DEFE00;
}
.btn.btn__slider.btn-form:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
.btn.btn__social {
  padding: 5px;
}
.btn.btn__social:hover svg path,
.btn.btn__social:focus svg path {
  fill: #040510;
}
.btn.btn__social:active svg path {
  fill: #939393;
}
.btn.btn__service {
  padding: 0;
  font-size: var(--font-14);
  font-weight: 700;
  color: #DEFE00;
  text-decoration: underline;
  transition: color 0.2s ease;
}
.btn.btn__service:hover,
.btn.btn__service:focus {
  color: #ffffff;
}
.btn.btn__service:active {
  color: #e6e6e6;
}
.btn.btn__example {
  padding: var(--padding-example);
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  font-size: var(--font-14);
  font-weight: 500;
  border-radius: 0;
  clip-path: polygon(10% 0%, 100% 0%, 100% 0, 90% 100%, 0% 100%, 0% 100%);
}
.btn.btn__example svg path {
  fill: #040510;
}
.btn.btn__example:hover,
.btn.btn__example:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
.btn.btn__example:hover svg path,
.btn.btn__example:focus svg path {
  fill: #DEFE00;
}
.btn.btn__example:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
.banner {
  padding-top: var(--padding-23);
}
.banner__bottom {
  display: grid;
  grid-template-columns: 1fr 500px;
  column-gap: var(--gap-119);
  margin-bottom: var(--margin-30);
}
@media screen and (max-width: 991px) {
  .banner__bottom {
    grid-template-columns: 1fr;
  }
}
.node--type-banner {
  display: flex;
  flex-direction: column;
}
.node--type-banner .field--name-field-slogan {
  font-size: var(--font-64);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-banner .field--name-field-additional-text {
  max-width: 412px;
  margin-bottom: var(--margin-70);
  align-self: flex-end;
  font-size: var(--font-36);
  line-height: 104%;
  font-weight: 700;
}
@media screen and (max-width: 1199px) {
  .node--type-banner .field--name-field-additional-text {
    max-width: 260px;
  }
}
.node--type-banner .banner__bottom .field--name-node-title {
  position: relative;
  height: max-content;
}
@media screen and (max-width: 991px) {
  .node--type-banner .banner__bottom .field--name-node-title {
    margin-bottom: var(--margin-20);
  }
}
.node--type-banner .banner__bottom .field--name-node-title h1 {
  display: inline-block;
  margin: 0 4px 0 10px;
  font-size: var(--font-36);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-banner .banner__bottom .field--name-node-title::after {
  position: absolute;
  content: '';
  bottom: -30px;
  right: 0;
  height: 3px;
  width: 50vw;
  background-color: #DEFE00;
  box-shadow: 0 0 6px #DEFE00;
}
@media screen and (max-width: 991px) {
  .node--type-banner .banner__bottom .field--name-node-title::after {
    display: none;
  }
}
.node--type-banner .field--name-body {
  font-size: var(--font-16);
}
.node--type-banner .field--name-body p {
  margin-bottom: var(--margin-20);
}
.node--type-banner .field--name-field-advantages {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: var(--gap-64);
  margin-bottom: var(--margin-32);
}
@media screen and (max-width: 991px) {
  .node--type-banner .field--name-field-advantages {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.node--type-banner .field--name-field-banner-images {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
}
.node--type-banner .field--name-field-banner-images .field__item {
  width: calc((100% - var(--gap-30)) / 2);
}
@media screen and (max-width: 767px) {
  .node--type-banner .field--name-field-banner-images .field__item {
    width: 100%;
  }
}
.node--type-banner .field--name-field-banner-images .field__item:hover,
.node--type-banner .field--name-field-banner-images .field__item:focus {
  outline: 1px solid #DEFE00;
}
.node--type-banner .square:first-child,
.node--type-banner .square:last-child {
  margin: 0;
}
.node--type-advantage {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.node--type-advantage .field--name-field-icon {
  margin-bottom: var(--margin-20);
}
.node--type-advantage .field--name-node-title h3 {
  margin: 0;
  font-size: var(--font-16);
  text-align: center;
}
.square {
  font-size: var(--font-36);
  font-weight: 400;
}
.light-text {
  text-shadow: 0 0 10px #DEFE00;
}
.square:first-child {
  margin-right: var(--margin-10);
}
.square:last-child {
  margin-left: var(--margin-10);
}
.region-services {
  position: relative;
}
.region-services .contextual-region {
  position: initial;
}
.region-services .block-title {
  margin-bottom: var(--margin-60);
  position: relative;
}
.region-services .block-title::after {
  position: absolute;
  content: '';
  bottom: -30px;
  right: 0;
  height: 3px;
  width: calc(100vw - ((100vw - 1200px) / 2));
  background-color: #DEFE00;
  box-shadow: 0 0 6px #DEFE00;
}
@media screen and (max-width: 767px) {
  .region-services .block-title::after {
    bottom: -20px;
  }
}
@media screen and (max-width: 575px) {
  .region-services .block-title::after {
    display: none;
  }
}
.services {
  position: relative;
  margin-bottom: var(--margin-80);
  padding-top: var(--padding-80);
}
.services__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--margin-20);
}
.services__bottom {
  display: flex;
  margin-bottom: var(--margin-20);
  font-size: var(--font-14);
}
.services::before,
.services::after {
  position: absolute;
  content: '';
  background-image: url('/sites/all/themes/vesta_theme/image/luma-logo.png');
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.1;
}
.services::before {
  width: 610px;
  height: 76px;
  transform: rotate(-10deg);
  top: 50%;
  left: -48px;
}
@media screen and (max-width: 1199px) {
  .services::before {
    width: 570px;
    left: 0;
  }
}
.services::after {
  width: 865px;
  height: 109px;
  transform: rotate(12deg);
  top: 35%;
  right: -48px;
}
@media screen and (max-width: 1199px) {
  .services::after {
    width: 600px;
    height: 80px;
    top: 41px;
    right: 0;
  }
}
.view-services .view-header {
  position: absolute;
  top: 0;
  right: 0;
  width: 288px;
  font-family: "Jost", sans-serif;
  font-size: var(--font-16);
}
@media screen and (max-width: 575px) {
  .view-services .view-header {
    position: initial;
    width: auto;
    margin-bottom: var(--margin-20);
  }
}
.view-services .view-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--gap-30);
}
@media screen and (max-width: 1199px) {
  .view-services .view-content {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .view-services .view-content {
    grid-template-columns: 1fr;
  }
}
.node--type-service {
  position: relative;
  height: 100%;
  padding: var(--padding-service);
  border: 1px solid #ffffff;
  z-index: 1;
}
.node--type-service .field--name-node-title h3 {
  margin-bottom: var(--margin-15);
  font-size: var(--font-20);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-service .field--name-node-title h3 a {
  font-size: var(--font-20);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
  text-transform: uppercase;
}
.node--type-service .field--name-node-title h3 a:hover,
.node--type-service .field--name-node-title h3 a:focus {
  color: #DEFE00;
}
.node--type-service .field--name-node-title h3 a:active {
  color: #e5ff32;
}
.node--type-service .field--name-node-title .active {
  color: #DEFE00;
}
.node--type-service .field--name-body {
  font-size: var(--font-14);
}
.node--type-service .field--name-field-service-additional {
  font-size: var(--font-14);
}
.node--type-service.node--view-mode-full .field--name-body,
.node--type-service.node--view-mode-full .field--name-field-service-additional {
  margin-bottom: var(--margin-20);
}
.block-title {
  font-size: var(--font-36);
  font-weight: 700;
  text-transform: uppercase;
}
.example__info {
  position: absolute;
  top: 119px;
  right: calc((100vw - 1200px) / 2 + 15px);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 1;
}
@media screen and (max-width: 1199px) {
  .example__info {
    right: calc((100vw - 992px) / 2 + 15px);
  }
}
@media screen and (max-width: 991px) {
  .example__info {
    right: calc((100vw - 768px) / 2 + 15px);
    top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .example__info {
    right: calc((100vw - 576px) / 2 + 15px);
  }
}
@media screen and (max-width: 575px) {
  .example__info {
    right: 15px;
  }
}
.example__images {
  position: relative;
  width: 100vw;
  height: auto;
  aspect-ratio: 1889 / 800;
  display: flex;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .example__images {
    min-height: 325px;
  }
}
.example__images .field--type-image {
  position: relative;
  flex: 0 0 auto;
  height: 100%;
  width: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.example__images .field--name-field-dark-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to top right, #040510 10%, rgba(4, 5, 16, 0) 68%), linear-gradient(to bottom right, #040510 8%, rgba(4, 5, 16, 0) 69%);
  pointer-events: none;
}
.example__images .field--name-field-light-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to top left, #040510 12%, rgba(4, 5, 16, 0) 57%), linear-gradient(to bottom left, #040510 11%, rgba(4, 5, 16, 0) 57%);
  pointer-events: none;
}
.example__divider {
  position: absolute;
  content: '';
  width: 3px;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 50%;
  background-color: #DEFE00;
  box-shadow: 0 0 6px #DEFE00;
  cursor: col-resize;
  z-index: 10;
}
.node--type-example {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.node--type-example .field--name-node-title {
  margin-bottom: var(--margin-30);
  text-align: right;
}
.node--type-example .field--name-node-title h2 {
  display: inline-block;
  margin-bottom: 0;
  font-size: var(--font-36);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-example .field--name-node-title .square:last-child {
  margin-left: 4px;
}
.node--type-example .field--name-body {
  max-width: 520px;
  margin-bottom: var(--margin-20);
  font-size: var(--font-14);
  text-align: right;
}
.projectors {
  margin-bottom: var(--margin-54);
  padding: var(--padding-80) 0;
  background: linear-gradient(136deg, #defe00 0%, #fff 50%, #ff5b8e 100%);
}
.projectors .block-title {
  color: #040510;
}
.view-projectors .view-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-30);
}
@media screen and (max-width: 767px) {
  .view-projectors .view-content {
    grid-template-columns: 1fr;
  }
}
.view-projectors .views-row:nth-child(odd) .field--name-field-projector-image {
  background-color: #DEFE00;
}
.view-projectors .views-row:nth-child(even) .field--name-field-projector-image {
  background-color: #939393;
}
.node--type-projector {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: var(--padding-36);
  background-color: #040510;
}
.node--type-projector .field--name-field-projector-image {
  min-height: 188px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--margin-20);
  padding: var(--padding-23) var(--padding-36);
}
.node--type-projector .field--name-field-projector-image img {
  object-position: center;
  object-fit: cover;
  max-height: 143px;
  width: auto;
}
.node--type-projector .field--name-node-title {
  padding: 0 var(--padding-35);
}
.node--type-projector .field--name-node-title h3 {
  margin: 0;
  font-size: var(--font-32);
  font-weight: 700;
}
.node--type-projector .field--name-node-title a {
  font-size: var(--font-32);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.node--type-projector .field--name-node-title a:hover,
.node--type-projector .field--name-node-title a:focus {
  color: #DEFE00;
}
.node--type-projector .field--name-node-title a:active {
  color: #e5ff32;
}
.node--type-projector .field--name-field-projector-subtitle {
  margin-bottom: var(--margin-23);
  padding: 0 var(--padding-35);
  font-size: var(--font-16);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-projector .field--name-field-price {
  margin-bottom: var(--margin-22);
  padding: 0 var(--padding-35);
  font-size: var(--font-24);
  color: #DEFE00;
}
.node--type-projector .field--name-body {
  margin-bottom: var(--margin-32);
  padding: 0 var(--padding-35);
  font-size: var(--font-16);
}
.node--type-projector .field--name-body > p {
  position: relative;
  max-width: 376px;
  display: flex;
  align-items: center;
  margin-bottom: var(--margin-21);
  padding-left: var(--padding-15);
}
.node--type-projector .field--name-body > p::before {
  position: relative;
  content: '[';
  top: 0;
  left: -12px;
  font-size: var(--font-16);
  color: #DEFE00;
}
.node--type-projector .field--name-field-projector-additional {
  margin-bottom: var(--margin-32);
  padding: 0 var(--padding-35);
  font-size: var(--font-16);
}
.node--type-projector .field--name-dynamic-token-fieldnode-order {
  margin-top: auto;
}
.node--type-projector .btn__service {
  margin-left: var(--margin-35);
  padding: var(--padding-example);
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  font-size: var(--font-14);
  font-weight: 500;
  text-decoration: none;
  border-radius: 0;
  clip-path: polygon(10% 0%, 100% 0%, 100% 0, 90% 100%, 0% 100%, 0% 100%);
}
.node--type-projector .btn__service svg path {
  fill: #040510;
}
.node--type-projector .btn__service:hover,
.node--type-projector .btn__service:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
.node--type-projector .btn__service:hover svg path,
.node--type-projector .btn__service:focus svg path {
  fill: #DEFE00;
}
.node--type-projector .btn__service:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
.page-view--projectors .node--type-projector {
  border: 1px solid #DEFE00;
}
.node--type-projector.node--view-mode-full {
  flex-direction: row;
  column-gap: var(--gap-119);
  background-color: transparent;
}
@media screen and (max-width: 575px) {
  .node--type-projector.node--view-mode-full {
    column-gap: 20px;
  }
}
@media screen and (max-width: 475px) {
  .node--type-projector.node--view-mode-full {
    flex-direction: column;
  }
}
.node--type-projector.node--view-mode-full .field--name-field-projector-image {
  display: block;
  width: max-content;
  background-color: #DEFE00;
}
.node--type-projector.node--view-mode-full .field--name-field-projector-subtitle,
.node--type-projector.node--view-mode-full .field--name-field-price,
.node--type-projector.node--view-mode-full .field--name-body,
.node--type-projector.node--view-mode-full .field--name-field-projector-additional {
  padding: 0;
}
.node--type-projector.node--view-mode-full .btn__service {
  margin-left: 0;
}
@media screen and (max-width: 575px) {
  .node--type-projector.node--view-mode-full .projector__left {
    margin-bottom: var(--margin-20);
  }
}
.block-page-title-block h1 {
  margin-bottom: var(--margin-30);
  font-size: var(--font-36);
  font-weight: 700;
  text-transform: uppercase;
}
.works {
  padding-top: var(--padding-30);
}
.works .block-title {
  margin-bottom: var(--margin-30);
}
.view-media-gallery .view-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-30);
}
@media screen and (max-width: 767px) {
  .view-media-gallery .view-content {
    grid-template-columns: 1fr;
  }
}
.node--type-media .field--name-field-video-link {
  margin-bottom: var(--margin-20);
}
.node--type-media .field--name-field-video-link:hover,
.node--type-media .field--name-field-video-link:focus {
  outline: 1px solid #DEFE00;
}
.node--type-media .field--name-field-video-link .video-embed-field-provider-rutube {
  height: 244px;
}
@media screen and (max-width: 1199px) {
  .node--type-media .field--name-field-video-link .video-embed-field-provider-rutube {
    height: 204px;
  }
}
@media screen and (max-width: 991px) {
  .node--type-media .field--name-field-video-link .video-embed-field-provider-rutube {
    height: 154px;
  }
}
@media screen and (max-width: 767px) {
  .node--type-media .field--name-field-video-link .video-embed-field-provider-rutube {
    height: 234px;
  }
}
@media screen and (max-width: 575px) {
  .node--type-media .field--name-field-video-link .video-embed-field-provider-rutube {
    height: clamp(144px, 40.7vw, 234px);
  }
}
.node--type-media .field--name-field-video-link .video-embed-field-provider-rutube::after {
  display: none;
}
.node--type-media .field--name-field-video-link iframe {
  max-height: 244px;
}
@media screen and (max-width: 1199px) {
  .node--type-media .field--name-field-video-link iframe {
    max-height: 204px;
  }
}
@media screen and (max-width: 991px) {
  .node--type-media .field--name-field-video-link iframe {
    max-height: 154px;
  }
}
@media screen and (max-width: 767px) {
  .node--type-media .field--name-field-video-link iframe {
    max-height: 234px;
  }
}
@media screen and (max-width: 575px) {
  .node--type-media .field--name-field-video-link iframe {
    max-height: clamp(144px, 40.7vw, 234px);
  }
}
.node--type-media .media__button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 50px;
  border: none;
  cursor: pointer;
  z-index: 2;
  background-image: url('/sites/all/themes/vesta_theme/image/play.svg');
  background-position: center;
  background-size: cover;
  background-color: transparent;
}
.node--type-media .field--name-node-title {
  margin-bottom: var(--margin-7);
}
.node--type-media .field--name-node-title h3 {
  font-size: var(--font-20);
}
.node--type-media .field--name-node-title a {
  font-size: var(--font-20);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
  text-transform: uppercase;
}
.node--type-media .field--name-node-title a:hover,
.node--type-media .field--name-node-title a:focus {
  color: #DEFE00;
}
.node--type-media .field--name-node-title a:active {
  color: #e5ff32;
}
.node--type-media .field--name-body {
  margin-bottom: var(--margin-30);
  font-size: var(--font-16);
}
.node--type-media .field--name-field-works-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-30);
}
.node--type-media .field--name-field-works-gallery .field__item {
  width: calc((100% - var(--gap-30)) / 2);
}
.node--type-media .field--name-field-works-gallery .field__item:hover,
.node--type-media .field--name-field-works-gallery .field__item:focus {
  outline: 1px solid #DEFE00;
}
.node--type-media .field--name-field-works-gallery .field__item img {
  object-fit: cover;
  object-position: center;
}
.node--type-media.node--view-mode-full .media--type-video {
  display: flex;
  justify-content: center;
}
.node--type-media.node--view-mode-full .field--name-field-works-gallery .field--name-field-media-image.field__item {
  width: auto;
}
.about {
  position: relative;
  margin-bottom: var(--margin-116);
  padding-top: var(--padding-80);
}
.about::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 50vw;
  height: 3px;
  background-color: #DEFE00;
  box-shadow: 0 0 6px #DEFE00;
}
.about .contextual-region {
  position: initial;
}
@media screen and (max-width: 767px) {
  .about__left {
    margin-bottom: var(--margin-30);
  }
}
.node--type-about {
  display: grid;
  grid-template-columns: 618px 1fr;
  column-gap: var(--gap-94);
}
@media screen and (max-width: 1199px) {
  .node--type-about {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .node--type-about {
    grid-template-columns: 1fr;
  }
}
.node--type-about .field--name-node-title {
  margin-bottom: var(--margin-30);
  font-size: var(--font-36);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-about .field--name-node-title h2 {
  display: inline-block;
  margin: 0;
  font-size: var(--font-36);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-about .field--name-node-title .square:last-child {
  margin-left: 4px;
}
.node--type-about .field--name-body {
  margin-bottom: var(--margin-30);
  font-size: var(--font-16);
}
.node--type-about .field--name-body > p {
  margin-bottom: var(--margin-13);
}
.node--type-about .field--name-field-features {
  max-width: 395px;
  margin-bottom: var(--margin-80);
  font-size: var(--font-16);
}
.node--type-about .field--name-field-features > p {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 12px;
}
.node--type-about .field--name-field-features > p::before {
  position: relative;
  content: '[';
  top: 0;
  left: -12px;
  color: #DEFE00;
}
.node--type-about .field--name-field-about-slogan {
  font-size: var(--font-20);
  font-weight: 700;
  color: #DEFE00;
  text-shadow: 0 0 5px #DEFE00;
}
.node--type-about .field--name-field-about-subtitle {
  margin-bottom: var(--margin-34);
  font-size: var(--font-20);
  font-weight: 700;
  text-transform: uppercase;
}
.node--type-about .field--name-field-info {
  margin-bottom: var(--margin-32);
  font-size: var(--font-16);
}
@media screen and (max-width: 767px) {
  .node--type-about .field--name-field-key-features {
    padding-bottom: var(--padding-30);
  }
}
.node--type-about .field--name-field-key-features .field__label {
  margin-bottom: var(--margin-24);
  font-size: var(--font-20);
  font-weight: 700;
}
.node--type-about .field--name-field-key-features .field__item {
  font-size: var(--font-16);
}
.node--type-about .field--name-field-key-features .field__item > p {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 12px;
}
.node--type-about .field--name-field-key-features .field__item > p::before {
  position: relative;
  content: '[';
  top: 0;
  left: -12px;
  color: #DEFE00;
}
.node--type-about .field--name-field-side-text {
  position: absolute;
  font-size: clamp(45px, 5vw, 96px);
  line-height: 100%;
  font-weight: 700;
  text-transform: uppercase;
  color: #DEFE00;
  transform: rotate(-90deg);
  opacity: 0.1;
  right: calc((1200px - 100vw) / 2 - 70px);
  bottom: 520px;
}
@media screen and (min-width: 2000px) {
  .node--type-about .field--name-field-side-text {
    right: calc((1200px - 100vw) / 2);
  }
}
@media screen and (min-width: 2100px) {
  .node--type-about .field--name-field-side-text {
    right: calc((1200px - 100vw) / 3);
  }
}
@media screen and (min-width: 2200px) {
  .node--type-about .field--name-field-side-text {
    right: -250px;
  }
}
@media screen and (min-width: 2500px) {
  .node--type-about .field--name-field-side-text {
    right: -150px;
  }
}
@media screen and (min-width: 2700px) {
  .node--type-about .field--name-field-side-text {
    right: 0;
  }
}
@media screen and (max-width: 1850px) {
  .node--type-about .field--name-field-side-text {
    font-size: clamp(45px, 4.5vw, 96px);
    bottom: 452px;
  }
}
@media screen and (max-width: 1750px) {
  .node--type-about .field--name-field-side-text {
    font-size: clamp(45px, 4vw, 96px);
    bottom: 380px;
  }
}
@media screen and (max-width: 1650px) {
  .node--type-about .field--name-field-side-text {
    font-size: clamp(45px, 3.5vw, 96px);
    bottom: 312px;
  }
}
@media screen and (max-width: 1550px) {
  .node--type-about .field--name-field-side-text {
    right: initial;
    left: initial;
    bottom: -100px;
    transform: none;
    display: flex;
    column-gap: 20px;
  }
}
@media screen and (max-width: 991px) {
  .node--type-about .field--name-field-side-text {
    font-size: 35px;
    bottom: -80px;
  }
}
@media screen and (max-width: 800px) {
  .node--type-about .field--name-field-side-text {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .node--type-about .field--name-field-side-text {
    font-size: 25px;
    bottom: -60px;
  }
}
@media screen and (max-width: 575px) {
  .node--type-about .field--name-field-side-text {
    font-size: 14px;
    bottom: -45px;
  }
}
.not-front .wr_content {
  padding: var(--padding-30) 0;
}
.not-front #header {
  border-bottom: 1px solid #DEFE00;
}
.not-front #footer {
  border-top: 1px solid #DEFE00;
}
.modal-dialog .modal-content {
  border: 1px solid #ffffff;
}
.modal-dialog .modal-header,
.modal-dialog .modal-body,
.modal-dialog .modal-footer {
  border: none;
  background-color: #040510;
}
.modal-dialog .modal-header {
  border-bottom: 1px solid #ffffff;
}
.modal-dialog .modal-title {
  color: #ffffff;
}
.modal-dialog .modal-footer {
  display: flex;
  justify-content: center;
  border-top: 1px solid #ffffff;
}
.contacts {
  padding: var(--padding-85) 0 var(--padding-68) 0;
  background: linear-gradient(136deg, #defe00 0%, #fff 50%, #ff5b8e 100%);
}
.contacts .block-title {
  margin-bottom: var(--margin-30);
  text-align: center;
  color: #040510;
}
.node--type-contacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-30);
}
@media screen and (max-width: 1199px) {
  .node--type-contacts {
    grid-template-columns: 1fr;
  }
}
.node--type-contacts .field--name-field-form {
  padding: var(--padding-form);
  background-color: #040510;
  border-top: 3px solid #DEFE00;
  border-bottom: 3px solid #DEFE00;
}
.node--type-contacts .field--name-field-form .field__label {
  margin-bottom: var(--margin-20);
  font-size: var(--font-20);
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (max-width: 575px) {
  .node--type-contacts .field--name-field-map .mapContainer iframe {
    width: calc(100vw - 30px);
  }
}
.node--type-contacts.node--view-mode-full .field--name-field-map {
  border: 3px solid #DEFE00;
}
.webform-submission-form .form-control {
  border-radius: 0;
}
.webform-submission-form input,
.webform-submission-form textarea {
  margin: 0;
  font-size: var(--font-14);
}
.webform-submission-form .form-item-name,
.webform-submission-form .form-item-phone,
.webform-submission-form .form-item-email,
.webform-submission-form .form-item-message {
  font-size: var(--font-14);
  font-weight: 500;
  color: #040510;
}
.webform-submission-form .form-item-name ::placeholder,
.webform-submission-form .form-item-phone ::placeholder,
.webform-submission-form .form-item-email ::placeholder,
.webform-submission-form .form-item-message ::placeholder {
  color: #939393;
  text-transform: uppercase;
}
.webform-submission-form .form-item-name,
.webform-submission-form .form-item-phone,
.webform-submission-form .form-item-email {
  margin-bottom: var(--margin-20);
}
.webform-submission-form .form-item-name input,
.webform-submission-form .form-item-phone input,
.webform-submission-form .form-item-email input {
  height: 40px;
  padding: var(--padding-input);
  border: 1px solid #DEFE00;
  background: linear-gradient(135deg, #f2fe9c 0%, #fbffdd 100%);
  transition: border-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .webform-submission-form .form-item-name input,
  .webform-submission-form .form-item-phone input,
  .webform-submission-form .form-item-email input {
    height: 35px;
  }
}
@media screen and (max-width: 575px) {
  .webform-submission-form .form-item-name input,
  .webform-submission-form .form-item-phone input,
  .webform-submission-form .form-item-email input {
    height: 30px;
  }
}
.webform-submission-form .form-item-name input:hover,
.webform-submission-form .form-item-phone input:hover,
.webform-submission-form .form-item-email input:hover,
.webform-submission-form .form-item-name input:focus,
.webform-submission-form .form-item-phone input:focus,
.webform-submission-form .form-item-email input:focus {
  border-color: #ffffff;
}
.webform-submission-form .form-item-message {
  margin-bottom: var(--margin-10);
}
.webform-submission-form .form-item-message textarea {
  height: 69px;
  min-height: 69px;
  padding: var(--padding-input);
  border: 1px solid #DEFE00;
  background: linear-gradient(135deg, #f2fe9c 0%, #fbffdd 100%);
  transition: border-color 0.2s ease;
}
.webform-submission-form .form-item-message textarea:hover,
.webform-submission-form .form-item-message textarea:focus {
  border-color: #ffffff;
}
.webform-submission-form .form-item-privacy {
  display: grid;
  grid-template-columns: 10px 1fr;
  align-items: center;
  column-gap: var(--gap-10);
  margin-bottom: var(--margin-10);
}
.webform-submission-form .form-item-privacy input {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  width: 13px;
  height: 13px;
  border: 1px solid #ffffff;
  border-radius: 3px;
  cursor: pointer;
}
.webform-submission-form .form-item-privacy input::before,
.webform-submission-form .form-item-privacy input::after {
  position: absolute;
  display: none;
  content: '';
  height: 6px;
  width: 2px;
  background-color: #DEFE00;
  top: 3px;
}
.webform-submission-form .form-item-privacy input::before {
  transform: rotate(45deg);
  left: 5px;
}
.webform-submission-form .form-item-privacy input::after {
  transform: rotate(-45deg);
  left: 2px;
}
.webform-submission-form .form-item-privacy input:checked::before,
.webform-submission-form .form-item-privacy input:checked::after {
  display: block;
}
.webform-submission-form .form-item-privacy .webform-element-description {
  font-size: var(--font-14);
  line-height: 128%;
  color: #ffffff;
}
.webform-submission-form .form-item-privacy a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
  text-decoration: underline;
}
.webform-submission-form .form-item-privacy a:hover,
.webform-submission-form .form-item-privacy a:focus {
  color: #DEFE00;
}
.webform-submission-form .form-item-privacy a:active {
  color: #e5ff32;
}
.webform-submission-form .form-item-privacy .form-item--error-message {
  grid-column: 1 / -1;
  grid-row: 2 / 3;
}
.webform-submission-form .form-type-processed-text {
  font-size: var(--font-14);
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}
.webform-submission-form .form-type-processed-text .contact-us {
  color: #ffffff;
}
.webform-submission-form .form-type-processed-text .contact-us__link {
  font-size: inherit;
  font-weight: inherit;
  color: #DEFE00;
  text-decoration: none;
  transition: color 0.2s ease;
}
.webform-submission-form .form-type-processed-text .contact-us__link:hover,
.webform-submission-form .form-type-processed-text .contact-us__link:focus {
  color: #ffffff;
}
.webform-submission-form .form-type-processed-text .contact-us__link:active {
  color: #ffffff;
}
.webform-submission-form .form-type-processed-text .contact-us__link--special {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.webform-submission-form .form-type-processed-text .contact-us__link--special:hover,
.webform-submission-form .form-type-processed-text .contact-us__link--special:focus {
  color: #DEFE00;
}
.webform-submission-form .form-type-processed-text .contact-us__link--special:active {
  color: #e5ff32;
}
.webform-submission-form .form-type-processed-text p {
  margin: 0;
}
.webform-submission-form .form-item--error-message {
  margin-top: var(--margin-10);
  color: #ffffff;
  font-size: var(--font-14);
}
.webform-submission-form .webform-confirmation__message {
  font-size: var(--font-14);
  color: #ffffff;
}
button.btn.webform-button--submit {
  width: 100%;
  margin-bottom: var(--margin-10);
  font-size: var(--font-14);
  font-weight: 500;
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  border-radius: 0;
}
button.btn.webform-button--submit svg path {
  fill: #040510;
}
button.btn.webform-button--submit:hover,
button.btn.webform-button--submit:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
button.btn.webform-button--submit:hover svg path,
button.btn.webform-button--submit:focus svg path {
  fill: #DEFE00;
}
button.btn.webform-button--submit:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
#footer {
  padding: var(--padding-80) 0 0;
  background-color: #040510;
}
#footer .view-services .view-content {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-10);
}
#footer .view-services .view-content a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
  font-size: var(--font-16);
  font-weight: 700;
  text-transform: uppercase;
}
#footer .view-services .view-content a:hover,
#footer .view-services .view-content a:focus {
  color: #DEFE00;
}
#footer .view-services .view-content a:active {
  color: #e5ff32;
}
#footer .node--type-service {
  padding: 0;
  border: none;
}
#footer .nav {
  flex-direction: column;
  row-gap: var(--gap-10);
}
#footer .nav-link {
  text-transform: none;
}
#footer .region-copyright {
  margin-top: auto;
  margin-bottom: var(--margin-10);
}
@media screen and (max-width: 991px) {
  #footer .region-copyright {
    margin-bottom: 0;
  }
}
#footer .services__link {
  font-size: var(--font-16);
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
#footer .services__link:hover,
#footer .services__link:focus {
  color: #DEFE00;
}
#footer .services__link:active {
  color: #e5ff32;
}
#footer .region-contacts-list {
  flex-grow: 1;
}
@media screen and (max-width: 991px) {
  #footer .region-contacts-list .field--name-body {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.contact {
  display: flex;
  align-items: center;
  column-gap: var(--gap-10);
  margin-bottom: var(--margin-20);
  font-size: var(--font-16);
  font-weight: 700;
  color: #ffffff;
}
.contact:last-child {
  margin-bottom: 0;
}
.contact:hover svg path,
.contact:focus svg path {
  fill: #ffffff;
}
.contact:active svg path {
  fill: #939393;
}
.contact__link {
  font-size: var(--font-16);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.contact__link:hover,
.contact__link:focus {
  color: #DEFE00;
}
.contact__link:active {
  color: #e5ff32;
}
.contact--social:hover svg path,
.contact--social:focus svg path {
  fill: #ffffff;
}
.contact--social:active svg path {
  fill: #939393;
}
.footer__container {
  display: flex;
  column-gap: var(--gap-80);
}
@media screen and (max-width: 991px) {
  .footer__container {
    flex-direction: column;
    align-items: center;
    row-gap: var(--gap-20);
  }
}
.footer__info {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 991px) {
  .footer__info {
    row-gap: var(--gap-10);
  }
}
@media screen and (max-width: 991px) {
  .footer__info .region-copyright,
  .footer__info .region-confidencial {
    display: none;
  }
}
.footer__top {
  position: relative;
  padding-bottom: var(--padding-30);
}
.footer__top::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 3px;
  background-color: #DEFE00;
  box-shadow: 0 0 6px #DEFE00;
}
.footer__bottom {
  padding: var(--padding-30) 0;
  text-align: center;
}
.footer__link {
  font-size: var(--font-14);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer__link:hover,
.footer__link:focus {
  color: #DEFE00;
}
.footer__link:active {
  color: #e5ff32;
}
.footer__mob-info {
  display: none;
}
@media screen and (max-width: 991px) {
  .footer__mob-info {
    display: flex;
    flex-direction: column;
    row-gap: var(--gap-10);
  }
}
.privacy {
  font-size: var(--font-14);
  font-weight: 700;
}
.privacy__link {
  font-size: var(--font-14);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.privacy__link:hover,
.privacy__link:focus {
  color: #DEFE00;
}
.privacy__link:active {
  color: #e5ff32;
}
#scrollToTop {
  width: 40px;
  height: 40px;
  bottom: 240px;
  right: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #DEFE00;
  background-color: transparent;
  transition: background-color 0.2s ease;
}
@media screen and (max-width: 1600px) {
  #scrollToTop {
    right: 100px;
  }
}
@media screen and (max-width: 1500px) {
  #scrollToTop {
    right: 70px;
  }
}
@media screen and (max-width: 1400px) {
  #scrollToTop {
    right: 20px;
  }
}
@media screen and (max-width: 1199px) {
  #scrollToTop {
    width: 35px;
    height: 35px;
    right: 60px;
    bottom: 220px;
  }
}
@media screen and (max-width: 991px) {
  #scrollToTop {
    width: 30px;
    height: 30px;
    right: 40px;
  }
}
@media screen and (max-width: 767px) {
  #scrollToTop {
    right: 35px;
  }
}
@media screen and (max-width: 575px) {
  #scrollToTop {
    right: 20px;
  }
}
#scrollToTop:hover,
#scrollToTop:focus {
  background-color: #DEFE00;
}
#scrollToTop:hover svg path,
#scrollToTop:focus svg path {
  fill: #040510;
}
#scrollToTop:active {
  background-color: #b1cb00;
}
#scrollToTop:active svg path {
  fill: #000000;
}
.pager {
  margin-top: var(--margin-20);
}
.page-link {
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.page-link svg path {
  fill: #040510;
}
.page-link:hover,
.page-link:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
.page-link:hover svg path,
.page-link:focus svg path {
  fill: #DEFE00;
}
.page-link:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
.page-item.is-active .page-link {
  color: #040510;
  background-color: #939393;
  border: 1px solid #939393;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.page-item.is-active .page-link svg path {
  fill: #040510;
}
.page-item.is-active .page-link:hover,
.page-item.is-active .page-link:focus {
  color: #939393;
  background-color: #040510;
  border-color: #939393;
}
.page-item.is-active .page-link:hover svg path,
.page-item.is-active .page-link:focus svg path {
  fill: #DEFE00;
}
.page-item.is-active .page-link:active {
  color: #7a7a7a;
  background-color: #939393;
  border-color: #939393;
}
@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.is-active,
  .page-item.pager__item--next,
  .page-item.pager__item--last {
    display: block;
  }
}
.mapContainer {
  max-width: 570px;
}
@media screen and (max-width: 1199px) {
  .mapContainer {
    max-width: 100%;
  }
}
@media screen and (max-width: 991px) {
  .mapContainer {
    max-width: 738px;
  }
}
@media screen and (max-width: 767px) {
  .mapContainer {
    max-width: 546px;
  }
}
@media screen and (max-width: 575px) {
  .mapContainer {
    max-width: fit-content;
  }
}
div#vpa-short-wrapper {
  padding: var(--padding-15);
  border: 1px solid #DEFE00;
  border-radius: 0;
  background-color: #040510;
}
@media screen and (max-width: 575px) {
  div#vpa-short-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: var(--gap-20);
    text-align: center;
  }
}
.vpa-content p {
  color: #ffffff;
}
.vpa-content a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.vpa-content a:hover,
.vpa-content a:focus {
  color: #DEFE00;
}
.vpa-content a:active {
  color: #e5ff32;
}
.vpa-actions .btn-primary {
  color: #040510;
  background-color: #DEFE00;
  border: 1px solid #DEFE00;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  border-radius: 0;
}
.vpa-actions .btn-primary svg path {
  fill: #040510;
}
.vpa-actions .btn-primary:hover,
.vpa-actions .btn-primary:focus {
  color: #DEFE00;
  background-color: #040510;
  border-color: #DEFE00;
}
.vpa-actions .btn-primary:hover svg path,
.vpa-actions .btn-primary:focus svg path {
  fill: #DEFE00;
}
.vpa-actions .btn-primary:active {
  color: #b1cb00;
  background-color: #939393;
  border-color: #DEFE00;
}
