@import url(../fonts/stylesheet.css);

/* RESET CSS */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}
a {
   text-decoration: none;
   color: inherit;
   transition: var(--transition);
}
b {
   font-weight: 600;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
   display: block;
}

textarea:focus {
   outline: none;
}
textarea {
   resize: none;
}
/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
   display: none;
}

/* Reset box-model */
html {
   box-sizing: border-box;
}
*,
*:before,
*:after {
   box-sizing: inherit;
}

body,
html {
   line-height: normal;
   overflow-x: hidden;
}
body.no-scroll,
html.no-scroll {
   overflow: hidden;
}
ol,
ul {
   list-style: none;
   list-style-type: none;
}

blockquote,
q {
   quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
   content: "";
   content: none;
}

abbr[title],
dfn[title] {
   border-bottom: 1px dotted;
}

table {
   border-collapse: collapse;
   border-spacing: 0;
}

img,
video {
   max-width: 100%;
   /* width: 100%; */
}

img {
   border-style: none;
}
* {
   box-sizing: border-box !important;
}
button,
input,
optgroup,
select,
textarea {
   margin: 0;
   padding: 0;
   border: 0;
   vertical-align: middle;
   color: inherit;
   font: inherit;
   background: transparent;
   text-align: inherit;
   text-transform: inherit;
}
button:disabled {
   opacity: 0.5;
   pointer-events: none;
}
button {
   cursor: pointer;
   transition: var(--transition);
}
input:focus {
   outline: none;
}
:root {
   --accent-color: #d22c2c;
   --text-color: #3e3e3e;
   --secondary-color: #858585;
   --muted-color: #c4c4c4;
   --accent-bg-color: #eeeeee;
   --transition: all 0.4s ease;
   --fs-title: 40px;
   --fs-main: 20px;
   --fs-sl: 16px;
}

.accented {
   background-color: var(--accent-bg-color);
}
.ttu {
   text-transform: uppercase;
}
body {
   font-family: "Stem";
   color: var(--text-color);
   font-size: var(--fs-main);
}
.container {
   max-width: 1325px;
   margin: 0 auto;
}
.container--xxl {
   max-width: 1735px;
}

/* 
Button insperation by @ke1221
Menu icon transofmation insperation by @Ali-Tahmazi99
*/
.menuButton {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   gap: 10%;
   color: #090909;
   cursor: pointer;
   width: 50px;
   height: 50px;
   border-radius: 15px;
   background: #e8e8e8;
}

input[type="checkbox"] {
   -webkit-appearance: none;
   display: none;
   visibility: hidden;
}

.menuButton span {
   width: 30px;
   height: 4px;
   background: #131313;
   border-radius: 100px;
   transition: 0.4s ease;
}
.hero__title {
   width: 50%;
   color: var(--secondary-color);
   margin-bottom: 250px;
}
.hero__title span {
   color: #fff;
}
.hero__mobile-bg {
   display: none;
}
.speech-bubble-wrapper {
   position: absolute;
   top: 24%;
   right: 24%;
}
.speech-bubble {
   position: relative;
   border-radius: 25px;
   padding: 20px 25px;
   border: 2px solid var(--secondary-color);
   display: flex;
   flex-direction: column;
}

.speech-bubble:after {
   content: "";
   position: absolute;
   right: -37px;
   top: 50%;
   width: 37px;
   border-radius: 1px;
   height: 2px;
   background: var(--secondary-color);
}
.speech-bubble::before {
   content: "";
   width: 39px;
   height: 2px;
   background: var(--secondary-color);
   right: 0;
   position: absolute;
   top: 60%;
   right: -40px;
   border-radius: 1px;
   transform-origin: left;
   transform: rotate(-23deg);
}
.hero {
   position: relative;
   color: #fff;
   padding: 70px 0 60px;
   background: url(../img/hero_bg2.png) 130% no-repeat;
   background-size: auto 103%;
}
.hero * {
   z-index: 1;
}
.hero::after {
   height: 100%;
   background: rgba(38, 38, 38, 1);
   width: 100%;
   content: "";
   right: 0;
   z-index: -1;
   position: absolute;
   display: block;
   top: 0;
}

