* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --body-bg: #00081B;
  --body-color: #D2D2D2;
  --greycolor: #F6F7F8;
  --border-color: #DFDFDF;
  --transition: all 0.3s ease-in-out;
  --link-color: #3A3A3C;
  --link-hover-color: #0275CD;
  --color-1: #040F25;
  --color-2: #00349D;
  --color-3: #EEC0A5;
  --color-4: #3672C0;
  --color-5: #fff;
  --color-6: #303e53;
  --color-7: #061C46;
  --color-8: #0A1220;
  --body-font: Manrope;
  --font-size: 20px;
  --btn-bg-color: #3672C0;
  --btn-bg-hover-color: #fff;
  --btn-txt-color: #fff;
  --btn-txt-hover-color: #3672C0;
}

html {
  overflow-x: hidden;
}

body {  
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--body-bg);
  font-family: var(--body-font);
  font-size: var(--font-size);
  color: var(--body-color);
  line-height: 130%;
  font-weight: 400;
  overflow-x: hidden;
}
body.menu-open {
    overflow: hidden;
    width: 100%;
}

section {
  overflow-x: hidden;
}
.bg-1 {
  background: #00081B;
}
.bg-2 {
  background: rgba(9, 26, 53, 0.4);
}
.bg-2 {
  background: rgba(0, 52, 157, 1);
}
.bg-3 {
  background: rgba(6, 28, 70, 1);
}
.bg-4 {
  background: #2F4A6033;
}
.wrapper {
  padding-bottom: 60px;
}
.wrapper.style-1 {
  background: #F4F4F4;
}
.wrapper #top-banner {
  padding-top: 0;
}
.inner-wrapper {
  background: #fff;
  padding: 42px;
  border-radius: 40px;
}


ul {
  padding: 0;
  margin: 0;
}
li {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
a {
  display: block;
  text-decoration: none;
  color: var(--link-color);
  transition: var(--transition);
}
a:hover {
  color: var(--color-2);
}
a.line,
a.hoverline:hover {
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-style: dotted;
}
a.readmore {
  position: relative;
  color: var(--color-1);
  font-weight: 600;
  font-size: 18px;
  line-height: 110%;
}
a.readmore:after {
  position: relative;
  top: 2px;
  content: "\f061";
  font-family: icon;
  padding-left: 10px;
  transition: all 0.2s ease-in-out;
}
a.readmore:hover {
  color: var(--color-2);
}
a.readmore:hover:after {
  padding-left: 13px;
}

/* Heading Titles START */

h1, h2, h3, h4, h5, h6 {
  font-family: Lora;
  font-weight: 500;
  line-height: 130%;
  color: var(--color-3);
}

.heading__title {
  font-size: 56px;
  line-height: 120%;
	margin-bottom: 32px;
}
.heading__title.type-2 {
  margin-bottom: 62px;
}
.heading__title.type-3 {
  margin-bottom: 16px;
}
.heading__title.type-4 {
  margin-bottom: 52px;
}
.heading__title.type-5 {
  margin-bottom: 26px;
}
.heading__title.mb-0 {
  margin-bottom: 0;
}

.heading__title.center {
  text-align: center;
}
.heading__title.row {
	justify-content: space-between;
}
.heading__title.row .title {
	width: 100%;
	max-width: 90%;
	padding-right: 20px;
}
.heading__title.row .slick-buttons {
	width: 100%;
	max-width: 80px;
}
span.subtitle {
  display: block;
  font-size: 28px;
  line-height: 120%;
  color: #fff;
  margin-bottom: 20px;
}
span.subtitle.center {
  text-align: center;
}
span.subtitle.mb-32 {
  margin-bottom: 32px;
}

/* Heading Titles END */

/* Paragraph START */

p {
	line-height: 140%;
	margin: 0;
}
p:not(:last-child) {
	margin-bottom: 12px;
}

.webkit__clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Paragraph END */

.mini-wrapper {
  margin: 0 auto;
  max-width: 1028px;
}

/* Buttons START */

button,
input.button {
  transition: var(--transition);
  cursor: pointer;
  width: auto;
}

.custom__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 120%;
  font-weight: 600;
  height: 80px;
  width: auto;
  padding: 0 20px;
  background: var(--btn-bg-color);
  border: 2px solid var(--btn-bg-color);
  color: var(--btn-txt-color);
  border-radius: 12px;
  transition: var(--transition);
}
.custom__btn:hover {
  background: var(--btn-bg-hover-color);
  border-color: var(--btn-bg-hover-color);
  color: var(--btn-txt-hover-color);
}
.custom__btn.white {
  background: #fff;
  color: var(--btn-bg-color);
  border-color: var(--btn-bg-color);
  min-width: 303px;
}
.custom__btn.white:hover {
  background: transparent;
}
.custom__btn .icon {
  display: inline-block;
  margin-right: 10px;
}
.custom__btn.right-icon .icon {
  margin: 0 0 0 11px;
}
.custom__btn.small {
  height: 48px;
  font-size: 16px;
  font-weight: 400;
  border-radius: 12px;
}
.custom__btn.br-50 {
  border-radius: 50px;
}


