.header {
  --swiper-pagination-color: #ffffff;
  --swiper-pagination-bullet-inactive-color: #ffffff;
  --swiper-pagination-bullet-inactive-opacity: 0.4;
  --swiper-navigation-color: #ffffff;
}

.header__slider {
  display: flex;
  align-items: center;
}

.header__text {
  position: absolute;
  bottom: 5vw;
  left: 3%;
  z-index: 101;
  font-size: 1vw;
  color: rgb(var(--c-neutral-lightest));
  text-shadow: 2px 2px 2px rgba(var(--c-neutral-darkest), 0.6);
}

.header__title,
.header__icon,
.header__description {
  display: none;
}

.header__title {
  font-family: var(--f-family-2);
  font-size: 294%;
  line-height: 1.3;
}

.header__description {
  margin-top: 0.6em;
  font-size: 176%;
  line-height: 1.3;
}

.header__description p {
  margin: 0;
}

.header__text .header__icon {
  align-items: center;
  gap: 0.2em;
  height: 3vw;
  margin-top: 0.5em;

  &::before {
    content: '';
    width: 3vw;
    height: 1px;
    background: rgb(var(--c-neutral-lightest));
  }

  & img {
    width: 3vw;
    max-width: none;
    height: 3vw;
  }
}

.header__image {
  overflow: hidden;
  display: block;

  picture {
    height: 100%;
    width: 100%;
  }

  & video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  &.-left {
    & video,
    & img {
      object-position: left center;
    }
  }

  &.-right {
    & video,
    & img {
      object-position: right center;
    }
  }

  &.-top {
    & video,
    & img {
      object-position: center top;
    }
  }

  &.-bottom {
    & video,
    & img {
      object-position: center bottom;
    }
  }

  &.-bottom.-left {
    & video,
    & img {
      object-position: left bottom;
    }
  }

  &.-bottom.-right {
    & video,
    & img {
      object-position: right bottom;
    }
  }

  &.-top.-left {
    & video,
    & img {
      object-position: left top;
    }
  }

  &.-top.-right {
    & video,
    & img {
      object-position: right top;
    }
  }
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 800px) {
  div.header__text.-bottom {
    display: block;
  }
}

@media (min-width: 501px) {
  .header__title,
  .header__description {
    display: block;
  }

  .header__icon {
    display: flex;
  }
}

@media (min-width: 801px) {
  .header__text {
    font-size: 1.2vw;
  }
}

@media (min-width: 1281px) {
  .header__text {
    font-size: 1em;
  }

  .header__text .header__icon {
    height: 40px;

    &::before {
      width: 40px;
    }

    & img {
      width: 40px;
      height: 40px;
    }
  }
}

@media (min-width: 1580px) {
  .header__text {
    left: calc((100% - 1440px) / 2);
  }
}
