@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-Bold.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-Bold.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-Bold.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-Bold.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-Bold.ttf) format('truetype');
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  text-rendering: optimizeLegibility;
}


@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-Heavy.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-Heavy.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-Heavy.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-Heavy.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-Heavy.ttf) format('truetype');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-Light.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-Light.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-Light.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-Light.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-Light.ttf) format('truetype');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-Medium.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-Medium.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-Medium.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-Medium.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-Medium.ttf) format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-Regular.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-Regular.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-Regular.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-Regular.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-Regular.ttf) format('truetype');
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-Semibold.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-Semibold.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-Semibold.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-Semibold.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-Semibold.ttf) format('truetype');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'Lato';
  src: url(assets/fonts/Lato/Lato-SemiboldItalic.eot); /* IE9 Compat Modes */
  src: url(assets/fonts/Lato/Lato-SemiboldItalic.eot?#iefix) format('embedded-opentype'), 
       url(assets/fonts/Lato/Lato-SemiboldItalic.woff2) format('woff2'), 
       url(assets/fonts/Lato/Lato-SemiboldItalic.woff) format('woff'), 
       url(assets/fonts/Lato/Lato-SemiboldItalic.ttf) format('truetype');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  text-rendering: optimizeLegibility;
}
@charset "utf-8";

*, *::after, *::before {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 auto;
}

body {
  font-family: 'Lato', sans-serif; 
  margin: 0;
  padding: 0;
  color: #000;
  overflow-x: hidden; /* avoiding horizontal scroll because of morph elements */
  text-size-adjust: none;
}

img {
  display: inline-block;
}

.container {
  margin: 0 auto;
  max-width: 1340px;
}

.section {
  position: relative;
}

.btn {
  width: 255px;
  height: 50px;

  display: flex;
  justify-content: center;
  align-items: center;

  border-radius: 3px;
  color: #fff;
  text-decoration: none;

  transition: .2s linear;
}

.btn--intro {
  text-transform: uppercase;
  background-color: rgb(48, 56, 226);
  box-shadow: -6px 8px 20px rgba(0, 0, 0, 0.25);
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  font-size: 20px;
  line-height: 2;
}

.btn--intro:hover{
  background-color: transparent;
  color: #2271CE;
  border: 1px solid #2271CE;
  cursor: pointer;
}

.btn--card {
  margin: 0 auto;
  width: 180px;
  height: 40px;
  background-color: #fff;
  border: 1px solid #fff;
}

.btn--card:hover {
  background-color: transparent;
  color: #fff;
}



/* header-menu */
.header__menu {
  font-family: 'Montserrat', sans-serif;
  display: none;
  position: relative;
  height: 94px;
}

.menu-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 94px;
}

.menu-btn:hover {
  cursor: pointer;
}

.menu-btn__text {
  display: block;
}

.menu {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateY(100%);
}

.menu__overflow-container {
  overflow: hidden;
}


.menu__options-container {
  display: flex;
  flex-direction: column;
  align-items: center;

  visibility: hidden;

  transition: .1s linear;
  background-color: #212121e6;
  width: 250px;

  margin: 0;
  padding: 0;
  list-style-type: none;
}

.menu__options-container.active {
  visibility: visible;
  margin: 0;
  padding-bottom: 10px;
}


.menu__option {
  padding: 10px;
  display: none;
}


/* Header */
.header {
  background-color: #212121e6;
  color: #fff;

  width: 100%;

  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

.nav__underline {
  background-color: #fff;
  width: 0;
  height: 2px;
  transition: width .2s linear,
    left .2s linear;

  position: relative;
}

.header__inner {
  height: 94px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header__logo {
  margin-left: -55px;
}

.header__nav {
  width: 980px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav__link,
.header__phone {
  font-family: 'Montserrat', sans-serif;
  color: #fff;
  text-decoration: none;
  position: relative;
}

.nav__link.active.nav__link::after {
  content: '';
  width: 100%;
  height: 2px;
  background-color: #fff;

  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 1;
}

.header__right-outside {
  margin-right: -20px;
}



/* collisions */
.section--collisions {
  padding: 60px 0 75px;
  background-color: #20A95F;
}


.collisions__title {
  color: #F0F0F0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 40px;
  text-transform: uppercase;
}



/* reasons */
.section--reasons {
  padding: 55px 0 90px;
  background: url(assets/images/reasons-background.png) no-repeat;
  background-size: cover;
  height: fit-content;
}

.reasons__inner {
  max-width: 730px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.reasons__crown {
  display: inline;
}

.reasons__title {
  margin-top: 25px;

  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 154%;
  text-transform: uppercase;
  color: #FFFFFF;
}

.reasons__text {
  margin-top: 30px;

  font-family: 'Lato', sans-serif;
  font-size: 20px;
  line-height: 105%;
  color: #FFFFFF;
}



/* clients */
.section--clients {
  padding: 80px 0;
  height: 425px;
  background-color: #fff;
}

.section__title {
  font-family: 'Montserrat', sans-serif;
  color: #0A0A0A;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.33;
  text-transform: uppercase;
}

.clients__box {
  margin-top: 40px;
  display: flex;
  align-items: center;
}

.img__container {
  /* width: 200px; */
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}



/* feedback */
.section--feedback {
  padding: 95px 0;
  background: url(assets/images/feedback-background.png) center no-repeat;
  background-size: cover;
}

.feedback__inner {
  max-width: 1120px;
  margin: 0 auto;
}

.feedback__title {
  /* font-family: Proxima Nova; нет шрифта */
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 32px;
  line-height: 102.5%;
  color: #FFF;
}

.feedback__text {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.8);
}

.modal-background {
  display: none;
  position: fixed;
  z-index: 1001;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  justify-content: center;
  align-items: center;
  background-color: rgba(0,0,0,0.4);
}

.modal-background_active {
  display: flex;
}

.protection-modal {
  position: relative;
  width: 864px;
  max-height: 80%;
  padding: 32px 24px;
  background: #FCFCFC;
  border-radius: 9px;
}

.protection-modal__title-1 {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  display: flex;
  align-items: center;
  color: #3062E2;
}

.protection-modal__text {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  display: flex;
  align-items: center;
  color: #575757;

  margin-top: 24px;
}

.protection-modal__title-2 {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-size: 22px;
  line-height: 27px;
  display: flex;
  align-items: center;
  color: #3062E2;

  margin-top: 44px;
}

.protection-modal__list {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  color: #575757;

  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  list-style-type: none;
  padding-left: 0;
  margin-top: 24px;
}

.protection-modal__btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 55px;
}

.protection-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}

.protection-modal__img {
  position: absolute;
  right: 0;
  top: 70px;
}

.morph {
  opacity: 0.6;
  position: absolute;
  z-index:0;
}

#morph1 {
  width: 145px;
}

#morph2 {
  width: 170px;
}

@media (max-width: 960px) {
  .morph {
    display:none;
  }
}

.morph path {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #fff;
  stroke-width: 10px;
  transition: d 1s linear;
  fill:none;
  transform-origin: center;
}

#first {
  d: path("M 68.782 119.979 C 66.689 120.122 65.693 114.694 66.651 113.772 C 70.302 110.253 77.132 103.168 84.003 95.947 C 94.254 85.173 104.593 74.094 104.593 74.094");
}

[data-morph-step="1"] #first {
  d: path("M 54.965 103.738 C 54.965 103.738 73.528 118.337 83.568 124.501 C 84.641 125.16 53.03 138.111 53.077 137.424 C 54.669 114.425 54.674 103.593 54.674 103.593");
}