/* Buttons END */

/* Swiper */

.slide-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 55px;
  height: 55px;
  border-radius: 20px;
  background: var(--color-3);
  color: #fff;  
}

.slide-button:after {
  font-size: 16px;
}
.slide-button {
  width: 32px;
  height: 32px;
  background: var(--color-1);
  color: #fff;
  border-radius: 8px;
}
.slide-button.white {
  background: #fff;
  color: #636366;
}

.slider-buttons-row {
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 8px;
  margin-left: auto;
}

.slider-buttons-row .slide-button {
  position: relative;
  top: inherit !important;
  left: inherit !important;
  right: inherit !important;
  bottom: inherit !important;
  transform: none !important;
}

/* END */


/* Custom Form START */

input, button, textarea, select {
  font-family: var(--body-font);
  outline: none;
  background: none;
  border: none;
  color: var(--body-color);
  width: 100%;
}

input::placeholder {
  opacity: 1 !important;
}

/* Убираем кнопки для всех input[type="number"] */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield; /* Для Firefox */
}

.field__group {
  position: relative;
  z-index: 1;
}

.field__group input,
.field__group select {
  width: 100%;
  height: 48px;
  border: 1px solid var(--color-7);
  border-color: transparent;
  border-radius: 50px;
  background: var(--color-7);
  padding: 0 20px;
  font-size: 14px;
  color: #fff;
  font-weight: 400;
}
.field__group textarea {
	width: 100%;
	border: 1px solid var(--color-7);
  padding: 13px 20px;
  color: #fff;
  background: var(--color-7);
  border-radius: 50px;
}
.field__group input::placeholder
.field__group textarea::placeholder {
  opacity: 1;
  color: #fff;
}

.field__group label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16px;
  font-size: 18px;
  font-weight: 400;
  color: #636366;
  transition: all 0.1s ease-in-out;
  z-index: 3;
}
.field__group input:focus + label {
  top: 6px;
  left: 22px;
  transform: none;
  font-size: 12px;
}
.custom__form {
  margin: 16px -6px 16px -6px;
}
.custom__form .custom__btn {
  height: 60px;
  width: 100%;
  max-width: 100%;
  border-radius: 50px;
  margin: 12px 0;
  font-size: 14px;
  font-weight: 500;
}
.custom__form .col-6,
.custom__form .col-4, 
.custom__form .col-12 {
  padding: 0 6px;
  margin-bottom: 12px;
}

