@keyframes a {
  0% {
    transform: translatey(-100%)
  }

  to {
    transform: translatey(0)
  }
}

@keyframes b {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(359deg)
  }
}

.container,
body {
  position: relative
}

.container {
  margin: 0 auto;
  max-width: 100%;
  width: 430px;
  padding: 0 10px
}

body {
  margin: 0;
  overflow-x: hidden;
  font-family: Avenir-Regular;
  color: #000
}

body.no-scroll {
  overflow-y: hidden
}

* {
  box-sizing: border-box
}

*,
:focus {
  outline: 0
}

a,
button,
fieldset,
iframe {
  cursor: pointer
}

a,
button,
fieldset,
iframe,
input,
li,
textarea {
  border: 0;
  text-decoration: none;
  color: inherit;
  background: 0 0
}

a,
button,
fieldset,
iframe,
li {
  padding: 0;
  margin: 0;
  font-family: inherit
}

li {
  list-style: none;
  cursor: default
}

a:active,
button:active,
fieldset:active,
iframe:active,
input:active,
li:active,
textarea:active {
  outline: 0
}

strong {
  font-family: Avenir-Bold, Avenir-SemiBold, Avenir-Medium, Avenir-Regular;
  font-weight: 400
}

input,
textarea {
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: Avenir-Regular
}

input:-ms-input-placeholder,
input::-ms-input-placeholder,
textarea:-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  transition: all .3s
}

input::placeholder,
textarea::placeholder {
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  transition: all .3s
}

textarea {
  resize: none;
  max-height: 100%;
  padding-right: 9px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-color: #e97a5e #eff3f9;
  scrollbar-width: thin
}

textarea::-webkit-scrollbar {
  width: 4px
}

textarea::-webkit-scrollbar-track {
  background: #eff3f9
}

textarea::-webkit-scrollbar-thumb {
  background: #e97a5e
}

body,
html {
  height: 100%
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow-x: hidden
}

.ibg img,
.wrapper>* {
  width: 100%
}

.main {
  min-height: 100%;
  flex: 1 1 auto
}

b {
  font-weight: 400
}

h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
ul {
  margin: 0;
  padding: 0;
  font-weight: 400;
  font-size: inherit
}

img,
small {
  max-width: 100%
}

img {
  border: 0
}

small {
  display: block
}

.input-wrapper,
.input-wrapper p {
  display: grid
}

input[type=button],
input[type=submit] {
  cursor: pointer
}

.button,
.menu li,
.submit,
.tel,
a,
svg {
  transition: all .3s
}

.menu li a {
  transition: none
}

.link-button {
  display: inline-flex;
  justify-content: center;
  align-items: center
}

[hidden] {
  display: none !important
}

.img-bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

picture {
  display: flex
}

.ibg,
.menu-link {
  position: relative
}

.ibg img {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.menu-link {
  display: none;
  width: 25px;
  height: 25px;
  order: 10;
  border-radius: 4px;
  transition: .4s
}

.menu-link,
.menu-link_active .menu-lines {
  background: 0 0
}

.menu-link_active .menu-lines:after {
  top: 0;
  transform: rotate(-135deg)
}

.menu-link_active .menu-lines:before {
  top: 0;
  transform: rotate(135deg)
}

.menu-lines,
.menu-lines:after,
.menu-lines:before {
  position: absolute;
  width: 25px;
  height: 2px;
  background-color: #fff;
  transition: .4s
}

.menu-lines {
  top: 50%;
  right: 0;
  transform: translateY(-50%)
}

.menu-lines:before {
  content: "";
  top: -7px
}

.menu-lines:after {
  content: "";
  top: 7px
}

.section-bg {
  background: #eff3f9
}

.title {
  position: relative;
  line-height: 1.0869565217;
  font-family: Avenir-Bold
}

.title:before {
  content: "";
  position: absolute;
  right: calc(100% + 16px);
  top: 52%;
  transform: translatey(-50%);
  width: 100vw;
  height: 3px;
  border-top: 3px dashed #adbff2
}

.button,
.button__icon {
  display: flex;
  align-items: center
}

.button {
  justify-content: space-between;
  gap: 12px;
  padding: .3333333333em .3333333333em .3333333333em 1.7777777778em;
  font-family: Avenir-Bold;
  background: #e35531;
  color: #fff;
  border-radius: 28px
}

.button__icon {
  flex-grow: 0;
  flex-shrink: 0;
  width: 2.3333333333em;
  height: 2.3333333333em;
  flex-basis: 2.3333333333em;
  justify-content: center;
  background: #fff;
  border-radius: 50%
}

.button__icon svg {
  width: 1.3333333333em;
  height: .7222222222em
}

.button_blue {
  background: #eff3f9;
  color: #4d64a5
}

.button_blue .button__icon svg {
  fill: #4d64a5
}

.bg-after {
  position: relative;
  z-index: 4;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%
}

.bg-after:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(2, 20, 103, .84)
}

.logo {
  display: flex;
  align-items: center;
  gap: 12px
}

.logo__text {
  text-transform: uppercase;
  font-family: Avenir-Bold
}

