@charset "UTF-8";

@font-face {
  font-family: 'IBMPlexSans-Regular';
  src: url("/assets/fonts/IBMPlexSans-Regular.eot");
  src: url("/assets/fonts/IBMPlexSans-Regular.eot?#iefix") format("embedded-opentype"), 
  url("/assets/fonts/IBMPlexSans-Regular.woff2") format("woff2"), 
  url("/assets/fonts/IBMPlexSans-Regular.woff") format("woff"), 
  url("/assets/fonts/IBMPlexSans-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'IBMPlexSans-Medium';
  src: url("/assets/fonts/IBMPlexSans-Medium.eot");
  src: url("/assets/fonts/IBMPlexSans-Medium.eot?#iefix") format("embedded-opentype"), 
  url("/assets/fonts/IBMPlexSans-Medium.woff2") format("woff2"), 
  url("/assets/fonts/IBMPlexSans-Medium.woff") format("woff"), 
  url("/assets/fonts/IBMPlexSans-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'IBMPlexSans-SemiBold';
  src: url("/assets/fonts/IBMPlexSans-SemiBold.eot");
  src: url("/assets/fonts/IBMPlexSans-SemiBold.eot?#iefix") format("embedded-opentype"), 
  url("/assets/fonts/IBMPlexSans-SemiBold.woff2") format("woff2"), 
  url("/assets/fonts/IBMPlexSans-SemiBold.woff") format("woff"), 
  url("/assets/fonts/IBMPlexSans-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

:root {
  --color-black: #000000;
  --color-white: #FFFFFF;
  --color-grey: #E6E8ED;
  --color-grey-light: #F5F6F8;
  --color-grey-dark: #A8ADBD;
  --color-green: #2AD0A6;
  --color-green-light: #5BDCBB;
  --color-blue-dark: #126E9F;
  --color-blue-mail: #1D7FB2;
  --color-blue-light: #AAD4EA;
  --font-IBMPlexSans-Regular: "IBMPlexSans-Regular";
  --font-IBMPlexSans-Semibold: "IBMPlexSans-Semibold";
  --font-IBMPlexSans-Medium: "IBMPlexSans-Medium";
  --menu-mob-w: 280px; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html {
  font-size: 16px;
  scrollbar-color: var(--color-blue-dark) var(--color-white); }

body, html {
  max-width: 100vw; }

body {
  /* -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; */
  font-family: var(--font-IBMPlexSans-Regular), Arial, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  margin: 0;
  padding: 0;
  color: var(--color-black);
  overflow-x: hidden;
  font-size: 1rem;
  text-rendering: auto;
  line-height: 140%;
  -webkit-font-smoothing: subpixel-antialiased !important;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  outline: none !important; }

h1, h2, h3, h4,
.h1, .h2, .h3, .h4 {
  margin: 0;
  padding: 0; }

ul, ol, li {
  padding: 0;
  margin: 0;
  list-style: none; }

p {
  margin: 0; }

button, a, input {
  outline: none; }
  button:focus, button:visited, a:focus, a:visited, input:focus, input:visited {
    text-decoration: none;
    outline: none; }

a {
  color: var(--color-blue-dark);
  text-decoration: none; }
  a:hover {
    color: var(--color-blue-dark);
    text-decoration: none; }

label {
  margin: 0; }

.space-nowrap {
  white-space: nowrap; }

.container {
  max-width: 115.125rem;
  margin: 0 auto;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }

.row {
  margin-right: -0.9375rem;
  margin-left: -0.9375rem; }

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }

p {
  font-size: 1rem; }

.h1 {
  font-family: var(--font-IBMPlexSans-Regular);
  font-size: 2.5rem;
  line-height: 3.125rem; }

.h2 {
  font-family: var(--font-IBMPlexSans-Medium);
  font-size: 3rem;
  line-height: 140%;
  margin-bottom: 5rem; }

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: var(--font-IBMPlexSans-Semibold);
  font-size: 1.25rem;
  line-height: normal;
  border: none;
  outline: none;
  border-radius: 0.5rem;
  text-transform: uppercase;
  white-space: nowrap;
  background-color: var(--color-green);
  color: var(--color-white);
  padding: 1rem 1.875rem; }
  .btn:hover {
    color: var(--color-white);
    background-color: var(--color-green-light); }
  .btn:focus {
    color: var(--color-white);
    background-color: var(--color-green); }
  .btn:disabled {
    background-color: var(--color-grey);
    color: var(--color-white); }

.btn:not(:disabled):not(.disabled):active:focus,
.btn:not(:disabled):not(.disabled):active,
.btn:active,
.btn:focus,
.btn:hover {
  outline: 0 !important;
  outline-color: transparent !important;
  outline-width: 0 !important;
  outline-style: none !important;
  -webkit-box-shadow: 0 0 0 0 rgba(0, 123, 255, 0) !important;
          box-shadow: 0 0 0 0 rgba(0, 123, 255, 0) !important; }

.header__wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  padding: 0.75rem 0; }

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.5rem;
  padding: 0.625rem 1.25rem;
  border-radius: 1.75rem;
  background: -o-radial-gradient(94.06% 107.95%, 114.44% 757.52%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%);
  background: radial-gradient(114.44% 757.52% at 94.06% 107.95%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%); }

.header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  width: 13.75rem; }

