:root {
  --main: #062f87;
  --geologica: Geologica, sans-serif;
  --white: white;
  --fs-16: 16px;
  --lh-1-5: 1.5;
  --medium: 500;
  --red: #d7162f;
  --red-light: #f3445a;
  --blue-light: #0080ae;
  --blue: #22294e;
  --fs-54: 54px;
  --lh-1: 1;
  --ex-bold: 800;
  --fs-48: 48px;
  --yellow: #eeb019;
  --fs-36: 36px;
  --fs-24: 24px;
  --fs-12: 12px;
  --lh-1-3: 1.3;
  --fs-40: 40px;
  --bold: 700;
  --lh-1-2: 1.2;
  --fs-18: 18px;
  --lh-1-4: 1.4;
  --regular: 400;
  --fs-14: 14px;
  --fs-20: 20px;
  --lh-1-1: 1.1;
}

.body {
  background-color: var(--main);
  font-family: var(--geologica);
  color: var(--white);
  font-size: var(--fs-16);
  line-height: var(--lh-1-5);
  font-weight: var(--medium);
}

.button {
  background-color: var(--red);
  text-align: center;
  text-transform: uppercase;
  border-radius: 10px;
  min-width: 320px;
  padding: 16px 18px;
  transition: background-color .4s;
}

.button:hover {
  background-color: var(--red-light);
}

.section {
  padding: 60px 20px;
}

.section.hero {
  background-image: url('../images/back.avif');
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 38vw;
  min-height: 750px;
  padding-top: 20px;
  position: relative;
  overflow: hidden;
}

.section.section_grad {
  background-image: linear-gradient(0deg, var(--main), var(--blue-light) 50%, var(--main));
  overflow: hidden;
}

.section.section_dark {
  background-color: var(--blue);
  position: relative;
  overflow: hidden;
}

.section.small_top {
  padding-top: 30px;
  padding-bottom: 30px;
}

