.form__input, .form__textarea, body {
  font-family: Montserrat,sans-serif
}

.ovh, .section, .site-footer, .tarifs, body.overflow-hidden {
  overflow: hidden
}

a, body {
  color: #000
}

.btn, a, a:hover {
  text-decoration: none
}

body, figure {
  margin: 0
}

.btn, a:hover, button {
  cursor: pointer
}

figure, img, section, textarea {
  max-width: 100%
}

ol li a, ol li a:hover {
  text-decoration: underline
}

.list--styled li::before, a, img, ol li::before {
  display: inline-block
}

.page-404, .site-header__mobile-menu, body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal
}

.container, .list--styled li, body, html {
  position: relative
}

html {
  font-size: 62.5%
}

*, ::after, ::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  min-height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center
}

@media (max-width:800px) {
  body {
    font-size: 1.6rem
  }
}

img {
  height: auto;
  vertical-align: middle
}

blockquote {
  -webkit-margin-after: 0;
  -webkit-margin-before: 0;
  -webkit-margin-end: 0;
  -webkit-margin-start: 0
}

caption {
  text-align: left;
  color: #777;
  padding-bottom: .8rem;
  padding-top: .8rem
}

a {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

a:hover {
  color: #4888e8
}

p {
  margin-bottom: 0
}

button {
  padding: 0;
  background-color: transparent;
  outline: 0
}

.align-center {
  text-align: center !important
}

.container {
  width: calc(100% - 4rem);
  margin: auto;
  max-width: 108rem
}

.list {
  list-style-type: none;
  margin-left: 0;
  margin-top: 0;
  padding-left: 0;
  margin-bottom: 0
}

.list--styled li {
  margin-bottom: 2rem;
  padding-left: 2.2rem;
  line-height: 114%;
  color: #555
}

ol li, ol li a {
  color: #353434
}

.list--styled li::before {
  position: absolute;
  top: .2rem;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url(../img/check.avif);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: ""
}

.list--styled li:last-child {
  margin-bottom: 0
}

.list--bold li {
  font-weight: 700
}

sup {
  font-size: .5rem
}

a img.icon, a svg.icon {
  -webkit-transition: initial;
  transition: initial
}

img.icon, svg.icon {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

ol {
  counter-reset: item;
  list-style: none;
  padding-left: 0
}

ol li {
  position: relative;
  font-size: 1.6rem;
  line-height: 2.6rem;
  counter-increment: item;
  margin-bottom: 2rem;
  padding-left: 2rem
}

ol li a {
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none
}

.c-primary, .site-header__mobile-menu .site-header__mobile-menu-item:hover, .site-header__nav .site-header__nav-item:hover, .site-header__open-menu-mobile:hover, ol li a:hover {
  color: #4888e8
}

ol li::before {
  position: absolute;
  top: -.1rem;
  left: 0;
  content: counters(item,".") "."
}

textarea {
  min-width: 100%
}

.site-header {
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  position: initial;
  background-color: #fff
}

.site-header .site-header__container {
  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;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.4rem;
  padding: 2.4rem 5rem;
  -webkit-transition: all .5s ease;
  transition: all .5s ease
}

@media (max-width:1350px) {
  .site-header .site-header__container {
    gap: 1.2rem
  }
}

@media (max-width:1024px) {
  .site-header .site-header__container {
    padding: 2rem
  }
}

.site-header.site-header--sticky {
  position: fixed;
  top: 0;
  will-change: transform
}

.site-header.is-active {
  -webkit-box-shadow: 0 1rem 2rem 0 rgba(0,0,0,.1);
  box-shadow: 0 1rem 2rem 0 rgba(0,0,0,.1)
}

.site-header.is-active .site-header__container {
  padding: 1rem 5rem
}

@media (max-width:1024px) {
  .site-header.is-active .site-header__container {
    padding: 2rem
  }
}

.site-header .site-header__logo {
  position: relative;
  line-height: 1;
  z-index: 5;
  max-width: 15.7rem
}

.site-header .site-header__logo-img {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

.main-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.main-nav a {
  padding: 1rem 1.5rem;
  font-size: 1.8rem;
  text-align: center
}

.site-header__open-menu-mobile {
  position: relative;
  border-radius: 10rem;
  width: 4rem;
  height: 4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 5
}

.site-header__open-menu-mobile .open {
  -webkit-transition: all .3 ease;
  transition: all .3 ease
}

.site-header__open-menu-mobile .close {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  -webkit-transition: all .3 ease;
  transition: all .3 ease
}

.site-header__open-menu-mobile.site-header__open-menu-mobile--active .close {
  opacity: 1
}

.site-header__open-menu-mobile.site-header__open-menu-mobile--active .open {
  opacity: 0
}

.site-header__mobile-menu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 9rem 2rem 2.4rem;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  -webkit-backdrop-filter: blur(3rem);
  backdrop-filter: blur(3rem);
  background: rgba(255,255,255,.15);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.site-header__mobile-menu .site-header__mobile-menu-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  padding: 1rem 0
}

@media (max-width:800px) {
  .main-nav a, .site-header__mobile-menu .site-header__mobile-menu-item {
    font-size: 1.6rem
  }
}

.site-header__mobile-menu .site-header__mobile-menu-item .icon {
  fill: currentColor
}

.site-header__mobile-menu .site-header__mobile-menu-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;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-top: 1px solid rgba(0,0,0,.1);
  padding: 2.4rem;
  height: 80px;
  background-color: #fff
}

.site-header__mobile-menu.site-header__open-menu-mobile--active {
  opacity: 1;
  visibility: visible;
  max-height: 100vh
}

.site-header__mobile-menu .btn {
  margin-top: auto
}

.site-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 4rem;
  border: .1rem solid rgba(255,255,255,.3);
  border-radius: 10rem;
  padding: 1.6rem 4rem;
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  background: rgba(255,255,255,.1);
  height: 5.6rem
}