.logo__icon {
  height: 3.125rem; }
  .logo__icon img {
    height: 100%; }

.header-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem; }

.header-top__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem; }

.header-top__menu-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem; }

.header-top__menu-item a {
  display: block;
  /* font-size: 1rem; */
  font-size: 1.2rem;
  color: var(--color-white); }
  .header-top__menu-item a:hover {
    color: var(--color-black); }

.header-callback{
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.social-btn{
    display: block;
    height: 2.5rem;
    width:2.5rem;
    transition: 0.5s;
}

.social-btn:hover {
    transform: scale(1.1); 
   }

.section {
  overflow: hidden;
  padding-left: 9.5rem;
  padding-right: 9.5rem; }

.page-sections {
  display: grid; }
  .page-sections section {
    min-width: 0; }

.main-head__wrap {
  position: relative;
  background: var(--color-blue-dark);
  padding: 7rem 0 5rem; }

.main-head__wrap .container {
  position: relative; }

.main-head__title {
  padding-left: 3.75rem; }
  .main-head__title .btn {
    display: inline-block; }

.main-head__img {
  width: 56.125rem;
  min-width: 56.125rem;
  height: 35rem;
  /* border-radius: 18.125rem; */
  border-radius: 4rem;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .main-head__img img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.main-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  grid-gap: 5rem;
  padding: 1.25rem;
  border-radius: 1.75rem;
  background: -o-radial-gradient(94.06% 107.95%, 114.44% 757.52%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%);
  background: radial-gradient(114.44% 757.52% at 94.06% 107.95%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%); }

.main-title {
  max-width: 21.875rem;
  color: var(--color-white);
  font-family: var(--font-IBMPlexSans-Medium);
  font-size: 3rem;
  line-height: 130%;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem; }

.main-subtitle {
  max-width: 22.75rem;
  font-family: var(--font-IBMPlexSans-Regular);
  font-size: 1.5rem;
  line-height: 140%;
  color: var(--color-white);
  margin-bottom: 6.625rem; }

.main-head__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem; }

.head-info__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.25rem;
  background-color: var(--color-grey-light);
  padding: 1.25rem 1.25rem 2.5rem;
  border-radius: 1.125rem;
  color: var(--color-black);
  min-width: 18.125rem;
  min-height: 11.25rem;
  font-size: 1.5rem;
  line-height: 140%; }

.head-info__sticker {
  padding: 0.2rem 1rem 0.25rem;
  color: var(--color-white);
  background-color: var(--color-blue-mail);
  border-radius: 6.25rem;
  font-size: 1rem;
  line-height: 140%; }

.section-hell {
  background-color: var(--color-grey-light);
  padding-top: 5rem;
  padding-bottom: 5rem; }
  .section-hell .h2 {
    color: var(--color-black); }

.section-dark {
  background-color: var(--color-blue-dark);
  padding-top: 7.5rem;
  padding-bottom: 7.5rem; }
  .section-dark .h2 {
    color: var(--color-white);
    text-align: center; }

