*,
*::before,
*::after {
  box-sizing: border-box;
}
:where(ul, ol):where([class]) {
  padding-left: 0;
}
body,
:where(blockquote, figure):where([class]) {
  margin: 0;
}
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl):where([class]) {
  margin-block: 0;
}
h1,
h2,
h3,
h4,
h5 {
  padding: 0;
  margin: 0;
}
:where(dd[class]) {
  margin-left: 0;
}
:where(fieldset[class]) {
  margin-left: 0;
  padding: 0;
  border: none;
}
:where(ul[class]) {
  list-style: none;
}
p {
  margin-block: 0;
}
a {
  text-decoration: none;
}
img {
  display: block;
  object-fit: cover;
}
input,
textarea,
select,
button {
  font: inherit;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
/* :target {
  padding-top: 110px;
  margin-top: -110px;
}
@media (max-width: 850px) {
  :target {
    padding-top: 100px;
    margin-top: -100px;
  }
} */
svg * {
  transition-property: fill, stroke;
}
use {
  display: inline-block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}
ol[class]:not(.ol),
ul[class]:not(.ul) {
  list-style: none;
}
body {
  font-family: "SF Pro Display", "Arial", sans-serif;
  font-size: 16px;
  letter-spacing: 0;
  font-weight: 400;
  background-color: #000000;
  overflow: hidden;
}
html.no-scroll,
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  -webkit-clip-path: inset(100%) !important;
  clip-path: inset(100%) !important;
  clip: rect(0 0 0 0) !important;
  overflow: hidden !important;
}
.hidden {
  display: none !important;
}
.error {
  color: var(--color-glow-2);
  font-size: 12px;
  text-align: center;
}
.marker-border {
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    rgba(255, 255, 255, 0.2) 0,
    rgba(255, 255, 255, 0.2) 15px,
    transparent 15px,
    transparent 20px
  );
}
.title {
  font-family: var(--font-family-title);
  color: var(--color-white);
  text-transform: uppercase;
  font-size: 60px;
  text-align: center;
}
.btn {
  box-shadow: 0px 0px 24px 0px #fdd008cc;
  background-color: var(--color-accent);
  padding: 24px;
  min-width: 169px;
  border-radius: 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-title);
  font-size: 32px;
  font-weight: 800;
  color: var(--color-font);
  line-height: 0.66;
  transition: background-color var(--transition), box-shadow var(--transition);
  position: relative;
  overflow: hidden;
  z-index: 10;
}
.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  border-radius: 50% 50% 0 0;
  transform: rotate(123deg);
  animation: shine 2s infinite linear;
  pointer-events: none;
}