[data-morph-step="2"] #first {
  d: path("M 157.322 79.416 C 157.322 79.416 156.833 94.822 146.437 113.734 C 127.386 148.391 88.244 128.759 93.196 105.23 C 97.22 86.112 112.45 81.141 122.432 76.078");
}

#second {
  d: path("M 124.549 116.06 C 124.549 116.06 110.057 117.08 95.794 118.083 C 83.378 118.956 71.136 119.817 68.782 119.979");
}

[data-morph-step="1"] #second {
  d: path('M 56.313 132.979 C 56.313 132.979 94.85 71.677 95.24 72.555 C 96.464 75.303 114.043 110.492 114.584 109.557');
}

[data-morph-step="2"] #second {
  d: path("M 123.308 75.556 C 132.802 70.973 161.655 52.712 138.689 35.821 C 123.975 24.999 105.643 40.661 122.156 73.433");
}

#third {
  d: path("M 147.508 53.775 C 147.508 53.775 172.839 51.98 194.141 50.417 C 208.488 49.365 208.522 51.219 199.754 60.199 C 191.594 68.556 167.244 93.968 167.244 93.968");
}

[data-morph-step="1"] #third {
  d: path("M 114.584 109.557 C 115.876 107.32 146.298 55.369 146.841 55.916 C 147.578 56.659 170.917 99.336 171.814 101.281 C 172.406 102.564 221.239 52.4 221.239 52.4");
}

[data-morph-step="2"] #third {
  d: path("M 123.488 75.697 C 125.712 80.834 128.543 86.499 132.012 92.723 C 144.683 115.457 154.895 126.101 163.49 127.107 C 182.793 129.366 183.914 105.501 183.914 105.501");
}

/* morph 2 */

#forth {
  d: path("M 129.003 36.323 C 123.598 33.724 117.722 33.746 114.417 41.625 C 112.222 46.858 113.252 51.128 110.455 60.843 C 107.658 70.558 100.139 70.447 92.023 68.48");
}

[data-morph-step="1"] #forth {
  d: path("M 159 31.662 C 159 31.662 150.965 52.604 146.948 63.075 C 142.353 75.052 137.758 87.03 133.163 99.007 C 129.234 109.248 121.375 129.731 121.375 129.731");
}

[data-morph-step="2"] #forth {
  d: path("M 114.463 139.874 C 114.463 139.874 120.932 135.606 134.058 126.652 C 139.447 122.977 150.768 115.142 161.241 107.878 C 173.017 99.709 183.723 92.263 183.723 92.263");
}

#fifth {
  d: path("M 118.246 110.155 C 112.324 111.105 106.698 109.407 105.778 100.913 C 105.167 95.271 107.372 91.473 107.463 81.363 C 107.553 71.254 100.315 69.216 91.975 68.786");
}

[data-morph-step="1"] #fifth {
  d: path("M 120.486 84.28 C 97.854 93.741 88.006 67.308 93.678 55.484 C 98.172 46.116 109.895 41.864 118.601 46.605 C 129.697 52.647 140.319 74.418 120.087 84.48");
}

[data-morph-step="2"] #fifth {
  d: path("M 94.637 77.062 C 81.658 56.247 106.162 42.275 118.745 45.97 C 128.714 48.899 134.797 59.785 131.518 69.14 C 127.34 81.064 107.561 95.05 94.375 76.7");
}

#sixth {
  d: path("M 153.777 40.223 C 159.68 39.16 165.337 40.749 166.42 49.224 C 167.14 54.853 165.008 58.694 165.111 68.803 C 165.215 78.912 172.491 80.811 180.82 81.234 C 172.65 79.578 165.131 79.611 162.52 89.377 C 159.911 99.145 161.023 103.394 158.929 108.668 C 155.776 116.609 149.901 116.744 144.447 114.249");
}

[data-morph-step="1"] #sixth {
  d: path("M 176.326 115.903 C 162.643 121.623 153.632 114.222 149.9 104.862 C 147.459 98.741 147.275 91.782 149.518 87.107 C 151.165 83.675 153.782 80.929 156.865 79.061 C 162.198 75.83 168.925 75.224 174.441 78.228 C 178.41 80.389 182.319 84.564 184.776 89.495 C 189.188 98.348 188.921 109.641 175.927 116.103");
}

[data-morph-step="2"] #sixth {
  d: path("M 183.723 92.263 C 181.687 88.183 178.55 85.133 174.942 82.778 C 170.887 80.13 166.021 78.588 161.21 78.03 C 156.026 77.428 146.473 76.089 128.747 89.14 C 112.009 101.462 110.001 109.226 108.725 114.572 C 107.667 119.002 107.608 123.796 108.627 128.235 C 109.59 132.43 113.541 139.412 113.541 139.412");
}
/* переопределение стилей swiper */
.swiper-wrapper {
  margin-bottom: 30px;
}
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
}

.swiper {
  height: 200px;
}