.check {
  position: relative;
  margin-top: 18px;
}
.check input {
  display: none;
}
.check label {
  display: block;
  position: relative;
  font-size: 14px;
  line-height: 115%;
  padding-left: 33px;
  cursor: pointer;
}
.check label a {
  display: inline;
  color: #97C4FF;
  opacity: 0.7;
}
.check label a:hover {
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-style: dotted;
}
.check label:before {
  position: absolute;
  align-content: center;
  text-align: center;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 20px;
  height: 20px;
  font-family: icon;
  font-size: 12px;
  border: 1px solid #fff;
  border-radius: 4px;
}
.check.border label:before {
  border-color: #fff;
}
.check input:checked + label:before {
  content: "\f00c";
  color: #fff;
}
.form-type-1.type-2 .check label::before {
  border-color: var(--color-4);
}
.form-type-1.type-2 .check input:checked + label:before {
  content: "\f00c";
  color: var(--color-4);
}

/* Custom Form END */

/* Animation START */

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* END */

/* Icons START */

.fa {
  font-family: icon;
}

/* Icons END */

/* Images START */

img {
  display: block;
  width: 100%;
  height: auto;
}
img.center {
  margin: 0 auto;
}
img.object {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Images END */

/* Margin and Padding START */

.p-80 {
  padding: 80px 0;
}
.p-60 {
  padding: 60px 0;
}
.p-35 {
  padding: 35px 0;
}

/* Margin and Padding END */

/* Body Style START */

#header {
  position: relative;
  background: #0A1220;
  border-bottom: 1px solid #0D1B31;
  color: #fff;
  width: 100%;
  z-index: 90;
  transition: all 0.2s ease-in-out;
  top: 0;
  left: 0;
}
#header.sticky {
  position: fixed;
  
}
#header .height-100 {
  height: 100%;
}
#header .height-center {
  height: 90px;
}
.logo-bg {
  background: url(/images/template/header-back.png) no-repeat;
  background-position: right;
  height: 90px;
  align-content: center;
}
#header .logo-bg {
  width: 207px;
}
#header .logo {
  max-width: 190px;
}
.navigation {
  margin-right: 82px;
}
.navigation li {
  height: 100%;
}
.navigation li.parent {
  position: relative;
  padding-right: 20px;
}
.navigation li.parent a::after {
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 14px;
  font-family: icon;
  content: "\f078";
  transform: translateY(-50%);
  transform-origin: center 55%;
  transition: all .20s cubic-bezier(.485,.005,.56,1);
}

.navigation li.parent:hover a::after {
  transform: translateY(-50%) rotate(-180deg);
}
.navigation a {
  align-content: center;
  color: #fff;
  font-size: 18px;
  line-height: 130%;
  height: 100%;
}
.navigation a:hover {
  color: var(--color-3);
}
.navigation .gap {
  gap: 60px;
  height: 100%;
}

.dropmenu {
  display: inline-block;
  opacity: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  width: 100%;
  min-width: 240px;
  max-width: 240px;
  background: #303e53;
  border-radius: 0 0 8px 8px;
  box-shadow: 0px 40px 40px 0px #48484824;
  padding: 0;
  -webkit-transform: rotateX(-20deg);
  transform: rotateX(-20deg);
  -webkit-transform-origin: center -20px;
  transform-origin: center -20px;  
}
.dropmenu li {
  width: 100%;
}
.dropmenu li.parent {
  padding: 0;
}
.dropmenu li > a:after {
  content: none !important;
}
.dropmenu li > a {
  padding: 5px 16px;
  width: 100%;
  font-weight: 300;
  font-size: 16px;
}
.dropmenu li:not(:last-child) > a {
  border-bottom: 1px dotted #8a8a8a;
}
.navigation ul > li.parent:hover .dropmenu {
  opacity: 1;
  overflow: visible;
  height: auto;
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  z-index: 5;
}

.lang-select {
    position: relative;
    display: inline-block;
    font-size: 18px;
    user-select: none;
}

.lang-current {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 50px;
    height: 40px;
    padding: 0 12px;
    cursor: pointer;
}

.lang-current::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    margin-top: -4px;
    transition: transform 0.2s ease;
}

.lang-select.open .lang-current::after {
    transform: rotate(225deg);
    margin-top: 4px;
}

.lang {
    position: absolute;
    z-index: 100;
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
    min-width: 50px;
    margin: 0;
    padding: 5px 0;
    list-style: none;
    background: var(--color-6);
    border-radius: 0 0 8px 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;
}

