@import url('normalize.css');
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap');
:root {
  --font-family: 'Onest', sans-serif;
  --font-size: 16px;
  --line-height: 1.4;
  --font-weight: 400;
  --font-weight-300: 300;
  --font-weight-400: 400;
  --font-weight-500: 500;
  --font-weight-600: 600;
  --font-weight-700: 700;
  --font-weight-800: 800;
  --font-weight-900: 900;

  --margin: -40px;
  --padding: 40px;
  --container-width: 1200px;

  --color-default: #111;
  --color-red: #f53824;
  --color-blue: #60c1d7;

  --border-color-10: rgba(23,26,30,.1);
  --border-color-20: rgba(23,26,30,.2);
  --border-color-30: rgba(23,26,30,.3);
  --border-color-40: rgba(23,26,30,.4);
  --border-color-50: rgba(23,26,30,.5);
  --border-color-90: rgba(23,26,30,.9);
  --border-error: #e54141;

  --border-radius: 6px;

  --section-padding: 100px;
  --section-head-title: 40px;
  --section-head-subtitle: 24px;
  --section-head-margin: 100px;
  --section-foot-margin: 100px;
}
@media(max-width: 992px) {
  :root {
    --margin: -25px;
    --padding: 25px;

    --section-padding: 75px;
    --section-head-title: 28px;
    --section-head-subtitle: 21px;
    --section-head-margin: 75px;
    --section-foot-margin: 75px;
  }
}
@media(max-width: 768px) {
  :root {
    --margin: -15px;
    --padding: 15px;

    --section-padding: 50px;
    --section-head-title: 24px;
    --section-head-subtitle: 18px;
    --section-head-margin: 50px;
    --section-foot-margin: 50px;
  }
}
/**
 * BASE
 */
html,
body {
  overflow-x: hidden;
  overflow-y: auto;
}
body {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 var(--padding);
  font-family: var(--font-family);
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--color-default);
  font-weight: var(--font-weight);
  background: #fff;
}

a {
  color: #2279f3;
}
b,
strong {
  font-weight: var(--font-weight-700);
}
i {
  font-style: italic;
}
.uppercase {
  text-transform: uppercase;
}
.bold {
  font-weight: var(--font-weight-700);
}

