/* Homepage specific styling goes here. Excluded on all subpages */
/* For most builds, this stylesheet should be wiped and started fresh */

/* PRELOADER */
.preloader-outer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 100vh;
  background-color: var(--color-white);
  transition: opacity 600ms ease-out;
}

.preloader-outer.active {
  visibility: visible !important;
}

.preloader-outer.preloader-remove {
  opacity: 0;
  pointer-events: none;
}

.preloader-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.preloader-inner p {
  margin-bottom: 15px;
}

.preloader-inner p:last-of-type {
  margin: 0;
}

.preloader-part {
  margin: 20px;
  display: none;
}

.preloader-part-left.active {
  display: block;
  -webkit-animation: fadeinright 800ms ease-out;
  animation: fadeInRight 800ms ease-out;
}

.preloader-part-right.active {
  display: block;
  -webkit-animation: fadeinleft 500ms ease-out;
  animation: fadeInLeft 500ms ease-out;
}

/* hero */
.hero {
  position: relative;
  min-height: 475px;
}

.hero .js-hero-slider {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero .swiper-slide {
  height: 100%;
}

.hero-image {
  position: absolute;
  inset: 0;
}

.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-image:before {
  position: absolute;
  inset: 0;
  content: '';
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 21.18%), linear-gradient(254.44deg, rgba(0, 0, 0, 0.15) 49.25%, #000000 99.31%);
  pointer-events: none;
  z-index: 1;
}

.hero-holder {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  min-height: 475px;
  padding-bottom: 70px;
}

.hero-info {
  position: relative;
  z-index: 2;
  width: 100%;
}

.hero h2 {
  margin-bottom: 0;
  color: var(--color-white);
}

.hero h2 span {
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  animation-delay: 1000ms;
}

.hero h2 strong {
  display: block;
  font-size: 2.688rem;
  font-weight: 600;
  text-transform: capitalize;
  animation-delay: 1800ms;
}

.hero-pagination-bar {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  z-index: 3;
  pointer-events: none;
}

.hero-pagination-bar .column {
  pointer-events: auto;
}

.hero-pagination-bar .swiper-pagination {
  animation-delay: 2400ms;
}

@media screen and (min-width: 768px) {
  .hero {
    min-height: 550px;
  }

  .hero-holder {
    padding-bottom: 125px;
    min-height: 550px;
  }

  .hero-pagination-bar {
    bottom: 85px;
  }
}

@media screen and (min-width: 1025px) {
  .hero {
    min-height: 760px;
    height: 100vh;
  }

  .hero-holder {
    padding-bottom: 155px;
    min-height: 760px;
    height: 100vh;
  }

  .hero h2 span {
    font-size: 1.875rem;
    letter-spacing: 0.469rem;
  }

  .hero h2 strong {
    font-size: 4.375rem;
  }

  .hero-pagination-bar {
    bottom: 62px;
  }
}

@media screen and (min-width: 1281px) {
  .hero-holder {
    padding-bottom: 188px;
  }

  .hero h2 span {
    font-size: 2.25rem;
    letter-spacing: 0.563rem;
  }

  .hero h2 strong {
    font-size: 5.438rem;
  }

  .hero-pagination-bar {
    bottom: 108px;
  }
}

/* intro */
.intro {
  margin-bottom: 28px;
  padding-top: 31px;
}

.intro-text {
  margin-bottom: 20px;
  letter-spacing: 0.031rem;
}

.intro-text h2,
.intro-text h1 {
  font-size: 1.875rem;
  font-weight: 600;
  margin-bottom: 22px;
  letter-spacing: initial;
  overflow: hidden;
}

.intro-text h2 strong,
.intro-text h1 strong {
  display: block;
}

.intro-text p:last-of-type {
  margin-bottom: 27px;
}

.intro-image img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .intro {
    margin-bottom: 69px;
    padding-top: 55px;
  }

  .intro-holder {
    display: flex;
    justify-content: space-between;
  }

  .intro-text {
    width: 50%;
    margin-bottom: 0;
  }

  .intro-image {
    width: 48%;
    margin-right: -40px;
  }
}

@media screen and (min-width: 1025px) {
  .intro-text {
    width: 60%;
  }

  .intro-image {
    width: 34.5%;
    margin-top: 12px;
  }
}

@media screen and (min-width: 1281px) {
  .intro-image {
    margin-right: 0;
  }
}

/* news */
.news {
  padding-top: 28px;
  padding-bottom: 35px;
  background-color: var(--color-gray);
}

.news-item:not(:last-of-type) {
  margin-bottom: 35px;
}

.news .swiper-pagination-bullet {
  border-color: var(--color-body-text);
}

.news .swiper-pagination-bullet-active {
  border-color: var(--color-body-text);
  background: var(--color-body-text);
}

@media screen and (min-width: 768px) {
  .news {
    padding-top: 63px;
    padding-bottom: 66px;
  }

  .news-holder {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 25px;
  }

  .news-item:not(:last-of-type) {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1025px) {
  .news-item {
    margin-right: 50px;
  }
}

@media screen and (min-width: 1441px) {
  .news-holder {
    grid-column-gap: 0;
  }
}

/* brand */
.brand {
  padding-top: 35px;
  padding-bottom: 30px;
}

.brand-item {
  display: block;
  text-align: center;
  margin-bottom: 30px;
}

img.brand-item {
  margin: 0 auto;
}

.brand-item:last-of-type {
  margin-bottom: 0;
}

.brand img {
  /* width: 100%; */
  max-width: 100%;
  height: auto;
}

.brand .swiper {
  overflow: visible;
}

.brand .swiper-wrapper {
  align-items: center;
  transition-timing-function: linear !important;
}

@media screen and (min-width: 768px) {
  .brand {
    padding-top: 65px;
    padding-bottom: 44px;
  }

  .brand-holder {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .brand-item {
    margin-bottom: 0;
  }

  .brand img {
    width: auto;
  }

}

@media screen and (min-width: 1025px) {}