.lang-select.open .lang {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lang li {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 12px;
    font-size: 18px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease;
}

.lang li:hover {
    color: var(--color-3);
}

.lang li.active {
    font-weight: 600;
}

.burger,
.nav__burger {
  display: none;
}

.breadcrumbs {
  top: 16px;
  z-index: 10;
  margin: 0 auto;
  width: 100%;
}
.breadcrumbs ul > li {
  position: relative;
  padding-right: 16px;
  font-size: 12px;
  color: #fff;
}
.breadcrumbs ul > li > a {
  font-size: 12px;
  color: #D2D2D2;
}
.breadcrumbs ul > li:not(:first-child) {
  padding-left: 8px;
}
.breadcrumbs ul > li:not(:last-child):after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  content: "/";
}

#top-banner {
  padding: 36px 0;
  background-color: #000113;
  background-repeat: no-repeat !important;
  background-position: top center !important;
  background-size: cover !important;
}
#top-banner h1 {
  font-family: Lora;
  font-size: 56px;
  font-weight: 500;
  line-height: 110%;
  margin-bottom: 28px;
  color: #fff;
}
#top-banner .subtitle {
  font-size: 24px;
  line-height: 120%;
  margin-bottom: 28px;
  color: #fff;
}
#top-banner p {
  font-size: 20px;
  line-height: 150%;
  color: #D2D2D2;
}
#top-banner .container {
  background-position: right center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}
#top-banner .buttons,
#inner-banner .buttons {
  gap: 24px;
  margin-top: 28px;
}
#inner-banner {
  padding: 85px 0;
}
#inner-banner .banner-title {
  font-weight: 500;
  font-size: 56px;
  line-height: 110%;
  color: #fff;
}
#inner-banner .subtitle {
  margin-top: 28px;
}
#inner-banner .banner-content {
  margin: 28px 0;
}
#inner-banner .bg-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  max-width: 50%;
  overflow: hidden;
  z-index: 5;
}
#inner-banner .bg-image:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 20%;
  height: 100%;
  content: "";
  z-index: 6;
  background: linear-gradient(270.37deg, rgba(0, 8, 27, 0) -17.67%, #00081B 29.11%);

}
#inner-banner .bg-image img {
  height: 100%;
  object-fit: cover;
  object-position: left;
}


.banner-advantages {
  border-radius: 20px;
  background: #091A3566;
  backdrop-filter: blur(22px);
  padding: 42px;
  margin-top: 75px;
  border: 1px solid #343434;
}
.banner-advantages .col-3 {
  position: relative;
}
.banner-advantages .col-3:not(:last-child):after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  content: "";
  height: 78px;
  width: 1px;
  background: #fff;
  opacity: 0.5;
}
.banner-advantages .iconbox-1 {
  padding: 0 14px;
}
.iconbox-1 {
  text-align: center;
}
.iconbox-1 .icon {
  display: block;
  width: 32px;
  height: 32px;
  text-align: center;
  align-content: center;
  margin: 0 auto 10px;
  padding: 4px;
}
.iconbox-1 .title {
  font-size: 24px;
  line-height: 100%;
  font-weight: 600;
}
.iconbox-1 p {
  font-size: 16px !important;
  line-height: 18px !important;
  margin-top: 10px;
}