.header__inner {
   /* padding-top: 50px; */
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 70px;
}
.header__left {
   display: flex;
   align-items: center;
   gap: 80px;
}
.header__logo {
   display: flex;
}
.header__main-site {
   text-decoration: underline;
   color: #c4c4c4;
}
.header__button {
}
.hero__content {
   position: relative;
}
.sc-title {
   font-size: var(--fs-title);
   text-transform: uppercase;
   font-weight: 500;
}
.speech-booble {
}
.speech-bubble__text {
}
.speech-bubble__accent {
   color: var(--muted-color);
   font-weight: 500;
}
.hero__buttons {
   display: flex;
   align-items: center;
   margin-bottom: 80px;
}
.regular-button {
   background: var(--accent-color);
   text-transform: uppercase;
   padding: 24px 30px;
   font-weight: 700;
   border-radius: 15px;
   align-items: center;
   text-align: center;
   border: 2px solid var(--accent-color);
   color: #fff;
   display: inline-flex;
   justify-content: center;
}
.regular-button:hover {
   color: var(--text-color);
   background-color: transparent;
}
.regular-button--dark-bg:hover {
   color: #fff;
}
.regular-padding {
   padding: 110px 0;
}
.hero__buttons-info {
   display: flex;
   background: #fff;
   color: var(--text-color);
   text-transform: uppercase;
   font-size: var(--fs-sl);
   padding: 14px 32px 14px 82px;
   font-weight: 500;
   position: relative;
   align-items: center;
   border-top-right-radius: 50px;
   border-bottom-right-radius: 50px;
}
.hero__buttons-arrow {
   display: flex;
   width: 50px;
   height: 35px;
   left: 25px;
   transform: rotate(180deg);
   position: absolute;
}
.hero__bottom {
   display: flex;
   justify-content: space-between;
}
.hero__bottom-item {
   text-transform: uppercase;
   font-size: var(--fs-sl);
   font-weight: 500;
}
.hero__bottom-item:nth-child(even) {
   color: var(--secondary-color);
}
.hero__buttons-arrow img {
   width: 100%;
}

.solutions {
}
.regular-padding {
}
.container {
}
.solutions__inner {
   margin-bottom: 70px;
}
.sc-title {
}
.solutions__title {
   margin-bottom: 35px;
}
.sc-subtitle {
   font-weight: 500;
}
.solutions__bottom {
   position: relative;
}
.container--xxl {
   position: relative;
}
.swiper {
}
.solution__slider {
}
.swiper-wrapper {
}
.swiper-slide {
}
.solution__slide {
   display: flex;
   align-items: center;
   gap: 20px;
   padding: 40px 30px;
   height: 130px;
   border: 2px solid var(--secondary-color);
   border-radius: 25px;
}
.solution__slide--top .solution__slide-icon {
   transform: rotate(-45deg);
}
.solution__slide-icon {
   width: 30px;
   height: 30px;
   min-width: 30px;
   aspect-ratio: 1/1;
}
.solution__slide-text {
   font-weight: 500;
   text-transform: uppercase;
}
.solution__slide--bottom .solution__slide-icon {
   transform: rotate(45deg);
}
.swiper-button {
}
.swiper-button-next,
.swiper-button-prev {
   color: var(--muted-color) !important;
}
.solution__slide-icon svg {
   width: 100%;
   height: 100%;
}

/* STEPS */
.steps {
}
.steps__inner {
}
.steps__title {
   margin-bottom: 120px;
}
.steps__items {
   display: flex;
   flex-direction: column;
   counter-reset: steps;
   /* row-gap: 60px; */
   margin-bottom: 70px;
}