.clients__slide {
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.clients__slide img {
  max-width: 100%;
}
@media (max-width: 1600px) {
  /* header */
  .header__inner {
    padding: 0 20px;
  }
  .header__logo {
    margin-left: 0;
    margin-right: 20px;
  }
  .header__right-outside {
    display: none;
  }
  .header__menu {
    display: block;
  }

  /* изменения в навигации */
  .header__nav > .nav__link[data-scroll-to="clients"] {
    display: none;
  }
  .menu__option[data-scroll-to="clients"] {
    display: block;
  }
  .header__nav {
    margin-left: 15px;
  }

}

@media (max-width: 1440px) {
  .section {
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media (max-width: 1150px) {
  /* изменения в навигации */
  .header__nav > a[data-scroll-to="collisions"] {
    display: none;
  }
  .menu__option[data-scroll-to="collisions"] {
    display: block;
  }
}


@media (max-width: 1050px) {
  .container {
    max-width: 1340px;
  }
}


@media (max-width: 950px) {
  /* изменения в навигации */
  .header__nav > a[data-scroll-to="plan"] {
    display: none;
  }
  .menu__option[data-scroll-to="plan"] {
    display: block;
  }
  .protection-modal {
    width: 90%;
  }
}



@media (max-width: 760px) {
  .protection-modal {
    overflow-y: scroll;
  }
  .collisions__title {
    font-size: 35px;
    text-align: center;
  }
}


@media (max-width: 750px) {
  /* изменения в навигации */
  .header__nav > a[data-scroll-to="plan"] {
    display: none;
  }
  .menu__option[data-scroll-to="plan"] {
    display: block;
  }
}


@media (max-width: 700px) {
  /* изменения в навигации */
  .header__nav > a[data-scroll-to="technics"] {
    display: none;
  }
  .menu__option[data-scroll-to="technics"] {
    display: block;
  }
  .reasons__inner {
    width:auto;
  }
  .section {
    padding: 50px 20px;
  }
}


@media (max-width: 550px) {
  /* изменения в навигации */
  .header__nav > a[data-scroll-to="reasons"],
  .header__nav > a[data-scroll-to="footer"] {
    display: none;
  }
  .menu__option[data-scroll-to="reasons"],
  .menu__option[data-scroll-to="footer"] {
    display: block;
  }
  .header__nav {
    margin: 0;
    justify-content: flex-end;
    /* width: 100%; */
  }
}


@media only screen and (max-width: 515px) {
  .collisions__title span {
    display: block;
    margin-top: 10px;
  }
}

@media only screen and (max-width: 440px) {
  .section--feedback {
    padding: 0 15px 50px;
    background: #fff;
  }  
}

.section--intro {
  background-color:rgb(194, 229, 225);
  padding-top: 125px;
  height: 100vh;
}

.section--intro__protection {
  background: rgba(240, 240, 240, 0.6);
  width: 100%;
  height: 66px;
}

.section--intro__protection-inner {
  max-width: 1340px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.section--intro__protection-inner-text {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: #3B7CFC;
  cursor: pointer;
}

.section--intro__protection-inner-btn {
  width: 212px;
  height: 36px;
  border: 1px solid #3038E2;
  border-radius: 3px;
  cursor: pointer;

  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3038E2;
}

.section--intro__protection-inner-btn:hover {
  background: #FFFFFF;
}

.section--intro__content-container {
  margin-top: 125px;
  position: relative;
  z-index:1;
}

.intro__content {
  margin-bottom: 45px;
}

.intro__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 29px;
  line-height: 1.4;
  text-transform: uppercase;
  color: #000;
}

.intro__text {
  margin-top: 35px;
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.4;
}

.intro__waves {
  height: 315px;
  width: 100%;
  position: absolute;
  bottom: -50px;
  left: 0;
  overflow: hidden;
}

.intro__waves img {
  height: 100%;
}


@media (max-width: 1440px) {
  .section--intro {
    padding-left: 0;
    padding-right: 0;
  }

  .section--intro__content-container {
    padding: 0 60px;
  }

  .intro__waves img {
    object-fit: cover;
  }
  .section--intro__protection-inner {
    width: 100%;
    padding: 0 60px;
  }

  .section--intro__content-container {
    padding: 0 60px;
  }

  .intro__waves img {
    object-fit: cover;
  }
}


@media (max-width: 992px) {
  .section--intro__protection {
    padding: 0 98px;
    margin: 0 auto;
    max-width: none;
    height: 48px;
    background: none;
  }
  .section--intro__protection-inner {
    padding: 0;
    max-width: 764px;
    justify-content: center;
    background: rgba(240, 240, 240, 0.6);
  }
  .section--intro__protection-inner-btn {
    display: none;
  }
  .section--intro__protection-inner-text {
    font-size: 18px;
    text-decoration: underline;
  }
}

@media only screen and (max-width: 850px) {
  .section--intro__protection-inner-text {
    font-size: 16px;
  }
  .intro__title {
    font-size: 25px;
    line-height: 1.5;
  }
  .intro__text {
    font-size: 18px;
    line-height: 1.5;
  }
}



@media only screen and (max-width: 640px) {
  .section--intro {
    padding: 170px 0;
  }
  .intro__title {
    font-size: 22px;
  }
  .btn--intro {
    font-size: 16px;
  }

  .section--intro__protection {
    padding: 0 16px;
  }
}


@media only screen and (max-width: 400px) {
  .section--intro {
    padding: 130px 0;
  }
  .section--intro__protection-inner-text {
    font-size: 12px;
  }
  .intro__title {
    font-size: 18px;
  }
  .btn--intro {
    margin: 0 auto;
    font-size: 14px;
  }
}

/* technics */
.section--technics {
  background-color: #2034A9;
  padding-top: 35px;
}

.glitchBox {
  position: relative;
}

.technics__title {  
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 64px;
  line-height: .59;

  letter-spacing: 0.5px;
  text-transform: uppercase;

  /* transition: .1s linear; */
}

.technics__title--white {
  color: #F0F0F0;
  position: relative;
  top: 0;
  left: 0;
  z-index: 3;
}
.technics__title--yellow {
  color: yellow;
  visibility: collapse;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.technics__title--red {
  color: red;
  visibility: collapse;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}


/* карты из секции technics */
.card--technics:hover .card__inner {
  background-color: #182881;
}
.card--technics .btn--card {
  color: #182881;
  
}
.card--technics .btn--card:hover {
  color: #fff;
}



@media only screen and (max-width: 960px) {
  .glitchBox {
    margin: 0 auto;
    width: fit-content;
  }
}


@media only screen and (max-width: 720px) {
  .section--technics {
    padding: 35px 16px;
  }
  .glitchBox {
    margin: 0 auto;
    width: fit-content;
  }
  .technics__title {
    font-size: 50px;
  }
}


@media only screen and (max-width: 470px) {
  .technics__title {
    font-size: 35px;
  }
}
.section--plan {
  background-color: #20A9A1;
  padding-top: 60px;
}

.plan__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 1;
  text-transform: uppercase;
  color: #F0F0F0;
}

.plan__title-container {
  position: relative;
  width: fit-content;
}

.svg-box {
  position: absolute;
  bottom: -70px;
  left: 50%;
  transform: translateX(-50%);
  /* z-index: 3; */
}

.svg-box::before {
  content: '';
  display: block;
  background-color: #F0F0F0;
  border-radius: 50%;
  width: 25px;
  height: 25px;

  position: absolute;
  bottom: 30px;
  left: -35px;
  z-index: 4;
}

.svg-box::after {
  content: '';
  background: url(assets/images/plan-line-end-white.svg) no-repeat;
  display: block;
  width: 30px;
  height: 30px;

  color: #F0F0F0;
  position: absolute;
  bottom: 30px;
  right: -35px;
  z-index: 4;
}



@media only screen and (max-width: 960px) {
  .plan__title-container {
    margin: 0 auto;
    text-align: center;
  }
  .plan__title {
    font-size: 36px;
  }
}

:root {
  --card-width: 400px;
  --card-text-color: #F0F0F0;
  --card-text-highlight: #DEE230;
  --card-background-blue: #182881;
  --card-background-emerland: #18817A;
  --card-background-green: #188148;
}

.card-section {
  padding: 100px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 40px;
  /* flex-direction: column; */
}


/* цвета, шрифты и размеры */
.card {
  max-width: var(--card-width);
  width: 100%;
  height: 440px;
  position: relative;
  z-index: 0;
  cursor: pointer;
  transition: .2s linear;
  font-family: 'Montserrat';
  font-size: 14px;
  color: var(--card-text-color);
  /* border: 1px solid aqua; */
}

.card--single {
  max-width: 31%;  /* значение захардкожено */
  width: 100%;
  margin: 0 auto 100px;
}

.card .highlight {
  color: var(--card-text-highlight);
}

.card__fixed-content {
  text-align: center;
}

.card__img {
  width: 100%;
  height: auto;
}

.card__text-main {
  padding: 20px 0px 10px;
  font-weight: 500;
}

.card__learn-more {
  width: 100%;
  color: var(--card-text-highlight);
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  line-height: 1.9;
  font-weight: 600;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.card__learn-more--mobile {
  display: none;
  position: static;
  transform: none;
  margin: 0 auto;
}


.card__inner {
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}



/* скрытый блок, который отобразится при клике на карточку */
.card__hidden-block {
  display: none;
  opacity: 0;
  transition: .3s linear;
}

.card__hidden-solution {
  font-style: italic;
  font-size: 12px;
  display: inline-block;
}

.card__hidden-title {
  font-weight: 600;
  margin: 17px 0;
}

.card__hidden-list {
  color: #fff;
  margin-bottom: 40px;
  padding: 0 20px;
  text-align: left;
  list-style-type: none;
}

.card__hidden-list li {
  position: relative;
}
.card__hidden-list li::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  left: -14px;
  top: 5px;
  background-color: var(--card-text-highlight);
}

.card__want-btn {
  padding: 13px 45px;
  margin: 0 auto 20px;
  border-radius: 3px;
  color: #000;
  background-color: #fff;
  border: 1px solid #fff;
  width: fit-content;
  transition: .2s linear;
}

.card__want-btn:hover {
  color: #fff;
}



/* добавление active-класса */
.card.active {
  z-index: 5;
}

.card__inner::after {        /* фон-обводка активной карты  */
  content: '';
  display: block;
  box-sizing: content-box;
  background-color: #202020;
  opacity: 0;
  pointer-events: none;

  width: 100%;
  height: 100%;
  padding: 30px;

  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate3d(-50%, -50%, 0);

  transition: .3s linear;
  border-radius: 5px;
  box-shadow: 0px 4px 30px rgba(10, 10, 10, 0.4);
}

.card.active .card__inner::after {
  opacity: 1;
  pointer-events: all;
}

.card.active .card__learn-more {
  visibility:collapse;
}

.card.active .card__hidden-block {
  opacity: 1;
}




/* цвета для карточек в разных секциях */
.card.blue .card__inner::after {                  /* blue из секции technics */
  background-color: var(--card-background-blue);
}
.card.blue .card__want-btn {
  color: var(--card-background-blue);
}
.card.blue .card__want-btn:hover {
  background-color: var(--card-background-blue);
  color: #fff;
}



.card.emerland .card__inner::after {              /* emerland из секции plan */
  background-color: var(--card-background-emerland);
}
.card.emerland .card__want-btn {
  color: var(--card-background-emerland);
}
.card.emerland .card__want-btn:hover {
  background-color: var(--card-background-emerland);
  color: #fff;
}


.card.green .card__inner::after {                 /* green из секции collisions */
  background-color: var(--card-background-green);
}
.card.green .card__want-btn {
  color: var(--card-background-green);
}
.card.green .card__want-btn:hover {
  background-color: var(--card-background-green);
  color: #fff;
}




/* изменение высоты карточек, чтобы "Узнать подробнее" сильно не проваливалась  */
/* 
  todo: из-за того, что у блоков разных текст, не получается им выставить нормальную высоту,
  чтобы они выглядели хорошо. Захардкодил высоту вручную в зависимости от ширины окна.
  Лучше переверстать карточки, чтоб они могли в мобильной версии рассчитывать свою высоту автоматом.
  Потому что если сейчас поменять отступы секции, отступы между карточками или размеры карточек,
  то всё сломается.
*/
@media only screen and (max-width: 1220px) {
  .card {
    height: 410px;
  }
}
@media only screen and (max-width: 1234px) {
  .card {
    height: 412px;
  }
}
@media only screen and (max-width: 1140px) {
  .card {
    height: 390px;
  }
}
@media only screen and (max-width: 1030px) {
  .card {
    height: 380px;
  }
}
@media only screen and (max-width: 960px) {
  .card {
    height: 380px;
  }
  .card--big {      /* карточка где много текста */
    height: 420px;
  }
}
@media only screen and (max-width: 420px) {
  .card {
    height: 360px;
  }
  .card--big {      /* карточка где много текста */
    height: 400px;
  }
}
@media only screen and (max-width: 380px) {
  .card {
    height: 350px;
  }
  .card--big {      /* карточка где много текста */
    height: 390px;
  }
}
@media only screen and (max-width: 350px) {
  .card {
    height: 320px;
  }
  .card--big {      /* карточка где много текста */
    height: 380px;
  }
}



@media only screen and (max-width: 960px) {
  .card-section {
    flex-direction: column;
    padding: 100px 0 0;
  }
  .card {
    margin-bottom: 30px;
  }
  .card--single {
    max-width: var(--card-width);
    margin: 0 auto 30px;
  }
  .card__learn-more {
    display: none;
  }
  .card__learn-more--mobile {
    display: block;
  }
  .card__text-main {
    padding: 5px 0px 10px;
  }
}



@media only screen and (max-width: 500px) {
  .card__inner::after {
    padding: 5px;
  }
}
.feedback__form {
  display: flex;
  justify-content: space-between;

  margin-top: 35px;
  padding: 45px 42px 155px;
  background: #fff;
  border-radius: 6px;
}

.form__group-inputs {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 360px;
  width: 100%;
}

.form__group-inputs input {
  padding: 0 15px;
  width: 100%;
  height: 52px;

  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 125.5%;
  color: #212121;
  transition: .2s linear;
}

.form__group-inputs input.wrong-data {
  background-color: #ff6161;
}

.form__group-inputs input.empty {
  background-color: #a8eeff;
}


.form__textarea {
  padding: 13px 15px;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 125.5%;
  color: #212121;
}

.form__group-inputs input,
.form__textarea {
  border: 1px solid #D5D5D5;
  border-radius: 2px;
}

.form__group-inputs input::placeholder,
.form__textarea::placeholder {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  line-height: 125.5%;
  color: #7A7A7A;
} 

.form__textarea {
  display: flex;
  width: 470px;
  height: 204px;
  resize: none;
}

.form__group-textarea {
  position: relative;
}



.form__submit-block {
  margin: 0 auto;
  width: 100%;
  max-width: 400px;
  text-align: center;
  font-weight: 300;

  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translate3d(-50%, 100%, 0);

}

.form__politics {
  margin-bottom: 20px;
}
.form__politics-link {
  text-decoration: none;
  font-weight: 600;
  color: inherit
}
.form__politics-link:hover {
  text-decoration: underline;
}

.btn--submit {
  margin: 0 auto;
  background-color: #2271CE;
  font-family: 'Lato', sans-serif;
  font-weight: 800;
  font-size: 18px;
  line-height: 102.5%;
}

.btn--submit:hover {
  background-color: transparent;
  color: #2271CE;
  border: 1px solid #2271CE;
  cursor: pointer;
}


@media (max-width: 1050px) {
  .feedback__form {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 45px 42px 155px;
    max-width: 550px;
    width: 100%;
    margin: 35px auto 0;
  }
  .form__group-inputs {
    max-width: none;
  }
  .form__group-inputs {
    margin-bottom: 42px;
    width: 100%;
    height: 206px;
  }
  .form__group-textarea {
    width: 100%;
  }
  .form__textarea {
    width: 100%;
  }
}


@media (max-width: 440px) {
  .feedback__form {
    padding: 35px 20px 175px;
  }
  .btn--submit {
    font-size: 14px;
    width: 100%;
  }
}
/* подсветить границы элементов */
/* .footer__container {
  background-color: rgba(255, 87, 87, 0.158);
} */

.footer *, .footer *::before, .footer *::after {
  box-sizing: border-box;
}

.footer {
  width: 100%;
  font-family: 'Lato';
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  color: #fff;
}

.footer a {
  color: #fff;
  text-decoration: none;
}
.footer a:hover {
  text-decoration: underline;
  cursor: pointer;
  color: #fff;
}


.footer__google-map {
  display: none;
}
.footer__google-map.active {
  display: block;
}

.footer__contacts,
.footer__google-map {
  width: 100%;
  height: 436px;
}

.footer__contacts {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(assets/images/footer/footer-background.png) center no-repeat;
  background-size: cover;
}

.footer__container {
  max-width: calc(1355px + 32px);
  width: 100%;
  height: 100%;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

/* блок с подробной информацией об офисе */
.footer__specific-item {
  display: none;
  opacity: 0;
  transition: opacity .2s linear;
}
.footer__specific-item.active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate3d(-50%, -50%, 0);
}
.footer__specific-item.opacity {
  opacity: 1;
}

.footer__phone {
  font-weight: 900;
  display: block;
  font-size: 34px;
  line-height: 41px;
  text-align: center;
}
.footer__worktime {
  text-align: center;
  font-size: 16px;
  line-height: 19px;
}

.footer__mail-group,
.footer__link {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}



.footer__mail-group a {
  margin-top: 4px;
}

.footer__address-group {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.footer__address-group span {
  margin-top: 10px;
}

.footer__address-group img,
.footer__mail-group img {
  width: 20px;
  height: auto;
}

.footer__requisites {
  margin-top: 50px;
  text-align: center;
  font-size: 16px;
  line-height: 19px;
}




/* блок с перечнем офисов */
.footer__offices-block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 86px;
}
.footer__office-selector {
  margin: 0 20px;
  position: relative;
  text-align: left;
}
.footer__office-selector:hover {
  cursor: pointer;
}
.footer__office-selector.active {
  font-weight: 700;
}
.active.footer__office-selector::before {
  content: '';
  display: block;
  width: 12px;
  height: 14px;
  background: url(assets/images/footer/office-pointer.png) center no-repeat;
  background-size: cover;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate3d(-20px, -50%, 0);
}



/* блок со стрелкой */
.footer__scroll {
  position: relative;
  height: 50px;
  display: flex;
  align-items: flex-end;
}
.footer__scroll img {
  padding-bottom: 5px;
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  transition: .2s linear;
}
.footer__scroll:hover {
  cursor: pointer;
}
.footer__scroll:hover img {
  transform: translate3d(-50%, -50%, 0);
}



@media only screen and (max-width: 992px) {
  /* перестроение */
  .footer__contacts,
  .footer__google-map {
    height: 522px;
  }
  .footer__container {
    max-width: calc(764px + 32px);
    justify-content: flex-start;
  }

  /* блок с селекторами офиса */
  .footer__offices-block {
    height: 100px;
    align-items:flex-end;
    position: absolute;
    right: 16px;
    bottom: 100px;
  }
  .active.footer__office-selector::before {
    left: auto;
    right: 0;
    transform: 
      translate3d(20px, -50%, 0)
      rotate(180deg);
  }
  /* блок с подробной информацией */
  .footer__specific-item.active {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: static;
    transform: none;
  }

  /* скролл */
  .footer__scroll {
    position: absolute;
    bottom: 320px;
    right: 16px;
  }
  
  /* блок с подробной информацией */
  .footer__phone {
    font-size: 35px;
    line-height: 43px;
  }
  .footer__worktime {
    margin-top: 13px;
    font-size: 22px;
    line-height: 26px;
  }

  .footer__address-group,
  .footer__mail-group,
  .footer__link {
    align-items: flex-start;
    text-align: left;
    font-size: 18px;
    line-height: 22px;
  }
  .footer__mail-group,
  .footer__address-group,
  .footer__link {
    margin-top: 37px;
  }

  .footer__specific-item.active {
    align-items: flex-start;
  }
  .footer__requisites {
    text-align: left;
    margin-top: 30px;
  }
}


@media only screen and (max-width: 810px) {
  .footer__container {
    max-width: 680px;
  }
  .footer__scroll img {
    width: 34px;
  }
}


@media only screen and (max-width: 650px) {
  /* перестроение в столбец */
  .footer__contacts,
  .footer__google-map {
    height: 627px;
  }
  .footer__container {
    max-width: calc(330px + 40px);
    justify-content: center;
    align-items: center;
  }
  /* скролл */
  .footer__scroll {
    bottom: auto;
    top: 35px;
    right: auto;
  }
  .active.footer__office-selector::before {
    left: auto;
    right: auto;
    left: -3;
    transform: 
      translate3d(-20px, -50%, 0);
  }
  /* список офисов */
  .footer__offices-block {
    padding-top: 20px;
    align-items: center;
    height: 80px;
    bottom: 34px;
    right: auto;
    font-size: 14px;
    line-height: 17px;
  }

  .footer__specific-item.active,
  .footer__address-group,
  .footer__mail-group,
  .footer__requisites {
    align-items: center;
    text-align: center;
  }

  .footer__phone {
    font-size: 23px;
    line-height: 28px;
  }

  .footer__worktime {
    margin-top: 5px;
    font-size: 16px;
    line-height: 19px;
  }

  .footer__link,
  .footer__mail-group,
  .footer__address-group  {
    margin-top: 25px;
  }


  .info__address-text {
    margin-top: 5px;
  }

  .footer__requisites {
    font-size: 14px;
    line-height: 17px;
  }

  .footer__scroll {
    font-size: 15px;
    line-height: 18px;
  }
  .footer__scroll img {
    width: 26px;
    top: 0;
  }
}
.formSpinner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: .2s linear;
}

.formSpinner.active {
  opacity: 1;
  visibility: visible;
}


.formSpinner .spinnerInner {
  width: 248px;
  height: 248px;
  display: inline-block;
  position: relative;
  visibility: none;
  opacity: 0;
}
.formSpinner .spinnerInner::after,
.formSpinner .spinnerInner::before {
  content: '';  
  box-sizing: border-box;
  width: 248px;
  height: 248px;
  border-radius: 50%;
  border: 5px solid var(--color-form-spinner);
  position: absolute;
  left: 0;
  top: 0;
  animation: formSpinnerAnimation 2s linear infinite;
}
.formSpinner .spinnerInner::after {
  animation-delay: 1s;
}

.formSpinner.active .spinnerInner {
  visibility: visible;
  opacity: 1;
}

@keyframes formSpinnerAnimation {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
:root {
  --callbackWidget-inputPadding: 11px;
  --callbackWidget-inputHeight: 48px;
  --callbackWidget-color: #ED7D31;
}

/* сброс браузерных стилей */
.callbackWidget, 
.callbackWidget *, 
.callbackWidget *::before, 
.callbackWidget *::after {
  box-sizing: border-box;
}

.callbackWidget input[type='number'] {
  -moz-appearance:textfield;
}
.callbackWidget input::-webkit-outer-spin-button,
.callbackWidget input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}


.callbackWidget {
  margin: 0 auto;
  padding: 32px 62px;
  width: 100%;
  max-width: 560px;

  font-family: 'Lato';
  background-color: #fff;
  border-radius: 9px;
  position: relative;
  overflow: hidden;

}

.callbackWidgetShowBorder {
  border: 1px solid #E9E9E9;
}

.callbackWidget__closeCross {
  display: block;
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}

.callbackWidget__title {
  margin: 0;
  margin-bottom: 16px;
  color: #535353;
  text-align: center;
  font-family: 'Montserrat';
  font-weight: 700;
  font-size: 20px;
  line-height: 1.1;
}
.callbackWidget__subtitle {
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  line-height: 1.2;
  color: #9E9E9E;
  text-align: left;
}


/* input item */
.callbackWidget__inputComponent {
  margin-bottom: 32px;
  position: relative;
}

/* плейсхолдер */
.callbackWidget__inputComponent-label {
  padding: 0 calc(var(--callbackWidget-inputPadding) / 2);
  max-width: 96%;
  position: absolute;
  top: 50%;
  left: calc(var(--callbackWidget-inputPadding) / 2);
  z-index: 1;
  transform: translateY(-50%);

  color: #9E9E9E;
  font-family: 'Lato';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  background-color: #fff;

  pointer-events: none;
  transition: .1s linear;
}
.callbackWidget__inputComponent:hover:not(.callbackWidget__inputComponent.active) .callbackWidget__inputComponent-label {
  top: calc(50% - 3px);
}

.callbackWidget__inputComponent-input {
  padding: var(--callbackWidget-inputPadding);
  width: 100%;
  height: var(--callbackWidget-inputHeight);
  border: 1px solid #BEBEBE;
  border-radius: 3px;
  outline: none;
}



/* ошибки */
.callbackWidget__inputComponent-errorText {
  position: absolute;
  top: calc(100% + 1px);
  left: var(--callbackWidget-inputPadding);
  font-weight: 300;
  font-size: 12px;
  line-height: 1.2;
  color: #B00020;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: .1s linear;
}

.callbackWidget__inputComponent-errorLogo {
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: .1s linear;
}


/* Активные items */
.callbackWidget__inputComponent.active .callbackWidget__inputComponent-label {
  top: 0%;
}



.callbackWidget__agreement-wrapper {
  margin-bottom: 17px;
  display: flex;
}
.callbackWidget__agreement-label {
  display: inline;
  cursor: pointer;
  font-size: 14px;
  color: #535353;
  transition: .1s linear;
}
.callbackWidget__agreement-checkbox-wrapper {
  margin-right: 17px;
  margin-bottom: 0; /* анти-бутстрап */
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(1px);  /* поправка на центр */
}

.callbackWidget__agreement-checkbox-visible {
  width: 16px;
  height: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #C4C4C4;
  border-radius: 3px;
  cursor: pointer;
  transition: .1s linear;
}
.callbackWidget__agreement-checkbox-visible:hover {
  border-color: #4EB857;
}

.callbackWidget__agreement-wrapper.active .callbackWidget__agreement-checkbox-visible {
  background-color: #4EB857;
  border-color: #4EB857;
}

.callbackWidget__agreement-checkbox-visible__check-mark {
  display: block;
  pointer-events: none;
}

.callbackWidget__agreement-checkbox-hidden {
  display: inline-block;
  width: 0px;
  height: 0px;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -100;
}



/* текст политики конфиденциальности */
.callbackWidget__personalDataText {
  margin-bottom: 40px;
  font-size: 10px;
  line-height: 1.1;
  color: #818181;
  height: 0px;
  overflow: hidden;
  transition: .2s linear;
}

.callbackWidget__personalDataText-inner {
  transform: translateY(-100%);
  transition: .2s linear;
}

.callbackWidget__personalDataText.active {
  height: auto;
}
.callbackWidget__personalDataText.active .callbackWidget__personalDataText-inner {
  transform: translateY(0%);
}

.callbackWidget__personalDataText-link {
  text-decoration: none;
  color: var(--callbackWidget-color);
  position: relative;
}
.callbackWidget__personalDataText-link::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--callbackWidget-color);
  pointer-events: none;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 1;
}