.iconbox-2 {
  border-radius: 20px;
  padding: 58px 43px;
  height: 100%;
}
.iconbox-2 .icon {
  width: 62px;
  height: 62px;
  padding: 6px;
  margin-bottom: 14px;
}
.iconbox-2 .icon img {
  width: auto;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.iconbox-2 .title, 
.iconbox-2 .title a{
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 110%;
}
.iconbox-2 .title a:hover{
    color: #eec0a4;
}
.iconbox-2 p {
  font-size: 18px;
  margin-top: 14px;
}
.iconbox-2.type-2 {
  padding: 42px;
  height: auto;
}
.iconbox-2.h-100 {
  height: 100%;
}
.iconbox-2.type-2 .title {
  font-family: Lora;
  font-size: 42px;
  color: var(--color-3);
}
.iconbox-3 {
  background: #2F4A6033;
  padding: 32px;
  border-radius: 20px;
}
.iconbox-3 .title {
  font-size: 28px;
  font-weight: 600;
  line-height: 130%;
  color: #fff;
}
.iconbox-3 p {
  font-size: 20px;
  line-height: 140%;
  margin-top: 26px;
}
.col-6:nth-child(2) .iconbox-3,
.col-6:nth-child(3) .iconbox-3,
.col-6:nth-child(5) .iconbox-3 {
  background: var(--color-2);
}

.attention {
  background: #2F4A6033;
  border-radius: 50px;
  padding: 20px 30px;
  margin: 26px 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-3);
}
.attention i {
  display: inline-block;
  margin-right: 6px;
}
.attention.type-2 {
  font-size: 14px;
}
.attention.mb-0 {
  margin-bottom: 0;
}

figure.br-40 {
  border-radius: 40px;
  height: 100%;
  overflow: hidden;
}
figure.br-40 img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.list-icon {
  margin: 20px 0;
}
.list-icon ul > li {
  align-items: center;
  gap: 10px;
}
.list-icon ul > li:not(:last-child) {
  margin-bottom: 20px;
}
.list-icon ul > li > span {
  display: block;
}
.list-icon ul > li .icon {
  width: 50px;
  height: 50px;
  text-align: center;
  align-content: center;
  padding: 7px;
}
.list-icon ul > li .content {
  width: 100%;
  max-width: 88%;
}
.list-icon ul > li .title {
  font-size: 22px;
  font-weight: 600;
  line-height: 120%;
  color: #fff;
}
.list-icon ul > li .txt {
  font-size: 18px;
  line-height: 140%;
  color: #D2D2D2;
  margin-top: 9px;
  width: 100%;
  max-width: 100%;
}

#bg-sec {
  background: var(--color-1);
}
#bg-sec .bg-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  max-width: 54%;
}
#bg-sec .bg-image img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
.list-style-1 {
  margin-bottom: 52px;
}
.list-style-1 ul > li {
  position: relative;
  padding-left: 90px;
  padding-bottom: 8px;
}
.list-style-1 ul > li:not(:last-child) {
  margin-bottom: 28px;
  border-bottom: 1px solid #FFFFFF26;
}
.list-style-1 ul > li .digit {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  color: var(--color-3);
  font-family: Lora;
  font-weight: 500;
  font-size: 60px;
  line-height: 110%;
}
.list-style-1 ul > li .title {
  display: block;
  font-size: 24px;
  font-weight: 600;
  line-height: 110%;
  margin-bottom: 22px;
  color: #fff;
}
.list-style-2 {
  margin: 32px 0;
}
.list-style-2 ul > li .txt {
  display: block;
}
.list-style-2 ul > li {
  position: relative;
  padding-left: 22px;
}
.list-style-2 ul > li:not(:last-child) {
  margin-bottom: 10px;
}
.list-style-2 ul > li:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #D2D2D2;
}
.custom__btn.p-100 {
  padding: 0 100px;
}

#footer {
  background: var(--color-8);
  padding: 20px 0;
}
#footer .logo {
  max-width: 207px;
}
#footer a {
  color: #fff;
  font-size: 18px;
}
#footer a:hover {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-position: under;
  color: var(--body-color);
}
#footer .col-12 li,
#footer .col-12 li > a,
.developer {
  font-size: 13px;
  line-height: 110%;
  color: #fff;
}
#footer .left,
.developer {
  max-width: 50%;
}
.developer {
  gap: 5px;
}
.developer img {
  position: relative;
  top: 3px;
}

#footer .left li:not(:last-child) {
  margin-right: 40px;
}
#footer ul .block li:not(:last-child) {
  margin-bottom: 10px;
}