.steps__item {
   position: relative;
   padding-left: 130px;
   counter-increment: steps;
}
.steps__item:not(:last-child) {
   padding-bottom: 60px;
}
.steps__item::before {
   content: "Этап " counter(steps);
   position: absolute;
   left: 0;
   width: 100px;
   z-index: 2;
   transform: translateY(-35%);
   height: 100px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 100px;
   background: var(--accent-color);
   font-weight: 500;
   font-size: var(--fs-sl);
   color: #fff;
   text-transform: uppercase;
}
.steps__item:not(:last-child)::after {
   content: "";
   width: 7px;
   display: block;
   height: 100%;
   background: var(--accent-color);
   left: calc(50px - 3.5px);
   top: 0;
   z-index: 1;
   position: absolute;
}
.steps__item-inner {
}
.steps__item-head {
   display: flex;
   gap: 14px;
   align-items: center;
   margin-bottom: 25px;
}
.steps__item-title {
   font-weight: 700;
   text-transform: uppercase;
}
.steps__item-note {
   text-transform: uppercase;
   font-weight: 700;
   color: var(--muted-color);
}
.steps__item-list {
   display: flex;
   flex-wrap: wrap;
   gap: 20px 70px;
}
.steps__item:not(:last-child) .steps__item-list {
   border-bottom: 1px dashed var(--muted-color);
   padding-bottom: 60px;
}
.steps__item-list-el {
   font-weight: 500;
   color: var(--secondary-color);
   position: relative;
   padding-left: 46px;
}
.steps__item-list-el::before {
   width: 32px;
   height: 32px;
   content: "";
   background: url(../img/icons/check.svg) center no-repeat;
   background-size: contain;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}
.steps__item-bottom {
   padding: 24px 0;
   position: relative;
   display: flex;
   border-bottom: 1px dashed var(--muted-color);
}
.steps__item-bottom-icon {
   width: 120px;
   display: flex;
   min-width: 40px;
   position: absolute;
   left: -70px;
   top: 50%;
   transform: translateY(-50%);
}
.steps__item-bottom-icon img {
   width: 100%;
}
.steps__item-bottom-text {
   font-weight: 500;
   color: var(--secondary-color);
   margin-left: 70px;
}
.steps__bottom {
}

.cta {
   position: relative;
   height: 628px;
}

.regular-padding {
}
.container {
}
.cta__row {
   display: flex;
   position: relative;
}
.cta__row::before {
   height: 700px;
   width: 500px;
   content: "";
   position: absolute;
   right: 0;
   top: -182px;
   background: url(../img/min_img.png) right no-repeat;
   background-size: cover;
}
.cta__text {
}
.sc-title {
}
.speech-bubble-wrapper {
}
.speech-bubble-wrapper--cta {
   position: relative;
   right: auto;
   top: auto;
   margin: 100px 0 0 180px;
}
.speech-bubble {
}
.speech-bubble__text {
   margin-bottom: 10px;
   font-weight: 500;
}
.speech-bubble__accent {
}
.cta__img {
   display: none;
}
.education {
}
.education__inner {
   background: url(../img/education.png) left center no-repeat;
   background-size: contain;
}
.education__text {
   text-align: end;
}
.education__title {
   margin-bottom: 45px;
}
.education__descr {
   margin-bottom: 200px;
   font-weight: 500;
}

.team {
}
.team__inner {
   position: relative;
}
.team__title {
   margin-bottom: 90px;
}
.team__bottom {
   position: relative;
}
.team__slider {
}

.team__slide {
}
.team__slide-preview {
   height: 350px;
   border-radius: 25px;
   overflow: hidden;
   margin-bottom: 30px;
}
.team__slide-preview img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.team__slide-fullname {
   font-weight: 700;
   text-transform: uppercase;
   margin-bottom: 10px;
}
.team__slide-spec {
   font-weight: 500;
   color: var(--secondary-color);
}

.cases {
}
.cases__inner {
   display: flex;
   justify-content: space-between;
   gap: 100px;
}
.cases__text {
}
.regular-padding {
}
.cases__text-head {
   margin-bottom: 40px;
}
.cases__title {
}
.cases__head-note {
   color: var(--secondary-color);
}
.cases__company {
   display: flex;
   align-items: center;
   gap: 40px;
   margin-bottom: 70px;
}
.cases__company-logo {
}
.cases__company-about {
}
.cases__company-name {
   text-transform: uppercase;
   font-weight: 700;
   margin-bottom: 10px;
}
.cases__company-niche {
   font-weight: 500;
   color: var(--secondary-color);
}
.cases__buttons {
   display: flex;
   align-items: center;
   gap: 50px;
}
.regular-button {
}
.regular-button--outline {
   border-color: var(--text-color);
   background: transparent;
   color: var(--text-color);
}
.regular-button--outline:hover {
   opacity: 0.8;
}
.cases__img {
   display: flex;
}