@keyframes shine {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}
.btn-wrapper {
  background-color: #fdd00880;
  padding: 2px;
  border-radius: 12px;
  transition: background-color var(--transition);
}
.btn:hover {
  background-color: #ffdd46;
  box-shadow: 0px 0px 24px 0px #ffdd46cc;
}
.btn:hover .btn-wrapper {
  background-color: #ffdd4680;
}
@font-face {
  font-family: "SF Pro Display";
  src: url("../fonts/SF-Pro-Display-Thin.eot");
  src: url("../fonts/SF-Pro-Display-Thin.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/SF-Pro-Display-Thin.woff") format("woff"),
    url("../fonts/SF-Pro-Display-Thin.woff2") format("woff2"),
    url("../fonts/SF-Pro-Display-Thin.ttf") format("truetype"),
    url("../fonts/SF-Pro-Display-Thin.svg#SF Pro Display Thin") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SF Pro Display";
  src: url("../fonts/SF-Pro-Display-Regular.eot");
  src: url("../fonts/SF-Pro-Display-Regular.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/SF-Pro-Display-Regular.woff") format("woff"),
    url("../fonts/SF-Pro-Display-Regular.woff2") format("woff2"),
    url("../fonts/SF-Pro-Display-Regular.ttf") format("truetype"),
    url("../fonts/SF-Pro-Display-Regular.svg#SF Pro Display Regular")
      format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SF Pro Display";
  src: url("../fonts/SF-Pro-Display-Bold.eot");
  src: url("../fonts/SF-Pro-Display-Bold.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/SF-Pro-Display-Bold.woff") format("woff"),
    url("../fonts/SF-Pro-Display-Bold.woff2") format("woff2"),
    url("../fonts/SF-Pro-Display-Bold.ttf") format("truetype"),
    url("../fonts/SF-Pro-Display-Bold.svg#SF Pro Display Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bebas Neue";
  src: url("../fonts/Bebas-Neue.eot");
  src: url("../fonts/Bebas-Neue.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Bebas-Neue.woff") format("woff"),
    url("../fonts/Bebas-Neue.woff2") format("woff2"),
    url("../fonts/Bebas-Neue.ttf") format("truetype"),
    url("../fonts/Bebas-Neue.svg#Bebas Neue Cyrillic") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:root {
  --color-accent: #fdd008;
  --color-card-background: #ff3f2c;

  --color-glow-1: #e57dff;
  --color-glow-2: #ed232c;
  --color-glow-3: #a883b4;

  --color-white: #ffffff;
  --color-font: #222222;

  --transition: 0.3s ease-in;

  --font-family-body: "SF Pro Display";
  --font-family-title: "Sofia Sans Extra Condensed";
  --font-family-star: "Bebas Neue";
}
.header {
  width: 100%;
  position: absolute;
  top: 46px;
  left: 0;
  z-index: 999;
}
.header__wrapper {
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  display: grid;
  grid-template-columns: auto 1fr auto 39px auto;
}
.header__logo {
  overflow: hidden;
}
.header__list {
  display: flex;
  flex-direction: row;
  gap: 32px;
}
.header__list-wrapper {
  display: flex;
  align-items: center;
}
.header__item a {
  color: var(--color-white);
  white-space: nowrap;
  opacity: 1;
  transition: opacity var(--transition);
}
.header__item a:hover {
  opacity: 0.5;
}
.header__inner {
  display: flex;
  flex-direction: row;
  gap: 32px;
}
.hero {
  padding-top: 165px;
  position: relative;
}
.hero::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/hero/grange-background-1.webp) #000000 no-repeat;
  background-size: cover;
  background-position: center;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.6;
}
.hero::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/hero/grange-background-2.webp) #000000 no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.02;
}
.hero__background {
  position: absolute;
  z-index: -3;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.3;
  background: url(../img/hero/grange-background-3.webp) #000000 no-repeat;
}
.hero__img-background {
  position: absolute;
  left: 0;
  bottom: 3%;
  width: 100%;
  height: 100%;
  background-image: url(../img/hero/photo.webp);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
  z-index: -1;
}
.hero__background-lightnings {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/hero/background-lightnings.webp);
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  background-size: cover;
}
.hero__content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  gap: 20px;
  position: relative;
  z-index: 2;

  /* for animation */
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 2s cubic-bezier(0.68, -0.55, 0.27, 1.55),
    transform 2s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