.form__text,
.form__title {
  line-height: 1.2307692308
}

.form__text {
  margin-top: 10px;
  color: #7d87b4
}

.input-wrapper>span {
  width: 100%;
  flex: 1 1 auto
}

input:not([type=submit]) {
  width: 100%;
  height: 54px;
  border: 2px solid #fff;
  color: #fff;
  border-radius: 28px
}

.tel {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: Avenir-Bold;
  line-height: 1.2083333333;
  white-space: nowrap
}

.tel svg {
  width: 1.3541666667em;
  height: 1.3541666667em;
  fill: #fff
}

.popup,
.popup__dialog {
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center
}

.popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 11;
  display: none;
  overflow: hidden;
  background: rgba(1, 16, 82, .9)
}

.popup__dialog {
  display: flex;
  flex-direction: column
}

.popup__content {
  position: relative;
  width: 632px;
  max-width: 96%;
  max-height: 90vh;
  background: #fff;
  overflow-y: auto;
  transition: all .3s
}

.popup__title {
  line-height: 1.0869565217;
  font-family: Avenir-Bold;
  text-align: center
}

.popup__subtitle {
  line-height: 1.2272727273;
  text-align: center
}

.popup__form {
  display: grid
}

.popup__form form {
  display: grid;
  justify-content: center;
  grid-template-columns: 100%
}

.popup__form .input-wrapper {
  grid-template-columns: 1fr 1fr
}

.popup__form .form__text {
  margin-top: 0
}

.contact__form input,
.popup__form input {
  background: #eff3f9;
  color: #000
}

.popup__close {
  position: absolute;
  cursor: pointer;
  transition: all .3s
}

.popup-thank .popup__content {
  display: grid;
  min-width: 280px;
  justify-items: center;
  background: #fff;
  color: #000
}

.popup-thank .popup__subtitle,
.popup-thank .popup__title {
  margin: 0
}

.popup-thank .popup__subtitle {
  line-height: 1.4;
  opacity: .8;
  text-align: center
}

.offer__img img,
.popup-thank img {
  -o-object-fit: contain;
  object-fit: contain
}

.contact__map {
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  background-color: #fff;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0
}

.contact__map,
.loader,
.map {
  width: 100%;
  height: 100%
}

.loader {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 2;
  color: #000;
  overflow: hidden;
  background-color: rgba(227, 85, 49, .4);
  opacity: 0;
  transition: opacity .3s
}

.loader.is-active {
  top: 0;
  opacity: 1
}

.loader-default:after {
  content: "";
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border: 8px solid #fff;
  border-left-color: transparent;
  border-radius: 50%;
  animation: b .7s linear infinite
}

.header {
  color: #fff;
  overflow-x: hidden
}

.header__top {
  padding: 27px 0
}

.header__top,
.header__top-wrapper {
  display: flex;
  align-items: center
}

.header__top-wrapper_fixed {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  animation: a .4s ease-in-out;
  background: #021467;
  color: #fff
}

.header__right {
  display: flex;
  align-items: center
}

.header__menu {
  display: flex
}

.header__time {
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  line-height: 1.25
}

.header__time svg {
  width: 2.125em;
  height: 2.125em;
  fill: #fff
}

.header__title {
  line-height: 1.2;
  font-family: Avenir-Bold
}

.header__img {
  position: absolute;
  right: calc(-100px + -74*((100vw - 320px)/1600));
  bottom: 0;
  -o-object-fit: contain;
  object-fit: contain
}

.header-wrapper,
.header__form .input-wrapper {
  display: flex
}

.header__item {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 8px;
  line-height: 1.0909090909
}

.header__item-icon {
  display: flex;
  align-items: flex-start
}

.header__item-icon svg {
  width: auto
}

.header__form {
  background: #000d4a;
  box-shadow: -20px -20px 30px rgba(81, 115, 201, .2);
  border-radius: 70px 0 0 0
}

.header__tel span {
  border-bottom: 2px dashed #86a8ff;
  padding-bottom: 2px
}

.footer {
  color: #fff;
  background: #021467
}

.footer__menu {
  display: flex;
  justify-content: space-between
}

.footer__right {
  display: flex
}

.footer__top {
  display: flex;
  justify-content: space-between
}

.footer__right {
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto
}

.footer__nav {
  flex: 1 1 auto
}

.footer__menu {
  gap: 10px
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 14px;
  line-height: 1.2142857143;
  color: #8c96c2
}

.footer__policy {
  text-decoration: underline
}

.about-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.about__item {
  display: grid;
  justify-items: start;
  gap: 9px
}

.about__item-title {
  position: relative;
  z-index: 3;
  line-height: .8;
  color: #021467;
  border: 3px solid #adbff2;
  border-radius: 20px;
  background: #fff;
  font-family: Avenir-Bold
}

.about__item-text {
  line-height: 1.1818181818
}

.contact,
.contact__body {
  position: relative
}

.contact__body {
  z-index: 3;
  pointer-events: none
}