.callbackWidget__agreement-info {
  line-height: 1.2;
}

.callbackWidget__agreement-toggle {
  text-decoration: none;
  color: var(--callbackWidget-color);
  position: relative;
  font-size: 14px;
  cursor: pointer;
}
.callbackWidget__agreement-toggle::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--callbackWidget-color);
  pointer-events: none;
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 1;
}

.callbackWidget__submit-btn {
  margin: 0 auto;
  max-width: 332px;
  width: 100%;
  height: 55px;

  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Lato';
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  background-color: var(--callbackWidget-color);
  opacity: 1;
  border: none;
  cursor: pointer;
  transition: .2s linear;
}
.callbackWidget__submit-btn:disabled {
  opacity: .7;
  cursor: not-allowed;
}

/* анти-бутстрап */
.callbackWidget__submit-btn:focus {
  outline: none;
}


@media (max-width: 635px) {
  .callbackWidget {
    padding: 32px 16px 24px;
    width: 100%;
    max-width: 320px;
  }
  .callbackWidget__title {
    font-size: 16px;
  }
  .callbackWidget__subtitle {
    margin: 0 auto 24px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    font-size: 14px;
  }

  .callbackWidget__inputComponent {
    margin-bottom: 24px;
  }

  .callbackWidget__personalDataText {
    margin-bottom: 24px;
  }

  .callbackWidget__agreement-toggle {
    text-decoration: underline;
  }
  .callbackWidget__agreement-toggle::after {
    display: none;
  }
}
.callbackWidget__inputComponent.error .callbackWidget__inputComponent-input {
  border-color: #B00020;
}