.btn, .heading__title {
  display: -ms-inline-flexbox
}

.btn:disabled, .btn:disabled:hover {
  background-color: #eaeaea
}

.site-header__nav .site-header__nav-item {
  position: relative;
  font-size: 1.6rem;
  line-height: 133%
}

@media (max-width:1350px) {
  .site-header__nav .site-header__nav-item {
    font-size: 1.4rem
  }
}

button {
  border: none
}

.btn {
  position: relative;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #fff;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  border-radius: 1.5rem;
  outline: 0;
  font-size: 2.5rem
}

@media (max-width:800px) {
  .btn {
    font-size: 1.6rem
  }
}

.btn:disabled {
  cursor: not-allowed
}

.btn.btn--with-icon {
  gap: 1.2rem
}

.btn--primary {
  background-color: #4888e8
}

.btn--primary .icon {
  fill: currentColor;
  -webkit-transition: none;
  transition: none
}

.btn--primary:hover {
  background-color: rgb(49.3470873786,121.2694174757,229.1529126214);
  color: #fff
}

.btn--primary:active {
  background-color: rgb(94.6529126214,150.7305825243,234.8470873786);
  color: #fff
}

.btn--dark {
  background-color: #000;
  color: #fff
}

.btn--dark:hover {
  background-color: #4888e8;
  color: #fff
}

.info-card--bg1, .section--highlighted {
  background-color: #ebf3ff
}

.btn--dark.btn--with-icon {
  padding: 1.2rem 1.6rem;
  gap: 1rem
}

@media (max-width:1024px) {
  .btn--dark.btn--with-icon {
    padding: 1.4rem
  }
}

.btn--full-width {
  width: 100%
}

.btn--centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content
}

.btn--x-large {
  height: 7rem;
  padding: 1rem 3.2rem
}

@media (max-width:1024px) {
  .btn--x-large {
    height: 4.8rem;
    padding: 1.1rem 3.2rem
  }
}

.btn--large {
  height: 6rem;
  padding: 1.1rem 3.2rem
}

@media (max-width:1024px) {
  .btn--large {
    height: 4.8rem
  }
}

.btn--medium {
  height: 5.3rem;
  padding: .6rem 1.2rem;
  font-size: 2rem
}

.btn--small {
  height: 4rem;
  padding: 1.5rem 1.4rem
}

.btn--space-bottom {
  margin-bottom: 1.6rem
}

.btn--rounded {
  border-radius: .6rem
}

@media (max-width:800px) {
  .btn--full-width-mobile-only {
    width: 100%
  }
}

.btn--squared {
  border-radius: 1rem
}

.btn__content {
  letter-spacing: 0;
  text-align: left
}

.app-animation, .heading--centered, .page-404, .page-404__text, .page-404__title {
  text-align: center
}

.btn__content .btn__content-title {
  font-weight: 500;
  font-size: 2rem;
  text-transform: capitalize;
  display: block
}

@media (max-width:1024px) {
  .btn__content .btn__content-title {
    font-size: 1.6rem
  }
}