.about__wrap {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 10rem; }

.about-info__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem; }

.about-info__text p {
  font-size: 1.5rem;
  line-height: 140%;
  margin-bottom: 1.25rem; }

.about-info__person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.875rem; }

.about-info__person-img {
  width: 12.375rem;
  min-width: 12.375rem;
  /* height: 7.6875rem; */
  height: 9rem;
  /* border-radius: 18.125rem; */
  border-radius: 2rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }

.about-info__person-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem; }

.about-info__person-name {
  margin-top: 1.875rem;
  font-size: 1.5rem;
  line-height: 140%; }

.about-foto__slider .swiper-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  grid-template-rows: 18.75rem 18.75rem;
  gap: 0.75rem; }
  .about-foto__slider .swiper-wrapper .swiper-slide {
    /* border-radius: 9.3125rem; */
    border-radius: 4rem;
    overflow: hidden; }
    .about-foto__slider .swiper-wrapper .swiper-slide:first-child {
      grid-row: span 2;
      /* border-radius: 13.875rem; */
      border-radius: 4rem; }

.about-foto__item {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.order-block {
  position: relative;
  width: 100%;
  height: 30.625rem;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1.75rem; }

.order-block__bg {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 1.75rem; }

.order-block__title {
  position: relative;
  z-index: 2;
  padding-top: 5rem; }

.order-form__wrap {
  background-color: var(--color-grey-light);
  width: 100%;
  max-width: 28.75rem;
  border-radius: 1.75rem;
  padding: 1.25rem 1.25rem 1.4375rem;
  margin: -16.875rem auto 7.5rem;
  position: relative;
  z-index: 3; }

.form-input_btn .btn {
  width: 100%; }

.icon-accord {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.625rem;
  height: 1.625rem; }
  .icon-accord:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    -ms-flex-item-align: center;
        align-self: center;
    content: "";
    width: 1.625rem;
    height: 0.25rem;
    background-color: var(--color-green); }
  .icon-accord:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    -ms-flex-item-align: center;
        align-self: center;
    content: "";
    width: 1.625rem;
    height: 0.25rem;
    background-color: var(--color-green);
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg); }

.faq__wrap {
  display: grid;
  gap: 2.5rem;
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto; }

.faq__block {
  border-bottom: 0.25rem solid var(--color-white);
  color: var(--color-white);
  padding-bottom: 1.25rem; }

.faq__title {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.625rem;
  gap: 7.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 1.25rem;
  font-size: 1.5rem;
  line-height: 140%;
  cursor: pointer; }

.faq__desc {
  padding: 1.25rem 0 1.25rem; }
  .faq__desc a {
    color: var(--color-green); }

.accord-wrap--js.active .icon-accord:after {
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg); }

.process-steps__slider {
  overflow: visible;
  margin-bottom: 5.8125rem; }
  .process-steps__slider .swiper-scrollbar {
    bottom: -5.625rem;
    height: 0.625rem; }
  .process-steps__slider .swiper-wrapper {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }

.swiper.process-steps__slider {
  /* Цвет фона всего скроллбара (трека) */
  --swiper-scrollbar-bg-color: #AAD4EA;
  /* Пример: светло-серый */
  /* Цвет ползунка (перетаскиваемого элемента) */
  --swiper-scrollbar-drag-bg-color: #1D7FB2;
  /* Пример: красный */
  /* Цвет ползунка при наведении (если применимо) */ }

.process-steps__item {
  background-color: var(--color-white);
  padding: 1.25rem 1.25rem 5rem;
  height: 100%;
  border-radius: 1.75rem;
  cursor: pointer; }
  .process-steps__item:hover .process-steps__img {
    background-size: 120%; }
  .process-steps__item:hover .process-steps__number {
    background-color: var(--color-blue-mail);
    color: var(--color-white); }

.process-steps__img {
  height: 16.625rem;
  width: 100%;
  /* border-radius: 18.125rem; */
  border-radius: 2rem;
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100%;
  -webkit-transition: background-size 0.5s ease;
  -o-transition: background-size 0.5s ease;
  transition: background-size 0.5s ease;
  margin-bottom: 2.5rem; }