.callbackWidget__inputComponent.error .callbackWidget__inputComponent-label {
  color: #B00020;
}

.callbackWidget__inputComponent.error .callbackWidget__inputComponent-errorText,
.callbackWidget__inputComponent.error .callbackWidget__inputComponent-errorLogo {
  visibility: visible;
  opacity: 1;
}

/* текст ошибок */
.callbackWidget__inputComponent .errorTextEmpty,
.callbackWidget__inputComponent .errorTextWrongValue {
  display: none;
}

.callbackWidget__inputComponent.error.empty .errorTextEmpty,
.callbackWidget__inputComponent.error.wrongValue .errorTextWrongValue {
  display: inline;
}


/* чекбокс */
.callbackWidget__agreement-wrapper.error .callbackWidget__agreement-checkbox-visible {
  border-color: #B00020;
}
.callbackWidget__agreement-wrapper.error .callbackWidget__agreement-label {
  color: #B00020;
}
.callbackWidgetMask {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -10;

  display: flex;
  justify-content: center;
  align-items: center;

  visibility: hidden;
  opacity: 0;
  /* transition: background-color .3s linear, opacity .3s linear; */
  background-color: rgba(0, 0, 0, 0.6);
}

.callbackWidgetMask.active {
  visibility: visible;
  opacity: 1;
  z-index: 100;
  transition: background-color .3s linear, opacity .3s linear;
}
.callbackWidgetBtn, 
.callbackWidgetBtn *,
.callbackWidgetBtn *::before,
.callbackWidgetBtn *::after {
  box-sizing: border-box;
}