.container {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.container.pos_relative {
  position: relative;
}

.navbar {
  z-index: 1000;
  margin-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
  position: absolute;
  inset: 0% 0% auto;
}

.button_block {
  z-index: 2;
  justify-content: center;
  align-items: center;
  margin-top: -30px;
  display: flex;
  position: relative;
}

.hero_h1 {
  color: var(--main);
  font-size: var(--fs-54);
  line-height: var(--lh-1);
  font-weight: var(--ex-bold);
  text-align: center;
}

.hero_drive {
  width: 690px;
  margin-top: -70px;
  margin-bottom: -100px;
}

.mask_l {
  background-image: linear-gradient(90deg, var(--main), #062f8700);
  width: 100px;
  height: 100%;
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-800px);
}

.mask_r {
  background-image: linear-gradient(-90deg, var(--main), #062f8700);
  width: 100px;
  height: 100%;
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(700px);
}

.logo_link {
  z-index: 2000;
  position: relative;
}

.timer-wrap {
  z-index: 3;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.steps {
  z-index: 2;
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  width: 100%;
  margin-top: 36px;
  display: flex;
  position: relative;
}

.h2 {
  color: var(--yellow);
  font-size: var(--fs-36);
  line-height: var(--lh-1);
  font-weight: var(--ex-bold);
  text-align: center;
  text-transform: uppercase;
  margin-top: 0;
}

.step {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.step.step_last {
  margin-top: 30px;
}

.step_col {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50%;
  display: flex;
  position: relative;
}

.step_h3 {
  font-size: var(--fs-36);
  line-height: var(--lh-1);
  text-transform: uppercase;
  margin-top: 0;
}

.step_img {
  z-index: 2;
  pointer-events: none;
  width: 400px;
  position: relative;
}

.step_col-l {
  justify-content: center;
  align-items: center;
  width: 50%;
  display: flex;
  position: relative;
  -webkit-mask-image: linear-gradient(to right, #0000, #000 12% 88%, #0000);
  mask-image: linear-gradient(to right, #0000, #000 12% 88%, #0000);
}

.step_p {
  max-width: 400px;
  margin-top: 20px;
  margin-bottom: 32px;
}

.text_yellow {
  color: var(--yellow);
}

.step_drive {
  z-index: 0;
  width: 400px;
  position: absolute;
  top: -60px;
}

.auto_h4 {
  font-size: var(--fs-12);
  font-weight: var(--medium);
  text-transform: uppercase;
  position: absolute;
  bottom: 54px;
}

.products_p {
  text-align: center;
  max-width: 400px;
  margin-top: 20px;
}

.products_wrap {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 1000px;
  margin-top: 40px;
  margin-bottom: 46px;
  display: grid;
}

.product_item {
  background-image: linear-gradient(180deg, var(--main), var(--blue));
  border-radius: 16px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  padding-top: 30px;
  padding-bottom: 10px;
  padding-left: 40px;
  display: flex;
  box-shadow: 0 5px 10px #00000040;
}

.product_h3 {
  width: 100%;
  font-size: var(--fs-36);
  line-height: var(--lh-1);
  font-weight: var(--ex-bold);
  text-align: left;
  text-transform: uppercase;
  margin-top: 0;
}

.product_img {
  width: 392px;
}

.h3 {
  color: var(--yellow);
  font-size: var(--fs-24);
  line-height: var(--lh-1-3);
  font-weight: var(--ex-bold);
  text-align: center;
  text-transform: uppercase;
  margin-top: 0;
}

.footer_block {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  max-width: 300px;
  font-size: var(--fs-12);
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 60px;
  display: flex;
}

.text_link {
  color: var(--white);
  transition: color .3s;
}

.text_link:hover {
  color: var(--yellow);
}

.social_wrap {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  justify-content: center;
  align-items: center;
  margin-top: 4px;
  margin-bottom: 4px;
  display: flex;
}

.social_link {
  transition: opacity .3s;
}

.social_link:hover {
  opacity: .7;
}

.bottom_p {
  text-align: center;
  margin-top: 50px;
  font-size: 10px;
}

.date_cols {
  width: 100%;
  max-width: 830px;
  margin-top: 10px;
  display: flex;
}

.date_col {
  flex: 1;
  position: relative;
}

.date_h3 {
  color: var(--white);
  font-size: var(--fs-24);
  line-height: var(--lh-1-3);
  font-weight: var(--ex-bold);
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 0;
}

.date_content {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  margin-top: 16px;
  margin-bottom: 16px;
  display: flex;
}

.date_img {
  width: 400px;
}

.live {
  width: 127px;
  position: absolute;
  top: 40%;
  right: 0;
}

.support_block {
  text-align: center;
  margin-top: 20px;
}

.support_p {
  font-size: var(--fs-12);
}

.yellow_link {
  color: var(--yellow);
  transition: color .3s;
}

.yellow_link:hover {
  color: var(--white);
}

.date_m {
  z-index: 2;
  font-size: var(--fs-24);
  line-height: var(--lh-1);
  font-weight: var(--ex-bold);
  text-transform: uppercase;
  position: absolute;
  top: 19%;
  left: 50%;
  transform: translate(-57%);
}

.date_d {
  z-index: 2;
  color: var(--red);
  font-size: 96px;
  line-height: var(--lh-1);
  font-weight: var(--ex-bold);
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-55%);
}

.timer-block {
  margin-top: 20px;
  margin-bottom: 90px;
  display: block;
  position: relative;
}

.timer {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  margin-top: 0;
  display: flex;
}

.timer-d, .timer-h {
  font-size: var(--fs-40);
  line-height: var(--lh-1);
  font-weight: var(--bold);
}

.timer-item {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 54px;
  display: flex;
  position: relative;
}

.timer-m, .timer-s {
  font-size: var(--fs-40);
  line-height: var(--lh-1);
  font-weight: var(--bold);
}

.timer_h3 {
  font-size: var(--fs-16);
  font-weight: var(--ex-bold);
  text-align: center;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
}

.timer_sub {
  font-size: 10px;
  font-weight: var(--bold);
  text-transform: uppercase;
}

.timer_back {
  z-index: 2;
  min-width: 560px;
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translate(-50%);
}

.timer_under {
  color: var(--main);
  font-size: var(--fs-12);
  font-weight: var(--bold);
  margin-top: 4px;
}

.timer_divider {
  font-size: var(--fs-40);
  line-height: var(--lh-1-2);
  font-weight: var(--bold);
  position: absolute;
  right: -20px;
}

.glow_timer {
  min-width: 500px;
  position: absolute;
  top: -75px;
  left: 50%;
  transform: translate(-50%);
}

.banner_drive {
  pointer-events: none;
  width: 570px;
  margin-top: -20px;
  margin-bottom: 120px;
}

.banner_prod {
  z-index: 2;
  width: 460px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-450px);
}

.banner_car {
  width: 570px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-30px);
}

.faq_wrap {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  margin-top: 32px;
  display: flex;
}

.faq_item {
  border-top: 1px solid var(--white);
  border-bottom: 1px solid var(--white);
  margin-top: -1px;
}

.faq_head {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 10px;
  display: flex;
}

.faq_question {
  color: #fff;
  font-size: var(--fs-18);
  line-height: 1;
  font-weight: var(--bold);
  padding-right: 24px;
}

.faq_content {
  padding-bottom: 20px;
  padding-right: 40px;
}

.faq_p {
  font-size: var(--fs-16);
  line-height: var(--lh-1-4);
  font-weight: var(--regular);
  margin-bottom: 16px;
}

.modal_menu {
  background-image: linear-gradient(72deg, var(--blue), var(--main));
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100svh;
  padding: 140px 20px 20px;
  display: flex;
}

.navbar_wrap {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.lang {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  color: var(--white);
  line-height: var(--lh-1);
  font-weight: var(--bold);
  text-transform: uppercase;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.hamburger {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  cursor: pointer;
  flex-flow: column;
  display: flex;
}

.ham_line {
  background-color: var(--white);
  pointer-events: none;
  border-radius: 24px;
  width: 40px;
  height: 6px;
  transition: all .3s;
}

.modal_nav {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.modal_nav-a {
  color: var(--white);
  font-size: var(--fs-24);
  font-weight: var(--medium);
  text-decoration: none;
  transition: color .3s;
}

.modal_nav-a:hover {
  color: var(--yellow);
}

.power_a {
  z-index: 2;
  color: var(--white);
  font-size: var(--fs-14);
  font-weight: var(--regular);
  text-align: center;
  text-decoration: underline;
}

.steps_back {
  z-index: 0;
  pointer-events: none;
  width: 360px;
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translate(340px, -50%);
}

.step_glow {
  z-index: 0;
  position: absolute;
}

.swiper {
  z-index: 2;
  width: 580px;
  position: relative;
  overflow: hidden;
}

.swiper-wrapper {
  display: flex;
}

.swiper-slide {
  text-align: center;
  flex-flow: column;
  flex: none;
  justify-content: center;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}

.swiper-slide-image {
  width: 400px;
}

.modal_back {
  background-image: radial-gradient(circle, #22294eb3, #062f87);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.modal_prod {
  background-color: var(--main);
  border-radius: 40px;
  width: 90%;
  max-width: 600px;
  padding: 30px 40px;
  position: relative;
}

.product_items {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  flex-flow: column;
  margin-top: 20px;
  display: flex;
}

.prod_item {
  font-weight: var(--regular);
}

.prod_title {
  font-size: var(--fs-20);
}

.modal_close {
  cursor: pointer;
  width: 30px;
  position: absolute;
  inset: 20px 20px auto auto;
}

.org_block {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  background-color: var(--blue);
  border-radius: 16px;
  flex-flow: column;
  margin-top: 40px;
  margin-left: auto;
  padding: 18px 24px;
  display: flex;
}

.org_a {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  color: var(--white);
  line-height: var(--lh-1);
  font-weight: var(--medium);
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.org_h {
  color: var(--blue-light);
  font-weight: var(--regular);
}

.org_icon {
  width: 17px;
}

.text-block {
  line-height: var(--lh-1-4);
}

.speed-lines-container {
  z-index: 0;
  width: 100%;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.step_col2 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 50%;
  display: flex;
  position: relative;
}

@media screen and (max-width: 991px) {
  .section.hero {
    height: 700px;
    min-height: auto;
  }

  .hero_drive {
    width: 620px;
  }

  .date_m {
    transform: translate(-51%);
  }

  .date_d {
    top: 44%;
    transform: translate(-52%);
  }

  .faq_content {
    padding-right: 20px;
  }

  .faq_p {
    font-size: var(--fs-14);
  }

  .steps_back {
    width: 320px;
    transform: translate(150px, -50%);
  }

  .swiper {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .section.hero {
    background-image: url('../images/back-m.avif');
    background-size: cover;
    height: 660px;
    padding-top: 50px;
  }

  .navbar {
    margin-top: 20px;
  }

  .hero_h1 {
    font-size: var(--fs-48);
  }

  .hero_drive {
    width: 580px;
    margin-top: -60px;
    margin-bottom: -80px;
  }

  .step {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: column;
  }

  .step_col {
    justify-content: flex-start;
    align-items: center;
    width: 70%;
  }

  .step_h3, .step_col-l {
    width: 100%;
  }

  .step_p {
    width: 100%;
    max-width: 100%;
  }

  .products_wrap {
    grid-template-columns: 1fr;
  }

  .date_cols {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .date_col {
    text-align: center;
  }

  .date_content {
    text-align: left;
  }

  .date_d {
    top: 45%;
  }

  .banner_drive {
    margin-top: 0;
    margin-bottom: -60px;
  }

  .banner_prod {
    position: relative;
    left: 0%;
    transform: translate(0);
  }

  .banner_car {
    margin-bottom: -50px;
    position: relative;
    left: 0%;
    transform: translate(30px);
  }

  .faq_question {
    font-size: var(--fs-16);
  }

  .lang, .hamburger {
    transform: scale(.8);
  }

  .modal_prod {
    border-radius: 20px;
    padding: 20px;
  }

  .prod_item {
    font-size: var(--fs-14);
  }

  .prod_title {
    font-size: var(--fs-18);
  }

  .step_col2 {
    justify-content: flex-start;
    align-items: center;
    width: 70%;
  }
}

@media screen and (max-width: 479px) {
  .section.hero {
    height: 660px;
    padding-top: 40px;
  }

  .hero_h1 {
    line-height: var(--lh-1);
  }

  .hero_drive {
    margin-top: -30px;
    margin-bottom: -30px;
  }

  .image {
    margin-top: 16%;
  }

  .h2 {
    font-size: var(--fs-24);
  }

  .step_col {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }

  .step_h3 {
    font-size: var(--fs-24);
  }

  .step_p {
    margin-top: 10px;
    margin-bottom: 24px;
  }

  .auto_h4 {
    bottom: 45px;
  }

  .product_item {
    padding-left: 0;
  }

  .product_h3 {
    font-size: var(--fs-24);
    padding-left: 40px;
  }

  .h3, .date_h3 {
    font-size: var(--fs-24);
  }

  .date_content {
    margin-bottom: 24px;
  }

  .live {
    width: 110px;
  }

  .date_m {
    transform: translate(-52%);
  }

  .date_d {
    font-size: 88px;
    transform: translate(-52%);
  }

  .banner_prod {
    margin-bottom: -50px;
  }

  .banner_car {
    margin-bottom: -30px;
    transform: translate(40px);
  }

  .faq_question {
    font-size: 20px;
  }

  .steps_back {
    width: 380px;
    top: 50%;
    transform: translate(-20px, -50%);
  }

  .step_col2 {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }
}