.footer {
   padding: 70px 0;
}
.footer__inner {
   display: flex;
   flex-direction: column;
   row-gap: 15px;
}
.footer__row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 50px;
}
.footer__contacts {
   display: flex;
   justify-content: space-between;
   flex-grow: 1;
}
.footer__contacts-item {
   font-weight: 700;
}
.footer__contacts-item:hover {
   color: var(--muted-color);
}
.messengers {
   display: flex;
   align-items: center;
   gap: 10px;
}
.messengers__el {
   display: flex;
}
.messengers__el svg * {
   transition: var(--transition);
}
.messengers__el:hover svg > path {
   fill: var(--text-color);
   transition: var(--transition);
}
.messengers__el:hover svg > rect {
   stroke: var(--text-color);
   transition: var(--transition);
}
.footer__additional {
   display: flex;
   justify-content: space-between;
   width: 100%;
}

.footer__additional-link {
   color: var(--secondary-color);
   text-decoration: underline;
   font-weight: 500;
}
.footer__additional-link:hover,
.header__main-site:hover {
   text-decoration: none;
}

/* MODALS */

/* MODAL */
.modal {
   position: fixed;
   left: 0;
   top: 0;
   display: flex;
   align-items: start;
   justify-content: center;
   width: 100%;
   height: 100%;
   background-color: rgba(62, 62, 62, 0.3);
   opacity: 0;
   backdrop-filter: blur(5px);
   visibility: hidden;
   overflow: auto;
   scrollbar-width: thin;
   transition: var(--transition);
}
.menu-modal {
   position: fixed;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(62, 62, 62, 0.3);
   opacity: 0;
   backdrop-filter: blur(5px);
   visibility: hidden;
   overflow: auto;
   scrollbar-width: thin;
   transition: var(--transition);
}
.modal__content {
   position: relative;
   background-color: white;
   padding: 50px 60px;
   margin: clamp(30px, 60px, 100px) 0;
   width: 850px;
   transition: all 0.5s ease;
   border-radius: 30px;
   transform: translateY(50px);
}
.modal__close-btn {
   cursor: pointer;
   position: absolute;
   right: 20px;
   height: 36px;
   width: 36px;
   display: flex;
   top: 20px;
}
.show {
   opacity: 1;
   z-index: 9999;
   visibility: visible;
   transform: translateY(0);
   transition: var(--transition);
}
.show .modal__content {
   transform: translate(0);
}
.modal__title {
   font-size: 30px;
   text-transform: uppercase;
   text-align: center;
   margin-bottom: 40px;
}

.modal {
}
.modal__content {
}
.modal__close-btn {
}
.modal__form {
   width: 70%;
   margin: 0 auto;
}
.modal__form-items {
   display: flex;
   flex-direction: column;
   row-gap: 20px;
   margin-bottom: 20px;
}
.modal__form-inputbox {
}
.custom-input {
   width: 100%;
   height: 70px;
   border: 2px solid var(--muted-color);
   font-weight: 500;
   transition: var(--transition);
   border-radius: 15px;
   padding: 5px 20px;
   color: var(--text-color);
}
.custom-input:focus {
   border-color: var(--secondary-color);
}
.modal__form-submit {
   margin-top: 10px;
   height: 70px;
   align-items: center;
   padding: 5px 10px;
}
.regular-button {
}
.modal__form-agreement {
   text-align: center;
   font-size: var(--fs-sl);
}
.modal__form-agreement > a {
   text-decoration: underline;
}
.modal__form-agreement > b {
   font-weight: 500;
}
.modal__form-agreement > a:hover {
   text-decoration: none;
}

.menu-modal {
}
.menu-modal__content {
   background: #fff;
   width: max-content;
   right: 0;
   top: 0;
   position: absolute;
   height: 100%;
   padding: 80px 60px 20px 60px;
}
.modal__close-btn {
}
.menu-modal__navigation {
   margin-bottom: 50px;
}
.menu-modal__navigation-list {
   display: flex;
   flex-direction: column;
   align-items: center;
   row-gap: 10px;
}
.menu-modal__navigation-link {
   font-weight: 500;
}
.menu-modal__navigation-link:hover > a {
   color: var(--muted-color);
}
.menu-modal__contacts {
   display: flex;
   flex-direction: column;
   row-gap: 30px;
   align-items: center;
}
.menu-modal__phones {
   display: flex;
   flex-direction: column;
   text-align: center;
   align-items: center;
   row-gap: 10px;
}
.menu-modal__phones-item {
   font-size: 22px;
   font-weight: 600;
}
.menu-modal__phones-item:hover {
   color: var(--muted-color);
}