.process-steps__number {
  display: inline-block;
  border-radius: 6.25rem;
  padding: 0.1875rem 1rem 0.375rem;
  font-size: 1rem;
  line-height: 140%;
  background-color: var(--color-grey-light);
  margin-left: 3.75rem;
  margin-right: 3.75rem;
  margin-bottom: 2.5rem;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }

.process-steps__text {
  font-size: 1rem;
  line-height: 140%;
  margin-left: 3.75rem;
  margin-right: 3.75rem; }

.reviews__wrap {
  display: grid;
  gap: 0.625rem; }

.reviews__block {
  background-color: var(--color-white);
  border-radius: 1.75rem;
  padding: 2.5rem; }

.reviews__title,
.reviews__desc {
  display: grid;
  grid-template-columns: 11.25rem 1fr 1.625rem;
  gap: 6.25rem; }
  .reviews__begin,
  .reviews__end {
    padding-right: 6.25rem; }

.reviews__title {
  cursor: pointer; }

.reviews__desc p {
  margin-top: 1.25rem; }

.reviews__person-name {
  font-size: 1.5rem;
  line-height: 140%;
  margin-bottom: 0.625rem; }

.reviews__person-date {
  font-size: 1rem;
  line-height: 140%;
  color: var(--color-grey-dark); }

.footer__wrap {
  background: -o-radial-gradient(94.06% 107.95%, 114.44% 757.52%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%);
  background: radial-gradient(114.44% 757.52% at 94.06% 107.95%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%);
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }

.footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 1.75rem; }

.footer-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem; }
  .footer-logo .logo__icon {
    height: 7.5rem; }

.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem; }

.footer__menu-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem; }

.footer__menu-item a {
  display: block;
  font-size: 1rem;
  color: var(--color-white); }
  .footer__menu-item a:hover {
    color: var(--color-black); }

.footer__info {
  color: var(--color-white);
  font-size: 0.75rem;
  line-height: 140%;
  min-width: 18.75rem;
  display: flex;
  align-items: center;
  justify-content: end; 
  gap: 1.25rem;
}

.btn-up {
  position: fixed;
  right: 1.25rem;
  bottom: 9.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  z-index: 99; }
  .btn-up:before {
    content: "";
    width: 100%;
    height: 100%;
    background: transparent no-repeat center center;
    background-size: 100% 100%;
    background-image: url(../images/up-btn.svg); }

.btn-up_hide {
  display: none; }

.iti {
  width: 100%; }

.form-input__wrap .iti__search-input {
  padding: 0 1.25rem 0 2.5rem; }

.form-input__wrap .iti__tel-input {
  padding: 0 1.25rem 0 2.5rem; }

.agreement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
  margin-top: 0.875rem;
  margin-bottom: 1.875rem; }