.contact-wrapper {
  background: #fff;
  box-shadow: 0 10px 30px rgba(27, 55, 134, .15);
  pointer-events: auto
}

.contact__top {
  border-bottom: 3px dashed #adbff2
}

.contact__content-title {
  font-family: Avenir-Demi
}

.contact__title:before {
  display: none
}

.contact__tel {
  color: #e35531
}

.contact__tel svg {
  fill: #000
}

.contact__form-title {
  margin-bottom: 9px
}

.contact__form .input-wrapper {
  grid-template-columns: 1fr 1fr
}

.contact__content-title,
.contact__form-title,
.contact__subtitle,
.contact__tel {
  line-height: 1.2142857143
}

.features-wrapper {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr)
}

.features__item {
  position: relative;
  box-shadow: 0 10px 30px rgba(27, 55, 134, .15);
  overflow: hidden
}

.features__item-bg {
  position: absolute;
  top: 0
}

.features__item-icon {
  display: flex;
  align-items: center
}

.features__item-title {
  font-family: Avenir-Demi
}

.features__item-text {
  line-height: 1.2222222222
}

.feedback__slider {
  position: relative;
  max-width: 1920px
}

.feedback__item {
  display: grid
}

.feedback__item-text {
  position: relative;
  display: grid;
  background: #fff;
  border-radius: 20px;
  line-height: 1.4444444444
}

.feedback__item-text p {
  position: relative;
  z-index: 1
}

.feedback__item-text:after {
  content: "";
  position: absolute;
  left: 30px;
  bottom: -15px;
  width: 50px;
  height: 50px;
  background: #fff;
  transform: rotate(-30deg)
}

.feedback__item-info {
  display: flex;
  align-items: center;
  gap: 16px
}

.feedback__item-img {
  flex-grow: 0;
  flex-shrink: 0;
  border-radius: 50%
}

.feedback__item-name {
  line-height: 1.2272727273;
  font-family: Avenir-Bold
}

.feedback__item-date {
  line-height: 1.2222222222
}

.feedback__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px
}

.feedback__navigation {
  display: flex
}

.feedback__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #c2cff4;
  border-radius: 20px;
  transition: all .3s;
  cursor: pointer
}

.feedback__arrow svg {
  fill: #4d64a5
}

.feedback__arrow .prev {
  transform: rotate(-180deg)
}

.feedback .swiper-button-disabled {
  opacity: 0
}

.offer {
  color: #fff;
  z-index: 3
}

.offer__img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5px
}

.offer__form .input-wrapper {
  display: flex
}

.offer__form .input-wrapper .button {
  justify-content: space-between
}

.master__form .title:before,
.offer__title:before {
  display: none
}

.price-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr)
}

.price__item {
  display: grid;
  grid-template-rows: auto 1fr auto;
  justify-items: start;
  background: #fff;
  box-shadow: 0 10px 30px rgba(27, 55, 134, .15);
  transition: all .3s;
  cursor: pointer
}

.price__item-title {
  font-family: Avenir-Medium;
  line-height: 1.2272727273;
  transition: all .3s
}

.price__item-text {
  font-family: Avenir-Bold;
  color: #264db1;
  transition: all .3s
}

.price__item:nth-child(4) .price__item-icon {
  justify-self: end
}

.price__item:nth-child(8) {
  position: relative
}

.price__item:nth-child(8) .price__item-icon {
  position: absolute;
  top: 50%;
  transform: translatey(-50%)
}

.master__img {
  position: absolute;
  right: calc(40px + -156*((100vw - 320px)/1600));
  bottom: 0;
  -o-object-fit: contain;
  object-fit: contain
}

.master__info {
  display: grid;
  box-shadow: 0 10px 30px rgba(27, 55, 134, .15)
}

.master__info-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap
}

.master__info-name {
  line-height: 1.2272727273;
  font-family: Avenir-Bold
}

.master__info-items {
  display: flex;
  align-items: center;
  flex-wrap: wrap
}

.master__info-item {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2222222222
}

.master__info-item svg {
  flex-grow: 0;
  flex-shrink: 0
}

.master__info-text {
  line-height: 1.4444444444
}

.master__form {
  background: #021467;
  color: #fff;
  box-shadow: 0 10px 30px rgba(27, 55, 134, .15);
  border-radius: 20px
}

.master__form .input-wrapper {
  grid-template-columns: 1fr 1fr
}

.master__form .input-wrapper .form__text {
  margin: 0
}

@media (min-width:576px) {
  .container {
    width: 520px;
    padding: 0
  }
}

@media (min-width:768px) {
  .container {
    width: 720px
  }

  .about__item:first-child .about__item-title:after {
    content: "";
    position: absolute;
    left: -50vw;
    top: 50%;
    z-index: -2;
    width: 200vw;
    border-top: 3px dashed #adbff2
  }

  .about__item:first-child .about__item-title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 49%;
    z-index: -1;
    width: 100%;
    height: 5px;
    background: #fff
  }

  .price__item:nth-child(4) {
    grid-row: span 2
  }

  .price__item:nth-child(8) {
    grid-column: span 2
  }
}

