@charset "UTF-8";
/* Указываем box sizing */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Убираем внутренние отступы */
ul[class],
ol[class] {
  padding: 0; }

/* Убираем внешние отступы */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0; }

/* Выставляем основные настройки по-умолчанию для body */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5; }

/* Удаляем стандартную стилизацию для всех ul и il, у которых есть атрибут class*/
ul[class],
ol[class] {
  list-style: none; }

/* Элементы a, у которых нет класса, сбрасываем до дефолтных стилей */
a:not([class]) {
  text-decoration-skip-ink: auto; }

/* Упрощаем работу с изображениями */
img {
  max-width: 100%;
  display: block; }

/* Указываем понятную периодичность в потоке данных у article*/
article > * + * {
  margin-top: 1em; }

/* Наследуем шрифты для инпутов и кнопок */
input,
button,
textarea,
select {
  font: inherit; }

/* Удаляем все анимации и переходы для людей, которые предпочитай их не использовать */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }

@font-face {
  font-family: Open Sans;
  src: local("Open Sans"), local("Open Sans"), url("./../fonts/OpenSans-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: Open Sans;
  src: local("Open Sans"), local("Open Sans"), url("./../fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: Montserrat Alternates;
  src: local("Montserrat Alternates"), local("Montserrat Alternates"), url("./../fonts/MontserratAlternates-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: Montserrat Alternates;
  src: local("Montserrat Alternates"), local("Montserrat Alternates"), url("./../fonts/MontserratAlternates-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: Montserrat Alternates;
  src: local("Montserrat Alternates"), local("Montserrat Alternates"), url("./../fonts/MontserratAlternates-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: Ubuntu;
  src: local("Ubuntu-Regular"), local("Ubuntu-Regular"), url("./../fonts/Ubuntu-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

html {
  scroll-behavior: smooth; }

body {
  font-family: Open Sans;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 22px;
  color: #272D3D; }

@media (min-width: 1200px) {
  .container {
    width: 1110px; } }

@media (max-width: 768px) {
  body {
    font-size: 12px;
    line-height: 14px; } }

.alert-open {
  height: 87px;
  width: 255px; }
  @media (max-width: 768px) {
    .alert-open {
      width: 140px;
      height: 43px; } }

a {
  line-height: 22px;
  font-weight: 600;
  color: #272D3D;
  text-decoration: none;
  transition: 0.3s; }
  a:hover,
  a :active {
    text-decoration: none;
    color: #669DFF; }

h2 {
  font-family: Montserrat Alternates;
  font-style: normal;
  font-weight: 500;
  font-size: 36px;
  line-height: 44px;
  text-align: center; }
  @media (max-width: 768px) {
    h2 {
      font-size: 35px;
      line-height: 35px; } }

.margin {
  margin: 0 63px; }
  @media (max-width: 768px) {
    .margin {
      margin: 0; } }

.mobile-show {
  display: none; }

.mobile-hide {
  display: block; }

.bury {
  max-height: 0vh;
  overflow: hidden; }

.body-hidden {
  overflow: hidden; }

@media (max-width: 768px) {
  .mobile-show {
    display: block; }
  .mobile-hide {
    display: none; } }

.tablet-show {
  display: none; }

.tablet-hide {
  display: block; }

@media (max-width: 768px) {
  .tablet-show {
    display: block; }
  .tablet-hide {
    display: none; } }

.header-right-social-item img {
  border-radius: 7px; }

.alert-toggle:hover {
  transform: translateY(3px);
  transition: 0.2s; }

.header {
  padding-top: 40px;
  padding-bottom: 35px; }
  .header-block {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .header-block {
        flex-direction: column; } }
    .header-block-menu {
      display: flex;
      align-items: flex-end; }
      @media (max-width: 768px) {
        .header-block-menu {
          flex-wrap: wrap; } }
      .header-block-menu > * {
        margin: 10px 10px; }

.subheader-block {
  background-image: url("./../img//BG.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: relative; }
  .subheader-block .img {
    position: absolute;
    top: 86px;
    right: 0; }
  .subheader-block-left {
    padding-left: 64px;
    padding-top: 120px;
    padding-bottom: 133px; }
    @media (max-width: 768px) {
      .subheader-block-left {
        padding-left: 15px;
        padding-top: 30px;
        padding-bottom: 45px; } }

.subheader-wrapper {
  position: relative;
  height: 260px; }
  @media (max-width: 768px) {
    .subheader-wrapper {
      height: fit-content; } }

.subheader-bottom {
  position: absolute;
  top: -45px;
  opacity: 0.8;
  border: 1px solid rgba(39, 45, 61, 0.5);
  box-sizing: border-box;
  border-radius: 5px;
  display: flex;
  padding: 0 65px;
  background: white; }
  @media (max-width: 768px) {
    .subheader-bottom {
      padding: 0;
      flex-direction: column;
      margin: 30px 0;
      position: relative; } }
  .subheader-bottom-item {
    padding: 40px 32px;
    border-right: 0.5px solid rgba(39, 45, 61, 0.5);
    box-sizing: border-box; }
    @media (max-width: 768px) {
      .subheader-bottom-item {
        border: none; } }
    .subheader-bottom-item-title {
      font-family: Montserrat Alternates;
      font-style: normal;
      font-weight: 600;
      font-size: 18px;
      line-height: 22px;
      margin: 10px 0;
      min-width: 220px; }
  .subheader-bottom :last-child {
    border: none; }

.subheader-title {
  font-family: Montserrat Alternates;
  font-style: normal;
  font-weight: 500;
  font-size: 48px;
  line-height: 58px; }
  @media (max-width: 768px) {
    .subheader-title {
      font-size: 30px;
      line-height: 30px; } }

.subheader-subtitle {
  font-family: Open Sans;
  font-weight: normal;
  font-size: 20px;
  line-height: 29px;
  letter-spacing: 0.01em;
  opacity: 0.8;
  margin-top: 50px;
  margin-bottom: 60px;
  padding-right: 40px; }
  @media (max-width: 768px) {
    .subheader-subtitle {
      padding-right: 0; } }

.subheader-buttons {
  display: flex; }
  .subheader-buttons .button-darck {
    margin-right: 30px; }

.subheader-privacy-wrapper {
  position: relative; }
  .subheader-privacy-wrapper .img {
    position: absolute;
    top: 0;
    left: 0; }

.subheader-privacy-content {
  position: sticky;
  padding: 120px 67px 63px 64px; }
  @media (max-width: 768px) {
    .subheader-privacy-content {
      padding: 30px 30px 30px 30px; } }
  .subheader-privacy-content h2 {
    text-align: start; }
  .subheader-privacy-content a {
    margin-top: 50px;
    margin-bottom: 100px; }
    @media (max-width: 768px) {
      .subheader-privacy-content a {
        margin-top: 30px;
        margin-bottom: 50px; } }
  .subheader-privacy-content-title {
    font-family: Montserrat Alternates;
    font-style: normal;
    font-weight: bold;
    font-size: 48px;
    line-height: 58px;
    margin-bottom: 80px; }
    @media (max-width: 768px) {
      .subheader-privacy-content-title {
        font-size: 32px;
        line-height: 40px;
        margin-bottom: 40px; } }

.subheader-privacy-inform {
  padding: 0 64px; }
  @media (max-width: 768px) {
    .subheader-privacy-inform {
      padding: 0; } }
  .subheader-privacy-inform li {
    text-indent: -1.5em;
    padding-left: 1.5em; }
  .subheader-privacy-inform h2 {
    text-align: start; }
  .subheader-privacy-inform a {
    margin-top: 50px;
    margin-bottom: 100px; }
    @media (max-width: 768px) {
      .subheader-privacy-inform a {
        margin-top: 30px;
        margin-bottom: 50px; } }

.subheader-privacy .subheader {
  margin-bottom: 20px; }

.subheader-privacy .subheader-lg {
  margin-bottom: 50px; }

.empty-space {
  height: 50px; }

.button-darck {
  background: #272D3D;
  color: #ffffff;
  border-radius: 16px;
  padding: 16px 50px;
  width: fit-content;
  outline: none;
  border: none;
  transition: 0.3s;
  cursor: pointer; }
  @media (max-width: 768px) {
    .button-darck {
      padding: 10px 25px; } }
  .button-darck:hover {
    color: #ffffff;
    background: #669DFF; }

.button-blue {
  background: #669DFF;
  color: #ffffff;
  border-radius: 16px;
  padding: 16px 50px;
  width: fit-content;
  outline: none;
  border: none;
  transition: 0.3s; }
  @media (max-width: 768px) {
    .button-blue {
      padding: 10px 25px; } }
  .button-blue:hover {
    color: #ffffff;
    opacity: 0.4; }

.button-link {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 16px;
  display: flex;
  align-items: center;
  transition: 0.3s;
  cursor: pointer; }
  @media (max-width: 768px) {
    .button-link {
      font-size: 16px;
      line-height: 14px; } }
  .button-link > * {
    margin: 0 4px; }
  .button-link:hover {
    color: #669DFF; }

.about-us {
  padding-top: 200px; }
  @media (max-width: 768px) {
    .about-us {
      padding-top: 50px; } }
  .about-us-img {
    position: relative; }
    .about-us-img img {
      position: absolute;
      top: 0; }
    .about-us-img :first-child {
      left: 40px; }
      @media (max-width: 768px) {
        .about-us-img :first-child {
          left: 11px;
          top: -9px; } }
    .about-us-img :last-child {
      top: 80px; }
      @media (max-width: 768px) {
        .about-us-img :last-child {
          position: relative; } }
  .about-us-text {
    margin-top: 80px;
    padding: 45px 0;
    margin-bottom: 100px;
    padding-left: 30px; }
    @media (max-width: 768px) {
      .about-us-text {
        padding-left: 0;
        margin-top: 120px;
        margin-bottom: 20px; } }
    .about-us-text-item {
      padding: 20px 0;
      border-top: 1px solid rgba(39, 45, 61, 0.5); }
    .about-us-text :last-child {
      border-bottom: 1px solid rgba(39, 45, 61, 0.5); }
  .about-us-bunner {
    margin-top: 200px;
    background: #272d3d;
    border-radius: 20px;
    padding: 100px 97px;
    display: flex;
    justify-content: space-between;
    position: relative;
    display: none; }
    @media (max-width: 768px) {
      .about-us-bunner {
        margin-top: 70px;
        flex-direction: column;
        padding: 50px 45px; } }
    .about-us-bunner img {
      position: absolute;
      bottom: 0;
      right: 0;
      border-radius: 20px; }
    @media (max-width: 768px) {
      .about-us-bunner-number {
        margin-bottom: 40px; }
        .about-us-bunner-number:last-child {
          margin-bottom: 0; } }
    .about-us-bunner-number-title {
      font-family: Montserrat Alternates;
      font-style: normal;
      font-weight: 600;
      font-size: 48px;
      line-height: 59px;
      letter-spacing: 0.03em;
      background: linear-gradient(94.26deg, rgba(255, 227, 224, 0.6) 0%, rgba(255, 223, 229, 0.6) 12.73%, rgba(248, 190, 240, 0.6) 29.32%, rgba(211, 188, 246, 0.6) 40.69%, rgba(132, 193, 255, 0.6) 55.53%, rgba(174, 209, 251, 0.6) 74.07%), linear-gradient(0deg, #f9fdff, #f9fdff);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
    .about-us-bunner-number-subtitle {
      font-family: Montserrat Alternates;
      font-style: normal;
      font-weight: 600;
      font-size: 18px;
      line-height: 22px;
      color: #f9fdff; }

.services {
  margin-top: 200px; }
  @media (max-width: 768px) {
    .services {
      margin-top: 70px; } }
  .services-content {
    padding-top: 80px; }
    @media (max-width: 768px) {
      .services-content {
        padding-top: 40px; } }
  .services-item {
    margin-bottom: 40px; }
    .services-item-title {
      font-family: Montserrat Alternates;
      font-style: normal;
      font-weight: 600;
      font-size: 18px;
      line-height: 22px;
      margin-bottom: 10px; }
  .services-bunner {
    border-radius: 20px;
    padding: 100px 97px;
    position: relative;
    margin-top: 200px; }
    @media (max-width: 768px) {
      .services-bunner {
        padding: 10px 15px;
        margin-top: 50px;
        background: #272d3d; } }
    .services-bunner img {
      position: absolute;
      top: 0;
      left: 0; }
    .services-bunner-top {
      display: flex;
      justify-content: space-between;
      margin-bottom: 60px;
      position: relative; }
      @media (max-width: 768px) {
        .services-bunner-top {
          margin-bottom: 10px; } }
      .services-bunner-top-title {
        font-family: Montserrat Alternates;
        font-style: normal;
        font-weight: 500;
        font-size: 36px;
        line-height: 44px;
        color: #f9fdff; }
        @media (max-width: 768px) {
          .services-bunner-top-title {
            font-size: 25px;
            line-height: 25px; } }
      .services-bunner-top-subtitle {
        font-family: Open Sans;
        font-style: normal;
        font-weight: normal;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: 0.01em;
        color: #f9fdff;
        opacity: 0.8;
        display: flex;
        align-items: flex-end; }
        @media (max-width: 768px) {
          .services-bunner-top-subtitle {
            font-size: 13px;
            line-height: 18px; } }
    .services-bunner-middle {
      display: flex;
      justify-content: space-around;
      padding-bottom: 12px;
      border-bottom: 2px solid #686e7b;
      position: relative; }
      .services-bunner-middle-number {
        font-family: Montserrat Alternates;
        font-style: normal;
        font-weight: 600;
        font-size: 72px;
        line-height: 88px;
        text-align: center;
        letter-spacing: 0.03em;
        color: rgba(249, 253, 255, 0.1); }
        @media (max-width: 768px) {
          .services-bunner-middle-number {
            font-size: 35px;
            line-height: 40px; } }
    .services-bunner-bottom {
      position: relative;
      padding-top: 21px;
      display: flex;
      justify-content: space-around;
      font-family: Montserrat Alternates;
      font-style: normal;
      font-weight: 600;
      font-size: 18px;
      line-height: 22px;
      text-align: center;
      color: #f9fdff; }
      @media (max-width: 768px) {
        .services-bunner-bottom {
          font-size: 10px;
          line-height: 20px; } }
      .services-bunner-bottom-item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        top: -32px; }
      .services-bunner-bottom img {
        margin-bottom: 12px;
        position: inherit; }

.industries {
  margin-top: 200px; }
  @media (max-width: 768px) {
    .industries {
      margin-top: 50px; } }
  .industries-content {
    padding-top: 60px;
    margin: 0 190px; }
    @media (max-width: 768px) {
      .industries-content {
        margin: 0; } }
    .industries-content-item {
      margin-bottom: 30px; }
      .industries-content-item-title {
        font-family: Open Sans;
        font-style: normal;
        font-weight: normal;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: 0.01em;
        margin-top: 10px; }

.contacts {
  padding-top: 250px; }
  @media (max-width: 768px) {
    .contacts {
      padding-top: 50px; } }
  .contacts-wrapper {
    position: relative; }
    .contacts-wrapper img {
      position: absolute;
      top: 0;
      left: 0; }
  .contacts-contant {
    padding-top: 100px;
    padding-left: 162px;
    padding-bottom: 194px;
    position: relative;
    margin-bottom: 130px; }
    @media (max-width: 768px) {
      .contacts-contant {
        padding: 5px;
        margin-bottom: 60px; } }
    .contacts-contant-title {
      font-family: Montserrat Alternates;
      font-style: normal;
      font-weight: 500;
      font-size: 36px;
      line-height: 44px;
      margin-bottom: 20px; }
      @media (max-width: 768px) {
        .contacts-contant-title {
          font-size: 30px;
          line-height: 25px;
          margin-bottom: 10px; } }
    .contacts-contant-subtitle {
      font-family: Open Sans;
      font-style: normal;
      font-weight: normal;
      font-size: 20px;
      line-height: 29px;
      letter-spacing: 0.01em;
      color: #272d3d;
      opacity: 0.8; }
      @media (max-width: 768px) {
        .contacts-contant-subtitle {
          font-size: 14px;
          line-height: 20px; } }
  .contacts-form {
    background: #272d3d;
    border-radius: 20px;
    padding: 90px 65px;
    position: absolute;
    top: -63px;
    right: 65px; }
    @media (max-width: 768px) {
      .contacts-form {
        position: sticky;
        padding: 10px 15px;
        margin-bottom: 60px; } }
    .contacts-form button {
      margin-top: 20px; }
      @media (max-width: 768px) {
        .contacts-form button {
          margin-bottom: 20px; } }

.input-group {
  position: relative;
  margin-bottom: 20px;
  width: 345px; }
  @media (max-width: 768px) {
    .input-group {
      width: 100%; } }
  .input-group .input-area {
    background: transparent;
    outline: none;
    border: none;
    border-bottom: 1px solid rgba(249, 253, 255, 0.4);
    padding: 0;
    font-family: Open Sans, sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.01em;
    color: #f9fdff;
    width: 100%;
    height: 48px;
    transition: 0.3s; }
  .input-group .input-area:valid + .label {
    top: -8px;
    font-size: 14px;
    color: #8d8d8d; }
  .input-group .input-area:visited {
    border-bottom: 1px solid rgba(249, 253, 255, 0.5); }
  .input-group .input-area:focus {
    border-bottom: 1px solid #669dff; }
  .input-group .label {
    position: absolute;
    top: 20px;
    transition: 0.3s;
    font-family: Open Sans, sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.01em;
    color: #f9fdff;
    opacity: 0.6;
    left: 0; }
  .input-group .input-area:focus + .label {
    top: -8px;
    font-size: 14px;
    line-height: 16px;
    opacity: 0.5;
    color: #f9fdff; }
  .input-group img {
    position: absolute;
    right: 0;
    top: 25px;
    transition: 0.3s; }

.wpcf7-response-output {
  color: white;
  max-width: 320px;
  position: absolute; }

.footer-top {
  background: #272D3D;
  border-radius: 20px;
  padding: 56px 64px;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .footer-top {
      padding: 26px 34px;
      flex-direction: column; } }
  .footer-top-logo {
    margin-bottom: 20px; }
  .footer-top-menu {
    display: flex;
    flex-direction: column; }
    .footer-top-menu-items {
      display: flex; }
      @media (max-width: 768px) {
        .footer-top-menu-items {
          flex-wrap: wrap; } }
      .footer-top-menu-items > * {
        margin: 0 10px;
        font-family: Open Sans;
        font-style: normal;
        font-weight: 600;
        font-size: 16px;
        line-height: 22px;
        color: #f9fdff;
        margin-bottom: 23px; }
    .footer-top-menu-terms {
      display: flex;
      justify-content: flex-end; }
      .footer-top-menu-terms > * {
        margin: 0 10px;
        font-family: Open Sans;
        font-style: normal;
        font-weight: normal;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: 0.01em;
        color: #f9fdff;
        opacity: 0.5; }
        .footer-top-menu-terms > *:hover {
          opacity: 1;
          color: #f9fdff; }

.footer-bottom {
  font-family: Ubuntu;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  line-height: 23px;
  padding-top: 20px;
  padding-bottom: 13px;
  text-align: center;
  color: #272d3d;
  opacity: 0.5;
  text-align: center; }
  @media (max-width: 768px) {
    .footer-bottom {
      font-size: 12px; } }