.checkbox {
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .checkbox span {
    font-size: 0.75rem;
    line-height: 140%;
    padding-top: 0.1875rem; }
    .checkbox span a {
      color: var(--color-black);
      text-decoration: underline; }
      .checkbox span a:hover {
        color: var(--color-blue-dark); }

input[type="checkbox"] {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  place-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.375rem;
  border: 2px solid var(--color-grey-dark);
  margin: 0 0.625rem 0 0;
  aspect-ratio: 1;
  background-color: var(--color-grey-light); }
  input[type="checkbox"]:after {
    display: none;
    content: "";
    position: absolute;
    width: 1rem;
    height: 0.6875rem;
    background-image: url("../images/check.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    -webkit-transition: 500ms;
    -o-transition: 500ms;
    transition: 500ms; }
  input[type="checkbox"]:checked {
    background-color: var(--color-green);
    border-color: var(--color-green); }
    input[type="checkbox"]:checked:after {
      display: block; }

.agreement-text {
  font-size: 0.75rem;
  line-height: 140%;
  text-align: center;
  margin-top: 1.25rem; }

.burger-menu__mobile {
  display: none; }

.burger-menu__wrap {
  cursor: pointer;
  border-radius: 0.25rem;
  padding: 0.5rem; }
  .burger-menu__wrap:hover {
    background: var(--color-green); }

.menu-mob__wrap{
    background: radial-gradient(114.44% 757.52% at 94.06% 107.95%, rgba(170, 212, 234, 0.9) 0%, rgba(29, 127, 178, 0.9) 100%);
    color: var(--color-white);
}

.menu-mob__item{
    margin-bottom: 1rem;
}

.menu-mob__item a{
    color: var(--color-white);
}

.menu-mob {
  display: none; }

.form-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.3125rem; }

.form-input__wrap {
  display: block;
  width: 100%;
  min-width: 6.25rem;
  cursor: pointer;
  position: relative; }
  .form-input__wrap input {
    border: none;
    color: var(--color-black);
    cursor: text;
    border-radius: 0.5rem;
    padding: 1.25rem 0.75rem 0.75rem;
    display: block;
    width: 100%;
    height: 3.75rem;
    -webkit-transition: all linear .2s;
    -o-transition: all linear .2s;
    transition: all linear .2s; 
    border: 1px solid transparent; }
  .form-input__wrap input:hover {
    border-color: var(--color-green); }
  .form-input__wrap input:focus {
    border-color: var(--color-blue-mail); }
  .form-input__wrap input:focus + label,
  .form-input__wrap input:not(:empty) + label,
  .form-input__wrap input:not(:placeholder-shown) + label {
    top: -0.875rem;
    font-size: 0.875rem;
    opacity: .9;
    font-family: var(--font-IBMPlexSans-Regular); }
  .form-input__wrap input:not(:empty):invalid, .form-input__wrap input:not(:empty):required, .form-input__wrap input:not(:empty):invalid {
    border-color: rgba(231, 76, 60, 0.5);
    -webkit-box-shadow: none;
            box-shadow: none; }
  .form-input__wrap input:invalid, .form-input__wrap input:required, .form-input__wrap input:invalid {
    -webkit-box-shadow: none;
            box-shadow: none; }
  .form-input__wrap label {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    font-family: var(--font-IBMPlexSans-Regular);
    font-size: 1rem;
    color: var(--color-grey-dark);
    padding: 0.625rem 0.75rem 0.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 3.4375rem;
    -webkit-transition: all linear .2s;
    -o-transition: all linear .2s;
    transition: all linear .2s; }

.input-error input {
  border-color: var(--color-green); }
  .input-error input:hover {
    border-color: var(--color-green); }
  .input-error input:focus {
    border-color: var(--color-blue-mail); }

.input-error .error-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.error-text {
  display: none;
  position: absolute;
  z-index: 1;
  bottom: -0.875rem;
  left: 0;
  gap: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--font-IBMPlexSans-Regular);
  font-size: 0.75rem;
  line-height: 0.875rem;
  color: var(--color-green); }

.feedback-ok {
  display: none;
  position: fixed;
  z-index: 110;
  left: 1.25rem;
  bottom: 1.25rem;
  padding: 1.25rem;
  border-radius: 1rem;
  border: 2px solid var(--color-green);
  background: var(--color-white);
  -webkit-box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
  max-width: 32.375rem;
  width: 90%;
  color: var(--color-black); }

.feedback-ok__inner {
  display: grid;
  grid-template-columns: 1.5rem 1fr 1.5rem;
  gap: 0.75rem; }

.feedback-ok__title {
  margin-top: 0.25rem;
  font-family: var(--font-IBMPlexSans-Medium);
  font-size: 1rem;
  line-height: 1.0625rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase; }

.feedback-ok__text {
  font-size: 0.875rem;
  line-height: 1rem; }

.feedback-ok__close {
  cursor: pointer; }

.show-tablet {
  display: none; }
  
.s-message {
    display: none;
}

input.is-invalid {
  border: 1px solid red;
}

/* .is-invalid ~ .error-text {
    display: block;
} */

@media screen and (max-width: 1830px) {
  html {
    font-size: 15px; } }

@media screen and (max-width: 1700px) {
  html {
    font-size: 14px; }
  .main-head {
    gap: 2.5rem; } }

@media screen and (max-width: 1500px) {
    html {
    font-size: 12px; }
  .main-head__img {
    width: 42.5rem;
    min-width: 42.5rem;
    height: 26.875rem; } }

@media screen and (max-width: 1300px) {
  html {
    font-size: 10px; } 
    
}