.container {
  display: block;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: var(--container-width);
}
.container::before,
.container::after {
  content: '';
  display: table;
  clear: both;
}
@media(max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

/*
 * ELEMENTS
 */
/* Buttons */
.btn {
  display: inline-block;
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 15px 40px;
  font: var(--font-weight) 14px/20px var(--font-family);
  text-transform: uppercase;
  text-align: center;
  color: #000;
  background: #F1DE0B;
  background: -moz-linear-gradient(top,#F1DE0B 0%,#F1C30B 100%);
  background: -webkit-linear-gradient(top,#F1DE0B 0%,#F1C30B 100%);
  background: linear-gradient(to bottom,#F1DE0B 0%,#F1C30B 100%);
  border: 1px solid #F1C30B;
  border-radius: 5px;
  transition: all .2s ease;
  cursor: pointer;
}
.btn-blue {
  color: #fff;
  background: #59c5d0;
  background: -moz-linear-gradient(top,#59c5d0 0%,#70b8e6 100%);
  background: -webkit-linear-gradient(top,#59c5d0 0%,#70b8e6 100%);
  background: linear-gradient(to bottom,#59c5d0 0%,#70b8e6 100%);
  border-color: #59c5d0;
}

/* Form control */
.form-control,
.form-control:hover,
.form-control:focus {
  display: block;
  position: relative;
  width: auto;
  padding: 10px 0;
  font-family: var(--font-family);
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-weight: var(--font-weight);
  color: var(--color-default);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--border-color-30);
  border-radius: 0;
  outline: 0;
  transition: all .2s ease;
}
.form-control::placeholder {
  font-size: 14px;
  color: #aaa;
}
.form-control:focus {
  border-color: var(--border-color-50);
}
.form-control.error {
  border-color: var(--border-error);
}
.form-control.bordered {
  padding: 10px;
  border: 1px solid var(--border-color-20);
}
.form-control.w100 {
  width: 100%;
}

/* Form control floating*/
.form-floating {
  position: relative;
}
.form-floating .form-control {
  z-index: 1;
  width: 100%;
}
.form-floating .form-control::placeholder {
  opacity: 0;
}
.form-floating label {
  display: block;
  position: absolute;
  z-index: 2;
  top: 22px;
  left: 0;
  margin: 0 -4px;
  padding: 0 4px;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-default);
  font-weight: var(--font-weight);
  background: inherit;
  pointer-events: none;
  opacity: .7;
  transition: all .3s ease;
  -webkit-transform: translate(0,-50%);
          transform: translate(0,-50%);
}
.form-floating .form-control-plaintext~label, 
.form-floating .form-control:focus~label, 
.form-floating .form-control:not(:placeholder-shown)~label, 
.form-floating .form-select~label {
  top: 0;
  font-size: 11px;
  line-height: 1;
  font-weight: var(--font-weight-500);
  text-transform: uppercase;
  opacity: 1;
}

/* Checkbox */
.checkbox-control {
  display: block;
  position: relative;
  gap: 10px;
}
.checkbox-control input {
  display: none;
  position: absolute;
  z-index: 3;
  visibility: hidden;
  opacity: 0;
}
.checkbox-control label {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 0 0 0 25px;
  font-size: 14px;
  color: var(--color-default);
  font-weight: var(--font-weight);
  text-align: left;
  transition: all .2s ease;
}
.checkbox-control label .check {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: absolute;
  top: 9px;
  left: 0;
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-transform: translate(0,-50%);
          transform: translate(0,-50%);
}
.checkbox-control label .check::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: no-repeat center url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
  background-size: contain;
  opacity: 0;
  transition: all .2s ease;
}
.checkbox-control input:checked + .check {
  background: #10C44C;
  border-color: #10C44C;
}
.checkbox-control input:checked + .check::before {
  opacity: 1;
}
.checkbox-control.radio .check {
  border-radius: 50%;
}

.checkbox-control-price label {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5px;
  font-size: 14px;
  line-height: 1.4;
}
.checkbox-control-price label::before {
  content: '';
  order: 2;
  flex: 1 1 auto;
  min-width: 20px;
  margin-top: 14px;
  border-bottom: 1px dotted var(--border-color-20);
}
.checkbox-control-price label .title {
  order: 1;
  flex: 0 1 auto;
}
.checkbox-control-price label .price {
  order: 3;
  flex: 0 1 auto;
  font-size: 14px;
  font-weight: var(--font-weight-500);
}

.checkbtn-group {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2px;
}
.checkbtn-control {
  display: block;
  position: relative;
}
.checkbtn-control input {
  display: none;
  position: absolute;
  visibility: hidden;
  opacity: 0;
}
.checkbtn-control label {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 10px 5px;
  font-size: 12px;
  color: var(--color-default);
  font-weight: var(--font-weight);
  text-align: center;
  transition: all .2s ease;
}
.checkbtn-control label .check {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #eee;
}
.checkbtn-control:first-child label .check {
  border-top-left-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}
.checkbtn-control:last-child label .check {
  border-top-right-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
.checkbtn-control input:checked + .check {
  background: #F1DE0B;
}

/*
 * OWL CAROUSEL
 */
.owl-carousel {
  display: none;
  z-index: 1;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
}
.owl-carousel .owl-stage {
  display: block;
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
}
.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-stage-outer {
  position: relative;
  z-index: 2;
  margin: -10px;
  padding: 10px;
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}
.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}
.no-js .owl-carousel {
  display: block;
}
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOut {
  0% {
    opacity: 1;}
  100% {
    opacity: 0;}
}
.owl-height {
  transition: height 500ms ease-in-out;
}
.owl-carousel .owl-nav {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  z-index: 1;
  bottom: 26px;
  left: 0;
  right: 0;
  margin-bottom: -20px;
}
.owl-carousel .owl-nav.disabled {
  display: none;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: no-repeat center url("data:image/svg+xml,%3Csvg style='enable-background:new 0 0 512 512;' version='1.1' viewBox='0 0 512 512' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpolygon fill='%23000' points='160,115.4 180.7,96 352,256 180.7,416 160,396.7 310.5,256 '/%3E%3C/svg%3E");
  background-size: contain;
  opacity: .7;
  transition: all .5s ease;
  cursor: pointer;
  -webkit-user-select: none;
   -khtml-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.owl-carousel .owl-nav .owl-prev {
  left: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.owl-carousel .owl-nav .owl-next {
  right: 0;
}
.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover {
  opacity: .9;
}
.owl-carousel .owl-nav .owl-prev span,
.owl-carousel .owl-nav .owl-next span {
  display: none;
}
.owl-carousel .owl-nav .owl-prev.disabled,
.owl-carousel .owl-nav .owl-next.disabled {
  opacity: .1;
}

.reviews-carousel .owl-item {
  transition: opacity .5s ease;
}
.reviews-carousel .owl-item:not(.active) {
  opacity: .3;
  -webkit-filter: grayscale(100);
          filter: grayscale(100);
}

.section {
  display: block;
  position: relative;
  z-index: 1;
  margin: 0 var(--margin);
  padding: var(--section-padding) var(--padding);
}
.section .container {
  position: relative;
  z-index: 2;
}
.section-column {
  display: flex;
  flex-flow: column;
  align-items: stretch;
}
.section-head,
.section-foot {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.section-head {
  margin-bottom: var(--section-head-margin);
}
.section-head .title {
  display: block;
  font-size: var(--section-head-title);
  line-height: 1.2;
  font-weight: var(--font-weight-700);
  text-transform: uppercase;
}
.section-head .title small {
  display: block;
  font-size: 70%;
  font-weight: var(--font-weight-300);
  text-transform: none;
}
.section-head .subtitle {
  display: block;
  font-size: var(--section-head-subtitle);
  line-height: 1.2;
  font-weight: var(--font-weight-300);
  text-transform: uppercase;
}
.section-head .line {
  display: block;
  position: relative;
  margin: 0 auto;
  opacity: .3;
}
.section-head .line::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(0,0,0,0) 0, 
    rgba(0,0,0,1) 30%,
    rgba(0,0,0,0) 35%,
    rgba(0,0,0,0) 65%,
    rgba(0,0,0,1) 70%,
    rgba(0,0,0,0) 100%);
  -webkit-transform: translate(-50%,0);
          transform: translate(-50%,0);
}
.section-head .line::before {
  content: '';
  display: block;
  width: 50px;
  height: 50px;
  margin: -5px 0;
  background: no-repeat center url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M483.54,299.21c-8.61-8.12-20.67-10.41-28.2-11,3.3-11,7-33.67-11.31-50s-36.75-13.32-45.47-10.59c-5.81-13.58-24.05-35.7-52.44-35.7-21,0-33.26,5.72-39.5,10a54.36,54.36,0,0,0-4.09-6.32c-14.15-18.85-37.1-17.34-47.52-15.44-2.58-14.39-14.61-51.38-69.87-51.38-54.92,0-67.69,37.44-70.59,52.32a49.67,49.67,0,0,0-42.13,8.44c-18.14,13.4-17.36,33.78-15.82,43.21-7.12,1.74-20.13,6.32-29,17.71-7.63,9.78-10.5,22.29-8.52,37.18s8,26,17.88,32.83c11.5,7.95,25.13,7.9,32.39,7.17,2.33,12.21,12.52,42,56.57,49.36a113.49,113.49,0,0,0,18.79,1.65c35.78,0,52.33-19.83,59.07-31.82,6.84,9.37,21.63,22.85,48.55,20.48A55.6,55.6,0,0,0,274.17,361c30.74,18.3,53,8.94,61.66,3.53,5.67,6.14,19.51,17.46,45.26,18.62,1.23.06,2.45.09,3.64.09,25.17,0,39.83-12.11,45.38-17.88,9.74,3.41,28.21,3.47,42.62-4.42,9.47-5.18,20.76-15.72,20.81-36.49C493.57,314,490.2,305.49,483.54,299.21Zm-232,58.66c-33.29,2.76-43.42-21.78-43.89-23a4.48,4.48,0,0,0-4.61-3,4.71,4.71,0,0,0-4.32,3.44c-.49,1.73-12.48,42.18-71.22,32.33-47.65-8-49.35-44-49.4-45.56a4.71,4.71,0,0,0-4.71-4.59,4.81,4.81,0,0,0-1.07.12c-.18.05-17.18,3.89-30-4.95-7.61-5.25-12.28-14.11-13.9-26.33S29,264,35,256.27c10-12.92,27.63-15.16,27.81-15.18a4.73,4.73,0,0,0,4-6c-.3-1-7-24.44,11.28-38a40.22,40.22,0,0,1,38.48-5.51,4.65,4.65,0,0,0,4.4-.3,4.72,4.72,0,0,0,2.23-3.81c.08-2,2.74-49.28,62-49.28,58.92,0,61.08,45.88,61.14,47.83a4.72,4.72,0,0,0,2,3.69,4.67,4.67,0,0,0,4.11.68c.28-.09,28.21-8.36,42.63,10.85,15.31,20.4,3.8,35.83,3.32,36.45a4.68,4.68,0,0,0-.43,5.19,4.8,4.8,0,0,0,4.61,2.42c1.59-.18,39.46-3.64,43.06,28.76,2,18.14-5.3,29-11.8,35-9.81,9-24.47,12.79-38.23,10a4.73,4.73,0,0,0-5.63,4.14C289.77,324.43,286.23,354.87,251.51,357.87Zm216.69-5.16c-13.61,7.45-31.82,6.13-36.81,3a4.71,4.71,0,0,0-6.31,1.18c-.56.75-14,18.27-43.57,16.92s-40.4-17.47-40.82-18.13a4.74,4.74,0,0,0-7.09-1c-.85.74-19.94,16.76-50.87.47,9.9-8.7,14-19.83,15.6-26.13,15.26,1.73,30.91-3.07,41.79-13,11.46-10.47,16.73-25.73,14.81-42.95-3.16-28.42-27.41-36.61-44.95-37.33a38.67,38.67,0,0,0,.41-24.91c3.87-3,14.5-9.42,35.73-9.42,28.42,0,43.45,26.35,44.94,33.42a4.72,4.72,0,0,0,6.75,3.23c.82-.41,20.58-10.07,39.94,7.24s7.18,44.42,6.66,45.57a4.71,4.71,0,0,0,4.56,6.66c.19,0,18-.92,28.13,8.64,4.74,4.49,7,10.49,7,18.36C484.08,337.44,478.73,347,468.2,352.71Z'/%3E%3C/svg%3E");
  background-size: contain;
}
.section-foot {
  margin-top: var(--section-foot-margin);
}

/* VIDEO */
.youtube {
  display: block;
  position: relative;
  overflow: hidden;
  padding-top: 60%;
  background: rgba(0,0,0,.4);
  border-radius: var(--border-radius);
  cursor: pointer;
  -webkit-transition: all .5s ease-in-out;
          transition: all .5s ease-in-out;
}
.youtube::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
  width: 60px;
  height: 60px;
  background: no-repeat center url("data:image/svg+xml,%3Csvg style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;' version='1.1' viewBox='0 0 512 512' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:serif='http://www.serif.com/' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M501.299,132.766c-5.888,-22.03 -23.234,-39.377 -45.264,-45.264c-39.932,-10.701 -200.037,-10.701 -200.037,-10.701c0,0 -160.105,0 -200.038,10.701c-22.025,5.887 -39.376,23.234 -45.264,45.264c-10.696,39.928 -10.696,123.236 -10.696,123.236c0,0 0,83.308 10.696,123.232c5.888,22.03 23.239,39.381 45.264,45.268c39.933,10.697 200.038,10.697 200.038,10.697c0,0 160.105,0 200.037,-10.697c22.03,-5.887 39.376,-23.238 45.264,-45.268c10.701,-39.924 10.701,-123.232 10.701,-123.232c0,0 0,-83.308 -10.701,-123.236Z' style='fill:%23ed1f24;fill-rule:nonzero;'/%3E%3Cpath d='M204.796,332.803l133.018,-76.801l-133.018,-76.801l0,153.602Z' style='fill:%23fff;fill-rule:nonzero;'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  -webkit-transition: all .2s linear;
          transition: all .2s linear;
}
.youtube::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(0, rgba(0,0,0,1) 0, rgba(0,0,0,0) 90%);
  opacity: 1;
}
.youtube .cover {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .9;
  -webkit-transition: all .2s linear;
          transition: all .2s linear;
}
.youtube .title {
  display: block;
  position: absolute;
  overflow: hidden;
  z-index: 9;
  bottom: 15px;
  left: 20px;
  right: 20px;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  text-shadow: 1px 1px 3px #000;
  text-align: left;
  white-space: nowrap;
  -webkit-mask-image: -webkit-gradient(linear, 50% top, 80% bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}
.youtube:hover {
  box-shadow: 0 0 50px rgba(0,0,0,.2);
}
.youtube:hover::before {
  width: 70px;
  height: 70px;
}
.youtube:hover .cover {
  opacity: 1;
}

.header-section {
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 30px var(--padding);
}
.header {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
}
.header-brand {
  display: block;
}
.header-brand img {
  display: block;
  width: auto;
  height: 70px;
}
.header-right {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
}
.header-contact {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 5px;
  line-height: 1;
}
.header-contact a {
  display: block;
  position: relative;
  padding-left: 25px;
  font-size: 22px;
  font-weight: var(--font-weight-700);
  color: #004573;
  text-decoration: none;
}
.header-contact a::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  -webkit-transform: translate(0,-50%);
          transform: translate(0,-50%);
  background: no-repeat center url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath fill='%23004573' d='M13.25 21.59c2.88 5.66 7.51 10.29 13.18 13.17l4.4-4.41c.55-.55 1.34-.71 2.03-.49 2.24.74 4.65 1.14 7.14 1.14 1.11 0 2 .89 2 2v7c0 1.11-.89 2-2 2-18.78 0-34-15.22-34-34 0-1.11.9-2 2-2h7c1.11 0 2 .89 2 2 0 2.49.4 4.9 1.14 7.14.22.69.06 1.48-.49 2.03l-4.4 4.42z'/%3E%3C/svg%3E");
  background-size: contain;
}
.header-contact a::after {
  content: '';
  display: block;
  position: absolute;
  left: 38px;
  right: 0;
  bottom: 0;
  border-bottom: 1px dashed #004573;
}
.header-contact .note {
  margin-left: 38px;
  font-size: 12px;
}
@keyframes header {
  0% {
    top: -100px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
@media(min-width: 992px) {
  .header-section,
  .header-brand {
    transition: all .5s ease;
  }
  .header-section.fixed {
    position: fixed;
    padding-top: 10px;
    padding-bottom: 10px;
    background: rgba(255,255,255,.5);
    animation: header .5s linear;
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
  }
  .header-section.fixed .header-brand img {
    height: 50px;
  }
}
@media(max-width: 992px) {
  .header-brand img {
    height: 50px;
  }
  .header-right {
    gap: 15px;
  }
  .header-right .btn {
    padding: 10px 20px;
  }
  .header-contact a {
    padding-left: 18px;
    font-size: 18px;
  }
  .header-contact a::before {
    width: 18px;
    height: 18px;
  }
  .header-contact a::after {
    left: 30px;
  }
  .header-contact .note {
    margin-left: 30px;
    font-size: 11px;
  }
}
@media(max-width: 768px) {
  .header {
    flex-flow: column;
    gap: 30px;
  }
  .header-right .btn {
    padding: 10px 15px;
    font-size: 11px;
    font-weight: var(--font-weight-500);
  }
}

.hello-section {
  display: block;
  position: relative;
  margin: 0 var(--margin);
  padding: 0 var(--padding);
  background: #dee0df repeat-x center url('../../images/hello-bg.webp');
  background-size: auto 100%;
}
.hello {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: space-around;
  position: relative;
  z-index: 2;
  padding-top: 120px;
  padding-bottom: 50px;
  min-height: 100vh;
}
.hello-title {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
}
.hello-title h1 {
  margin: 0;
  font-size: 54px;
  line-height: 1;
  font-weight: var(--font-weight-600);
}
.hello-title h1 u {
  color: #ff5500;
  text-decoration: underline;
  text-decoration-color: #ff5500;
  text-underline-offset: 7px;
  text-decoration-thickness: 3px;
}
.hello-title h2 {
  margin: 20px 0 0 0;
  font-size: 24px;
  line-height: 1.1;
  font-weight: var(--font-weight-500);
}
.hello-form {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 30px;
  width: 100%;
  max-width: 400px;
  margin: 0 -40px -40px -40px;
  padding: 40px;
  border-radius: var(--border-radius);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
.hello-form--head {
  font-size: 21px;
  font-weight: var(--font-weight-700);
}
.hello-form--head u {
  color: #ff5500;
  text-decoration: underline;
  text-decoration-color: #ff5500;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
}
.hello-cover {
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 10%;
  left: 250px;
  right: -100px;
}
.hello-cover--image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
}
@media(max-width: 1400px) {
  .hello-title h1 {
    font-size: 48px;
  }
}
@media(max-width: 1200px) {
  .hello-title h1 {
    font-size: 44px;
  }
  .hello-cover {
    left: 150px;
    right: -200px;
  }
}
@media(max-width: 992px) {
  .hello-title h1 {
    font-size: 40px;
  }
  .hello-title h2 {
    font-size: 18px;
  }
  .hello-form {
    max-width: 300px;
    margin-left: -25px;
    margin-right: -25px;
    padding: 25px;
  }
  .hello-form--head {
    font-size: 18px;
  }
  .hello-cover {
    left: 100px;
  }
}
@media(max-width: 768px) {
  .hello-section {
    background: no-repeat center url('../../images/hello-mobile-bg.webp');
    background-size: cover;
  }
  .hello-cover {
    display: none;
  }
  .hello {
    padding-top: 200px;
    padding-bottom: 50px;
    align-items: center;
    text-align: center;
  }
  .hello-title h1 {
    font-size: 30px;
  }
  .hello-title h2 {
    font-size: 16px;
  }
  .hello-form {
    margin: 250px 0 0 0;
  }
}

.reviews-section {
  background: no-repeat center url('../../images/section-rws-bg.webp');
  background-size: cover;
}
.reviews-carousel {
  z-index: 2;
}
.reviews-foot {
  z-index: 1;
  margin-top: 50px;
}
@media(max-width: 992px) {
  .reviews-carousel .youtube {
    width: 350px;
  }
}
@media(max-width: 500px) {
  .reviews-carousel .youtube {
    width: 300px;
  }
}

.products-foot {
  gap: 20px;
}
.products-foot .text {
  font-size: 24px;
  line-height: 1.2;
}
.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 40px;
}
.product {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  position: relative;
  z-index: 1;
  margin: -30px;
  padding: 30px;
  border-radius: var(--border-radius);
  transition: all .2s linear;
}
.product-cover {
  display: block;
  flex: 0 0 auto;
}
.product-cover img {
  display: block;
  width: 100%;
  max-width: 350px;
  height: auto;
  margin: 0 auto;
}
.product-head {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-color-50);
}
.product-head .model {
  order: 1;
  font-size: 18px;
  font-weight: var(--font-weight-300);
}
.product-head .type {
  order: 2;
  font-size: 11px;
  color: var(--color-blue);
  font-weight: var(--font-weight-600);
  text-transform: uppercase;
}
.product-head .info {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  font-size: 11px;
  font-weight: var(--font-weight-600);
  opacity: .7;
}
.product-body {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 5px;
  flex: 1 1 auto;
}
.product-body--row {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 5px;
  font-size: 14px;
}
.product-body--row .title {
  order: 1;
  flex: 0 0 auto;
}
.product-body--row .info {
  order: 3;
  flex: 0 0 auto;
}
.product-body--row::before {
  order: 2;
  flex: 1 0 auto;
  content: '';
  display: block;
  height: 1px;
  margin-bottom: 5px;
  border-bottom: 1px dashed var(--border-color-20);
}
.product-foot {
  display: block;
  flex: 0 0 auto;
  margin-top: 10px;
  font-size: 18px;
  color: var(--color-red);
}
@media(min-width: 992px) {
  .product:hover {
    z-index: 2;
    box-shadow: 0 0 50px rgba(0,0,0,.1);
  }
}
@media(max-width: 992px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 768px) {
  .products-grid {
    gap: 40px 20px;
  }
  .product-cover {
    padding: 15px 0;
  }
  .product-head {
    flex-flow: column;
    align-items: flex-start;
  }
  .product-head .model {
    font-size: 16px;
  }
  .product-head .type {
    font-size: 10px;
  }
  .product-body--row {
    font-size: 11px;
  }
  .product-body--row::before {
    margin-bottom: 4px;
  }
  .product-foot {
    font-size: 14px;
  }
  .products-foot .text {
    font-size: 16px;
  }
}

.production-section {
  background: #F6F7F7;
}
.production-video {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  margin-top: 70px;
  margin-bottom: 70px;
}
.production-plus {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 40px 20px;
  margin-left: auto;
  margin-right: auto;
}
.production-plus-item {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 10px;
  width: calc((100% - 80px) / 5);
  font-size: 11px;
  font-weight: var(--font-weight-500);
  text-transform: uppercase;
  text-align: center;
}
.production-plus-item .cover {
  display: block;
  width: 70px;
  height: auto;
}
.production-plus-item .cover img {
  width: 100%;
  height: auto;
}
.production-info {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 40px;
}
.production-info-item {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  width: 100%;
  max-width: calc((100% - 80px) / 3);
  font-size: 12px;
  font-weight: var(--font-weight-500);
}
.production-info-item .cover {
  flex: 0 0 100px;
}
.production-info-item .cover img {
  display: block;
  width: 100%;
  height: auto;
}
.production-info-item .text {
  flex: 1 1 auto;
}
@media(max-width: 992px) {
  .production-video {
    gap: 20px;
  }
  .production-plus {
    max-width: 600px;
  }
  .production-plus-item {
    width: calc((100% - 40px) / 3);
  }
  .production-info-item {
    max-width: calc((100% - 40px) / 2);
  }
}
@media(max-width: 768px) {
  .production-video {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .production-info {
    flex-flow: column;
  }
  .production-info-item {
    max-width: 350px;
  }
}
@media(max-width: 600px) {
  .production-plus {
    max-width: 350px;
  }
  .production-plus-item {
    width: calc((100% - 20px) / 2);
  }
  .production-plus-item:nth-child(1) {
    order: 2;
  }
  .production-plus-item:nth-child(2) {
    order: 3;
  }
  .production-plus-item:nth-child(3) {
    order: 1;
    width: 100%;
  }
  .production-plus-item:nth-child(4) {
    order: 4;
  }
  .production-plus-item:nth-child(5) {
    order: 5;
  }
}

.constructor-section {
  background: #f6f7f7;
}
.constructor-grid {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.constructor-image {
  position: relative;
  z-index: 1;
  order: 1;
  width: 100%;
}
.constructor-image img {
  display: block;
  width: 100%;
  height: auto;
}
.constructor-body {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  position: relative;
  z-index: 2;
  order: 2;
  gap: 20px;
  width: 100%;
  max-width: 400px;
  padding: 40px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,0,0,.1);
  border-radius: var(--border-radius);
}
.constructor-body .btn {
  margin-top: 30px;
}
.calc-hr {
  display: block;
  height: 1px;
  background: var(--border-color-10);
}
.calc-column {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 10px;
}
.calc-row {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.calc-row--head {
  flex: 0 1 auto;
}
.calc-row--body {
  flex: 0 0 80px;
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 10px;
}
.calc-row--body .input {
  position: relative;
}
.calc-row--body .input .form-control {
  width: 100%;
  text-align: right;
  padding: 5px 22px 5px 0;
  border: 0;
}
.calc-row--body .input .form-control.error {
  box-shadow: 0 1px 0 0 var(--border-error);
}
.calc-row--body .input::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  bottom: 9px;
  right: 0;
  font-size: 12px;
  line-height: 12px;
}
.calc-row--body .input.sm::after {
  content: 'см.';
}
.calc-row--body .input.kg::after {
  content: 'кг.';
}
@media(max-width: 768px) {
  .constructor-grid {
    flex-flow: column;
    gap: 0;
  }
  .constructor-image {
    order: 1;
    width: calc(100% + 100px);
    margin: -50px;
  }
  .constructor-body {
    order: 2;
  }
}

.contacts-grid {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: 100px;
}
.contacts-map {
  order: 2;
  display: block;
  position: relative;
  overflow: hidden;
  width: calc((100% - 100px) / 2);
  height: 400px;
  border-radius: var(--border-radius);
}
.contacts-map .map {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 100px);
  height: calc(100% + 100px);
  -webkit-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
}
.contacts-map .map-lock {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  z-index: 99;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding-bottom: 70px;
  font-size: 12px;
  font-weight: var(--font-weight-700);
  text-align: center;
  text-transform: uppercase;
  background: rgba(255,255,255,.1);
}
.contacts-body {
  order :1;
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 20px;
  width: calc((100% - 100px) / 2);
}
.contacts-body a {
  color: var(--color-default);
  text-decoration: none;
}
@media(max-width: 768px) {
  .contacts-grid {
    flex-flow: column;
    gap: 40px;
  }
  .contacts-map {
    width: 100%;
    height: 300px;
  }
  .contacts-body {
    width: 100%;
    max-width: 350px;
    font-size: 14px;
    text-align: center;
  }
}

.shops-section {
  padding-bottom: 0;
}
.shops-head {
  margin-bottom: 40px;
}
.shops-grid {
  display: grid;
  /*grid-template-columns: repeat(5,1fr);*/
  grid-template-areas: "A B C" "D E E";
  gap: 10px;
}
.shop-cover {
  display: block;
  overflow: hidden;
  border-radius: var(--border-radius);
}
.shop-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.shop-cover:nth-child(1) {
  grid-area: A;
}
.shop-cover:nth-child(2) {
  grid-area: B;
}
.shop-cover:nth-child(3) {
  grid-area: C;
}
.shop-cover:nth-child(4) {
  grid-area: D;
}
.shop-cover:nth-child(5) {
  grid-area: E;
}
@media(max-width: 600px) {
  .shops-grid {
    grid-template-areas: "A B" "C D" "E E";
  }
}

.final-section {
  background: #f6f8f7;
}
.final-grid {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.final-form {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 20px;
  width: 100%;
  max-width: 350px;
}
.final-form--head {
  text-align: center;
}

.modal {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 50;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 20px;
}
.modal--bg {
  display: block;
  position: fixed;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
  background: rgba(0,0,0,.5);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
.modal--body {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 20px;
  position: relative;
  overflow: hidden;
  z-index: 10;
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 400px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 100px rgba(0,0,0,1);
}
.modal--body .tail-loading {
  display: block;
  position: absolute;
  z-index: 99;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,.3);
  visibility: hidden;
  opacity: 0;
  transition: all .2s ease;
}
.modal--body.sending .tail-loading {
  visibility: visible;
  opacity: 1;
}
.modal--head {
  display: block;
  padding: 20px 0;
  font-size: 18px;
  text-align: center;
}
.modal--head small {
  display: block;
  font-size: 70%;
}
.modal--close {
  display: block;
  position: absolute;
  z-index: 10;
  cursor: pointer;
  top: 10px;
  right: 10px;
  margin: 0;
  padding: 5px;
  color: rgba(0,0,0,.5);
  border-radius: 50%;
  transition: all .2s ease;
}
.modal--close svg {
  display: block;
  width: 20px;
  height: 20px;
}
.modal--close:hover {
  color: rgba(0,0,0,.7);
}
.modal--close::before {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
  width: 4px;
  height: 4px;
  background: rgba(0,0,0,.1);
  border-radius: 50%;
  transition: all .2s ease-in-out;
  opacity: 0;
}
.modal--close:hover::before {
  width: 30px;
  height: 30px;
  opacity: .5;
}
.modal--body.success {
  align-items: center;
  gap: 10px;
  max-width: 300px;
  text-align: center;
}
.modal--body.success .image {
  width: 40px;
  height: auto;
  margin-bottom: 10px;
}
.modal--body.success p {
  margin: 0;
}
.modal--body.success p.small {
  font-size: 14px;
}
.modal--note {
  font-size: 11px;
  text-align: center;
  opacity: .7;
}
@media(max-width: 400px) {
  .modal {
    padding: 0;
  }
  .modal--body {
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 0;
  }
}

.modal-calc .modal--loading {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 10;
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 400px;
  min-height: 350px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 100px rgba(0,0,0,1);
}
.modal-calc .modal--loading .loading {
  display: block;
  width: 50px;
  height: 50px;
  animation: gpv-modal--loading 2s linear infinite;
}
.modal-calc .modal--loading .loading-path {
  stroke: #F1DE0B;
  stroke-linecap: round;
  animation: gpv-modal--loading-path 1.5s ease-in-out infinite;
}
.modal-calc .modal--body {
  display: none;
}
.modal-calc .modal--loading .items {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  gap: 10px;
}
.modal-calc .modal--loading .item {
  display: block;
  position: relative;
  padding: 0 0 0 25px;
  font-size: 14px;
  transition: all .2s ease;
  opacity: 0;
}
.modal-calc .modal--loading .item div {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #F1DE0B;
}
.modal-calc .modal--loading .item div::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: no-repeat center url('../../images/checked.png');
  background-size: contain;
  transition: .5s all 2.5s ease;
  opacity: 0;
}
.modal-calc .modal--loading .item.success {
  opacity: 1;
}
.modal-calc .modal--loading .item.success div::before {
  opacity: 1;
}

.modal-calc.success .modal--loading {
  display: none;
}
.modal-calc.success .modal--body {
  display: flex;
}

.gpv-modal {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 50;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 20px;
}
.gpv-modal--bg {
  display: block;
  position: fixed;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
  background: rgba(0,0,0,.5);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
.gpv-modal--body {
  display: block;
  position: relative;
  z-index: 10;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 900px;
  background: #000;
  border-radius: 10px;
  box-shadow: 0 0 100px rgba(0,0,0,1);
}
.gpv-modal--body-iframe {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border-radius: 10px;
}
.gpv-modal--body-iframe .video-js {
  display: block;
  -position: absolute;
  z-index: 2;
  -top: 0;
  -bottom: 0;
  -left: 0;
  -right: 0;
  width: 100%;
  height: auto;
  background: transparent;
}
.gpv-modal--loading {
  display: block;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin: -25px 0 0 -25px;
  animation: gpv-modal--loading 2s linear infinite;
}
.gpv-modal--loading-path {
  stroke: rgba(255,255,255,.5);
  stroke-linecap: round;
  animation: gpv-modal--loading-path 1.5s ease-in-out infinite;
}
@keyframes gpv-modal--loading {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes gpv-modal--loading-path {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}