/* MEDIA */
@media (max-width: 1830px) {
   .container--xxl {
      padding: 0 40px;
   }
}

@media (max-width: 1700px) {
   .speech-bubble-wrapper:not(.speech-bubble-wrapper--cta) {
      right: 30%;
   }
}
@media (max-width: 1560px) {
   .speech-bubble-wrapper:not(.speech-bubble-wrapper--cta) {
      right: 35%;
   }
}
@media (max-width: 1460px) {
   .speech-bubble-wrapper:not(.speech-bubble-wrapper--cta) {
      right: 40%;
      top: 30%;
   }
   .hero {
      background-position: 230%;
   }
   .container:not(.container--xxl) {
      padding: 0 20px;
   }
   .team__slide-preview {
      height: 300px;
   }
}

@media (max-width: 1360px) {
   .regular-button {
      white-space: nowrap;
   }
}

@media (max-width: 1250px) {
   .regular-button {
      white-space: nowrap;
   }

   .speech-bubble-wrapper--cta {
      margin-left: 50px;
   }
}

@media (max-width: 1199px) {
   .hero {
      background-position: 500px;
   }
   .footer__additional,
   .footer__row {
      flex-wrap: wrap;
      gap: 10px;
   }
   .regular-padding {
      padding: 80px 0;
   }
   .speech-bubble-wrapper:not(.speech-bubble-wrapper--cta) {
      top: 38%;
      right: 25%;
   }
   .speech-bubble-wrapper--cta {
      margin-left: 0;
   }
   .education__inner {
      background-size: 500px;
   }
   .education__descr {
      margin-bottom: 150px;
   }
   .cta__row::before {
      top: -150px;
   }
}