@media (min-width:992px) {
  .container {
    width: 970px
  }

  .header_fixed {
    min-height: 80px
  }

  .header__form {
    margin-left: clamp(-50px, -26px + -1.25vw, -30px)
  }

  .offer__right {
    margin-left: auto;
    max-width: clamp(450px, 391px + 18.4375vw, 745px)
  }
}

@media (min-width:1200px) {
  .header__item:nth-child(2) {
    margin-left: 100px
  }
}

@media (min-width:1401px) {
  .container {
    width: 1296px
  }

  .main,
  .section {
    padding-top: 60px
  }

  .section-bg+.section-bg {
    margin-top: -60px
  }

  .section {
    padding-bottom: 60px
  }

  .section-bg {
    margin-bottom: 60px;
    margin-top: 60px;
    padding-top: 120px
  }

  .section-bg,
  .section-bottom {
    padding-bottom: 120px
  }

  .section-not-margin {
    margin: 0
  }

  .title {
    margin-bottom: 32px;
    font-size: 46px
  }

  .button {
    min-height: 54px;
    font-size: 18px
  }

  .logo__text {
    font-size: 22px
  }

  .form__title {
    margin-bottom: 16px;
    font-size: 26px
  }

  .form__text {
    font-size: 13px
  }

  .input-wrapper {
    gap: 24px
  }

  input:not([type=submit]) {
    height: 54px;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 18px
  }

  .tel {
    font-size: 24px
  }

  .popup__content {
    padding: 88px 32px;
    border-radius: 20px
  }

  .popup__title {
    font-size: 46px
  }

  .popup__subtitle {
    font-size: 22px
  }

  .popup__form {
    gap: 16px
  }

  .popup__close {
    right: 24px;
    top: 24px
  }

  .popup__close svg {
    width: 24px;
    height: 24px
  }

  .popup-thank .popup__content {
    gap: 20px
  }

  .popup-thank .popup__subtitle {
    font-size: 16px
  }

  .popup-thank img {
    width: 161px;
    height: 161px
  }

  .header__top {
    gap: 40px
  }

  .header__right {
    gap: 30px
  }

  .header__menu {
    gap: 32px
  }

  .header__menu,
  .header__time {
    font-size: 16px
  }

  .header__main {
    padding-top: 57px
  }

  .header__title {
    margin-bottom: 57px;
    max-width: 744px;
    font-size: 50px
  }

  .header__img {
    max-width: 700px
  }

  .header-wrapper {
    gap: 25px;
    margin-bottom: 40px
  }

  .header__item {
    font-size: 22px
  }

  .header__item-icon {
    height: 68px
  }

  .header__item-icon svg {
    max-height: 68px;
    max-width: 78px
  }

  .header__form {
    padding: 48px
  }

  .header__form .input-wrapper .button {
    min-width: 274px
  }

  .header__form-content {
    max-width: 709px
  }

  .footer {
    padding-bottom: 32px;
    padding-top: 32px
  }

  .footer__top {
    gap: 40px
  }

  .footer__right {
    gap: 24px
  }

  .footer__bottom {
    margin-top: 37px
  }

  .about-wrapper {
    gap: 50px
  }

  .about__item-title {
    padding: 11px;
    font-size: 90px
  }

  .about__item-text {
    font-size: 22px
  }

  .contact-wrapper {
    max-width: 746px;
    border-radius: 20px
  }

  .contact__content,
  .contact__top {
    padding: 32px
  }

  .contact__content-title {
    margin-bottom: 3px
  }

  .contact__title {
    margin-bottom: 6px
  }

  .contact__tel {
    margin-bottom: 32px
  }

  .contact__content-title,
  .contact__form-title,
  .contact__subtitle,
  .contact__tel {
    font-size: 28px
  }

  .features__item {
    padding: 25px 32px;
    border-radius: 20px
  }

  .features__item-bg {
    right: -26px;
    max-width: 226px;
    max-height: 165px
  }

  .features__item-icon {
    margin-bottom: 25px;
    height: 81px
  }

  .features__item-icon svg {
    max-width: 96px;
    max-height: 81px
  }

  .features__item-title {
    font-size: 22px
  }

  .features__item-text {
    font-size: 18px
  }

  .feedback .swiper-container {
    padding: 0 20px;
    margin: 0 -20px;
    max-width: calc(100vw - (100vw - 1296px)/2 + 30px)
  }

  .feedback__slider {
    width: calc(100vw - (100vw - 1296px)/2);
    margin-left: auto
  }

  .feedback__item {
    gap: 45px
  }

  .feedback__item-text {
    gap: 24px;
    padding: 33px;
    font-size: 18px;
    box-shadow: 0 10px 9px rgba(27, 55, 134, .15)
  }

  .feedback__item-text p {
    min-height: 156px
  }

  .feedback__item-text svg {
    width: 72px;
    height: 57px
  }

  .feedback__item-img {
    width: 68px;
    height: 68px;
    flex-basis: 68px
  }

  .feedback__item-name {
    font-size: 22px
  }

  .feedback__item-date {
    font-size: 18px
  }

  .feedback__top {
    margin-bottom: 37px
  }

  .feedback__navigation {
    gap: 20px
  }

  .feedback__arrow {
    padding: 22px
  }

  .feedback__arrow svg {
    width: 41px;
    height: 22px
  }

  .offer__img img {
    max-width: 454px
  }

  .offer__form .input-wrapper .button {
    min-width: 310px
  }

  .price-wrapper {
    gap: 24px
  }

  .price__item {
    gap: 25px;
    padding: 24px;
    border-radius: 20px
  }

  .price__item-text,
  .price__item-title {
    font-size: 22px
  }

  .price__item-button {
    min-width: clamp(200px, 188.4px + 3.625vw, 258px)
  }

  .price__item:nth-child(4) .price__item-icon {
    max-width: 200px;
    max-height: 200px
  }

  .price__item:nth-child(8) .price__item-title {
    max-width: 392px
  }

  .price__item:nth-child(8) .price__item-icon {
    right: 24px;
    max-width: 170px;
    max-height: 170px
  }

  .master__left {
    max-width: 748px
  }

  .master__info {
    gap: 16px;
    margin-bottom: 24px;
    padding: 39px 32px;
    border-radius: 20px
  }

  .master__info-name {
    font-size: 22px
  }

  .master__info-items {
    gap: 22px
  }

  .master__info-item,
  .master__info-text {
    font-size: 18px
  }

  .master__info-item svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px
  }

  .master__form {
    padding: 32px;
    border-radius: 20px
  }

  .master__form .title {
    margin-bottom: 5px
  }

  .master__form .form__title {
    margin-bottom: 36px
  }
}