@media screen and (max-width: 1023px) {
  html {
    font-size: 16px; }
  .container {
    max-width: 1014px; }
  .show-desktop {
    display: none; }
  .show-tablet {
    display: block; }
  .header-logo {
    width: auto; }
  .main-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px 40px;
    padding: 40px; }
  .main-head__title {
    padding-left: 0; }
  .main-title {
    margin-top: 0; }
  .main-subtitle {
    font-size: 16px;
    margin-bottom: 40px; }
  .main-head__img {
    width: 496px;
    min-width: 496px;
    height: 310px; }
  .main-head__info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    grid-column: span 2; }
  .head-info__item {
    min-width: auto; }
  .section {
    padding-left: 88px;
    padding-right: 88px; }
  .about__wrap {
    grid-template-columns: 1fr;
    gap: 80px; }
  .about-info__person {
    gap: 40px;
    padding-right: 150px; }
  .about-foto__slider .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0; }
  .about-foto__slider {
    overflow: visible; }
  .about-foto__slider .swiper-slide {
    width: 444px; }
  .about-foto__wrap {
    min-width: 0; }
  .about-foto__item {
    height: 300px; }
  .faq__wrap {
    max-width: 654px; }
  .target-block .h2 {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto; }
  .faq__title {
    gap: 70px; }
  .reviews__begin,
  .reviews__end {
    padding-right: 55px; }
  .reviews__title,
  .reviews__desc {
    gap: 30px; }
  .footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 80px; }
  .footer__wrap {
    padding-top: 40px;
    padding-bottom: 40px; }
  .footer__info {
    justify-content: center; } 
  .feedback-ok__title{
    font-size: 14px;  
  }
  .feedback-ok__text {
    font-size: 12px; 
  }
  .header-top__menu-item a{
    font-size: 16px; 
  }
  .header-top__menu-list {
    gap: 20px;
  }

}

@media screen and (max-width: 955px) {
  .container {
    max-width: 100%;
    padding-right: 20px;
    padding-left: 20px; }
  .burger-menu__mobile {
    display: block; }
  .header-top {
    display: none; }
  .header-top__menu-list {
    gap: 26px; }
  .main-head__img {
    width: 360px;
    min-width: 360px;
    height: 210px; }
  .offcanvas.offcanvas-end {
    max-width: var(--menu-mob-w); } }