@media (max-width: 1099px) {
   .header__left {
      gap: 50px;
   }
   .hero {
      background-position: 400px;
   }
   .cases__inner {
      flex-direction: column;
   }
   .cases__company,
   .cases__buttons,
   .cases__text-head {
      justify-content: center;
      text-align: center;
   }
   .cases__inner {
      align-items: center;
      row-gap: 0;
   }
   .footer__additional {
      flex-direction: column;
      align-items: center;
   }
   .footer__contacts {
      flex-direction: column;
      align-items: center;
      row-gap: 10px;
   }
   .footer__contacts {
      margin-bottom: 30px;
   }
   .footer__additional,
   .footer__row {
      justify-content: center;
      flex-direction: column;
   }
   .footer__inner {
      row-gap: 30px;
   }
   .cta__img {
      display: flex;
      position: relative;
      justify-content: center;
   }
   .cta__row::before {
      display: none;
   }
   .speech-bubble-wrapper--cta {
      position: relative;
   }
   .cta {
      height: auto;
   }
   .cta__row {
      flex-direction: column;
      row-gap: 40px;
   }
   .cta.regular-padding {
      padding-bottom: 0;
   }
   .speech-bubble-wrapper--cta br {
      display: none;
   }
   .speech-bubble-wrapper--cta {
      margin-top: 50px;
   }
   .team__slide-preview {
      height: 350px;
   }
   .speech-bubble-wrapper--cta .speech-bubble::before,
   .speech-bubble-wrapper--cta .speech-bubble::after {
      display: none;
   }
   .hero__bottom {
      flex-wrap: wrap;
      gap: 20px;
   }
   .hero__bottom-item {
      flex-basis: calc(50% - 20px);
   }
   .hero__bottom-item:nth-child(even) {
      text-align: end;
   }
}
@media (max-width: 992px) {
   .speech-bubble::before,
   .speech-bubble::after {
      display: none;
   }
   .hero__title {
      width: 100%;
      margin-bottom: 50px;
   }
   .hero {
      background: none;
   }
   .hero__mobile-bg {
      display: flex;
      width: 103%;
      margin: 50px 0;
      position: relative;
   }
   .hero__mobile-bg::before,
   .hero__mobile-bg::after {
      content: "";
      position: absolute;
      top: -30px;
      left: 0;
      width: 100%;
      z-index: 2;
      height: 100px;
      background: radial-gradient(60% 100% at 19% 100%, rgba(38, 38, 38, 1), transparent 70%),
         radial-gradient(60% 100% at 80% 100%, rgba(38, 38, 38, 1), transparent 70%),
         linear-gradient(to bottom, rgba(38, 38, 38, 1), rgba(38, 38, 38, 1));
      filter: blur(25px);
      pointer-events: none;
   }
   .hero__mobile-bg::after {
      top: auto;
      bottom: -30px;
      filter: blur(15px);
   }
   .speech-bubble-wrapper:not(.speech-bubble-wrapper--cta) {
      position: relative;
      top: auto;
      right: auto;
   }
   .speech-bubble br {
      display: none;
   }
   .hero__buttons {
      flex-direction: column;
      align-items: start;
   }
   .regular-button--dark-bg {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
   }
   .hero__buttons-info {
      border-radius: 15px;
      border-top-left-radius: 0;
   }
   .hero__buttons-arrow {
      transform: rotate(-90deg);
   }
   .education__descr {
      margin-bottom: 50px;
   }
   .education__inner {
      padding-bottom: 500px;
      background-position: center bottom;
   }
   .education__text {
      text-align: center;
   }
   h2.sc-title,
   .sc-subtitle {
      text-align: center;
      display: block;
   }
   .regular-button--dark-bg {
      width: 100%;
      border-bottom: none;
   }
   .hero__buttons-info {
      border-top-right-radius: 0;
      width: 100%;
   }
}
@media (max-width: 899px) {
   .modal__content {
      width: 96%;
   }
}
@media (max-width: 767px) {
   .menu-modal__content {
      width: 100%;
   }

   .steps__item-bottom-text {
      margin-left: 50px;
   }
   .steps__item-bottom-icon {
      width: 90px;
      left: -60px;
   }
   :root {
      --fs-main: 18px;
      --fs-title: 32px;
   }
   .hero {
      padding-top: 40px;
   }
   .steps__item::before {
      width: 80px;
      height: 80px;
   }
   .steps__item:not(:last-child)::after {
      left: calc(40px - 3.5px);
   }
   .steps__item {
      padding-left: 110px;
   }
   .steps__title {
      margin-bottom: 80px;
   }
   .steps__bottom {
      display: flex;
      justify-content: center;
   }
   .team__slide-preview {
      height: 300px;
   }
   .cases__company,
   .solutions__inner {
      margin-bottom: 35px;
   }
   .footer {
      padding: 50px 0;
   }
   h2 br {
      display: none;
   }
   .team__title,
   .cases__text-head {
      margin-bottom: 45px;
   }
   .speech-bubble-wrapper--cta {
      margin-top: 45px;
   }
}
@media (max-width: 700px) {
   .modal__form {
      width: 90%;
   }
}
@media (max-width: 599px) {
   .regular-padding {
      padding: 65px 0;
   }
   .steps__item-bottom-icon {
      width: 75px;
      left: -50px;
   }
   .steps__item-bottom-text {
      margin-left: 40px;
   }

   .modal__content {
      padding: 40px 30px;
   }
   .modal__title {
      font-size: 26px;
   }
   .modal__form-submit,
   .custom-input {
      height: 65px;
   }
   .modal__close-btn {
      width: 30px;
      height: 30px;
   }
   .cases__buttons {
      gap: 20px;
   }
   .cases__company {
      gap: 30px;
      flex-direction: column;
   }
   .steps__item {
      padding-left: 90px;
   }
   .steps__item::before {
      width: 60px;
      height: 60px;
      content: counter(steps);
   }
   .steps__item:not(:last-child)::after {
      left: calc(30px - 2.5px);
   }
   .steps__item:not(:last-child)::after {
      width: 5px;
   }
   .regular-button {
      width: 100%;
   }
   .hero__mobile-bg {
      margin: 35px 0;
   }
   .steps__item:not(:last-child),
   .steps__item:not(:last-child) .steps__item-list {
      padding-bottom: 40px;
   }
   .steps__item-bottom {
      padding: 18px 0;
   }
   .steps__items {
      margin-bottom: 50px;
   }
   .education__descr br {
      display: none;
   }
}
@media (max-width: 499px) {
   .cases__buttons {
      flex-direction: column;
   }
   .education__inner {
      background-size: contain;
      padding-bottom: 400px;
   }
   .steps__item-bottom-icon {
      left: -40px;
      width: 65px;
   }

   .steps__item::before {
      width: 50px;
      height: 50px;
   }
   .steps__item:not(:last-child)::after {
      left: calc(25px - 2px);
   }
   .steps__item:not(:last-child)::after {
      width: 4px;
   }
   .steps__item {
      padding-left: 70px;
   }
   .steps__item-list-el {
      padding-left: 36px;
   }
   .steps__item-list-el::before {
      width: 28px;
      height: 28px;
   }
   :root {
      --fs-sl: 14px;
      --swiper-navigation-size: 30px;
   }
   .header__left {
      gap: 25px;
   }
   .header__logo {
      width: 70px;
   }
   .container:not(.container--xxl) {
      padding: 0 15px;
   }
   .menuButton {
      border-radius: 10px;
      width: 40px;
      height: 40px;
   }
   .menuButton span {
      width: 26px;
      height: 3px;
   }
   .solution__slide {
      height: auto;
      padding: 25px;
      justify-content: center;
      align-items: center;
      text-align: center;
      flex-direction: column;
      min-height: 110px;
   }
   .hero__buttons {
      margin-bottom: 50px;
   }
   .hero__bottom {
      flex-direction: column;
      align-items: center;
      text-align: center;
   }
   .solution__slide,
   .speech-bubble,
   .team__slide-preview {
      border-radius: 20px;
   }
   .hero__buttons-info {
      flex-direction: column;
      align-items: center;
      justify-content: end;
      padding: 14px 32px;
      text-align: center;
      row-gap: 20px;
   }
   .hero__buttons-arrow {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
   }
   .modal__form {
      width: 100%;
   }
   .modal__close-btn {
      width: 26px;
      height: 26px;
      top: 15px;
      right: 15px;
   }
   .modal__title {
      margin-bottom: 30px;
      font-size: 24px;
   }
   .cases__company-logo {
      width: 180px;
   }
   .footer__contacts-item {
      text-align: center;
   }
   .education__descr {
      margin-bottom: 30px;
   }
   .hero__mobile-bg::before,
   .hero__mobile-bg::after {
      height: 85px;
   }
}
@media (max-width: 399px) {
   .container:not(.container--xxl) {
      padding: 0 10px;
   }
   .modal__form-items {
      gap: 15px;
   }
   .header__main-site {
      font-size: var(--fs-sl);
   }

   .steps__item::before {
      width: 40px;
      height: 40px;
   }
   .steps__item:not(:last-child)::after {
      left: calc(20px - 1.5px);
   }
   .steps__item:not(:last-child)::after {
      width: 3px;
   }
   .steps__item::before {
      transform: translateY(-20%);
   }
   .steps__item {
      padding-left: 55px;
   }
   .steps__item-note {
      font-size: var(--fs-sl);
   }
   .steps__item-list {
      row-gap: 15px;
   }
   .regular-padding {
      padding: 50px 0;
   }
   .footer {
      padding: 45px 0;
   }
   .team__slide-preview {
      height: 250px;
   }
   .regular-button {
      white-space: wrap;
   }
   .team__title,
   .cases__text-head,
   .education__title {
      margin-bottom: 35px;
   }
   .speech-bubble-wrapper--cta {
      margin-top: 35px;
   }
   h2.sc-title,
   .cases__head-note {
      font-size: 26px;
   }
   .steps__item-bottom-text {
      margin-left: 40px;
   }
   .steps__item-bottom-icon {
      width: 55px;
      left: -30px;
   }
   :root {
      --fs-main: 16px;
   }

   .hero__buttons {
      margin-bottom: 40px;
   }
}

.form-message {
   text-align: center;
   width: 100%;
   color: var(--text-color);
   display: block;
   text-transform: none;
   font-weight: 400;
   font-family: "Stem";
}
.form-message.success {
   color: green;
}
.form-message.error {
   color: red;
}