.callbackWidgetBtn {
  height: 86px;
  position: fixed;
  top: 40%;
  right: 0;
  z-index: 5;

  font-family: 'Lato';
  color: #fff;
}


.callbackWidgetBtn__order {
  padding: 10px;
  width: 178px;
  height: 50px;
  /* display: none; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.1;
  font-weight: 600;

  font-size: 16px;

  background-color: var(--callbackWidget-color);
  cursor: pointer;
  text-decoration: none;
  border-radius: 10px 0 0 10px;
}
.callbackWidget__phone-icon {
  display: block;
  width: 25px;
  height: auto;
  pointer-events: none;
}
.callbackWidgetBtn__order-text {
  pointer-events: none;
  font-size: 16px;
  font-family: 'Lato';
}


.callbackWidgetBtn__collapse {
  margin-left: auto;
  padding: 10px;
  width: 95px;
  height: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Lato';
  text-align: right;

  font-size: 14px;
  color: #fff;
  background-color: var(--callbackWidget-color);
  position: relative;
  cursor: pointer;
  border-radius: 1px 0 0 10px;
}

.callbackWidgetBtn__collapse-arrow {
  width: 8px;
  height: 8px;
  left: 10px;
  top: 13px;
  border-right: 2px solid white;
  border-top: 2px solid white;
  transform: rotate(45deg) ;
  pointer-events: none;
}
.callbackWidgetBtn__collapse-text {
  pointer-events: none;
  font-size: 14px;
  font-family: 'Lato';
}


.callbackWidgetBtn__expand {
  margin: 0 0 0 auto;
  padding: 0;
  width: 45px;
  height: 36px;
  display: none;
  /* display: flex; */
  justify-content: center;
  align-items: center;
  border-radius: 10px 0 0 10px;
  background-color: var(--callbackWidget-color);
  cursor: pointer;
}