/* for animation */
.hero__content.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.hero__title {
  font-size: 80px;
  font-style: italic;
  font-weight: 800;
  max-width: 591px;
  line-height: 0.8;
  text-align: left;

  /* for animation */
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 2s cubic-bezier(0.68, -0.55, 0.27, 1.55),
    transform 2s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
/* for animation */
.hero__title.show {
  opacity: 1;
  transform: translateY(0);
}
.hero__logo-block {
  width: 408px;
}
.hero__img-block {
  width: 577px;
  height: 517px;
  display: flex;
  padding-bottom: 16px;
  position: relative;
  justify-content: flex-end;
  align-items: flex-end;
  margin: -30px auto 0;
  z-index: 3;
}
/* for animation */
.hero__logo-block img.show {
  opacity: 1;
  transform: translateY(0);
}
.hero__img-block img {
  width: 585px;
  animation: floatImage 10s infinite ease-in-out;
}
@keyframes floatImage {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(-10px, -5px);
  }
  40% {
    transform: translate(8px, 6px);
  }
  60% {
    transform: translate(-6px, 10px);
  }
  80% {
    transform: translate(5px, -4px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.hero__img-block::after {
  position: absolute;
  content: "";
  border-radius: 476px;
  opacity: 0.55;
  background: var(--color-glow-1);
  transform: rotate(-15.192deg);
  filter: blur(50px);
  width: 80%;
  height: 80%;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero__wrapper {
  min-height: 880px;
}
.about {
  width: 100%;
  padding: 38px 0 30px;
  position: relative;
}
.about::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/about-us/background.webp) 50% / cover no-repeat;
  z-index: 5;
  filter: grayscale(100%);
  mix-blend-mode: difference;
  opacity: 0.5;

  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 20%,
    rgba(0, 0, 0, 1) 80%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 20%,
    rgba(0, 0, 0, 1) 80%,
    rgba(0, 0, 0, 0) 100%
  );
}
.about__background-top {
  position: absolute;
  top: -119px;
  left: 0;
  width: 100%;
  height: 600px;
  background: url(../img/about-us/background-top.webp) no-repeat;
  background-size: cover;
  z-index: 4;

  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1) 40%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1) 40%,
    rgba(0, 0, 0, 0) 100%
  );
}
.about__background-bottom {
  position: absolute;
  bottom: -136px;
  left: 0;
  width: 100%;
  height: 300px;
  background: url(../img/about-us/background-bottom.webp) no-repeat;
  content: "";
  background-size: cover;
  background-position: center;
  -webkit-transform: scale(-1, 1);
  -moz-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  transform: scale(-1, 1);
  z-index: 2;
  background-position: bottom;
  pointer-events: none;

  -webkit-mask-image: linear-gradient(
    to top,
    rgba(0, 0, 0, 1) 80%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to top,
    rgba(0, 0, 0, 1) 80%,
    rgba(0, 0, 0, 0) 100%
  );
}
.about__background-bottom-2 {
  position: absolute;
  background: url(../img/about-us/background-bottom-2.webp) no-repeat;
  background-size: cover;
  height: 100%;
  bottom: -236px;
  transform: rotate(356deg);
  left: -71px;
  right: 0;
  z-index: 1;
  mix-blend-mode: screen;
}
.about__background-line {
  position: absolute;
  width: 100%;
  height: 101px;
  content: "";
  left: 0;
  bottom: 7%;
  z-index: 4;
  filter: blur(17px);
  background: url(../img/about-us/line-center.webp);
}
.about__wrapper {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 6;
}
.about__wrapper .btn {
  min-width: 233px;
  padding: 32px;
}
.about__title {
  max-width: 520px;
  line-height: 0.8;
}
.about__title span {
  color: var(--color-accent);
  font-size: 120px;
  font-weight: 800;
  font-style: italic;
  text-transform: none;
  display: flex;
  justify-content: center;
  transform: rotate(358deg);
  margin-bottom: -14px;
}
.about__content {
  width: 100%;
}
.about__list {
  width: 100%;
  position: relative;
  min-height: 553px;
}
.about__list::after {
  content: "";
  position: absolute;
  max-width: 743.619px;
  max-height: 619.903px;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-5.75deg);
  border-radius: 743.619px;
  background-color: var(--color-glow-2);
  height: 100%;
  filter: blur(125px);
  z-index: -1;
  opacity: 0.55;
}
.about__item {
  display: flex;
}
.about__item::after {
  position: absolute;
  content: url(../svg/about-us/star-left.svg);
  top: 0;
  left: 0;
  z-index: -1;
}
.about__item::before {
  position: absolute;
  content: url(../svg/about-us/star-right.svg);
  top: 0;
  right: 0;
  z-index: -1;
}
.about__item p {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: var(--font-family-star);
  text-align: center;
}
.about__item:nth-child(1) p {
  font-size: 30.781px;
  transform: translate(-50%, -80%) rotate(4.897deg);
  max-width: 194px;
}
.about__item:nth-child(1)::before {
  transform: rotate(172.964deg);
  top: 28%;
  right: 91px;
}
.about__item:nth-child(1)::after {
  top: 50px;
  left: 50px;
}
.about__item:nth-child(2) p {
  font-size: 42px;
  transform: translate(-50%, -80%) rotate(-5.665deg);
  max-width: 194px;
}
.about__item:nth-child(2)::before {
  top: 2%;
  right: 30px;
}
.about__item:nth-child(2)::after {
  top: 28%;
  left: 83px;
}
.about__item:nth-child(3) p {
  font-size: 28.89px;
  transform: translate(-50%, -80%) rotate(-2.138deg);
  max-width: 170px;
  top: 53%;
}
.about__item:nth-child(3)::before {
  top: 2%;
  right: 13px;
}
.about__item:nth-child(3)::after {
  top: 25%;
  left: 31px;
}
.about__item:nth-child(4) p {
  font-size: 29.01px;
  transform: translate(-50%, -80%) rotate(6.411deg);
  max-width: 194px;
  top: 53%;
}
.about__item:nth-child(4)::before {
  top: 10%;
  right: 21px;
  transform: rotate(12.996deg);
}
.about__item:nth-child(4)::after {
  top: 13%;
  left: 20px;
}
.about__item:nth-child(1) {
  position: absolute;
  top: -11%;
  left: -7%;
  z-index: 4;
}
.about__item:nth-child(2) {
  position: absolute;
  top: -10%;
  right: 8%;
  z-index: 5;
}
.about__item:nth-child(3) {
  position: absolute;
  left: 10%;
  bottom: -16%;
  z-index: 3;
}
.about__item:nth-child(4) {
  position: absolute;
  right: -5%;
  bottom: -16%;
  z-index: 2;
}
.card {
  position: relative;
  padding-top: 170px;
  padding-bottom: 300px;
  background-color: var(--color-card-background);
}
.card__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}
.card__list-wrapper {
  width: 100%;
  overflow: hidden;
  min-height: 191px;
}
.card__list {
  width: 100%;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 36px;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE и Edge */
  transition: transform 0.7s ease;
  margin-left: 16.5%;
}
.card__list::-webkit-scrollbar {
  display: none; /* Chrome, Safari и Opera */
}
.card__item {
  position: relative;
  background-color: var(--color-accent);
  width: 600px !important;
  border: 4px solid #000000;
  border-radius: 12px;
  display: flex;
  align-items: center;
  padding: 10px 150px 10px 50px;
  opacity: 0.5;
  transition: opacity var(--transition);
  min-height: 191px;
}
.card__item.active {
  opacity: 1;
}
.card__item::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background-image: url(../svg/card/icon-fire.svg);
  background-size: cover;
  width: 217px;
  height: 162px;
  z-index: 1;
}
.card__item::before {
  position: absolute;
  z-index: 2;
  top: 24px;
  right: 20px;
  transform: rotate(8.95deg);
  width: 90px;
  height: 90px;
  background-size: cover;
  content: "";
}
.card__item--1:before {
  background-image: url(../svg/card/icon-card-1.svg);
}
.card__item--2:before {
  background-image: url(../svg/card/icon-card-2.svg);
}
.card__item--3:before {
  background-image: url(../svg/card/icon-card-3.svg);
}
.card__item--4:before {
  background-image: url(../svg/card/icon-card-4.svg);
}
.card__item--5:before {
  background-image: url(../svg/card/icon-card-5.svg);
}
.card__item--6:before {
  background-image: url(../svg/card/icon-card-6.svg);
}
.card__inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: var(--color-font);
  font-weight: 600;
  width: 400px;
  position: relative;
  z-index: 3;
}
.card__inner h3 {
  font-weight: 800;
  font-size: 40px;
  line-height: 0.8;
  color: var(--color-font);
  text-align: left;
}
.card__inner p {
  font-size: 16px;
}
.card__background {
  position: absolute;
  background: url(../img/card/background.webp) no-repeat;
  background-size: cover;
  height: 100%;
  bottom: 0;
  right: 0;
  z-index: 1;
  mix-blend-mode: lighten;
  height: 300px;
  width: 100%;
}
.card__background-2 {
  position: absolute;
  /* content: url(../img/card/background-cat.webp); */
  content: '';
  background-image: url(../img/card/background-cat.webp);
  background-size: cover;
  z-index: 2;
  bottom: 5%;
  left: 52%;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
  max-width: 538px;
  max-height: 277px;
  height: 100%;
  width: 100%;
}
.card__background-3 {
  position: absolute;
  content: '';
  background-image: url(../img/card/background-2.webp);
  background-size: cover;
  z-index: 2;
  bottom: -10%;
  left: 0;
  right: 0;
  width: 100%;
  height: 300px;

  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1) 80%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1) 80%,
    rgba(0, 0, 0, 0) 100%
  );
}
.partners {
  width: 100%;
  position: relative;
  background-color: #000000;
  padding-bottom: 40px;
}
#partners {
  margin-top: -120px;
  padding-top: 120px;
}
.partners__wrapper {
  position: relative;
  z-index: 2;
  padding-bottom: 60px;
  display: flex;
  justify-content: center;
}
.partners__list-wrapper {
  width: 100%;
  overflow: hidden;
  z-index: 2;
  position: relative;
  height: 79px;
}

 /* for animation */