.btn__content .btn__content-suptitle {
  font-size: 1.2rem;
  font-weight: 400;
  display: block
}

.btns-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.4rem
}

.btns-flex--centered {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.store {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 5.5rem
}

.store--android {
  background-image: url(../images/stores/android.png);
  width: 19rem
}

.store--ios {
  background-image: url(../images/stores/ios.png);
  width: 18.6rem
}

.social {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 5rem;
  height: 5rem;
}

.social--telegram {
  background-image: url(/images/socials/telegram-icon.png);
}

.social--whatsapp {
  background-image: url(/images/socials/whatsapp-icon.png);
}

.socials {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  gap: 2.5rem;
}

.d--none, .d-b--mobile-only {
  display: none
}

@media (max-width:800px) {
  .d-b--mobile-only {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .d-b--desktop-only {
    display: none
  }
}

.section {
  position: relative
}

.section--medium-padding {
  padding: 5rem 0
}

@media (max-width:768px) {
  .site-header .site-header__logo-img {
    max-width: 10rem
  }

  .btns-flex {
    gap: 1.2rem
  }

  .section--medium-padding {
    padding: 3rem 0
  }
}

.section--large-padding {
  padding: 10rem 0
}

@media (max-width:768px) {
  .section--large-padding {
    padding: 5rem 0
  }
}

.section--top-padding-large {
  padding-top: 17.8rem
}

.section--botom-padding-large {
  padding-bottom: 10rem
}

.content-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.content-block__column {
  width: 50%;
  padding-right: 4rem
}

@media (max-width:1024px) {
  .btn__content .btn__content-suptitle {
    font-size: .9rem
  }

  .section--top-padding-large {
    padding-top: 10rem
  }

  .content-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.2rem
  }

  .content-block + .content-block {
    margin-top: 4rem
  }

  .content-block__column {
    width: 100%;
    padding-right: 0
  }
}

.content-block__column + .content-block__column {
  padding: 0 0 0 4rem;
  border-left: 1px solid #eaeaea
}

.heading {
  margin-bottom: 5rem
}

@media (max-width:1024px) {
  .content-block__column + .content-block__column {
    padding: 0;
    border-left: none
  }

  .heading {
    margin-bottom: 3.2rem
  }

  .heading + .btn {
    margin-top: 2.4rem
  }
}

.heading--space-bottom-zero {
  margin-bottom: 0
}

.heading__sub-title {
  margin-top: 2.4rem
}

@media (max-width:800px) {
  .heading__sub-title {
    margin-top: 1.6rem
  }
}

.heading__title {
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem
}

.heading__title-icon {
  position: relative;
  top: -.2rem
}

.heading__sub-title-item + .heading__sub-title-item {
  margin-top: 1rem
}

.heading__sub-title--large .heading__sub-title-item {
  font-size: 2.5rem
}

@media (max-width:768px) {
  .heading__sub-title--large .heading__sub-title-item {
    font-size: 1.8rem
  }
}

.heading__title--h1, h1 {
  font-size: 5rem
}

@media (max-width:800px) {
  .heading__title--h1, h1 {
    font-size: 3rem
  }
}

.heading__title--h2, h2 {
  font-size: 4rem
}

@media (max-width:800px) {
  .heading__title--h2, h2 {
    font-size: 2rem
  }
}

.form__group {
  margin-bottom: 2.4rem;
  width: 100%
}

.form__group--small-space-bottom {
  margin-bottom: 1.6rem
}

.form__group--without-space-bottom {
  margin-bottom: 0
}

.error-message {
  font-size: 1.4rem;
  color: #ff1b2a
}

.form__input, .form__textarea {
  width: 100%;
  height: 5.5rem;
  padding: 1.6rem;
  border: .1rem solid #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.14286;
  color: #000;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  border-radius: .6rem;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: 0
}

.form__input.input--error, .form__textarea.input--error {
  border-color: #ff1b2a
}

.form__input:active, .form__input:focus, .form__textarea:active, .form__textarea:focus {
  border-color: #4888e8;
  outline: 0
}

.form__input.form__input--invalid, .form__textarea.form__input--invalid {
  border-color: #ff1b2a
}

.form__input::-webkit-input-placeholder, .form__textarea::-webkit-input-placeholder {
  color: #000;
  opacity: 1
}

.form__input::-moz-placeholder, .form__textarea::-moz-placeholder {
  color: #000;
  opacity: 1
}

.form__input:-ms-input-placeholder, .form__textarea:-ms-input-placeholder {
  color: #000;
  opacity: 1
}

.form__input::-ms-input-placeholder, .form__textarea::-ms-input-placeholder {
  color: #000;
  opacity: 1
}

.form__input::placeholder, .form__textarea::placeholder {
  color: #000;
  opacity: 1
}

.form__input::input-placeholder, .form__textarea::input-placeholder {
  color: #000;
  opacity: 1
}

.form__input--large, .form__textarea--large {
  height: 6.8rem;
  padding: 1.5rem 2.4rem
}

.form__textarea {
  max-height: 30rem;
  min-height: 13rem;
  resize: vertical
}

.contact-form {
  max-width: 50rem;
  margin: 0 auto
}

.site-footer {
  padding: 2rem;
  margin-top: auto
}

.site-footer__copyright {
  font-size: 1.6rem
}

.site-footer__link {
  font-size: 1.6rem;
  gap: .8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.site-footer__links, .site-footer__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center
}

.site-footer__logo-img {
  max-width: 8.4rem
}

.site-footer__link--promo {
  color: #989898
}

.site-footer__links {
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.4rem
}

@media (max-width:768px) {
  .site-footer__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.site-footer__wrapper {
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.info-box, .page-404 {
  display: -webkit-box;
  display: -ms-flexbox
}

@media (max-width:768px) {
  .site-footer__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
    width: 100%
  }
}

.page-404 {
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 50vh
}

.page-404__text {
  font-weight: 700;
  font-size: 20rem;
  line-height: 120%
}

@media (max-width:800px) {
  .page-404__text {
    font-size: 10rem
  }
}

.page-404__title {
  font-size: 2.5rem;
  line-height: 127%;
  letter-spacing: -.03em;
  margin-bottom: 5rem
}

.info-card {
  border-radius: 2rem;
  padding: 7.5rem 5rem
}

.info-card--bg2 {
  background-color: #fef9f0
}

.presentation-img {
  display: block;
  max-width: calc(100% - 10rem);
  margin: 0 auto -9%;
  position: relative;
  z-index: -1
}

@media (max-width:768px) {
  .info-card {
    padding: 2rem
  }

  .presentation-img {
    margin: 0 auto -5%;
    max-width: calc(100% - 6rem)
  }
}

.app-animation .app-animation__images {
  display: inline-block;
  position: relative
}

.app-animation .app-animation__arrow {
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  max-width: initial
}

@media (max-width:768px) {
  .app-animation .app-animation__arrow {
    display: none
  }
}

.info-box {
  display: flex;
  gap: 2.4rem
}

.info-box + .info-box {
  margin-top: 5rem
}

.info-box .info-box__number {
  min-width: 8rem;
  min-height: 8rem;
  max-width: 8rem;
  max-height: 8rem;
  border-radius: 100%;
  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-weight: 700;
  font-size: 3rem;
  line-height: 110%
}

.info-box .info-box__title {
  font-weight: 700;
  margin-bottom: .6rem
}

.info-box__number--bg1 {
  background-color: #fdecec
}

.info-box__number--bg2 {
  background-color: #fdf7eb
}

.info-box__number--bg3 {
  background-color: #e8ebfd
}

.info-box__number--bg4 {
  background-color: #f0f9ef
}

.info-box__number--bg5 {
  background-color: #fdfdef
}

.tarifs {
  display: grid;
  grid-template-columns: repeat(3,calc((100% - 6.4rem)/ 3));
  gap: 3.2rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.tarif-item {
  border: 1px solid #eaeaea;
  border-radius: 1rem;
  padding: 2.4rem
}

.tarif-item .tarif-item__title {
  font-weight: 700;
  font-size: 3rem;
  margin-bottom: 1.2rem
}

@media (max-width:768px) {
  .info-box + .info-box {
    margin-top: 2.5rem
  }

  .tarifs {
    grid-template-columns: repeat(1,100%)
  }

  .tarif-item {
    padding: 1.6rem
  }

  .tarif-item .tarif-item__title {
    font-size: 2rem
  }
}

.tarif-item .tarif-item__price {
  font-weight: 700;
  font-size: 4rem;
  margin-bottom: 3.2rem
}

@media (max-width:768px) {
  .tarif-item .tarif-item__price {
    font-size: 3rem;
    margin-bottom: 2rem
  }
}

.tarif-item .tarif-item__price-period {
  font-size: 1.8rem
}

.tarif-item--main {
  color: #4888e8;
  border-color: #4888e8
}