.callbackWidgetBtn.active .callbackWidgetBtn__order,
.callbackWidgetBtn.active .callbackWidgetBtn__collapse {
  display: flex;
}

.callbackWidgetBtn.active .callbackWidgetBtn__expand {
  display: none;
}


@media (max-width: 1200px) {
  .callbackWidgetBtn__expand {
    display: flex;
  }
  .callbackWidgetBtn__order,
  .callbackWidgetBtn__collapse {
      display: none;
  }
}
/* уведомление об отправке */
.callbackWidgetNotification {
  padding: 16px 58px;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 2;
  transform: translateY(100%);
  background-color: #fff;
  box-shadow: 0px -3px 40px rgba(0, 0, 0, 0.13);
  visibility: hidden;
  transition: .3s linear;
}

.callbackWidgetNotification.active {
  transform: translateY(0%);
  visibility: visible;
}

.callbackWidgetNotification__title {
  margin-bottom: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.callbackWidgetNotification__title-img {
  margin-right: 26px;
  display: block;
}

.callbackWidgetNotification__title-text {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.1;
}

.callbackWidgetNotification__subtitle {
  margin-bottom: 77px;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.2;
  color: #9C9C9C;
}

.callbackWidgetNotification__closeCross {
  position: absolute;
  top: 11px;
  right: 58px;
  z-index: 1;

  cursor: pointer;
}



@media (max-width: 670px) {
  /* плашка с информацией */
  .callbackWidgetNotification {
    padding: 32px 16px;
  }
  .callbackWidgetNotification__closeCross {
    position: absolute;
    top: 8px;
    right: 16px;
  }
  .callbackWidgetNotification__subtitle {
    font-size: 14px;
  }
}
.callbackWidget .submitCaptcha {
  padding: 16px 58px;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 1;
  transform: translateY(100%);
  background-color: #fff;
  box-shadow: 0px -3px 40px rgba(0, 0, 0, 0.13);
  visibility: hidden;
  transition: .3s linear;
}

.callbackWidget .submitCaptcha.active {
  transform: translateY(0%);
  visibility: visible;
}

.callbackWidget .submitCaptcha__closeCross {
  position: absolute;
  top: 11px;
  right: 58px;
  z-index: 1;
  cursor: pointer;
}


.callbackWidget .submitCaptcha__title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  color: #535353;
}

.callbackWidget .submitCaptcha__captcha-img {
  min-height: 30px;
}

.callbackWidget .submitCaptcha__inputs-wrapper {
  margin-bottom: 32px;
  display: flex;
  align-items: center;
}

.callbackWidget .submitCaptcha__input-component {
  margin-right: 16px;
  margin-bottom: 0;
  max-width: 308px;
  width: 100%;
}

.callbackWidget .submitCaptcha__updateCaptcha {
  width: 21px;
  height: 21px;
  cursor: pointer;
}

.callbackWidget .submitCaptcha__input-component {
  max-width: 308px;
}


.callbackWidget .submitCaptcha__btn {
  margin-left: 0;
  margin-right: auto;
  width: 100%;
  max-width: 308px;
}
:root {
  --deployForm-inputPadding: 11px;
  --deployForm-inputHeight: 48px;
  --deploy-contact-form-color: #ED7D31;
}

/* сброс браузерных стилей */
.deployForm, 
.deployForm *, 
.deployForm *::before, 
.deployForm *::after {
  box-sizing: border-box;
}

.deployForm input[type='number'] {
  -moz-appearance:textfield;
}
.deployForm input::-webkit-outer-spin-button,
.deployForm input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}


.deployForm {
  margin: 0 auto;
  padding: 24px 58px;
  width: 100%;
  max-width: 746px;

  font-family: 'Lato';
  background-color: #fff;
  border-radius: 9px;
  position: relative;
  overflow: hidden;
}

.deployFormShowBorder {
  border: 1px solid #E9E9E9;
}

.deployForm__title {
  margin: 0;
  margin-bottom: 16px;
  color: var(--deploy-contact-form-color);
  text-align: center;
  font-family: 'Montserrat';
  font-weight: 700;
  font-size: 20px;
  line-height: 1.1;
}
.deployForm__subtitle {
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  line-height: 1.2;
  color: #9E9E9E;
}


.deployForm__main-inputs-section {
  margin-bottom: 24px;
  display: flex;
  column-gap: 24px;
}

.deployForm__contacts-block,
.deployForm__textarea-block {
  width: 100%;
}


/* input item */
.deployForm__inputComponent {
  margin-bottom: 32px;
  position: relative;
}
.deployForm__inputComponent:last-child {
  margin-bottom: 0;
}
/* плейсхолдер */
.deployForm__inputComponent-label {
  padding: 0 calc(var(--deployForm-inputPadding) / 2);
  max-width: 96%;
  position: absolute;
  top: 50%;
  left: calc(var(--deployForm-inputPadding) / 2);
  z-index: 1;
  transform: translateY(-50%);

  color: #9E9E9E;
  font-family: 'Lato';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  background-color: #fff;

  pointer-events: none;
  transition: .1s linear;
}
.deployForm__inputComponent:hover:not(.deployForm__inputComponent.active) .deployForm__inputComponent-label {
  top: calc(50% - 3px);
}

.deployForm__inputComponent-input {
  padding: var(--deployForm-inputPadding);
  width: 100%;
  height: var(--deployForm-inputHeight);
  border: 1px solid #BEBEBE;
  border-radius: 3px;
  outline: none;
  font-size: 14px;
}



/* ошибки */
.deployForm__inputComponent-errorText {
  position: absolute;
  top: calc(100% + 1px);
  left: var(--deployForm-inputPadding);
  font-weight: 300;
  font-size: 12px;
  line-height: 1.2;
  color: #B00020;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: .1s linear;
}

.deployForm__inputComponent-errorLogo {
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: .1s linear;
}


/* блок Textarea */
.deployForm__textarea-block {
  display: flex;
  position: relative;
  height: 128px;
}
.deployForm__inputComponent-input--textarea {
  height: auto;
  resize: none;
}
.deployForm__inputComponent-label--textarea {
  top: calc(var(--deployForm-inputHeight) / 2);
}
.deployForm__inputComponent:hover:not(.deployForm__inputComponent.active) .deployForm__inputComponent-label--textarea {
  top: calc(var(--deployForm-inputHeight) / 2 - 2px);
}


/* Активные items */
.deployForm__inputComponent.active .deployForm__inputComponent-label,
.deployForm__inputComponent.active .deployForm__inputComponent-label--textarea {
  top: 0%;
}

/* добавить file */

