@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Regular.eot");
  src: local("Gilroy Regular"), local("Gilroy-Regular"), url("../fonts/Gilroy-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Regular.woff2") format("woff2"), url("../fonts/Gilroy-Regular.woff") format("woff"), url("../fonts/Gilroy-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-ExtraboldItalic.eot");
  src: local("Gilroy Extrabold Italic"), local("Gilroy-ExtraboldItalic"), url("../fonts/Gilroy-ExtraboldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-ExtraboldItalic.woff2") format("woff2"), url("../fonts/Gilroy-ExtraboldItalic.woff") format("woff"), url("../fonts/Gilroy-ExtraboldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Bold.eot");
  src: local("Gilroy Bold"), local("Gilroy-Bold"), url("../fonts/Gilroy-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Bold.woff2") format("woff2"), url("../fonts/Gilroy-Bold.woff") format("woff"), url("../fonts/Gilroy-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Black.eot");
  src: local("Gilroy Black"), local("Gilroy-Black"), url("../fonts/Gilroy-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Black.woff2") format("woff2"), url("../fonts/Gilroy-Black.woff") format("woff"), url("../fonts/Gilroy-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Light.eot");
  src: local("Gilroy Light"), local("Gilroy-Light"), url("../fonts/Gilroy-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Light.woff2") format("woff2"), url("../fonts/Gilroy-Light.woff") format("woff"), url("../fonts/Gilroy-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Semibold.eot");
  src: local("Gilroy Semibold"), local("Gilroy-Semibold"), url("../fonts/Gilroy-Semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Semibold.woff2") format("woff2"), url("../fonts/Gilroy-Semibold.woff") format("woff"), url("../fonts/Gilroy-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Medium.eot");
  src: local("Gilroy Medium"), local("Gilroy-Medium"), url("../fonts/Gilroy-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Medium.woff2") format("woff2"), url("../fonts/Gilroy-Medium.woff") format("woff"), url("../fonts/Gilroy-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-MediumItalic.eot");
  src: local("Gilroy Medium Italic"), local("Gilroy-MediumItalic"), url("../fonts/Gilroy-MediumItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-MediumItalic.woff2") format("woff2"), url("../fonts/Gilroy-MediumItalic.woff") format("woff"), url("../fonts/Gilroy-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-BlackItalic.eot");
  src: local("Gilroy Black Italic"), local("Gilroy-BlackItalic"), url("../fonts/Gilroy-BlackItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-BlackItalic.woff2") format("woff2"), url("../fonts/Gilroy-BlackItalic.woff") format("woff"), url("../fonts/Gilroy-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-UltraLight.eot");
  src: local("Gilroy UltraLight"), local("Gilroy-UltraLight"), url("../fonts/Gilroy-UltraLight.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-UltraLight.woff2") format("woff2"), url("../fonts/Gilroy-UltraLight.woff") format("woff"), url("../fonts/Gilroy-UltraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-RegularItalic.eot");
  src: local("Gilroy Regular Italic"), local("Gilroy-RegularItalic"), url("../fonts/Gilroy-RegularItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-RegularItalic.woff2") format("woff2"), url("../fonts/Gilroy-RegularItalic.woff") format("woff"), url("../fonts/Gilroy-RegularItalic.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-SemiboldItalic.eot");
  src: local("Gilroy Semibold Italic"), local("Gilroy-SemiboldItalic"), url("../fonts/Gilroy-SemiboldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-SemiboldItalic.woff2") format("woff2"), url("../fonts/Gilroy-SemiboldItalic.woff") format("woff"), url("../fonts/Gilroy-SemiboldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-HeavyItalic.eot");
  src: local("Gilroy Heavy Italic"), local("Gilroy-HeavyItalic"), url("../fonts/Gilroy-HeavyItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-HeavyItalic.woff2") format("woff2"), url("../fonts/Gilroy-HeavyItalic.woff") format("woff"), url("../fonts/Gilroy-HeavyItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Extrabold.eot");
  src: local("Gilroy Extrabold"), local("Gilroy-Extrabold"), url("../fonts/Gilroy-Extrabold.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Extrabold.woff2") format("woff2"), url("../fonts/Gilroy-Extrabold.woff") format("woff"), url("../fonts/Gilroy-Extrabold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-BoldItalic.eot");
  src: local("Gilroy Bold Italic"), local("Gilroy-BoldItalic"), url("../fonts/Gilroy-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-BoldItalic.woff2") format("woff2"), url("../fonts/Gilroy-BoldItalic.woff") format("woff"), url("../fonts/Gilroy-BoldItalic.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-UltraLightItalic.eot");
  src: local("Gilroy UltraLight Italic"), local("Gilroy-UltraLightItalic"), url("../fonts/Gilroy-UltraLightItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-UltraLightItalic.woff2") format("woff2"), url("../fonts/Gilroy-UltraLightItalic.woff") format("woff"), url("../fonts/Gilroy-UltraLightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-LightItalic.eot");
  src: local("Gilroy Light Italic"), local("Gilroy-LightItalic"), url("../fonts/Gilroy-LightItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-LightItalic.woff2") format("woff2"), url("../fonts/Gilroy-LightItalic.woff") format("woff"), url("../fonts/Gilroy-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Heavy.eot");
  src: local("Gilroy Heavy"), local("Gilroy-Heavy"), url("../fonts/Gilroy-Heavy.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Heavy.woff2") format("woff2"), url("../fonts/Gilroy-Heavy.woff") format("woff"), url("../fonts/Gilroy-Heavy.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Thin.eot");
  src: local("Gilroy Thin"), local("Gilroy-Thin"), url("../fonts/Gilroy-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-Thin.woff2") format("woff2"), url("../fonts/Gilroy-Thin.woff") format("woff"), url("../fonts/Gilroy-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-ThinItalic.eot");
  src: local("Gilroy Thin Italic"), local("Gilroy-ThinItalic"), url("../fonts/Gilroy-ThinItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy-ThinItalic.woff2") format("woff2"), url("../fonts/Gilroy-ThinItalic.woff") format("woff"), url("../fonts/Gilroy-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
}
*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img,
svg {
  vertical-align: top;
}

button {
  cursor: pointer;
  border: none;
}

* {
  position: relative;
}

html {
  font-size: 10px;
  background-color: #fff;
  scroll-behavior: smooth;
}

body {
  font-family: "Open Sans";
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body.menu-open {
  overflow: hidden;
  height: 100vh;
}
body.scroll-disable {
  height: 100vh;
  overflow: hidden;
}

section {
  overflow: hidden;
  z-index: 1;
  padding: 9rem 0;
}
@media only screen and (max-width: 768px) {
  section {
    padding: 6rem 0 2rem;
  }
}

main {
  flex: 1;
  padding-top: 11rem;
}
@media only screen and (max-width: 1280px) {
  main {
    padding-top: 9rem;
  }
}
@media only screen and (max-width: 992px) {
  main {
    padding-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  main {
    padding-top: 6.29rem;
  }
}
@media only screen and (max-width: 576px) {
  main {
    padding-top: 6.2rem;
  }
}

.container {
  margin: 0 auto;
  width: 100%;
  max-width: 133rem;
  padding: 0 1.5rem;
}

.tac {
  text-align: center;
  margin: 0 auto;
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.title--margin {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 576px) {
  .title--margin {
    margin-bottom: 2rem;
  }
}

.section--title {
  width: 100%;
  padding: 2rem 1.5rem;
  background-color: #017cf5;
  color: #ffffff;
}

.section__head {
  text-align: center;
}
.section__head p {
  max-width: 86rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.25;
  color: #017cf5;
}
@media only screen and (max-width: 768px) {
  .section__head p {
    font-size: 1.8rem;
  }
}
.section__head h2 + p {
  margin-top: 3rem;
}
@media only screen and (max-width: 576px) {
  .section__head h2 + p {
    margin-top: 2rem;
  }
}

.content p + p {
  margin-top: 1.5rem;
}
.content p + h3 {
  margin-top: 4rem;
}
.content p + ul {
  margin-top: 1.5rem;
}
.content ul li {
  font-size: 1.8rem;
}
@media only screen and (max-width: 576px) {
  .content ul li {
    font-size: 1.6rem;
  }
}
.content ul li + li {
  margin-top: 1rem;
}
.content ul + p {
  margin-top: 1.5rem;
}
.content ul + h3 {
  margin-top: 4rem;
}
.content h3 + p {
  margin-top: 2rem;
}

h1,
h2,
h3,
h4,
h5,
p,
span,
div,
a,
li,
textarea,
input,
button,
input::placeholder,
textarea::placeholder {
  font-size: 1.6rem;
  font-style: normal;
  line-height: 120%;
  color: inherit;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  color: #017cf5;
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span {
  color: #017cf5;
}
h1 b,
h2 b,
h3 b,
h4 b,
h5 b {
  color: #8bb8f8;
  cursor: pointer;
  transition: all 0.2s ease;
}
h1 b:hover,
h2 b:hover,
h3 b:hover,
h4 b:hover,
h5 b:hover {
  color: #017cf5;
}

span {
  font-size: inherit;
}

h1 {
  font-size: 3.2rem;
  line-height: 108.5%;
}
@media only screen and (min-width: 576px) {
  h1 {
    font-size: calc(4rem + 8 * (100vw - 375px) / 625);
  }
}
@media only screen and (min-width: 992px) {
  h1 {
    font-size: 4.2rem;
  }
}

h2 {
  font-size: 3rem;
  line-height: 1.2;
}
@media only screen and (min-width: 576px) {
  h2 {
    font-size: calc(4rem + 8 * (100vw - 375px) / 625);
  }
}
@media only screen and (min-width: 992px) {
  h2 {
    font-size: 6rem;
  }
}

h3 {
  font-size: 2.6rem;
  line-height: 1.4;
}
@media only screen and (min-width: 576px) {
  h3 {
    font-size: calc(3rem + 4 * (100vw - 375px) / 625);
  }
}
@media only screen and (min-width: 992px) {
  h3 {
    font-size: 4rem;
  }
}

h4 {
  font-size: 2rem;
  line-height: 1.4;
}
@media only screen and (min-width: 576px) {
  h4 {
    font-size: calc(2rem + 4 * (100vw - 375px) / 625);
  }
}
@media only screen and (min-width: 992px) {
  h4 {
    font-size: 2.4rem;
  }
}

h5 {
  font-size: 1.8rem;
  line-height: 117%;
  color: #000;
}

p {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media only screen and (min-width: 992px) {
  p {
    font-size: 1.8rem;
  }
}

form label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #080520;
  text-align: left;
}
@media only screen and (max-width: 576px) {
  form label {
    font-size: 1.2rem;
  }
}

.wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.8rem;
}
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  background: #fff;
  border: 1px solid rgba(93, 95, 239, 0.2);
  border-radius: 1.6rem;
  padding: 2rem 1.8rem;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 100%;
  width: 100%;
  max-width: 100%;
  letter-spacing: -0.03em;
  color: #080520;
  font-family: "Open Sans" !important;
}
.wpcf7-form-control-wrap input::placeholder,
.wpcf7-form-control-wrap textarea::placeholder {
  font-size: 1.8rem;
  opacity: 0.5;
}
@media only screen and (max-width: 576px) {
  .wpcf7-form-control-wrap input,
  .wpcf7-form-control-wrap textarea {
    padding: 1rem 1.2rem;
  }
}
.wpcf7-form-control-wrap input [name=phone],
.wpcf7-form-control-wrap textarea [name=phone] {
  padding-left: 1.5rem;
}
@media only screen and (max-width: 576px) {
  .wpcf7-form-control-wrap input [name=phone],
  .wpcf7-form-control-wrap textarea [name=phone] {
    padding-left: 1rem;
  }
}
.wpcf7-form-control-wrap .iti__selected-dial-code {
  font-size: 1.8rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  font-weight: 400;
  font-family: "Open Sans" !important;
}

.wpcf7-checkbox input {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}
.wpcf7-checkbox .wpcf7-list-item-label {
  color: #001aff;
  font-size: 1.4rem;
  font-weight: 600;
  display: flex;
  gap: 0.8rem;
}
.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  border-radius: 0.1775rem;
  width: 2.9rem;
  min-width: 2.9rem;
  margin-top: -0.5rem;
  height: 2.9rem;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0);
  transition: all 0.2s ease;
}
@media only screen and (max-width: 576px) {
  .wpcf7-checkbox .wpcf7-list-item-label::before {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    margin-top: 0;
  }
}
.wpcf7-checkbox .wpcf7-list-item-label::after {
  content: "";
  border-radius: 0.1775rem;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  background-color: #017cf5;
  left: 0.7rem;
  top: 0.25rem;
  position: absolute;
  opacity: 0;
  transition: all 0.2s ease;
}
@media only screen and (max-width: 576px) {
  .wpcf7-checkbox .wpcf7-list-item-label::after {
    width: 1.5rem;
    height: 1.5rem;
    min-width: 1.5rem;
    top: 0.5rem;
    left: 0.5rem;
  }
}
.wpcf7-checkbox input:checked + .wpcf7-list-item-label::before {
  border-color: #017cf5;
}
.wpcf7-checkbox input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.wpcf7-form-control-wrap {
  border-radius: 1.6rem;
}