.partners__list-track {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  animation: scroll-track 40s linear infinite;
  align-items: center;
  width: max-content;
}
.partners__list {
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 63px;
  height: 100%;
  white-space: nowrap;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE и Edge */

  /* for animation */
  flex-shrink: 0;

}
@keyframes scroll-track {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-33.3333%);
  }
}
.partners__list::-webkit-scrollbar {
  display: none; /* Chrome, Safari и Opera */
}
.partners__item {
  height: 100%;
  display: flex;
}
.partners__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: cover;
}
.partners__background {
  position: absolute;
  content: '';
  background-image: url(../img/partners/background.webp);
  background-size: cover;
  background-position: center;
  z-index: 2;
  bottom: -70%;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: 250px;
}
#contacts {
  overflow: hidden;
}
.contacts {
  position: relative;
  padding-top: 230px;
  padding-bottom: 42px;
}
.contacts::before {
  position: absolute;
  content: "";
  background-image: url(../img/footer/background.webp);
  background-size: cover;
  top: 0;
  left: 0;
  right: 0;
  mix-blend-mode: screen;
  width: 100%;
  height: 100%;
  filter: grayscale(100%);
  z-index: -1;
  opacity: 0.2;
}
.contacts__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 26px;
}
.contacts__title {
  font-size: 70px;
  max-width: 780px;
  line-height: 1.1;
}
.contacts__content {
  background-color: #ffffff33;
  padding: 4px;
  border-radius: 20px;
  max-width: 656px;
  width: 100%;
  position: relative;
}
.contacts__content::before {
  position: absolute;
  content: url(../svg/about-us/star-left.svg);
  top: 0;
  left: 0;
  transform: translate(-80%, -70%);
  z-index: -1;
}
.contacts__content::after {
  position: absolute;
  content: url(../svg/about-us/star-right.svg);
  top: -21%;
  right: -29%;
}
.contacts__form-wrapper {
  background-color: #000000;
  border-radius: 20px;
  padding: 37px 38px 37px;
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.contacts__text-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--color-white);
  align-items: center;
}
.contacts__text-block h3 {
  font-size: 40px;
  line-height: 0.8;
}
.contacts__text-block p {
  font-weight: 500;
  text-align: center;
}
.contacts__form-block {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.contacts__form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.contacts__form textarea {
  grid-column: span 2;
  resize: none;
  height: 108px;
}
.contacts__form input,
.contacts__form textarea {
  border: 1px solid #ffffff1a;
  width: 100%;
  border-radius: 24px;
  background-color: #161616;
  padding: 12px 20px;
  color: var(--color-white);
}
textarea::placeholder,
input::placeholder {
  opacity: 0.5;
}
.contacts .btn-wrapper {
  border-radius: 24px;
}
.contacts__button {
  border-radius: 24px;
  padding: 16px;
  font-size: 28px;
  text-transform: uppercase;
  border: none;
  width: 100%;
  cursor: pointer;
}
.contacts__bottom-block {
  padding-top: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  color: var(--color-white);
  font-weight: 500;
  font-size: 14px;
  line-height: 0.7;
}
.contacts__bottom-link {
  display: flex;
  flex-direction: row;
  gap: 39px;
  letter-spacing: 0.07em;
}
.contacts__bottom-link span {
  cursor: pointer;
}
.contacts__glow {
  position: absolute;
  filter: blur(100px);
  background-color: var(--color-glow-1);
  border-radius: 50%;
  z-index: -1;
  opacity: 0.3;
}
.contacts__glow--1 {
  width: 931.906px;
  height: 868.174px;
  top: -30%;
  right: -20%;
}
.contacts__glow--2 {
  width: 404.268px;
  height: 376.62px;
  top: 25%;
  left: -5%;
}
.contacts__glow--3 {
  width: 931.906px;
  height: 868.174px;
  bottom: -50%;
  left: -10%;
}
@keyframes moveRandomly1 {
  0% {
    transform: translate(0px, 0px) rotate(0deg);
    opacity: 0.7;
  }
  20% {
    transform: translate(60px, 30px) rotate(30deg);
    opacity: 0.8;
  }
  40% {
    transform: translate(-40px, 50px) rotate(60deg);
    opacity: 0.6;
  }
  60% {
    transform: translate(50px, -40px) rotate(90deg);
    opacity: 0.7;
  }
  80% {
    transform: translate(-35px, 60px) rotate(120deg);
    opacity: 0.5;
  }
  100% {
    transform: translate(20px, 20px) rotate(150deg);
    opacity: 0.7;
  }
}

@keyframes moveRandomly2 {
  0% {
    transform: translate(0px, 0px) rotate(0deg);
    opacity: 0.6;
  }
  20% {
    transform: translate(-60px, 40px) rotate(40deg);
    opacity: 0.7;
  }
  40% {
    transform: translate(50px, -30px) rotate(70deg);
    opacity: 0.6;
  }
  60% {
    transform: translate(-30px, 60px) rotate(100deg);
    opacity: 0.5;
  }
  80% {
    transform: translate(40px, -50px) rotate(130deg);
    opacity: 0.7;
  }
  100% {
    transform: translate(-20px, 30px) rotate(160deg);
    opacity: 0.6;
  }
}
@keyframes moveRandomly3 {
  0% {
    transform: translate(-60%, 0px) rotate(0deg);
    opacity: 0.6;
  }
  20% {
    transform: translate(-50%, 30px) rotate(10deg);
    opacity: 0.8;
  }
  40% {
    transform: translate(-70%, -20px) rotate(40deg);
    opacity: 0.7;
  }
  60% {
    transform: translate(-55%, 25px) rotate(70deg);
    opacity: 0.6;
  }
  80% {
    transform: translate(-65%, -30px) rotate(100deg);
    opacity: 0.7;
  }
  100% {
    transform: translate(-60%, 10px) rotate(150deg);
    opacity: 0.6;
  }
}
.contacts__glow-form {
  position: absolute;
  z-index: -1;
  opacity: 0.6;
  filter: blur(50px);
  border-radius: 50%;
}
.contacts__glow-form--1 {
  width: 645.354px;
  height: 489.438px;
  transform: rotate(-15.192deg);
  background-color: var(--color-accent);
  top: 0;
  left: 0;
  border-radius: 645.354px;
  animation: moveRandomly1 8s infinite alternate ease-in-out;
}
.contacts__glow-form--2 {
  width: 404.268px;
  height: 376.62px;
  background-color: var(--color-glow-2);
  top: 0;
  left: -10%;
  animation: moveRandomly2 9s infinite alternate ease-in-out;
}
.contacts__glow-form--3 {
  width: 404.268px;
  height: 376.62px;
  background-color: var(--color-glow-3);
  bottom: 0;
  right: -60%;
  transform: translateX(-50%);
  animation: moveRandomly3 10s infinite alternate ease-in-out;
}
.loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000000;
  z-index: 9999;
  font-family: var(--font-family-title);
}
.loader__wrapper {
  width: 100vw;
  height: 100vh;
  background-image: url(../img/hero/background-lightnings.webp);
  background-position: center;
}
.loader__inner {
  position: absolute;
  z-index: 99999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: row;
}
.loader__block {
  display: flex;
  flex-direction: column;
}
.loader__block span {
  height: 207px;
  font-size: 171px;
  font-weight: 800;
  padding: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0.8;
}
.loader__block:nth-child(1) span {
  width: 102px;
  background-color: var(--color-accent);
  transform: rotate(-7.194deg);
}
.loader__block:nth-child(2) span {
  width: 102px;
  background-color: var(--color-glow-2);
  color: var(--color-white);
  box-shadow: -12px 4px 8px 0px #00000040;
  transform: rotate(1.147deg);
}
.loader__block:nth-child(3) span {
  background-color: var(--color-white);
  transform: rotate(-8.936deg);
  box-shadow: -12px 4px 8px 0px #00000040;
}
.loader__block p {
  color: var(--color-white);
  opacity: 0.5;
  font-size: 49px;
  transform: rotate(-8.936deg);
  font-weight: 800;
  position: relative;
  right: -16%;
}
#loader {
  display: block;
}
#loader.finished {
  display: none;
}
.about__img-mibil,
.about__star-1,
.about__star-2 {
  display: none;
}
.about__img-mibil:nth-child(4) {
  max-width: 500px;
  max-height: 300px;
}
@media (min-width: 2000px) {
  .about__background-bottom-2 {
    height: 1000px;
    transform: rotate(359deg);
  }
  .card {
    padding-top: 260px;
  }
  .about__background-bottom {
    bottom: -162px;
  }
  .card__background-2 {
    bottom: -2%;
  }
  .partners__background {
    height: 400px;
  }
  .partners {
    padding-top: 100px;
  }
  .contacts {
    padding-top: 330px;
  }
  .hero__wrapper {
    min-height: 1000px;
  }
  .hero__img-background {
    bottom: -7%;
  }
  .about__background-top {
    top: -200px;
  }
}
@media (max-width: 1000px) {
  .hero__img-background {
    bottom: 11%;
  }
  .hero__title {
    font-size: 55px;
    max-width: 40%;
  }
  .hero__logo-block {
    width: 186px;
  }
  .hero__img-block img {
    width: 400px;
  }
  .hero__img-block {
    justify-content: space-around;
    align-items: center;
  }
  .hero__img-block {
    width: 400px;
    height: 400px;
  }
  .hero__wrapper {
    min-height: 600px;
  }
  .about__list {
    display: flex;
    flex-direction: column;
    min-height: 900px;
  }
  .about__item:nth-child(1),
  .about__item:nth-child(2),
  .about__item:nth-child(3),
  .about__item:nth-child(4) {
    left: 50%;
    transform: translateX(-50%);
    right: unset;
    top: unset;
    justify-content: center;
  }
  .about__item:nth-child(1) {
    position: absolute;
    top: -6%;
    z-index: 5;
  }
  .about__item:nth-child(2) {
    z-index: 4;
    top: 13%;
    position: absolute;
  }
  .about__item:nth-child(3) {
    top: 23%;
    position: absolute;
    margin-top: -18px;
  }
  .about__item:nth-child(3) p {
    top: 51%;
  }
  .about__item:nth-child(4) {
    position: absolute;
    height: max-content;
    top: 72%;
  }
  .about__item:nth-child(4) p {
    top: 47%;
    transform: translate(-50%, -50%) rotate(6.411deg);
  }
  .about .btn-wrapper,
  .about .btn {
    width: 100%;
  }
  .about__background-bottom {
    bottom: -60px;
    height: 600px;
  }
  .about__background-bottom-2 {
    height: 600px;
    bottom: -160px;
  }
  .about__img-desk {
    display: none;
  }
  .about__img-mibil {
    display: block;
    object-fit: none;
  }
  .about__item:nth-child(1)::before,
  .about__item:nth-child(2)::before,
  .about__item:nth-child(3)::before,
  .about__item:nth-child(4)::before,
  .about__item:nth-child(1)::after,
  .about__item:nth-child(2)::after,
  .about__item:nth-child(3)::after,
  .about__item:nth-child(4)::after {
    display: none;
  }
  .partners__background {
    bottom: -60%;
  }
  .card__list {
    margin-left: 0%;
  }
}
@media (max-width: 850px) {
  .partners {
    padding-bottom: 21px;
  }
}
@media (max-width: 768px) {
  .partners__background {
    bottom: -34%;
  }
  .header__wrapper {
    grid-template-columns: auto 1fr auto;
  }
  .header__list-wrapper {
    display: none;
  }
  .header__wrapper .marker-border:nth-child(2) {
    display: none;
  }
  .header {
    padding: 16px 6px;
    top: 0;
    backdrop-filter: blur(27px);
  }
  .hero__content {
    flex-direction: column-reverse;
  }
  .title {
    font-size: 36px;
    max-width: 327px;
  }
  .hero__title {
    max-width: 100%;
    font-size: 55px;
    text-align: center;
  }
  .about__title span {
    font-size: 84px;
    margin-bottom: -10px;
  }
  .hero__img-block img {
    width: 210px;
  }
  .hero__img-block {
    width: 400px;
    height: 400px;
    margin-top: -100px;
  }
  .hero__background-lightnings {
    background-image: url(../img/hero/background-lightnings-mobil.webp);
    background-size: cover;
  }
  .hero__img-background {
    background-position: left;
    background-size: contain;
    bottom: unset;
    top: -20%;
  }
  .hero__wrapper {
    min-height: 530px;
  }
  .card__list {
    flex-direction: column;
    gap: 24px;
    padding: 0 22px 0 10px;
  }
  .card__item,
  .card__item.active {
    position: relative;
    background-color: var(--color-accent);
    border: 4px solid #000000;
    border-radius: 12px;
    display: flex;
    align-items: center;
    padding: 28px;
    transition: opacity var(--transition), min-height var(--transition);
    min-height: 173px;
    opacity: 1 !important;
    width: 100% !important;
  }
  .card__list-wrapper {
    overflow: unset;
  }
  .card__item::before,
  .card__item.active::before {
    position: absolute;
    z-index: 2;
    top: -10px;
    right: -10px;
    transform: rotate(8.95deg);
    width: 60px;
    height: 60px;
    background-size: cover;
    content: "";
  }
  .card__wrapper {
    gap: 56px;
  }
  .card__item.active .card__inner p {
    font-size: 14px;
  }
  .card__item.active .card__inner h3,
  .card__inner h3 {
    font-size: 28px;
  }
  .card__item.active::after,
  .card__item::after {
    top: 0;
    right: 0;
  }
  .card__item--1.active::after,
  .card__item--1::after {
    background-image: url(../svg/card/icon-fire-mobil-1.svg);
    width: 111px;
    height: 65px;
  }
  .card__item--2.active::after,
  .card__item--2::after {
    background-image: url(../svg/card/icon-fire-mobil-2.svg);
    width: 111px;
    height: 76px;
  }
  .card__item--3.active::after,
  .card__item--3::after {
    background-image: url(../svg/card/icon-fire-mobil-3.svg);
    top: 20px;
    width: 63px;
    height: 102px;
  }
  .card__item--4.active::after,
  .card__item--4::after {
    background-image: url(../svg/card/icon-fire-mobil-4.svg);
    width: 91px;
    height: 75px;
  }
  .card__item--5.active::after,
  .card__item--5::after {
    background-image: url(../svg/card/icon-fire-mobil-5.svg);
    width: 121px;
    height: 85px;
  }
  .card__item--6.active::after,
  .card__item--6::after {
    background-image: url(../svg/card/icon-fire-mobil-6.svg);
    width: 111px;
    height: 65px;
  }
  .card__background {
    bottom: 0;
    height: 100px;
  }
  .card__background-2 {
    max-width: 266px;
    bottom: -0.5%;
    max-height: 150px;
  }
  .card__background-3 {
    height: 200px;
    bottom: -6%;
  }
  .card {
    padding-bottom: 180px;
  }
  .partners {
    padding-top: 60px;
    padding-bottom: 56px;
  }
  .contacts {
    padding-top: 150px;
  }
  .contacts__form {
    display: flex;
    flex-direction: column;
  }
  .contacts__content::before {
    transform: translate(-60%, -50%);
    z-index: 1;
  }
  .contacts__content {
    z-index: 2;
  }
  .contacts__form-wrapper {
    position: relative;
    z-index: 3;
    padding: 48px 20px 28px;
  }
  .contacts__content::after {
    top: 0;
    right: 0;
    transform: translate(+60%, -50%);
    z-index: 1;
  }
  .contacts__glow {
    opacity: 0.1;
    mix-blend-mode: color-dodge;
  }
  .contacts__text-block h3 {
    font-size: 28px;
  }
  .contacts__text-block p {
    font-size: 14px;
  }
  .loader__wrapper {
    background-image: url(../img/hero/background-lightnings-mobil.webp);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .loader__block span {
    font-size: 44px;
  }
  .loader__block:nth-child(1) span,
  .loader__block:nth-child(2) span,
  .loader__block:nth-child(3) span {
    height: 100px;
    width: 72px;
    padding: 10px;
  }
  .loader__block p {
    font-size: 24px;
  }
  .card__list {
    transform: none !important;
  }
  .hero__img-block::after {
    width: 200px;
    height: 200px;
  }
  .hero::before {
    top: 17%;
    transform: scale(2);
  }
  .about__background-top {
    background-position: center top;
    height: 200px;
    top: -60px;
  }
  .hero {
    overflow: hidden;
  }
  .about__background-top {
    height: 200px;
  }
  .contacts::before {
    background-size: 100% 40%;
    background-position: 100% 5%;
    background-repeat: no-repeat;
    opacity: 0.4;
  }
}
@media (max-width: 550px) {
  .card__background-3 {
    height: 100px;
    bottom: -3%;
  }
}