/* Modal START */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(17, 17, 17, 0.83);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modal-content {
    position: relative;
    background: var(--color-1);
    padding: 40px;
    max-width: 670px;
    width: 100%;
    transform: scale(0);
    transition: transform 0.3s ease;
    border-radius: 20px;
    transform-origin: center;
    box-shadow: 0 30px 50px rgba(41, 175, 255, 0.16);
    overflow: hidden;
    z-index: 1;
}
.modal-content .rf-form {
  position: relative;
  z-index: 4;
}
.modal-content:after,
.modal-content:before {
  position: absolute;
  content: "";
  width: 50%;
  height: 120%;
  border-radius: 50px;
  content: "";
  z-index: 2;
}
.modal-content:after {
  top: -15%;
  left: -15%;
  background: var(--color-2);
  transform: rotate(25deg);
}
.modal-content:before {
  bottom: -15%;
  right: -15%;
  height: 90%;
  width: 40%;
  background: var(--color-7);
  transform: rotate(55deg);
}

.modal-content .check {
  position: relative;
  z-index: 4;
  color: #fff;
}
.modal-content .check label {
  color: #fff;
}
.modal-content .check label a {
  color: #fff;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-position: under;
}
.modal-content .custom__btn {
  border-radius: 8px;
}
.dynamic-content {
  position: relative;
  z-index: 4;
}
.heading-modal__title {  
    font-weight: 400;
    font-size: 30px;
    line-height: 130%;
    margin-bottom: 20px;
}

.modal-window__close {
  position: absolute;
  z-index: 10;
  top: 45px;
  right: 45px;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.modal-window__close:hover {
  transform: rotate(90deg);
}
.modal-window__close:before,
.modal-window__close:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 2.4em;
  width: 1px; 
  background-color: var(--body-color);
}
.modal-window__close:before {
  transform: rotate(45deg);
}
.modal-window__close:after {
  transform: rotate(-45deg);
}

/* Modal END */

    .modal .row-controls {
        gap: 20px;
    }
    .modal .row-controls:not(:last-child) {
        margin-bottom: 15px;
    }
    .modal .row-controls .field__group {
        max-width: 48.1%;
    }
    .modal .row-controls .field__group:only-child,
    .modal .row-controls .field__group.w-100 {
        max-width: 100%;
    }
    .modal .field__group {
        position: relative;
        width: 100%;
    }
    .modal .field__group input {
      border-radius: 8px;
    }
    
    .modal .textarea textarea {
        border: 1px solid #a2a2a2;
        border-radius: 3px;
        padding: 15px;
    }
    .modal .textarea {
      max-width: 100%;
    }
    .modal .textarea textarea {
      min-height: 120px;
      max-height: 120px;
      overflow: hidden;
      border-radius: 12px;
      background: #fff;
    }
    .modal .area-submit  {
      margin: 12px 0 0 auto;
      height: 55px;
      font-size: 16px;
    }
    .modal .field__group.row {
      gap: 20px;
      max-width: 100%;
      
    }
    .modal .field__group.row .check {
      width: 100%;
      max-width: 67.9%;
      margin: 0;
    }
    .modal .field__group.row .check label {
      font-size: 13px;
      line-height: 130%;
    }
    .modal .field__group.row .check label:before {
      border: 1px solid var(--color-5);
    }
    .check input:checked + label::before {
      color: var(--color-5);
    }
    .modal .field__group.row .modal .field__group.row .check label a {
      color: var(--color-1);
    }
    .modal .field__group.row .check label a:hover {
      text-decoration: underline;
      text-decoration-style: dotted;
      text-underline-position: under;
    }
    #modal-contacts .modal-content {
      display: flex;
      flex-direction: column;
    }
    #modal-contacts .contacts-box {
      order: 2;
      position: relative;
      top: inherit;
      transform: none;
      left: inherit;
      padding: 0;
      background: none;
      border-radius: 0;
    }
    .modal .modal-column {
      order: 2;
      z-index: 10;
    }
    #modal-contacts .dynamic-content {
      order: 1;
    }
    .modal .field__group .reguired-field {
        display: none;
        position: absolute;
        font-size: 10px;
        top: 32px;
        right: 10px;
        color: #f40041;
    }
    .modal .field__group.error-field .reguired-field {
        display: block;
    }
    .modal .field__group.error-field input {
        border-color: #f40041;
    }
    .modal .field__group .name {
        max-width: 100%;
    }
    
    .modal .field__group:only-child {
        max-width: 100% !important;
    }
    
    .modal .field__group label {
        display: block;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 10px;

    }
    
    .modal .field__group input {
        width: 100%;
        height: 60px;
  font-size: 15px;
  border: 1px solid #a2a2a2;
  padding: 0 15px;
  
    }
    .modal .field__group input::placeholder {
        opacity: 1;
        
    }
    .modal .field__group.active label {
        color: #272727;
    }
    .modal .field__group.active input {
        border-color: #272727;
    }
    
    .modal-button {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50px;
        width: 100%;
        max-width: 36.8%;
        border-radius: 3px;
        background: #000;
        color: #fff;
        padding: 0 15px;
        font-size: 16px;
        text-transform: uppercase;
        font-size: 500;
    }

    @media screen and (max-width: 767px) {
        .modal-content {
            width: 90%;
            padding: 30px;
        }
        .modal .field__group:not(:first-child) {
            max-width: 47.5% !important;
        }
        .modal .field__group.row {
          max-width: 100% !important;
        }
        .modal .field__group input {
            padding: 0 15px;
        }
        .modal .custom__btn {
            max-width: 35.7%;
        }
        .modal-window__close {
            top: 20px;
            right: 20px;
        }
        .heading-modal__title {
            font-size: 24px;
            line-break: 130%;
        }
        .modal .field__group.row .check {
          max-width: 100%;
        }
    }
    @media screen and (max-width: 526px) {
        .modal-content {
            height: 100%;
            width: 100%;
            border-radius: 0;
        }
        
        .modal .custom__btn {
            margin-left: auto;
            max-width: 195px !important;
        }
        .heading-modal__title {
            font-size: 20px;
            max-width: 85%;
        }
    }