.iti__selected-country-primary {
  border-top-left-radius: 1.6rem;
  border-bottom-left-radius: 1.6rem;
  transition: all 0.2s ease;
}
.iti__selected-country-primary:hover {
  background-color: #8bb8f8 !important;
}

.iti__search-input {
  border-radius: 0 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.iti__country-list {
  margin-top: 1rem;
}

.screen-reader-response {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  font-size: 1.2rem;
  color: red;
  margin-top: 0.5rem;
}

input.wpcf7-not-valid {
  border-color: red !important;
}

*[data-popup] {
  cursor: pointer;
}

.bttn {
  font-family: "Gilroy-Bold", sans-serif;
  line-height: 100%;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  color: #ffffff;
  background-color: #017cf5;
  border-radius: 0.4rem;
  padding: 2.4rem 3.35rem;
  font-size: 2.2rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bttn:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  background-color: #003176;
}
.bttn:active {
  transform: scale(1);
}
@media only screen and (max-width: 992px) {
  .bttn {
    font-size: 1.8rem;
    padding: 1.2rem 2rem;
  }
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 2rem 0;
  z-index: 11;
  transition: 0.3s linear;
}
@media only screen and (max-width: 1280px) {
  .header {
    padding: 1rem 0;
  }
}
.header::before {
  content: "";
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #ffffff;
  transition: 0.3s linear;
  opacity: 0.5;
}
.header--scrolled {
  padding: 1rem 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.header--scrolled::before {
  opacity: 1;
}
@media only screen and (max-width: 1280px) {
  .header--scrolled {
    padding: 0.5rem 0;
  }
}
@media only screen and (min-width: 1280px) {
  .header--scrolled .header__logo img {
    max-width: 10rem;
  }
}
.header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__logo {
  z-index: 200;
  transition: 0.5s linear;
}
.header__logo img {
  max-width: 100%;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: all 0.2s ease;
}
@media only screen and (max-width: 1280px) {
  .header__logo img {
    max-width: 10rem;
  }
}
@media only screen and (max-width: 576px) {
  .header__logo img {
    max-width: 7rem;
  }
}
.header__burger {
  display: block;
  width: 3.2rem;
  height: 1.5rem;
  z-index: 11;
}
@media only screen and (min-width: 1280px) {
  .header__burger {
    display: none;
  }
}
.header__burger:before,
.header__burger span, .header__burger:after {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 0.2rem;
  left: 50%;
  background-color: #017cf5;
  transform: translateX(-50%);
  transition: top 0.15s linear 0.15s, transform 0.15s linear, background 0.3s linear, -webkit-transform 0.15s linear, opacity 0.3s linear;
}
.header__burger span {
  top: 50%;
  transform: translate(-50%, -50%);
}
.header__burger:before {
  top: 0;
}
.header__burger:after {
  top: 100%;
  transform: translate(-50%, -100%);
}
.header__user {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-left: 3.2rem;
  z-index: 12;
}
@media only screen and (max-width: 768px) {
  .header__user {
    gap: 1.5rem;
  }
}
.header__phone {
  display: flex;
  text-align: center;
  gap: 1rem;
  align-items: center;
  text-decoration: none;
  color: #017cf5;
  font-size: 2rem;
  font-weight: 600;
  transition: all 0.2s ease;
  padding: 1.1rem;
  border-radius: 0.8rem;
}
.header__phone svg,
.header__phone path {
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .header__phone:hover {
    background-color: #003176;
    color: #ffffff;
  }
  .header__phone:hover svg,
  .header__phone:hover path {
    fill: #ffffff;
  }
  .header__phone:active {
    transform: scale(0.95);
  }
}
@media only screen and (max-width: 768px) {
  .header__phone {
    font-size: 1.6rem;
  }
  .header__phone svg,
  .header__phone path {
    width: 2rem;
    height: 2rem;
  }
}
.header__menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ffffff;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s linear;
  padding: 8.2rem 1.5rem;
  overflow: auto;
  text-align: center;
}
.header__menu .bttn {
  margin-top: 4rem;
}
@media only screen and (min-width: 1280px) {
  .header__menu {
    transform: unset;
    opacity: 1;
    pointer-events: all;
    width: auto;
    height: auto;
    position: static;
    padding: 0;
    background-color: transparent;
    margin-left: auto;
    overflow: visible;
  }
}
.header__menu-list {
  list-style-type: none;
}
@media only screen and (min-width: 1280px) {
  .header__menu-list {
    display: flex;
    gap: 1rem;
  }
}
.header__menu-list .menu-item a {
  display: block;
  text-align: center;
  text-decoration: none;
  color: #017cf5;
  font-size: 2rem;
  font-weight: 600;
  padding: 2.4rem 0;
  transition: all 0.2s ease;
}
@media only screen and (min-width: 1280px) {
  .header__menu-list .menu-item a {
    padding: 1.1rem;
    border-radius: 0.8rem;
    text-align: left;
  }
}
@media (any-hover: hover) {
  .header__menu-list .menu-item a:hover {
    background-color: #8bb8f8;
    color: #ffffff;
  }
  .header__menu-list .menu-item a:active {
    transform: scale(0.95);
  }
}
.header__menu-list .menu-item:not(:first-of-type) {
  border-top: 0.1rem solid rgba(114, 117, 152, 0.2);
}
@media only screen and (min-width: 1280px) {
  .header__menu-list .menu-item:not(:first-of-type) {
    border-top: 0;
  }
}
@media only screen and (max-width: 1280px) {
  .header__menu-list .menu-item-has-children {
    text-align: center;
  }
}
.header__menu-list .menu-item-has-children::after {
  content: "";
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  mask-image: url(../img/icons/menu-arrow.svg);
  -webkit-mask-image: url(../img/icons/menu-arrow.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: cover;
  font-weight: bold;
  stroke-width: 3px;
  -webkit-mask-size: cover;
  background-color: #017cf5;
  right: 0.5rem;
  top: 1.7rem;
  transition: all 0.2s ease;
}
@media only screen and (max-width: 1280px) {
  .header__menu-list .menu-item-has-children::after {
    top: 3.2rem;
    right: 25%;
  }
}
.header__menu-list .menu-item-has-children > a {
  padding-right: 2.5rem;
}
@media only screen and (max-width: 1280px) {
  .header__menu-list .menu-item-has-children > a {
    display: inline-flex;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1280px) {
  .header__menu-list .menu-item-has-children ul {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 0.8rem;
    text-align: left;
    width: max-content;
    opacity: 0;
    top: calc(100% + 3rem);
    pointer-events: none;
    transition: all 0.2s ease;
    transition-delay: 0.2s;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    padding: 0;
    border-radius: 2rem;
    z-index: 2;
    overflow: hidden;
  }
}
@media only screen and (max-width: 1280px) {
  .header__menu-list .menu-item-has-children ul {
    display: none;
  }
}
.header__menu-list .menu-item-has-children ul a {
  display: block;
  padding: 1.3rem 2rem;
  border-radius: 0;
}
@media only screen and (max-width: 1280px) {
  .header__menu-list .menu-item-has-children ul a {
    font-size: 1.6rem;
  }
}
.header__menu-list .menu-item.active::after {
  transform: rotate(180deg);
}
@media (any-hover: hover) {
  .header__menu-list .menu-item:hover > a {
    background-color: #6192ed;
    color: #ffffff;
  }
  .header__menu-list .menu-item:hover::after {
    background-color: #ffffff;
    transform: rotate(180deg);
  }
}
.header__menu-list .menu-item:hover ul {
  opacity: 1;
  top: 100%;
  pointer-events: all;
  transition: all 0.2s ease;
  transition-delay: 0s;
}

@media only screen and (max-width: 1280px) {
  body.menu-open .header::before {
    z-index: 11;
  }
  body.menu-open .header__menu {
    pointer-events: all;
    opacity: 1;
  }
  body.menu-open .header__burger span {
    opacity: 0;
  }
  body.menu-open .header__burger::before, body.menu-open .header__burger::after {
    -webkit-transition: top 0.15s linear, background 0.3s linear, -webkit-transform 0.15s linear 0.15s;
    transition: top 0.15s linear, background 0.3s linear, -webkit-transform 0.15s linear 0.15s;
    -o-transition: top 0.15s linear, transform 0.15s linear 0.15s, background 0.3s linear;
    transition: top 0.15s linear, transform 0.15s linear 0.15s, background 0.3s linear;
    transition: top 0.15s linear, transform 0.15s linear 0.15s, background 0.3s linear, -webkit-transform 0.15s linear 0.15s;
  }
  body.menu-open .header__burger:before {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
  body.menu-open .header__burger:after {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
.attention {
  padding: 0;
  z-index: 0;
}
.attention img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 576px) {
  .attention img {
    height: 7rem;
    object-fit: cover;
    width: auto;
  }
}

@keyframes rotate-shake {
  0% {
    transform: rotate(2deg);
  }
  25% {
    transform: rotate(2.5deg);
  }
  40% {
    transform: rotate(2deg);
  }
  50% {
    transform: rotate(5deg);
  }
  60% {
    transform: rotate(7deg);
  }
  70% {
    transform: rotate(3deg);
  }
  80% {
    transform: rotate(-1deg);
  }
  100% {
    transform: rotate(3deg);
  }
}
.banner {
  padding-top: 9.7rem;
  overflow: visible;
  max-width: 192rem;
  margin: 0 auto;
  padding-bottom: 3rem;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .banner {
    padding-top: 9rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner {
    padding-top: 6rem;
    min-height: unset;
  }
}
.banner__container {
  max-width: 108rem;
}
.banner .container {
  display: flex;
  gap: 4rem;
}
@media only screen and (max-width: 1280px) {
  .banner .container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.banner__content {
  max-width: 53rem;
}
.banner__content h1 {
  color: #000;
}
.banner__content p {
  font-family: "Gilroy-bold";
  max-width: 100%;
  width: 50.9rem;
  font-size: 3rem;
  color: #017cf5;
  line-height: normal;
  font-weight: 800;
  margin-top: 1.7rem;
}
@media only screen and (max-width: 768px) {
  .banner__content p {
    width: 100%;
    font-size: 1.8rem;
  }
}
.banner__content .bttn {
  margin-top: 2.8rem;
}
.banner__decor {
  position: absolute;
  pointer-events: none;
}
.banner__decor-1 {
  left: 1.5rem;
  top: -3.5rem;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
  .banner__decor-1 {
    left: 4rem;
    top: -3rem;
  }
  .banner__decor-1 img {
    width: 7rem;
    height: auto;
  }
}
.banner__decor-2 {
  top: 75%;
  left: 56%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.banner__decor-2 img {
  animation: rotate-shake 5s linear infinite;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.banner__img {
  position: absolute;
  right: 0;
  top: -4rem;
  max-width: 77.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.banner__img span {
  position: absolute;
  z-index: 2;
  left: -2rem;
  bottom: -6.5rem;
}
@media only screen and (max-width: 1280px) {
  .banner__img span {
    bottom: -4rem;
    left: 0;
  }
}
.banner__img .mob {
  display: none;
}
@media only screen and (max-width: 1300px) {
  .banner__img {
    width: 40%;
    max-width: 100%;
  }
  .banner__img .desktop {
    display: none;
  }
  .banner__img .mob {
    display: block;
  }
}
@media only screen and (max-width: 1280px) {
  .banner__img {
    position: relative;
    top: 0;
    margin: 5rem auto;
    width: 72.7rem;
    max-width: 100%;
  }
}
.banner__features {
  margin-top: 15.6rem;
}
@media only screen and (max-width: 1280px) {
  .banner__features {
    margin-top: 6rem;
  }
}
.banner__features .container {
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .banner__features .container {
    align-items: center;
    justify-content: center;
    gap: 4rem;
  }
}
.banner__features .container h3 {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  transition: all 0.2s ease;
}
.banner__features .container h3 span {
  width: 5rem;
  aspect-ratio: 1/1;
}
.banner__features .container h3 span img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
@media only screen and (max-width: 576px) {
  .banner__features .container h3 span {
    width: 3.5rem;
  }
}
@media only screen and (min-width: 992px) {
  .banner__features .container h3 {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner__features .container h3 {
    font-size: 2rem;
  }
}
@media (any-hover: hover) {
  .banner__features .container h3:hover {
    color: #000;
  }
}

.about {
  padding-bottom: 3rem;
}
.about__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.about .container {
  max-width: 118rem;
}
.about__item {
  width: calc(25% - 1rem);
  padding: 1.2rem 1.6rem 2rem;
  height: auto;
  border: 3px solid #017cf5;
}
@media only screen and (max-width: 992px) {
  .about__item {
    padding: 1rem 1.4rem 2rem;
  }
}
@media only screen and (max-width: 878px) {
  .about__item {
    width: calc(50% - 0.5rem);
  }
}
@media only screen and (max-width: 576px) {
  .about__item {
    padding: 1rem;
  }
}
.about__item-img {
  width: 7rem;
  aspect-ratio: 1/1;
}
@media only screen and (max-width: 576px) {
  .about__item-img {
    width: 5rem;
  }
}
.about__item-img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.about__item h4 {
  margin-top: 2rem;
}
@media only screen and (min-width: 992px) {
  .about__item h4 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 576px) {
  .about__item h4 {
    margin-top: 1rem;
  }
}
.about__item p {
  font-weight: 400;
}
@media only screen and (min-width: 992px) {
  .about__item p {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 576px) {
  .about__item p {
    font-size: 1.4rem;
  }
}

.timeline {
  overflow: visible;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 878px) {
  .timeline {
    padding-bottom: 6rem;
  }
}
@media only screen and (max-width: 576px) {
  .timeline h2 svg,
  .timeline h2 path {
    width: 2.6rem;
    height: auto;
  }
}
.timeline .container {
  max-width: 120rem;
}
.timeline__wrap {
  margin-top: 4rem;
  display: flex;
  justify-content: space-between;
  gap: 4rem;
  align-items: center;
  z-index: 5;
}
@media only screen and (max-width: 878px) {
  .timeline__wrap {
    flex-direction: column-reverse;
  }
}
.timeline__list {
  max-width: 42.3rem;
}
.timeline__list li {
  display: flex;
  align-items: start;
  gap: 1.2rem;
  color: #017cf5;
  font-size: 2rem;
  font-weight: bold;
}
.timeline__list li + li {
  margin-top: 4rem;
}
@media only screen and (max-width: 992px) {
  .timeline__list li {
    font-size: 1.6rem;
  }
}
.timeline__img {
  box-shadow: -113px 373px 109px 0px rgba(8, 16, 137, 0), -73px 238px 100px 0px rgba(47, 51, 111, 0.01), -41px 134px 84px 0px rgba(9, 26, 255, 0.05), -18px 60px 62px 0px rgba(14, 29, 232, 0.09), -5px 15px 34px 0px rgba(11, 24, 213, 0.1), 0px 0px 0px 0px rgba(23, 36, 217, 0.1);
  border-radius: 3.2rem;
  overflow: hidden;
  width: 65rem;
  max-width: 100%;
}
.timeline__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.timeline__end {
  display: flex;
  margin-top: 28rem;
  max-width: 100%;
  display: none;
}
@media only screen and (max-width: 878px) {
  .timeline__end {
    flex-direction: column;
    max-width: 42.3rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10rem;
  }
}
.timeline__item {
  width: 20%;
}
@media only screen and (max-width: 878px) {
  .timeline__item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    height: auto;
  }
}
.timeline__item .decor {
  position: absolute;
  bottom: 0.7rem;
  transform: translateY(-100%);
}
@media only screen and (max-width: 878px) {
  .timeline__item .decor img {
    width: 2.5rem;
    height: auto;
  }
}
.timeline__item span {
  display: block;
  width: 100%;
  height: 2.6rem;
  background-color: #017cf5;
}
@media only screen and (max-width: 878px) {
  .timeline__item span {
    height: 20rem;
    width: 2rem;
    order: -1;
  }
}
.timeline__item p {
  font-size: 2rem;
  color: #8bb8f8;
  font-weight: 800;
  width: 130%;
  position: absolute;
}
@media only screen and (max-width: 1470px) {
  .timeline__item p {
    width: 100%;
  }
}
@media only screen and (max-width: 992px) {
  .timeline__item p {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 878px) {
  .timeline__item p {
    color: #017cf5;
    max-width: 30rem;
  }
}
.timeline__item span::before {
  content: "";
  position: absolute;
  height: 6.2rem;
  width: 3rem;
  mask: url(../img/timeline/arrow.svg) center/cover no-repeat;
  background-color: #8bb8f8;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
@media only screen and (max-width: 878px) {
  .timeline__item span::before {
    display: none;
  }
}
.timeline__item:nth-child(odd) p {
  transform: translateY(-100%);
  top: -7rem;
}
@media only screen and (max-width: 878px) {
  .timeline__item:nth-child(odd) p {
    position: relative;
    transform: unset;
    top: unset;
    bottom: unset;
  }
}
.timeline__item:nth-child(even) p {
  transform: translateY(100%);
  bottom: -7rem;
}
@media only screen and (max-width: 878px) {
  .timeline__item:nth-child(even) p {
    position: relative;
    transform: unset;
    top: unset;
    bottom: unset;
  }
}
.timeline__item:nth-child(even) span::before {
  bottom: 0;
  top: unset;
  transform: translate(-50%, 100%) rotate(180deg);
}
.timeline__item-end .decor {
  right: 0;
}
@media only screen and (max-width: 878px) {
  .timeline__item-end .decor {
    right: unset;
    left: 0;
    bottom: -1rem;
    transform: translateY(100%);
  }
}
.timeline__item-start span:before {
  left: 70%;
}
@media only screen and (max-width: 878px) {
  .timeline__item-start .decor {
    right: unset;
    left: 0;
    bottom: unset;
    top: -1rem;
    transform: translateY(-100%);
  }
}
.timeline__item:nth-child(1) span {
  background: #c1d8ed;
}
.timeline__item:nth-child(2) span {
  background: #8bb8f8;
}
.timeline__item:nth-child(3) span {
  background: #367cff;
}
.timeline__item:nth-child(4) span {
  background: #0163f5;
}
.timeline__item:nth-child(5) span {
  background: #0d5dd4;
}
.timeline__anim {
  position: absolute;
  right: -4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 120%;
  height: 40rem;
  background-color: #ffffff;
  z-index: 4;
}
@media only screen and (max-width: 1460px) {
  .timeline__anim {
    height: 50rem;
    right: 0;
  }
}
@media only screen and (max-width: 878px) {
  .timeline__anim {
    max-width: 100vw;
    width: 100%;
    height: calc(100% + 10rem);
  }
}

.courses {
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 576px) {
  .courses {
    padding-top: 2rem;
  }
}
.courses__result {
  margin-bottom: 6rem;
  background-color: #017cf5;
  padding: 5rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .courses__result {
    padding: 2rem 0 5rem;
  }
}
.courses__result .container {
  max-width: 118rem;
}
.courses__result .section--title {
  color: #ffffff;
}
.courses__result-wrap {
  color: #ffffff;
  background-color: #017cf5;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .courses__result-wrap {
    margin-top: 1rem;
  }
}
.courses__result-wrap h3 {
  max-width: 43.6rem;
  color: inherit;
}
@media only screen and (min-width: 768px) {
  .courses__result-wrap ul {
    column-count: 2;
  }
}
.courses__result-wrap ul li {
  font-size: 2rem;
  display: flex;
  font-weight: 600;
  line-height: 1.4;
  gap: 1.5rem;
}
@media only screen and (max-width: 576px) {
  .courses__result-wrap ul li {
    font-size: 1.8rem;
  }
}
.courses__result-wrap ul li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  min-width: 0.5rem;
  display: block;
  border-radius: 50%;
  background-color: #ffffff;
  margin-top: 1rem;
}
.courses__result-wrap ul li + li {
  margin-top: 3rem;
}
@media only screen and (max-width: 576px) {
  .courses__result-wrap ul li + li {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 576px) {
  .courses__result-wrap ul li {
    font-size: 1.6rem;
  }
}
.courses .tabs-wrap {
  width: calc(100% + 4rem);
  overflow-x: auto;
  left: -2rem;
  padding: 0 2rem;
}
.courses .tabs-wrap::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
  padding: 0;
}
.courses .tabs-switch {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  padding: 0.8rem;
  margin-top: 3.2rem;
  gap: 2rem;
  overflow-x: auto;
  list-style-type: none;
}
@media only screen and (max-width: 576px) {
  .courses .tabs-switch {
    gap: 0.5rem;
  }
}
.courses .tabs-switch li {
  color: #017cf5;
  border: 1px solid #017cf5;
  padding: 1.5rem 4.9rem;
  border-radius: 0.8rem;
  font-size: 2.4rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.2s ease;
}
@media only screen and (max-width: 768px) {
  .courses .tabs-switch li {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 576px) {
  .courses .tabs-switch li {
    font-size: 1.8rem;
    padding: 1rem 1.4rem;
  }
}
.courses .tabs-switch li.active {
  color: #ffffff;
  background-color: #6192ed;
}
.courses .tabs-switch li:not(.active):hover {
  color: #ffffff;
  background-color: #8bb8f8;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.courses .tabs-switch li + li {
  margin-left: 0.4rem;
}
.courses__tab {
  display: none;
  margin-top: 4rem;
}
.courses__tab.active {
  display: block;
}
.courses__tab-wrap {
  display: flex;
  flex-wrap: wrap;
  box-shadow: -113px 373px 109px 0px rgba(47, 51, 111, 0), -73px 238px 100px 0px rgba(47, 51, 111, 0.01), -41px 134px 84px 0px rgba(47, 51, 111, 0.05), -18px 60px 62px 0px rgba(47, 51, 111, 0.09), -5px 15px 34px 0px rgba(47, 51, 111, 0.1), 0px 0px 0px 0px rgba(47, 51, 111, 0.1);
  max-width: 115rem;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 878px) {
  .courses__tab-wrap {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
}
.courses__tab-descr {
  color: #017cf5;
  margin-bottom: 3rem;
  font-weight: bold;
  font-size: 2.2rem;
}
.courses__tab-bttn {
  text-align: center;
  margin-top: 2rem;
}
.courses__tab-info {
  text-align: center;
  margin-bottom: 2rem;
}
.courses__tab-info p {
  font-size: 2rem;
  font-weight: 600;
  color: #017cf5;
}
.courses__tab-info p + p {
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .courses__tab-info p {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 576px) {
  .courses__tab-info p {
    font-size: 1.4rem;
  }
}
.courses__tab-col {
  flex: 50%;
  padding: 2rem 2rem 3rem 2rem;
}
@media only screen and (max-width: 992px) {
  .courses__tab-col {
    padding: 2rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 878px) {
  .courses__tab-col {
    flex: 100%;
  }
}
.courses__tab-col h3 {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media only screen and (max-width: 992px) {
  .courses__tab-col h3 {
    gap: 1.5rem;
  }
  .courses__tab-col h3 img {
    width: 5rem;
    height: auto;
  }
}
.courses__tab-col ul {
  margin-top: 5rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-col ul {
    margin-top: 3rem;
  }
}
.courses__tab-content {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .courses__tab-content ul {
    column-count: 2;
  }
}
.courses__tab-content ul li {
  display: flex;
  gap: 3rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-content ul li {
    gap: 1rem;
  }
}
.courses__tab-content ul li img {
  max-width: 4.5rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-content ul li img {
    max-width: 3rem;
  }
}
.courses__tab-content ul li p {
  font-size: 2rem;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
  .courses__tab-content ul li p {
    font-size: 1.6rem;
  }
}
.courses__tab-content ul li + li {
  margin-top: 2rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-content ul li + li {
    margin-top: 1.5rem;
  }
}
.courses__tab-content h4 {
  text-align: center;
  margin-top: 4rem;
}
@media only screen and (min-width: 992px) {
  .courses__tab-content h4 {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 576px) {
  .courses__tab-content h4 {
    margin-top: 2rem;
  }
}
.courses__tab-details {
  text-align: center;
  margin: 6rem auto 4rem;
}
.courses__tab-more {
  padding: 4rem 0 8rem;
  background-color: #dceafd;
  display: none;
}
.courses__tab-more .container {
  max-width: 95rem;
}
.courses__tab-more-bttn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
  font-size: 2.2rem;
  font-weight: 800;
  color: #017cf5;
  cursor: pointer;
  transition: all 0.2s ease;
}
@media only screen and (max-width: 992px) {
  .courses__tab-more-bttn {
    font-size: 1.8rem;
  }
}
.courses__tab-more-bttn::after {
  content: "";
  display: block;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M20.0306 15.9694L12.5306 8.46945C12.4609 8.39971 12.3782 8.34439 12.2871 8.30665C12.1961 8.26891 12.0985 8.24948 11.9999 8.24948C11.9014 8.24948 11.8038 8.26891 11.7127 8.30665C11.6217 8.34439 11.539 8.39971 11.4693 8.46945L3.9693 15.9694C3.82857 16.1102 3.74951 16.301 3.74951 16.5001C3.74951 16.6991 3.82857 16.89 3.9693 17.0307C4.11003 17.1714 4.30091 17.2505 4.49993 17.2505C4.69895 17.2505 4.88982 17.1714 5.03055 17.0307L11.9999 10.0604L18.9693 17.0307C19.039 17.1004 19.1217 17.1557 19.2128 17.1934C19.3038 17.2311 19.4014 17.2505 19.4999 17.2505C19.5985 17.2505 19.6961 17.2311 19.7871 17.1934C19.8781 17.1557 19.9609 17.1004 20.0306 17.0307C20.1002 16.961 20.1555 16.8783 20.1932 16.7872C20.2309 16.6962 20.2503 16.5986 20.2503 16.5001C20.2503 16.4015 20.2309 16.3039 20.1932 16.2129C20.1555 16.1219 20.1002 16.0391 20.0306 15.9694Z" fill="%231771F1"/></svg>') center/cover no-repeat;
  background-color: #017cf5;
  transition: all 0.2s ease;
  width: 2.4rem;
  aspect-ratio: 1/1;
  transform: rotate(180deg);
}
@media (any-hover: hover) {
  .courses__tab-more-bttn:hover {
    color: #001aff;
  }
  .courses__tab-more-bttn:hover::after {
    background-color: #001aff;
  }
}
.courses__tab-more-bttn.active::after {
  transform: rotate(0deg);
}
.courses__tab-more-wrap {
  max-width: 75rem;
}
.courses__tab-more h3 + h4 {
  margin-top: 2rem;
}
.courses__tab-more h4 + p {
  margin-top: 2rem;
}
.courses__tab-more p {
  font-size: 1.8rem;
  display: flex;
  gap: 1.5rem;
}
.courses__tab-more p + h4 {
  margin-top: 3rem;
}
.courses__tab-more p::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  min-width: 0.5rem;
  display: block;
  border-radius: 50%;
  background-color: #000;
  margin-top: 1rem;
}
.courses__tab-more ul ul {
  padding-left: 2.5rem;
  margin-bottom: 1rem;
}
.courses__tab-price {
  margin-top: 4rem;
}
.courses__tab-price-wrap {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-price-wrap {
    gap: 1rem;
  }
}
.courses__tab-price .price-old {
  font-size: 3rem;
  text-decoration: line-through;
  color: #8bb8f8;
  margin-top: 2.1rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-price .price-old {
    margin-top: 1.5rem;
    font-size: 2rem;
  }
}
.courses__tab-price .price-new {
  font-size: 6rem;
  color: #017cf5;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
@media only screen and (max-width: 576px) {
  .courses__tab-price .price-new {
    font-size: 4rem;
  }
}
.courses__tab-price .price-new span {
  font-size: 2rem;
  color: #000;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
  .courses__tab-price .price-new span {
    font-size: 1.6rem;
  }
}
.courses__tab-price .price-addit {
  color: #8bb8f8;
  margin-left: 0.1rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
}
@media only screen and (max-width: 576px) {
  .courses__tab-price .price-addit {
    font-size: 1.6rem;
  }
}
.courses__proposal {
  max-width: 122rem;
  display: flex;
  margin: 3rem auto 0;
  border-radius: 2rem;
  border: 3px solid #017cf5;
  background: #ffffff;
  align-items: center;
  gap: 2.1rem;
  padding: 3rem 7rem;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .courses__proposal {
    padding: 1rem 3rem;
  }
}
@media only screen and (max-width: 576px) {
  .courses__proposal {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 3rem;
  }
}
.courses__proposal h4 {
  max-width: 44rem;
}
@media only screen and (min-width: 992px) {
  .courses__proposal h4 {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .courses__proposal h4 {
    max-width: 30rem;
  }
}
@media only screen and (max-width: 576px) {
  .courses__proposal h4 {
    text-align: center;
    margin: 0 auto;
  }
}
.courses__proposal ul {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .courses__proposal ul {
    max-width: 26rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .courses__proposal ul li:nth-child(1) {
    transform: translateY(26px);
  }
  .courses__proposal ul li:nth-child(2) {
    order: -1;
  }
}
@media only screen and (max-width: 768px) {
  .courses__proposal ul li img {
    max-width: 12rem;
  }
}

@keyframes rotate {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0);
  }
}
.form {
  padding-top: 1.5rem;
}
@media only screen and (max-width: 992px) {
  .form {
    padding-top: 3rem;
  }
}
.form__wrap {
  max-width: 115.8rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 5rem;
}
@media only screen and (max-width: 992px) {
  .form__wrap {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.form__time {
  text-align: center;
  font-family: Gilroy;
  color: #0e2560;
  width: 52rem;
}
.form__time * {
  color: inherit;
  font-weight: 800;
}
.form__time svg {
  width: 32rem;
  height: 32rem;
  pointer-events: none;
}
.form__time textPath {
  fill: #017cf5;
  font-size: 2rem;
}
.form__time-wrap {
  display: flex;
  justify-content: center;
  gap: 2.8rem;
  margin-top: 2.8rem;
}
@media only screen and (max-width: 576px) {
  .form__time-wrap {
    margin-top: 2rem;
    gap: 1rem;
  }
}
.form__time p {
  font-size: 3rem;
}
@media only screen and (max-width: 576px) {
  .form__time p {
    font-size: 1.8rem;
  }
}
.form__time .sep {
  font-size: 4.5rem;
  font-weight: 800;
  color: inherit;
}
@media only screen and (max-width: 576px) {
  .form__time .sep {
    font-size: 2.5rem;
  }
}
.form__time-decor {
  animation: rotate 30s infinite linear;
  position: absolute;
}
@media only screen and (max-width: 992px) {
  .form__time-decor {
    bottom: 20rem;
    left: -50%;
    transform: translateX(100%);
  }
}
@media only screen and (max-width: 576px) {
  .form__time-decor {
    left: -19%;
    bottom: 3rem;
  }
}
.form__time-item .time {
  font-size: 4.5rem;
  font-weight: 800;
}
@media only screen and (max-width: 576px) {
  .form__time-item .time {
    font-size: 2.5rem;
  }
}
.form__time-item span {
  font-size: 2.5rem;
}
@media only screen and (max-width: 576px) {
  .form__time-item span {
    font-size: 1.8rem;
  }
}
.form__item {
  width: 54.5rem;
  max-width: 100%;
  padding: 3.9rem 4rem 1.8rem 4rem;
  background-color: #dceafd;
  border-radius: 3.5rem;
  height: max-content;
}
@media only screen and (max-width: 576px) {
  .form__item {
    padding: 2rem 1.5rem;
  }
}
.form__item .iti__selected-dial-code {
  color: #017cf5;
  font-weight: bold;
}
.form__item input {
  color: #017cf5;
  font-weight: bold;
}
.form__item input::placeholder {
  color: #8bb8f8;
  font-weight: bold;
}
.form__item .wpcf7-form-control-wrap {
  margin-top: 1.6rem;
}
.form__item .bttn {
  background-color: #001aff;
}
.form__item .bttn-wrap {
  display: flex;
  justify-content: center;
  margin: 1rem auto 0;
}
@media only screen and (max-width: 992px) {
  .form__item .bttn-wrap {
    margin: 3rem 0 1rem;
  }
}

.program {
  padding-top: 3rem;
}
.program .container {
  max-width: 111rem;
}
.program h2 {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .program h2 {
    margin-bottom: 3rem;
  }
}
.program__section-header {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 576px) {
  .program__section-header {
    margin-bottom: 2rem;
    gap: 1rem;
  }
  .program__section-header img {
    max-width: 4rem;
  }
  .program__section-header h3 {
    max-width: 32rem;
  }
}
.program__section + .program__section {
  margin-top: 8rem;
}
.program__block {
  padding: 3rem;
  border-radius: 2rem;
  background-color: #e0edff;
  width: 100%;
  height: max-content;
}
.program__course {
  display: flex;
  margin-bottom: 2rem;
  max-width: 100%;
  gap: 80px;
}
@media (max-width: 1330px) {
  .program__course {
    gap: calc(20px + 60 * ((100vw - 375px) / 955));
  }
}
@media only screen and (max-width: 878px) {
  .program__course {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
}
.program__course-info {
  width: 58rem;
  max-width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.program__course-info h4 {
  max-width: 49rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 576px) {
  .program__course-info h4 {
    text-align: center;
  }
}
.program__course-columns {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
}
.program__course-columns h4 {
  margin-top: 1rem;
}
@media only screen and (max-width: 576px) {
  .program__course-columns {
    margin-top: 2rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
@media only screen and (max-width: 576px) {
  .program__course-col {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .program__course-col p,
  .program__course-col h4 {
    margin: 0;
  }
}
.program__discount {
  background-color: #017cf5;
  color: #ffffff;
  padding: 4rem 6rem 8.1rem;
}
@media only screen and (max-width: 576px) {
  .program__discount {
    padding: 3rem 5rem 3.1rem;
  }
}
.program__discount h3,
.program__discount h4 {
  color: #ffffff;
}
.program__discount .price h3 {
  line-height: normal;
}
@media only screen and (min-width: 992px) {
  .program__discount .price h3 {
    font-size: 4.5rem;
  }
}
.program__discount .price del {
  color: #8bb8f8;
  font-size: 2.4rem;
  line-height: 125%;
  font-weight: bold;
  text-decoration: line-through;
}
.program__discount-row {
  display: flex;
  gap: 2.6rem;
  margin-top: 1.3rem;
}
.program__discount-row h3 {
  margin-top: 1rem;
}
@media only screen and (max-width: 576px) {
  .program__discount-row {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .program__discount-row .price {
    margin-top: 2rem;
    display: flex;
    gap: 1rem;
    align-items: flex-end;
  }
  .program__discount-row .price del {
    line-height: normal;
  }
  .program__discount-row .price h3 {
    line-height: normal;
    font-size: 3rem;
  }
}
.program__discount-decor {
  position: absolute;
  right: 2rem;
  bottom: -30%;
}
@media only screen and (max-width: 878px) {
  .program__discount-decor {
    bottom: 3rem;
  }
}
@media only screen and (max-width: 576px) {
  .program__discount-decor img {
    max-width: 6rem;
  }
}
@media only screen and (max-width: 576px) {
  .program__discount-img img {
    max-width: 14rem;
  }
}
.program__invite {
  background-color: #8bb8f8;
  padding: 3rem;
}
@media only screen and (max-width: 576px) {
  .program__invite {
    padding: 1rem;
  }
}
.program__invite h4 {
  color: #ffffff;
  font-family: "Open Sans";
  font-weight: bold;
  margin-bottom: 3rem;
  padding-left: 3rem;
}
.program__invite ul li {
  padding: 1.5rem 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  width: 100%;
  border-radius: 1.2rem;
}
@media only screen and (max-width: 576px) {
  .program__invite ul li img {
    max-width: 7rem;
  }
}
.program__invite ul li h6 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 110%;
  color: #017cf5;
  margin-bottom: 0.6rem;
}
.program__invite ul li p {
  color: #ffffff;
  line-height: 150%;
}
.program__invite ul li p span {
  font-weight: bold;
}
.program__invite ul li.selected {
  background-color: #e0edff;
}
.program__invite ul li.selected p {
  color: #017cf5;
}
.program__proposal {
  color: #017cf5;
  background-color: #e0edff;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  min-height: 40rem;
}
.program__proposal p {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 125%;
}
@media only screen and (max-width: 576px) {
  .program__proposal p {
    font-size: 1.6rem;
  }
}
.program__proposal h3 {
  color: inherit;
  line-height: normal;
}
@media only screen and (min-width: 992px) {
  .program__proposal h3 {
    font-size: 4.5rem;
  }
}
.program__proposal-img {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-bottom: -1.5rem;
  margin-top: auto;
}
@media only screen and (max-width: 992px) {
  .program__proposal-img img {
    margin-top: 4rem;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
}
.program__columns {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.program__columns-2 .program__block {
  width: calc(50% - 1.2rem);
}
@media only screen and (max-width: 878px) {
  .program__columns-2 .program__block {
    width: 100%;
  }
}
.program__columns-3 .program__block {
  width: calc(33% - 1.2rem);
  height: auto;
}
@media only screen and (max-width: 878px) {
  .program__columns-3 .program__block {
    width: 100%;
  }
}

@keyframes rotate {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0);
  }
}
@keyframes rotate-reverse {
  from {
    transform: rotate(-360deg);
  }
  to {
    transform: rotate(0);
  }
}
.way {
  background-color: #017cf5;
  color: #ffffff;
  padding-bottom: 17.7rem;
}
.way .container {
  max-width: 91rem;
}
.way h2,
.way h4 {
  color: #ffffff;
}
.way__wrap {
  counter-reset: step;
  display: flex;
  flex-wrap: wrap;
  margin-top: 8.2rem;
}
@media only screen and (max-width: 768px) {
  .way__wrap {
    margin-top: 8rem;
    flex-direction: column;
    align-items: center;
    gap: 6rem;
  }
}
.way__item {
  width: 50%;
  padding: 0 1rem;
}
@media only screen and (max-width: 576px) {
  .way__item {
    width: 100%;
  }
}
.way__item + .way__item {
  margin-top: 0rem;
}
@media only screen and (max-width: 768px) {
  .way__item + .way__item {
    margin-top: 0;
  }
}
.way__item:nth-child(even) {
  margin-top: 14rem;
}
@media only screen and (max-width: 768px) {
  .way__item:nth-child(even) {
    margin-top: 0;
  }
}
.way__item:nth-child(2) {
  margin-top: 15rem;
}
@media only screen and (max-width: 768px) {
  .way__item:nth-child(2) {
    margin-top: 0;
  }
}
.way__item-img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.2rem;
}
.way__item-img img {
  max-width: 8.6rem;
}
@media only screen and (max-width: 576px) {
  .way__item-img {
    margin-bottom: 1rem;
  }
  .way__item-img img {
    max-width: 8rem;
  }
}
.way__item h4 {
  display: inline-flex;
  line-height: 125%;
}
@media only screen and (max-width: 576px) {
  .way__item h4 {
    font-size: 2rem;
    line-height: 110%;
  }
}
.way__item p {
  max-width: 35rem;
  margin-top: 1.3rem;
  line-height: 140%;
}
@media only screen and (max-width: 576px) {
  .way__item p {
    font-size: 1.6rem;
    margin-top: 0.5rem;
  }
}
@media only screen and (max-width: 576px) {
  .way__item {
    width: 30rem;
    max-width: 100%;
    text-align: center;
  }
}
.way__end {
  color: #001aff;
  padding-top: 8rem;
  text-align: center;
}
@media only screen and (max-width: 576px) {
  .way__end {
    padding-top: 15rem;
  }
}
.way__end-subtitle {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 125%;
}
@media only screen and (max-width: 576px) {
  .way__end-subtitle {
    font-size: 2rem;
  }
}
.way__end h2 {
  color: #001aff;
}
.way__end-text {
  max-width: 64rem;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 768px) {
  .way__end-text {
    margin-top: 2rem;
  }
}
.way__decor {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.way__decor-1 {
  top: -10rem;
  right: -5rem;
  animation: rotate 30s infinite linear;
  opacity: 0.5;
  font-size: 2rem;
  font-weight: 800;
}
.way__decor-1 textPath {
  fill: #8bb8f8;
}
@media only screen and (max-width: 576px) {
  .way__decor-1 {
    right: -20rem;
  }
}
.way__decor-2 {
  top: 13rem;
  left: 9rem;
}
@media only screen and (max-width: 992px) {
  .way__decor-2 {
    top: 13rem;
    left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .way__decor-2 {
    left: -15rem;
  }
}
@media only screen and (max-width: 576px) {
  .way__decor-2 {
    top: 29rem;
  }
  .way__decor-2 img {
    width: 4rem;
  }
}
.way__decor-3 {
  top: 55.4rem;
  right: 0;
}
@media only screen and (max-width: 576px) {
  .way__decor-3 {
    top: 70rem;
  }
  .way__decor-3 img {
    width: 4rem;
  }
}
.way__decor-4 {
  bottom: -17rem;
  left: -30rem;
  animation: rotate-reverse 30s infinite linear;
  font-size: 2rem;
  font-weight: 800;
}
.way__decor-4 circle {
  fill: #ffffff;
  opacity: 0.5;
}
.way__decor-4 textPath {
  fill: #ffffff;
}
@media only screen and (max-width: 992px) {
  .way__decor-4 {
    left: -15rem;
    bottom: -23rem;
  }
}

.faq {
  padding-top: 0;
}
@media only screen and (max-width: 878px) {
  .faq {
    padding-bottom: 0;
  }
}
.faq .section--title {
  background-color: #8bb8f8;
  padding-top: 4rem;
}
@media only screen and (min-width: 992px) {
  .faq .section--title {
    font-size: 7rem;
  }
}
@media only screen and (max-width: 576px) {
  .faq .section--title {
    padding-top: 2.4rem;
  }
}
.faq .section--title span {
  line-height: normal;
  color: #ffffff;
}
.faq .section--title span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3.3rem;
  height: 3.3rem;
  background-color: #040e1e;
  transform: translate(-100%, -100%);
}
@media only screen and (max-width: 576px) {
  .faq .section--title span::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.faq__wrap {
  display: flex;
  flex-wrap: wrap;
  column-gap: 7.7rem;
  max-width: 111rem;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 878px) {
  .faq__wrap {
    gap: 2rem;
  }
}
@media only screen and (max-width: 576px) {
  .faq__wrap {
    gap: 0;
    margin-top: 3rem;
  }
}
.faq__item {
  width: calc(50% - 4rem);
  border-bottom: 1px solid #8bb8f8;
}
@media only screen and (max-width: 878px) {
  .faq__item {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 576px) {
  .faq__item {
    width: 100%;
  }
}
.faq__item-header {
  padding: 3rem 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media only screen and (max-width: 576px) {
  .faq__item-header {
    padding: 1.5rem 0;
  }
}
.faq__item-header h5 {
  font-family: "Open Sans";
  font-size: 2rem;
  line-height: 110%;
  font-weight: 600;
  max-width: 42rem;
  transition: all 0.2s ease;
}
@media only screen and (max-width: 878px) {
  .faq__item-header h5 {
    font-size: 1.8rem;
  }
}
.faq__item-header span {
  min-width: 5.5rem;
  height: 5.5rem;
  display: block;
  transition: all 0.2s ease;
}
.faq__item-header span::after, .faq__item-header span::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #017cf5;
  transition: all 0.2s ease;
}
.faq__item-header span::after {
  width: 5.5rem;
  height: 1rem;
}
@media only screen and (max-width: 878px) {
  .faq__item-header span::after {
    width: 3rem;
    height: 0.5rem;
  }
}
.faq__item-header span::before {
  width: 1rem;
  height: 5.5rem;
  right: 2.1rem;
}
@media only screen and (max-width: 878px) {
  .faq__item-header span::before {
    height: 3rem;
    width: 0.5rem;
    right: 1.3rem;
  }
}
@media (any-hover: hover) {
  .faq__item-header:not(.active):hover h5 {
    color: #017cf5;
  }
}
.faq__item-header.active span::before {
  transform: translateY(-50%) rotate(90deg);
}
.faq__item-content {
  padding-bottom: 3rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 150%;
  color: #017cf5;
  display: none;
}
@media only screen and (max-width: 878px) {
  .faq__item-content {
    font-size: 1.6rem;
  }
}
.faq__item-content a {
  font-size: inherit;
}
@media (any-hover: hover) {
  .faq__item-content a {
    transition: all 0.2s ease;
  }
  .faq__item-content a:hover {
    color: #001aff;
  }
}
.faq__item-content p {
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}
.faq__item-content p + p {
  margin-top: 1rem;
}
.faq__question {
  width: 108rem;
  max-width: 100%;
  margin: 6rem auto 0;
  padding: 1rem 11rem 3rem;
  gap: 6.3rem;
  display: flex;
  align-items: flex-end;
  background-color: #8bb8f8;
}
@media only screen and (max-width: 1360px) {
  .faq__question {
    max-width: unset;
    width: unset;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
}
@media only screen and (max-width: 992px) {
  .faq__question {
    padding: 2rem 3rem;
  }
}
@media only screen and (max-width: 878px) {
  .faq__question {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 5rem;
  }
}
@media only screen and (max-width: 576px) {
  .faq__question {
    margin-top: 2rem;
    padding: 2rem;
    gap: 2rem;
  }
}
.faq__question-content {
  max-width: 42rem;
  color: #ffffff;
  display: inline-flex;
  flex-direction: column;
  gap: 2rem;
}
.faq__question-content h4 {
  color: #ffffff;
}
.faq__question-content .bttn {
  width: max-content;
}
.faq__question-img {
  padding-top: 3rem;
}
@media only screen and (max-width: 576px) {
  .faq__question-img {
    display: flex;
  }
}
.faq__question-img-main {
  width: 20.3rem;
  height: auto;
  border-radius: 50%;
  overflow: hidden;
}
@media only screen and (max-width: 576px) {
  .faq__question-img-main {
    width: 14rem;
  }
}
.faq__question-img-main img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.faq__question-img span {
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(100%, 0%);
}
@media only screen and (max-width: 576px) {
  .faq__question-img span {
    position: unset;
    width: 5rem;
    transform: unset;
  }
  .faq__question-img span img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
}

@keyframes small-rotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(8deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.lessons h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
}
.lessons h2 span {
  animation: small-rotate 5s ease infinite;
}
@media only screen and (max-width: 576px) {
  .lessons h2 span img {
    width: 3rem;
  }
}
.lessons__wrap {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 4.5rem 30px;
  grid-template-areas: ". video video" ". video video" ". . .";
}
@media only screen and (max-width: 878px) {
  .lessons__wrap {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    grid-template-areas: "video video" ". ." ". .";
  }
}
@media only screen and (max-width: 768px) {
  .lessons__wrap {
    grid-template-columns: 1fr;
    grid-template-areas: "video" "." ".";
  }
}
@media only screen and (max-width: 576px) {
  .lessons__wrap {
    gap: 3rem;
  }
}
.lessons__item {
  max-width: 100%;
}
@media only screen and (max-width: 768px) {
  .lessons__item {
    width: 37rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 576px) {
  .lessons__item {
    width: 100%;
  }
}
.lessons__item-header {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 576px) {
  .lessons__item-header {
    margin-bottom: 1rem;
  }
  .lessons__item-header h4 {
    font-size: 1.6rem;
  }
  .lessons__item-header img {
    width: 4rem;
    height: auto;
  }
}
.lessons__item p {
  color: #183778;
}
@media only screen and (min-width: 992px) {
  .lessons__item p {
    font-size: 2rem;
    line-height: 140%;
  }
}
.lessons__video {
  grid-area: video;
  height: max-content;
  max-width: 75.1rem;
  overflow: hidden;
}
@media only screen and (min-width: 878px) {
  .lessons__video {
    height: 40rem;
  }
}
.lessons__video .video-frame {
  height: 100%;
}

.teachers h2 {
  color: #000;
}
.teachers h2 span {
  color: #8bb8f8;
}
.teachers__slider {
  margin-top: 6rem;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .teachers__slider {
    margin-top: 3.5rem;
  }
}
@media only screen and (max-width: 1360px) {
  .teachers__slider {
    margin-right: -1.5rem;
    padding-right: 1.5rem;
  }
}
.teachers__slider-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: -5rem;
  z-index: 2;
}
@media only screen and (max-width: 576px) {
  .teachers__slider-nav {
    margin-top: -2rem;
  }
}
.teachers__slider-prev, .teachers__slider-next {
  cursor: pointer;
  border-radius: 0.7rem;
  transition: all 0.2s ease;
}
.teachers__slider-prev img, .teachers__slider-next img {
  transition: all 0.2s ease;
}
.teachers__slider-prev.swiper-button-disabled, .teachers__slider-next.swiper-button-disabled {
  opacity: 0.5;
}
.teachers__slider-prev:not(.swiper-button-disabled):hover img {
  transform: translateX(-5px);
}
.teachers__slider-prev:not(.swiper-button-disabled):active img {
  transform: translateX(-15px);
}
.teachers__slider-next:not(.swiper-button-disabled):hover img {
  transform: translateX(5px);
}
.teachers__slider-next:not(.swiper-button-disabled):active img {
  transform: translateX(15px);
}
.teachers__slide {
  width: 29rem;
  height: auto;
  display: flex;
  flex-direction: column;
  min-height: 42rem;
  background-color: #ffffff;
  box-shadow: -3.93px 11.791px 26.726px 0px rgba(47, 51, 111, 0.1), 0px 0px 0px 0px rgba(47, 51, 111, 0.1);
  user-select: none;
}
@media only screen and (max-width: 576px) {
  .teachers__slide {
    min-height: 27rem;
  }
}
.teachers__slide-img {
  height: 23rem;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
}
.teachers__slide-img img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
}
.teachers__slide-video {
  position: absolute;
  right: 0.5rem;
  bottom: 0;
  transform: translateY(50%);
  display: flex;
  align-items: center;
  z-index: 2;
  transition: all 0.2s ease;
}
.teachers__slide-video img {
  transition: all 0.2s ease;
}
@media only screen and (max-width: 576px) {
  .teachers__slide-video img {
    width: 4rem;
    height: auto;
  }
}
@media (any-hover: hover) {
  .teachers__slide-video:hover img {
    transform: scale(1.1);
  }
  .teachers__slide-video:active img {
    transform: scale(1);
  }
}
.teachers__slide-info {
  height: 100%;
  padding: 1rem 1.3rem 3rem;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.teachers__slide-info h4 {
  line-height: 118%;
  margin: 0 auto;
  color: #000;
  text-align: center;
  max-width: 100%;
}
@media only screen and (min-width: 576px) {
  .teachers__slide-info h4 {
    max-width: 18rem;
    font-size: 2.75rem;
  }
}
.teachers__slide-info p {
  color: #040e1e;
  line-height: 122%;
  font-size: 1.8rem;
}
@media only screen and (max-width: 576px) {
  .teachers__slide-info p {
    font-size: 1.4rem;
    margin: 1rem 0;
  }
}
@media only screen and (max-width: 576px) {
  .teachers__slide-info {
    padding-bottom: 3rem;
  }
}
.teachers__slide-details {
  margin-top: 0.7rem;
  font-size: 2rem;
  color: #017cf5;
  display: flex;
  justify-content: center;
  cursor: pointer;
  align-items: center;
  gap: 0.86rem;
  transition: all 0.2s ease;
  font-weight: 600;
  margin-top: auto;
}
.teachers__slide-details::after {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  mask: url(../img/teachers/detail.svg) no-repeat center/cover;
  background-color: #017cf5;
  transition: all 0.2s ease;
}
.teachers__slide-details:hover {
  color: #003176;
}
.teachers__slide-details:hover::after {
  background-color: #003176;
}
@media only screen and (max-width: 576px) {
  .teachers__slide-details {
    margin-top: 2rem;
    font-size: 1.8rem;
  }
}

.certif {
  padding-top: 0;
}
@media only screen and (min-width: 768px) {
  .certif {
    overflow: visible;
  }
}
.certif__header {
  text-align: center;
}
.certif__header-img {
  max-width: 6.4rem;
  margin: 0 auto;
}
.certif__header-img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.certif__header p {
  margin-top: 3rem;
  font-size: 2.4rem;
  font-weight: bold;
  color: #040e1e;
}
@media only screen and (max-width: 768px) {
  .certif__header p {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 576px) {
  .certif__header p {
    font-size: 1.6rem;
  }
}
.certif__content {
  display: flex;
  max-width: 84rem;
  margin: 10rem auto 0;
  gap: 9rem;
}
@media only screen and (max-width: 768px) {
  .certif__content {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6rem;
    margin-top: 3rem;
  }
}
.certif__img {
  background-color: inherit;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .certif__img {
    padding-top: 1.5rem;
  }
}
.certif__img-item {
  width: 46rem;
  max-width: 100%;
}
.certif__img-item img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1.6rem;
  box-shadow: -113px 373px 109px 0px rgba(8, 16, 137, 0), -73px 238px 100px 0px rgba(47, 51, 111, 0.01), -41px 134px 84px 0px rgba(9, 26, 255, 0.05), -18px 60px 62px 0px rgba(14, 29, 232, 0.09), -5px 15px 34px 0px rgba(11, 24, 213, 0.1), 0px 0px 0px 0px rgba(23, 36, 217, 0.1);
}
.certif__decor-wrap {
  position: absolute;
  top: -6rem;
  right: -4rem;
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .certif__decor-wrap {
    right: 0;
    top: -3rem;
  }
  .certif__decor-wrap img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
}
.certif__info {
  width: 31rem;
  max-width: 100%;
}
.certif__info ul li {
  font-family: "Gilroy-Bold", sans-serif;
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: 2.2rem;
  color: #8bb8f8;
  font-weight: 800;
  line-height: 140%;
  gap: 1rem;
}
.certif__info ul li img {
  max-width: 3.2rem;
  margin: 0 auto;
}
.certif__info ul li + li {
  margin-top: 2rem;
}
.certif__end {
  color: #8bb8f8;
  text-align: center;
  margin-top: 4rem;
  line-height: 150%;
}

:root {
  --gap: calc(clamp(10rem, 100rem + 40vmin, 120rem) / 14);
  --duration: 60s;
  --scroll-start: 0;
  --scroll-end: calc(-100% - var(--gap));
}

@media only screen and (max-width: 576px) {
  :root {
    --gap: calc(clamp(10rem, 1rem + 40vmin, 30rem) / 14);
  }
}
@keyframes scroll-x {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--scroll-end));
  }
}
@keyframes rotating {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.reviews {
  margin-top: 6rem;
}
@media only screen and (max-width: 576px) {
  .reviews {
    margin-top: 0;
  }
}
.reviews__scroll {
  display: flex;
  justify-content: space-around;
  align-items: center;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
  mask-image: linear-gradient(var(--mask-direction, to right), hsla(0deg, 0%, 0%, 0), #000 20%, #000 80%, hsla(0deg, 0%, 0%, 0));
}
.reviews__header {
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  gap: var(--gap);
  min-width: 100%;
  -webkit-animation: scroll-x var(--duration) linear infinite;
  animation: scroll-x var(--duration) linear infinite;
}
.reviews__header h2 {
  text-transform: uppercase;
  color: #8bb8f8;
  transition: all 0.2s ease;
  cursor: pointer;
}
.reviews__header h2:hover {
  color: #040e1e;
}
.reviews__videos {
  margin-top: 4.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.reviews__video {
  display: inline-block;
  width: calc(25% - 1.5rem);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .reviews__video {
    width: calc(50% - 1rem);
  }
}
.reviews__video-header {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 576px) {
  .reviews__video-header {
    margin-bottom: 1rem;
  }
}
.reviews__video-img {
  width: 6.2rem;
  height: auto;
  aspect-ratio: 1/1;
}
.reviews__video-img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
@media only screen and (max-width: 768px) {
  .reviews__video-img {
    width: 5rem;
  }
}
@media only screen and (max-width: 576px) {
  .reviews__video-img {
    width: 4rem;
  }
}
.reviews__video-cover {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.6rem;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/1;
}
.reviews__video-cover .iframe {
  height: 100%;
}
.reviews__video-cover img {
  transition: all 0.2s ease;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.reviews__video-cover.video-frame::after {
  content: "";
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  z-index: 1;
  background-image: url(../img/reviews/play.svg);
  background-size: cover;
  transition: all 0.2s ease;
  border-radius: 50%;
  background-position: center;
  width: 5.8rem;
  height: 5.8rem;
}
@media only screen and (max-width: 768px) {
  .reviews__video-cover.video-frame::after {
    width: 4rem;
    height: 4rem;
  }
}
.reviews__video-cover:hover img {
  transform: scale(1.05);
}
.reviews__video-cover:hover::after {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.reviews__content {
  margin-top: 6rem;
}
.reviews__item {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2.5rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
.reviews__item:not(.rotate, .js-scene) {
  border: 8px solid #8bb8f8;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.reviews__item img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.reviews__item-star {
  width: 13.3rem;
}
@media only screen and (max-width: 576px) {
  .reviews__item.js-scene {
    display: none;
  }
}
.reviews__item.rotate {
  animation: rotating 20s linear infinite;
}

.tg {
  padding: 0;
}
.tg .container {
  display: flex;
  align-items: center;
  max-width: 110rem;
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .tg .container {
    flex-direction: column;
    justify-content: center;
  }
}
.tg__img {
  width: 53rem;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .tg__img {
    min-width: 35rem;
  }
}
.tg__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.tg__content {
  max-width: 53rem;
}
.tg h4 {
  color: #040e1e;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 576px) {
  .tg h4 {
    margin-bottom: 1.5rem;
  }
}
.tg__bttn {
  display: flex;
  align-items: center;
}
.tg__bttn .bttn {
  width: 34.2rem;
  margin: 0 auto;
}
@media only screen and (max-width: 576px) {
  .tg__bttn .bttn {
    width: 100%;
  }
}

.gift {
  padding-top: 0;
  overflow: hidden;
}
.gift .container {
  max-width: 111rem;
}
.gift__wrap {
  max-width: 88rem;
  padding: 1.3rem;
  padding-left: 3rem;
  display: flex;
  align-items: center;
  gap: 2.7rem;
  background-color: #e0edff;
  border-radius: 2rem;
}
@media only screen and (max-width: 768px) {
  .gift__wrap {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    padding: 1rem 3rem 3rem;
  }
}
.gift__decor {
  position: absolute;
  right: 2rem;
  top: 6.4rem;
}
@media only screen and (max-width: 1360px) {
  .gift__decor {
    top: -4rem;
  }
  .gift__decor img {
    max-width: 6.4rem;
  }
}
@media only screen and (max-width: 1360px) {
  .gift__decor {
    top: -1rem;
  }
  .gift__decor img {
    max-width: 10rem;
  }
}
.gift__info {
  max-width: 50rem;
  color: #017cf5;
}
@media only screen and (min-width: 992px) {
  .gift__info h3 {
    font-size: 4.5rem;
  }
}
.gift__info p {
  margin-top: 1.2rem;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 125%;
}
@media only screen and (max-width: 576px) {
  .gift__info p {
    font-size: 1.6rem;
  }
}
.gift__img {
  max-width: 31rem;
}
@media only screen and (min-width: 576px) {
  .gift__img {
    min-width: 26.8rem;
  }
}
.gift__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.start {
  background-color: #8bb8f8;
  padding-top: 0;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .start {
    padding-bottom: 4rem;
  }
}
.start .container {
  display: flex;
  max-width: 76.6rem;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .start .container {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
}
.start__content {
  margin-top: 4rem;
  text-align: center;
  width: 40.2rem;
  max-width: 100%;
}
.start__content h2 {
  color: #ffffff;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 576px) {
  .start__content h2 {
    margin-bottom: 1rem;
  }
}

.video-frame {
  border-radius: 1.5rem;
  overflow: hidden;
  cursor: pointer;
  height: 125%;
}
.video-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.2s linear;
}
.video-frame .iframe {
  width: 100%;
  display: block;
  padding-bottom: 53.25%;
  z-index: -1;
}
.video-frame.video-play .iframe {
  z-index: 10;
}
.video-frame iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transition: 0.5s linear;
}
.video-frame:after {
  content: "";
  display: block;
  width: 7rem;
  height: 7rem;
  background: url("../img/icons/play.svg") no-repeat center center;
  z-index: 1;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: calc(50% - 2rem);
  transition: 0.2s ease-in-out;
}
.video-frame:hover:before, .video-frame:hover:after {
  transform: scale(1.1);
}
.video-frame:active:before, .video-frame:active:after {
  transform: scale(0.95);
}
.video-frame.video-play:before, .video-frame.video-play:after {
  opacity: 0;
}
.video-frame.video-play iframe {
  opacity: 1;
}

.popup {
  min-height: 40rem;
  height: max-content;
  width: auto;
  background: #ffffff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  z-index: 11;
  padding: 3rem 5rem;
  margin: auto;
}
.popup:not(.show) {
  position: fixed;
  left: 0;
  top: 0;
  z-index: -5;
  visibility: hidden;
  pointer-events: none;
}
.popup .video-frame {
  border-radius: 0;
}
.popup.show {
  display: block;
  transition: all 0.2s ease;
  transform: translateY(0px);
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}
.popup#popup-teacher {
  width: 122rem;
  padding: 4.6rem 9.8rem;
}
@media only screen and (max-width: 992px) {
  .popup#popup-teacher {
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 768px) {
  .popup#popup-teacher {
    padding: 2rem 3rem 10rem;
  }
}
.popup#popup-teacher .popup__wrap {
  display: flex;
  gap: 4.1rem;
}
@media only screen and (max-width: 992px) {
  .popup#popup-teacher .popup__wrap {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.popup#popup-teacher-video {
  padding: 0;
  min-height: auto;
  width: 80rem;
  max-width: 100%;
}
.popup#popup-teacher-video .popup__wrap {
  padding: 0;
}
.popup#popup-teacher-video .popup__close {
  top: -5rem;
}
.popup.popup__contact {
  width: 50rem;
  max-width: 100%;
  border-radius: 1.6rem;
  padding: 6rem 5rem;
}
@media only screen and (max-width: 576px) {
  .popup.popup__contact {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    padding: 5rem 3rem;
  }
}
.popup.popup__contact form {
  text-align: center;
  display: flex;
  flex-direction: column;
}
.popup.popup__contact form label {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 600;
  color: #000;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media only screen and (max-width: 576px) {
  .popup.popup__contact form label {
    font-size: 1.6rem;
    gap: 0.5rem;
  }
}
.popup.popup__contact form label input {
  width: 100%;
}
.popup.popup__contact form label + label {
  margin-top: 3rem;
}
@media only screen and (max-width: 576px) {
  .popup.popup__contact form label + label {
    margin-top: 1rem;
  }
}
.popup.popup__contact form .bttn {
  margin-top: 4rem;
}
@media only screen and (max-width: 576px) {
  .popup.popup__contact form .bttn {
    margin-top: 2rem;
  }
}
.popup#popup-thanks {
  max-width: 50rem;
  border-radius: 1.6rem;
}
.popup__lvl {
  width: 130rem;
  padding: 8rem 11rem 6rem;
}
@media only screen and (max-width: 768px) {
  .popup__lvl {
    padding: 4rem 5rem 8rem;
  }
}
@media only screen and (max-width: 576px) {
  .popup__lvl {
    padding-bottom: 10rem;
  }
}
.popup__lvl .popup__wrap {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .popup__lvl .popup__wrap {
    flex-direction: column-reverse;
    gap: 5rem;
  }
}
.popup__lvl-bttn {
  margin-top: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup__lvl-info {
  max-width: 64rem;
}
.popup__lvl-info h4 {
  color: #8bb8f8;
}
@media only screen and (min-width: 992px) {
  .popup__lvl-info h4 {
    font-size: 3rem;
  }
}
.popup__lvl-info h4 + p {
  margin-top: 0.8rem;
}
.popup__lvl-info p {
  font-size: 1.6rem;
  font-weight: 500;
}
.popup__lvl-info p + h4 {
  margin-top: 4rem;
}
.popup__lvl-steps {
  text-align: center;
}
.popup__lvl-steps p {
  font-family: "Gilroy-Bold", sans-serif;
  font-size: 3rem;
  color: #017cf5;
  font-weight: 800;
}
@media only screen and (max-width: 992px) {
  .popup__lvl-steps p {
    font-size: 1.8rem;
  }
}
.popup__lvl-steps p + h2 {
  margin-top: 4rem;
}
.popup__lvl-steps h2 + h2 {
  margin-top: 4rem;
}
@media only screen and (min-width: 992px) {
  .popup__lvl-steps h2:last-child {
    font-size: 3rem;
  }
}
.popup-bg {
  width: 100%;
  height: 100%;
  position: fixed;
  overflow: auto;
  left: 0;
  top: 0;
  z-index: 11;
  opacity: 0;
  display: flex;
  pointer-events: none;
  padding: 3rem 1.5rem;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.6);
  transition: all 0.2s ease;
}
.popup-bg.show {
  pointer-events: all;
  opacity: 1;
}
@media only screen and (max-width: 576px) {
  .popup-bg {
    padding: 0;
  }
}
.popup__close {
  background-color: inherit;
  position: absolute;
  right: 20px;
  top: 16px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
}
.popup__close img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
@media only screen and (max-width: 576px) {
  .popup__close {
    width: 2.5rem;
    height: 2.5rem;
    top: 0.5rem;
    right: 1rem;
  }
}

.popup__card {
  display: flex;
  flex-direction: column;
  box-shadow: -18px 60px 62px 0px rgba(47, 51, 111, 0.09), -5px 15px 34px 0px rgba(47, 51, 111, 0.1), 0px 0px 0px 0px rgba(47, 51, 111, 0.1);
  min-height: 49rem;
}
@media only screen and (min-width: 992px) {
  .popup__card {
    min-width: 30rem;
  }
}
@media only screen and (max-width: 992px) {
  .popup__card {
    padding-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .popup__card {
    max-width: 32rem;
    min-height: auto;
    padding-bottom: 5rem;
  }
}
.popup__card-img {
  width: 100%;
}
.popup__card-img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.popup__card-info {
  padding: 1rem 3.95rem;
  text-align: center;
}
.popup__card-info h4 {
  color: #000;
}
@media only screen and (min-width: 992px) {
  .popup__card-info h4 {
    font-size: 3.5rem;
  }
}
.popup__card-info p {
  margin-top: 1rem;
  font-size: 2rem;
  line-height: 140%;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
  .popup__card-info p {
    font-size: 1.4rem;
  }
}
.popup__detail h4 {
  color: #8bb8f8;
  margin-bottom: 0.8rem;
}
@media only screen and (min-width: 992px) {
  .popup__detail h4 {
    font-size: 3rem;
  }
}
.popup__detail p {
  font-size: 2rem;
  line-height: 140%;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
  .popup__detail p {
    font-size: 1.4rem;
  }
}
.popup__detail p + h4 {
  margin-top: 0.8rem;
}
.popup__detail-video {
  font-family: "Gilroy-Bold", sans-serif;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-top: 1.6rem;
  color: #017cf5;
  font-size: 2rem;
  line-height: 140%;
  font-weight: 800;
  transition: all 0.2s ease;
}
.popup__detail-video svg,
.popup__detail-video circle {
  transition: all 0.2s ease;
}
@media only screen and (max-width: 576px) {
  .popup__detail-video {
    font-size: 1.4rem;
    margin-top: 3rem;
  }
  .popup__detail-video svg,
  .popup__detail-video circle {
    max-width: 4rem;
  }
}
.popup__detail-video:hover {
  color: #003176;
}
.popup__detail-video:hover svg,
.popup__detail-video:hover circle {
  fill: #003176;
}
.popup__detail-video:active {
  transform: scale(0.95);
}

.popup--thanks {
  min-height: auto;
}
.popup--thanks .popup__title {
  text-align: center;
}
.popup--thanks .popup__wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (max-width: 576px) {
  .popup--thanks .popup {
    width: 80%;
  }
}

.wpcf7-response-output,
p[role=status] {
  display: none;
}

.footer {
  background-color: #040e1e;
  color: #ffffff;
  padding: 8rem 0 3.9rem;
}
@media only screen and (max-width: 878px) {
  .footer {
    padding: 4rem 0 6rem;
  }
}
.footer .container {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
@media only screen and (max-width: 878px) {
  .footer .container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
}
@media only screen and (max-width: 878px) {
  .footer__menu {
    width: 100%;
    max-width: 100%;
  }
}
.footer__menu a {
  display: inline-flex;
  padding: 1rem 0;
  font-size: 2rem;
  line-height: 140%;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .footer__menu a:hover {
    color: #017cf5;
  }
  .footer__menu a.gray {
    color: #787878;
  }
  .footer__menu a.gray:hover {
    color: #8bb8f8;
  }
}
.footer__menu li.gray a {
  color: #787878;
}
@media (any-hover: hover) {
  .footer__menu li:not(.gray) a:hover {
    color: #017cf5;
  }
  .footer__menu li:not(.gray) a.gray {
    color: #787878;
  }
  .footer__menu li:not(.gray) a.gray:hover {
    color: #8bb8f8;
  }
}
@media only screen and (max-width: 576px) {
  .footer__info {
    width: 100%;
  }
}
.footer__info ul {
  margin-top: 6rem;
}
@media only screen and (max-width: 768px) {
  .footer__info ul {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 576px) {
  .footer__contact {
    width: 100%;
  }
}
.footer__social {
  display: flex;
  gap: 1rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .footer__social {
    margin-bottom: 4rem;
  }
}
.footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
}
.footer__social a img {
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .footer__social a:hover img {
    background-color: #017cf5;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(255, 255, 255, 0.2);
  }
  .footer__social a:active img {
    transform: scale(1);
  }
}