@media screen and (max-width: 855px) {
  .container {
    padding-right: 10px;
    padding-left: 10px; }
  .logo__icon {
    height: 30px; }
  .header {
    gap: 20px;
    padding: 5px 10px 5px 20px; }
  .btn {
    font-size: 14px;
    padding: 10px 20px; }
  .header__wrap {
    padding-top: 10px;
    padding-bottom: 10px; }
  .main-head__wrap {
    padding-top: 66px;
    padding-bottom: 40px; }
  .main-head {
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px; }
  .main-head__img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    min-width: auto;
    height: auto; 
    border-radius: 28px; }
  .main-head__title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .main-head__info {
    grid-template-columns: 1fr;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    gap: 4px; }
  .main-title {
    font-size: 28px;
    padding-right: 10px;
    padding-left: 10px; 
    max-width: 300px;
  }
  .main-subtitle {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 14px;
    margin-bottom: 20px; }
  .main-head__title .btn {
    display: block; }
  .head-info__sticker {
    font-size: 10px; }
  .head-info__item {
    font-size: 14px;
    gap: 10px;
    min-height: 90px;
    padding-bottom: 20px; }
  .section {
    padding: 40px 10px; }
  .h2 {
    font-size: 28px;
    margin-bottom: 40px; }
  .about-info__text {
    padding: 20px 20px 66px;
    border-radius: 28px;
    background-color: var(--color-white);
    margin-left: -10px;
    margin-right: -10px; }
  .about-info__text p {
    font-size: 14px; }
  .about-info__person {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-right: 0;
    margin-top: -44px;
    gap: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end; }
  .about-info__wrap {
    gap: 0; }
  .about-info__person-img {
    width: 147px;
    min-width: 147px;
    /* height: 91px; */
    height: 110px;
    margin-right: 10px; }
  .about-info__person-name {
    margin-top: 0;
    font-size: 14px; }
  .about-info__person-info {
    padding-left: 10px;
    padding-right: 10px;
    gap: 12px; }
  .about-info__person-text {
    font-size: 12px;
    line-height: 140%; }
  .about__wrap {
    gap: 40px; }
  .about-foto__slider .swiper-slide {
    width: 300px; }
   .about-foto__slider .swiper-wrapper .swiper-slide,
   .about-foto__slider .swiper-wrapper .swiper-slide:first-child {
    border-radius: 32px; }
  .about-foto__item {
    height: 184px; }
  .order-block {
    height: 176px;
    margin-right: -10px;
    margin-left: -10px;
    width: auto; }
  .order-form__wrap {
    margin-top: -60px; }
  .order-block__title {
    padding-top: 40px; }
  .form-input__wrap input {
    height: 40px; }
    .form-input__wrap input:focus + label,
    .form-input__wrap input:not(:empty) + label,
    .form-input__wrap input:not(:placeholder-shown) + label {
      top: -12px;
      font-size: 12px; }
  .form-input__wrap label {
    height: 40px; }
  .checkbox span {
    font-size: 12px;
    padding-top: 0; }
  .agreement {
    gap: 15px;
    margin-bottom: 15px; }
  .agreement-text {
    font-size: 10px; }
  .faq__title {
    gap: 0;
    font-size: 20px;
    padding-bottom: 10px; }
  .faq__block,
  .reviews__block {
    position: relative; }
  .faq__desc {
    padding-top: 10px;
    font-size: 14px;
    line-height: 140%; }
  .icon-accord__wrap {
    position: absolute;
    bottom: 10px;
    right: 0; }
  .faq__block {
    border-bottom: 2px solid var(--color-white); }
  .process-steps__item {
    padding: 10px 10px 40px; }
  .process-steps__img {
    height: 148px;
    margin-bottom: 20px; }
  .process-steps__number {
    border-radius: 100px;
    padding: 3px 16px 6px;
    font-size: 10px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px; }
  .process-steps__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .process-steps__text {
    font-size: 14px;
    margin-left: 10px;
    margin-right: 10px; }
  .process-steps__slider {
    margin-bottom: 10px; }
  .process-steps__slider .swiper-scrollbar {
    bottom: -30px; }
  .reviews__block {
    padding: 20px 20px 40px;
    margin-left: -10px;
    margin-right: -10px; }
    .reviews__block .icon-accord__wrap {
      right: 20px; }
  .reviews__title,
  .reviews__desc {
    display: block; }
  .reviews__person-name {
    font-size: 20px;
    margin-bottom: 5px; }
  .reviews__person-date {
    font-size: 14px;
    margin-bottom: 20px; }
  .reviews__begin,
  .reviews__begin p,
  .reviews__end,
  .reviews__end p{
    padding-right: 0;
    font-size: 14px;
    line-height: 140%; }
  .reviews__desc span p {
    font-size: 14px; }
  .footer__wrap {
    padding-top: 0;
    padding-bottom: 0; }
  .footer__menu {
    display: none; }
  .footer-logo .logo__icon {
    height: 65px; }
  .footer {
    gap: 20px; }
  .btn-up {
    bottom: 40px;
    width: 40px;
    height: 40px; } 
  .social-btn {
    height: 30px;
    width: 30px;
  } 
    
}

@media screen and (max-width: 575px) {
  .about-foto__slider .swiper-slide {
    width: 250px; }
  .about-foto__item {
    height: 154px; }
  .order-form__wrap {
    margin-top: -60px;
    margin-right: -10px;
    margin-left: -10px;
    margin-bottom: 80px;
    width: auto;
    max-width: none; }
  .process-steps__img {
    height: 128px; } }

@media screen and (max-width: 370px) {
  .about-foto__slider .swiper-slide {
    width: 200px; }
  .about-foto__item {
    height: 134px; } }

@media print {
  .noprint {
    display: none; }
  .h1 {
    font-size: 30px; }
  .wrapper {
    padding-top: 0; }
  .article-detail__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .article-detail__text {
    margin-top: 40px; } }