@media (max-width:1400px) {

  .main,
  .section {
    padding-top: clamp(30px, 24px + 1.875vw, 60px)
  }

  .section-bg+.section-bg {
    margin-top: clamp(-60px, -24px + -1.875vw, -30px)
  }

  .section {
    padding-bottom: clamp(30px, 24px + 1.875vw, 60px)
  }

  .section-bg {
    margin-bottom: clamp(30px, 24px + 1.875vw, 60px);
    margin-top: clamp(30px, 24px + 1.875vw, 60px);
    padding-top: clamp(60px, 48px + 3.75vw, 120px)
  }

  .section-bg,
  .section-bottom {
    padding-bottom: clamp(60px, 48px + 3.75vw, 120px)
  }

  .section-not-margin {
    margin: 0
  }

  .title {
    margin-bottom: clamp(20px, 17.6px + .75vw, 32px);
    font-size: clamp(24px, 19.6px + 1.375vw, 46px)
  }

  .button {
    min-height: clamp(50px, 49.2px + .25vw, 54px);
    font-size: clamp(15px, 14.4px + .1875vw, 18px)
  }

  .logo__text {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .form__title {
    margin-bottom: clamp(10px, 8.8px + .375vw, 16px);
    font-size: clamp(19px, 17.6px + .4375vw, 26px)
  }

  .form__text {
    font-size: clamp(12px, 11.8px + .0625vw, 13px)
  }

  .input-wrapper {
    gap: clamp(10px, 7.2px + .875vw, 24px)
  }

  input:not([type=submit]) {
    height: clamp(50px, 49.2px + .25vw, 54px);
    padding-left: clamp(15px, 13.2px + .5625vw, 24px);
    padding-right: clamp(15px, 13.2px + .5625vw, 24px);
    font-size: clamp(16px, 15.6px + .125vw, 18px)
  }

  .tel {
    font-size: clamp(17px, 15.6px + .4375vw, 24px)
  }

  .popup__content {
    padding: clamp(20px, 6.4px + 4.25vw, 88px) clamp(15px, 11.6px + 1.0625vw, 32px);
    border-radius: clamp(10px, 8px + .625vw, 20px)
  }

  .popup__title {
    font-size: clamp(24px, 19.6px + 1.375vw, 46px)
  }

  .popup__subtitle {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .popup__form {
    gap: clamp(12px, 11.2px + .25vw, 16px)
  }

  .popup__close {
    right: clamp(10px, 7.2px + .875vw, 24px);
    top: clamp(10px, 7.2px + .875vw, 24px)
  }

  .popup__close svg {
    width: clamp(14.4px, 12.48px + .6vw, 24px);
    height: clamp(14.4px, 12.48px + .6vw, 24px)
  }

  .popup-thank .popup__content {
    gap: clamp(10px, 8px + .625vw, 20px)
  }

  .popup-thank .popup__subtitle {
    font-size: clamp(14px, 13.6px + .125vw, 16px)
  }

  .popup-thank img {
    width: clamp(100px, 87.8px + 3.8125vw, 161px);
    height: clamp(100px, 87.8px + 3.8125vw, 161px)
  }

  .header__top {
    gap: clamp(20px, 16px + 1.25vw, 40px)
  }

  .header__right {
    gap: clamp(15px, 12px + .9375vw, 30px)
  }

  .header__menu {
    gap: clamp(15px, 11.6px + 1.0625vw, 32px);
    font-size: clamp(15px, 14.8px + .0625vw, 16px)
  }

  .header__time {
    font-size: clamp(14px, 13.6px + .125vw, 16px)
  }

  .header__main {
    padding-top: clamp(40px, 36.6px + 1.0625vw, 57px)
  }

  .header__title {
    margin-bottom: clamp(20px, 12.6px + 2.3125vw, 57px);
    max-width: clamp(350px, 271.2px + 24.625vw, 744px);
    font-size: clamp(22px, 16.4px + 1.75vw, 50px)
  }

  .header-wrapper {
    gap: clamp(15px, 13px + .625vw, 25px);
    margin-bottom: clamp(20px, 16px + 1.25vw, 40px)
  }

  .header__item {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .header__item-icon {
    height: clamp(47.6px, 43.52px + 1.275vw, 68px)
  }

  .header__item-icon svg {
    max-height: clamp(47.6px, 43.52px + 1.275vw, 68px);
    max-width: clamp(54.6px, 49.92px + 1.4625vw, 78px)
  }

  .header__form {
    padding: clamp(20px, 14.4px + 1.75vw, 48px)
  }

  .header__form .input-wrapper .button {
    min-width: clamp(230px, 221.2px + 2.75vw, 274px)
  }

  .header__form-content {
    max-width: clamp(400px, 338.2px + 19.3125vw, 709px)
  }

  .header__menu,
  .header__right,
  .header__top {
    gap: 10px
  }

  .header__top {
    justify-content: space-between
  }

  .header__tel {
    font-size: 17px
  }

  .header__img {
    right: clamp(-174px, 51.5555555556px + -16.1111111111vw, .01px);
    max-width: clamp(450px, 430px + 6.25vw, 550px)
  }

  .footer {
    padding-bottom: clamp(20px, 17.6px + .75vw, 32px);
    padding-top: clamp(20px, 17.6px + .75vw, 32px)
  }

  .footer__top {
    gap: clamp(20px, 16px + 1.25vw, 40px)
  }

  .footer__right {
    gap: clamp(12px, 9.6px + .75vw, 24px)
  }

  .footer__bottom {
    margin-top: clamp(15px, 10.6px + 1.375vw, 37px)
  }

  .footer__nav {
    display: none
  }

  .about-wrapper {
    gap: clamp(25px, 20px + 1.5625vw, 50px)
  }

  .about__item-title {
    padding: clamp(6px, 5px + .3125vw, 11px);
    font-size: clamp(50px, 42px + 2.5vw, 90px)
  }

  .about__item-text {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .contact-wrapper {
    max-width: clamp(380px, 306.8px + 22.875vw, 746px);
    border-radius: clamp(10px, 8px + .625vw, 20px)
  }

  .contact__content,
  .contact__top {
    padding: clamp(12px, 8px + 1.25vw, 32px)
  }

  .contact__content-title {
    margin-bottom: clamp(3px, 5.4px + -.125vw, 5px)
  }

  .contact__title {
    margin-bottom: clamp(6px, 10.8px + -.25vw, 10px)
  }

  .contact__tel {
    margin-bottom: clamp(12px, 8px + 1.25vw, 32px)
  }

  .contact__content-title,
  .contact__form-title,
  .contact__subtitle,
  .contact__tel {
    font-size: clamp(19px, 17.2px + .5625vw, 28px)
  }

  .features-wrapper {
    gap: 20px
  }

  .features__item {
    padding: clamp(14px, 11.8px + .6875vw, 25px) clamp(14px, 10.4px + 1.125vw, 32px);
    border-radius: clamp(10px, 8px + .625vw, 20px)
  }

  .features__item-bg {
    right: clamp(-26px, -.8px + -1.3125vw, -5px);
    max-width: clamp(.01px, -45.2px + 14.125vw, 226px);
    max-height: clamp(.01px, -33px + 10.3125vw, 165px)
  }

  .features__item-icon {
    margin-bottom: clamp(15px, 13px + .625vw, 25px);
    height: clamp(48.6px, 42.12px + 2.025vw, 81px)
  }

  .features__item-icon svg {
    max-width: clamp(57.6px, 49.92px + 2.4vw, 96px);
    max-height: clamp(48.6px, 42.12px + 2.025vw, 81px)
  }

  .features__item-title {
    font-size: clamp(18px, 17.2px + .25vw, 22px)
  }

  .features__item-text {
    font-size: clamp(16px, 15.6px + .125vw, 18px)
  }

  .feedback__item {
    gap: clamp(35px, 33px + .625vw, 45px)
  }

  .feedback__item-text {
    gap: clamp(15px, 13.2px + .5625vw, 24px);
    padding: clamp(15px, 11.4px + 1.125vw, 33px);
    font-size: clamp(15px, 14.4px + .1875vw, 18px);
    border: 1px solid rgba(27, 55, 134, .15)
  }

  .feedback__item-text p {
    min-height: clamp(156px, 201.6px + -2.375vw, 194px)
  }

  .feedback__item-text svg {
    width: clamp(43.2px, 37.44px + 1.8vw, 72px);
    height: clamp(34.2px, 29.64px + 1.425vw, 57px)
  }

  .feedback__item-img {
    width: clamp(60px, 58.4px + .5vw, 68px);
    height: clamp(60px, 58.4px + .5vw, 68px);
    flex-basis: clamp(60px, 58.4px + .5vw, 68px)
  }

  .feedback__item-name {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .feedback__item-date {
    font-size: clamp(15px, 14.4px + .1875vw, 18px)
  }

  .feedback__top {
    margin-bottom: clamp(15px, 10.6px + 1.375vw, 37px)
  }

  .feedback__navigation {
    gap: clamp(10px, 8px + .625vw, 20px)
  }

  .feedback__arrow {
    padding: clamp(15.4px, 14.08px + .4125vw, 22px)
  }

  .feedback__arrow svg {
    width: clamp(28.7px, 26.24px + .76875vw, 41px);
    height: clamp(15.4px, 14.08px + .4125vw, 22px)
  }

  .offer__img {
    left: clamp(400px, 340px + 18.75vw, 700px)
  }

  .offer__img img {
    max-width: clamp(200px, 149.2px + 15.875vw, 454px)
  }

  .offer__form .input-wrapper .button {
    min-width: clamp(270px, 262px + 2.5vw, 310px)
  }

  .price-wrapper {
    gap: clamp(10px, 7.2px + .875vw, 24px)
  }

  .price__item {
    gap: clamp(15px, 13px + .625vw, 25px);
    padding: clamp(12px, 9.6px + .75vw, 24px);
    border-radius: clamp(10px, 8px + .625vw, 20px)
  }

  .price__item-title {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .price__item-text {
    font-size: clamp(18px, 17.2px + .25vw, 22px)
  }

  .price__item-button {
    width: 100%;
    max-width: 300px
  }

  .price__item:nth-child(4) .price__item-icon {
    max-width: clamp(100px, 80px + 6.25vw, 200px);
    max-height: clamp(100px, 80px + 6.25vw, 200px)
  }

  .price__item:nth-child(8) .price__item-title {
    max-width: clamp(200px, 161.6px + 12vw, 392px)
  }

  .price__item:nth-child(8) .price__item-icon {
    right: clamp(12px, 9.6px + .75vw, 24px);
    max-width: clamp(85px, 68px + 5.3125vw, 170px);
    max-height: clamp(85px, 68px + 5.3125vw, 170px)
  }

  .master__img {
    max-width: clamp(350px, 329.2592592593px + 6.4814814815vw, 420px)
  }

  .master__left {
    max-width: clamp(500px, 450.4px + 15.5vw, 748px)
  }

  .master__info {
    gap: clamp(10px, 8.8px + .375vw, 16px);
    margin-bottom: clamp(12px, 9.6px + .75vw, 24px);
    padding: clamp(18px, 13.8px + 1.3125vw, 39px) clamp(14px, 10.4px + 1.125vw, 32px);
    border-radius: clamp(10px, 8px + .625vw, 20px)
  }

  .master__info-name {
    font-size: clamp(17px, 16px + .3125vw, 22px)
  }

  .master__info-items {
    gap: clamp(12px, 10px + .625vw, 22px)
  }

  .master__info-item {
    font-size: clamp(16px, 15.6px + .125vw, 18px)
  }

  .master__info-item svg {
    width: clamp(16px, 14.8px + .375vw, 22px);
    height: clamp(16px, 14.8px + .375vw, 22px);
    flex-basis: clamp(16px, 14.8px + .375vw, 22px)
  }

  .master__info-text {
    font-size: clamp(15px, 14.4px + .1875vw, 18px)
  }

  .master__form {
    padding: clamp(14px, 10.4px + 1.125vw, 32px);
    border-radius: clamp(10px, 8px + .625vw, 20px)
  }

  .master__form .title {
    margin-bottom: clamp(5px, 11px + -.3125vw, 10px)
  }

  .master__form .form__title {
    margin-bottom: clamp(15px, 10.8px + 1.3125vw, 36px)
  }
}

@media (max-width:991px) {
  .menu-link {
    display: block
  }

  body {
    padding-top: 70px
  }

  .header__top {
    padding: 10px 0
  }

  .header__top-wrapper {
    min-height: 70px
  }

  .header__mobile {
    margin-top: 70px;
    padding-bottom: 70px;
    padding-top: 70px;
    max-height: calc(100vh - 70px)
  }

  .header__top-wrapper {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    animation: a .4s ease-in-out;
    background: #021467;
    color: #fff
  }

  .header__mobile {
    position: fixed;
    right: -100vw;
    top: 0;
    z-index: 5;
    display: grid;
    align-content: start;
    justify-content: center;
    width: 100vw;
    height: 100%;
    gap: 20px;
    overflow: auto;
    background: rgba(0, 0, 0, .97);
    transition: all .3s;
    text-align: center;
    color: #fff
  }

  .header__mobile_active {
    right: 0
  }

  .header__menu {
    display: grid;
    gap: 20px;
    font-size: 19px
  }

  .header__img {
    display: none
  }

  .header-wrapper {
    gap: clamp(20px, 5.6929955291px + 4.4709388972vw, 50px)
  }

  .header__form {
    border-radius: 20px
  }

  .header__main {
    padding-bottom: clamp(40px, 30.4619970194px + 2.9806259314vw, 60px);
    padding-top: clamp(40px, 30.4619970194px + 2.9806259314vw, 60px)
  }

  .features-wrapper {
    grid-template-columns: repeat(2, 1fr)
  }

  .offer__img {
    display: none
  }

  .price-wrapper {
    grid-template-columns: repeat(3, 1fr)
  }

  .price__item:nth-child(8) {
    order: 2
  }

  .master__img {
    display: none
  }

  .master__left {
    max-width: 100%
  }

  .master__info,
  .master__title {
    display: none
  }
}

@media (max-width:991px) and (max-width:1400px) {
  .features__item-bg {
    max-width: clamp(90.4px, 63.28px + 8.475vw, 226px);
    max-height: clamp(66px, 46.2px + 6.1875vw, 165px)
  }
}

@media (max-width:767px) {
  body {
    padding-top: 56px
  }

  .popup__form .input-wrapper {
    grid-template-columns: 100%
  }

  .popup__form .form__text {
    text-align: center
  }

  .header__top-wrapper {
    min-height: 56px
  }

  .header__mobile {
    margin-top: 56px;
    padding-bottom: 56px;
    padding-top: 56px;
    max-height: calc(100vh - 56px)
  }

  .header__form .input-wrapper {
    display: grid
  }

  .footer__tel {
    display: none
  }

  .footer__bottom {
    justify-content: center;
    text-align: center
  }

  .about-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr
  }

  .contact-wrapper {
    max-width: 100%
  }

  .contact,
  .contact__form .input-wrapper {
    grid-template-columns: 100%
  }

  .contact {
    display: grid;
    padding-bottom: 0
  }

  .contact__body {
    padding-bottom: clamp(60px, 48px + 3.75vw, 120px)
  }

  .contact__map {
    position: static;
    height: clamp(300px, 228.4116331096px + 22.3713646532vw, 400px)
  }

  .contact__map .loader {
    display: none
  }

  .features__item {
    box-shadow: 0 5px 10px rgba(27, 55, 134, .15)
  }

  .offer__form .input-wrapper {
    display: grid
  }

  .price-wrapper {
    grid-template-columns: 1fr 1fr
  }

  .price__item-icon {
    display: none
  }

  .master__form .input-wrapper {
    grid-template-columns: 100%;
    text-align: center
  }
}

@media (max-width:575px) {
  body {
    padding-top: 56.01px
  }

  .bg-after:after {
    background: #021467
  }

  .popup__dialog {
    width: 400px;
    max-width: 100%;
    padding: 0 10px;
    margin: 0 auto
  }

  .header__top-wrapper {
    min-height: 56.01px
  }

  .header__mobile {
    margin-top: 56.01px;
    padding-bottom: 56.01px;
    padding-top: 56.01px;
    max-height: calc(100vh - 56.01px)
  }

  .header-wrapper {
    display: grid
  }

  .header__item {
    display: flex;
    align-items: center
  }

  .header__item-icon {
    width: clamp(40px, 2.3529411765px + 11.7647058824vw, 70px)
  }

  .header__item-icon svg {
    width: 100%
  }

  .about-wrapper {
    justify-items: center;
    grid-template-columns: 100%
  }

  .about__item {
    text-align: center;
    justify-items: center
  }

  .features-wrapper {
    grid-template-columns: repeat(1, 1fr)
  }

  .price__item:nth-child(8) .price__item-title {
    max-width: 100%
  }
}

@media (max-width:430px) {
  .header__form {
    padding: 20px 10px
  }

  .header .logo__text {
    display: none
  }

  .footer__top {
    display: grid;
    justify-content: center;
    justify-items: center
  }

  .price-wrapper {
    grid-template-columns: 100%
  }

  .price__item-button {
    max-width: 100%
  }
}

@media (max-width:991px) and (min-width:1401px) {
  .features__item-bg {
    max-width: 226px;
    max-height: 165px
  }
}

@media not all and (-webkit-min-device-pixel-ratio:0),
not all and (min-resolution:.001dpcm) {
  input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px
  }
}

@media (any-hover:hover) {
  .button:hover {
    background: #d4421d
  }

  .footer__menu li:hover,
  .footer__policy:hover,
  .header__menu li:hover,
  .tel:hover {
    color: #e35531
  }

  .popup__close svg:hover,
  .tel:hover svg {
    fill: #e35531
  }

  .header__tel:hover span {
    border-color: #e35531
  }

  .feedback__arrow:hover,
  .price__item:hover {
    background: #021467
  }

  .feedback__arrow:hover svg {
    fill: #fff
  }

  .price__item:hover .price__item-text,
  .price__item:hover .price__item-title {
    color: #fff
  }

  .price__item:hover .price__item-button {
    background: #e35531;
    color: #fff
  }

  .price__item:hover .price__item-button svg {
    fill: #000
  }
}