#button-up {
          display: inline-block;
          background: var(--color-1);
          width: 50px;
          height: 50px;
          padding: 10px;
          text-align: center;
          border-radius: 4px;
          position: fixed;
          bottom: 30px;
          right: 30px;
          transition: background-color .3s, 
          opacity .5s, visibility .5s;
          opacity: 0;
          visibility: hidden;
          z-index: 80;
          border: 1px solid #fff;
          cursor: pointer;
        }
        #button-up svg path {
          fill: #fff;
        }
        #button-up.show {
          opacity: 1;
          visibility: visible;
        }

/*
.earth {
  position: relative;
  width: 500px;
  height: 500px;
  background: #0588e4 url('/images/earth.png');
  background-size: cover;
  border-radius: 50%;
  box-shadow: inset 0 0 50px rgba(0,0,0,0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  transition: 0.5s;
  animation: animate 28s linear infinite;
}

.earth:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background: url("/images/cloud.png");
  background-size: cover;
  animation: animate 48s linear infinite;
  z-index: 1;
}
*/

.earth img {
  transform: rotate(-90deg);
  width: 120px;
  height: 120px;
  position: absolute;
  z-index: 2;
  transition: 0.5s;
  pointer-event: none
}


@keyframes animate {
  0% {
    background-position: 0 0
  }
  100% {
    background-position: 719px 0
  }
}
.lang a{
    color:#fff;
}
.planet {
  position: relative;
}
.planet model-viewer {
  width: 100% !important;
  height: 480px !important;
  
}
.planet model-viewer .container {
  width: 100% !important;
  height: 100% !important;
}
.planet .earth {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%,-50%);
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;

}

@media screen and (max-width: 526px) {
  .earth img {
    height: 100%;
    width: 100%;
  }
  .planet .earth {
    width: 70px;
    height: 70px;
    margin: 0 !important;
  }
  .banner-advantages {
    margin-top: -150px !important;

  }
}