.deployForm__inputComponent-input-file {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  width: 0;
}
.deployForm__inputFileComponent-label {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  color: var(--deploy-contact-form-color);
  cursor: pointer;
  transition: 0.3s ease-out;
  font-weight: bold;
}
.deployForm__inputFileComponent-img path {
  fill: var(--deploy-contact-form-color);
}
.deployForm__inputFileComponent-text {
  padding-left: 10px;
}
.label--hidden {
  display: none;
}
.deployForm__inputFileComponent-name-container {
  position: absolute;
  display: flex;
  display: none;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  gap: 10px;
  top: 8px;
}
.file-name--visible {
  display: flex;
}
.deployForm__inputFileComponent-name {
  padding: 8px;
  color: #535353;
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;  
  background-color: #E9E9E9;
  border-radius: 2px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.deployForm__delete-file {
  cursor: pointer;
}
/* конец стилей для добавить file */

.deployForm__agreement-wrapper {
  margin-bottom: 17px;
  display: flex;
}
.deployForm__agreement-label {
  display: inline;
  cursor: pointer;
  font-size: 14px;
  color: #535353;
  line-height: 1.2;
  transition: .1s linear;
}
.deployForm__agreement-checkbox-wrapper {
  margin: 0 17px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(1px); /* маленькая поправка на центр */
}

.deployForm__agreement-checkbox-visible {
  width: 16px;
  height: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #C4C4C4;
  border-radius: 3px;
  cursor: pointer;
  transition: .1s linear;
}
.deployForm__agreement-checkbox-visible:hover {
  border-color: #4EB857;
}

.deployForm__agreement-wrapper.active .deployForm__agreement-checkbox-visible {
  background-color: #4EB857;
  border-color: #4EB857;
}

.deployForm__agreement-checkbox-visible__check-mark {
  display: block;
  pointer-events: none;
}

.deployForm__agreement-checkbox-hidden {
  display: inline-block;
  width: 0px;
  height: 0px;
  opacity: 0;
  position: absolute;
  z-index: -100;
}



/* текст политики конфиденциальности */
.deployForm__personalDataText {
  margin-bottom: 0;
  margin-top: 10px;
  font-size: 10px;
  line-height: 1.1;
  color: #818181;
  transition: .2s linear;
  overflow: hidden;
  height: 0px;
}

/* это значение захардкожено, но так быть не должно */
/* пришлось делать по-быстрому */
.deployForm__personalDataText.active {
  height: auto;
  margin-bottom: 40px;
}
.deployForm__personalDataText-inner {
  transition: .2s linear;
  transform: translateY(-100%);
  text-align: left;
}
.deployForm__personalDataText.active .deployForm__personalDataText-inner {
  transform: translateY(0%);
}

.deployForm__personalDataText-link {
  text-decoration: none;
  color: var(--deploy-contact-form-color);
  position: relative;
}
.deployForm__personalDataText-link::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--deploy-contact-form-color);
  pointer-events: none;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 1;
}


.deployForm__agreement-info {
  line-height: 1;
}

.deployForm__agreement-toggle {
  text-decoration: none;
  color: var(--deploy-contact-form-color);
  position: relative;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
}
.deployForm__agreement-toggle::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--deploy-contact-form-color);
  pointer-events: none;
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 1;
}

.deployForm__submit-btn {
  margin: 0 auto;
  max-width: 332px;
  width: 100%;
  height: 55px;

  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Lato';
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  background-color: var(--deploy-contact-form-color);
  opacity: 1;
  border: none;
  outline: none;
  cursor: pointer;
  transition: .2s linear;
}

/* анти-бутстрап */
.deployForm__submit-btn:focus {
  outline: none;
}

.deployForm__submit-btn:disabled {
  opacity: .7;
  cursor: not-allowed;
}

/* 1024 */
@media (max-width: 1023px) {
  .deployForm {
    padding: 24px 37px;
  }
}

@media (max-width: 767px) {
  .deployForm {
    padding: 24px 16px;
  }
}


@media (max-width: 670px) {
  .deployForm {
    width: 100%;
    max-width: 420px;
    /* border-radius: 0; */
  }
  .deployFormShowBorder {
    border: none;
  }
  .deployForm__title {
    font-size: 16px;
  }
  .deployForm__subtitle {
    margin: 0 auto 40px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 260px;
    font-size: 14px;
  }

  /* основные поля перестраиваются в колонку */
  .deployForm__main-inputs-section {
    flex-direction: column;
    row-gap: 24px;
  }
  .deployForm__inputComponent {
    margin-bottom: 24px;
  }
  .deployForm__textarea-block {
    height: 153px;
  }

  .deployForm__agreement-toggle {
    text-decoration: underline;
  }
  .deployForm__agreement-toggle::after {
    display: none;
  }

  .deployForm__personalDataText.active {
    height: 165px;
  }
}

/* .deployFormNotification__errorContent {
  display: none;
}
.deployFormNotification.error .deployFormNotification__successContent {
  display: none;
}
.deployFormNotification.error .deployFormNotification__errorContent {
  display: block;
} */


.deployForm__inputComponent.error .deployForm__inputComponent-input {
  border-color: #B00020;
}

.deployForm__inputComponent.error .deployForm__inputComponent-label {
  color: #B00020;
}

.deployForm__inputComponent.error .deployForm__inputComponent-errorText,
.deployForm__inputComponent.error .deployForm__inputComponent-errorLogo {
  visibility: visible;
  opacity: 1;
}

/* текст ошибок */
.deployForm__inputComponent .errorTextEmpty,
.deployForm__inputComponent .errorTextWrongValue {
  display: none;
}

.deployForm__inputComponent.error.empty .errorTextEmpty,
.deployForm__inputComponent.error.wrongValue .errorTextWrongValue {
  display: inline;
}


/* чекбокс */
.deployForm__agreement-wrapper.error .deployForm__agreement-checkbox-visible {
  border-color: #B00020;
}
.deployForm__agreement-wrapper.error .deployForm__agreement-label {
  color: #B00020;
}
/* уведомление об отправке */
.deployFormNotification {
  padding: 16px 58px;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 2;
  transform: translateY(100%);
  background-color: #fff;
  box-shadow: 0px -3px 40px rgba(0, 0, 0, 0.13);
  visibility: hidden;
  transition: .3s linear;
}

.deployFormNotification.active {
  transform: translateY(0%);
  visibility: visible;
}


.deployFormNotification__title {
  margin-bottom: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.deployFormNotification__title-img {
  margin-right: 26px;
  display: block;
}

.deployFormNotification__title-text {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.1;
}

.deployFormNotification__title--success
.deployFormNotification__title-text {
  color: #4EB857;
}

.deployFormNotification__title--error {
  display: flex;
  color: #FF6B00;
}

.deployFormNotification__subtitle {
  margin-bottom: 77px;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.2;
  color: #9C9C9C;
}

.deployFormNotification__closeCross {
  position: absolute;
  top: 11px;
  right: 58px;
  z-index: 1;

  cursor: pointer;
}



@media (max-width: 670px) {
  /* плашка с информацией */
  .deployFormNotification {
    padding: 32px 16px;
  }
  .deployFormNotification__closeCross {
    position: absolute;
    top: 8px;
    right: 16px;
  }
  .deployFormNotification__subtitle {
    font-size: 14px;
  }
}
.deployForm .submitCaptcha {
  padding: 16px 58px;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 1;
  transform: translateY(100%);
  background-color: #fff;
  box-shadow: 0px -3px 40px rgba(0, 0, 0, 0.13);
  visibility: hidden;
  transition: .3s linear;
}

.deployForm .submitCaptcha.active {
  transform: translateY(0%);
  visibility: visible;
}

.deployForm .submitCaptcha__closeCross {
  position: absolute;
  top: 11px;
  right: 58px;
  z-index: 1;
  cursor: pointer;
}


.deployForm .submitCaptcha__title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  color: #535353;
}

.deployForm .submitCaptcha__captcha-img {
  min-height: 30px;
}

.deployForm .submitCaptcha__inputs-wrapper {
  margin-bottom: 32px;
  display: flex;
  align-items: center;
}

.deployForm .submitCaptcha__input-component {
  margin-right: 16px;
  margin-bottom: 0;
  max-width: 308px;
  width: 100%;
}

.submitCaptcha__updateCaptcha {
  width: 21px;
  height: 21px;
  cursor: pointer;
}

.deployForm .submitCaptcha__btn {
  margin-left: 0;
  margin-right: auto;
  width: 100%;
  max-width: 308px;
}


