.hero {
  height: fit-content;
  position: relative;
  max-height: 778px;
}
.hero__background {
  position: absolute;
  z-index: 5;
  inset: 0;
}
.hero__background::after {
  content: "";
  opacity: 0.8;
  background: #002E70;
  position: absolute;
  inset: 0;
  z-index: 5;
}
.hero__background video,
.hero__background img {
  z-index: -1;
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.hero__heading {
  max-width: 320px;
  margin-bottom: 20px;
}
.hero__text {
  width: 305px;
}
.hero__content {
  z-index: 10;
  position: relative;
  padding-top: 130px;
  padding-bottom: 56px;
}
.hero__content .swiper-pagination {
  width: 10px;
  height: 10px;
  margin-top: 30px;
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.hero__content .swiper-pagination-bullet {
  min-width: 10px;
  display: block;
  width: 10px;
  height: 4px;
  border-radius: 2px;
  opacity: 0.4;
  background: #D9D9D9;
  transition: all 0.12s linear;
}
.hero__content .swiper-pagination-bullet:hover {
  opacity: 1;
  background: #EF2B2D;
}
.hero__content .swiper-pagination-bullet-active {
  width: 34px;
  min-width: 34px;
  opacity: 1;
  background: #EF2B2D;
}
.hero__content .button {
  margin-top: 50px;
}
.hero__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hero__swiper .swiper-wrapper {
  align-items: stretch;
}
.hero__swiper .swiper-slide {
  height: auto;
  display: flex;
  opacity: 0 !important;
}
.hero__swiper .swiper-slide-active {
  opacity: 1 !important;
}

@media (min-width: 1040px) {
  .hero {
    height: 778px;
  }
  .hero__swiper {
    padding: 0;
    height: 100%;
  }
  .hero__content {
    height: 100%;
    padding-top: 104px;
    padding-bottom: 84px;
  }
  .hero__content .swiper-pagination {
    left: 20px;
    bottom: 84px;
    position: absolute;
  }
  .hero__content .button {
    right: 20px;
    bottom: 84px;
    position: absolute;
  }
  .hero__container {
    height: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .hero__text {
    width: 100%;
    max-width: unset;
  }
  .hero__heading {
    max-width: 760px;
    margin-top: 0;
    margin-bottom: 38px;
  }
}