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

  & picture {
    height: 100%;
  }
}

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

.header__text {
font-size: 3vw;
  position: absolute;
  bottom: 2rem;
  right: 4%;
  color: rgb(var(--c-neutral-lightest));
}

.header__title {
  display: block;
  width: fit-content;
  margin-bottom: 0.5rem;
  padding: 0.2em 1em;
  background: rgb(var(--c-neutral-lightest));
  color: rgb(var(--c-primary));
  font-family: var(--f-family-3);
  font-weight: var(--f-weight-l);
  font-size: var(--f-size-l-1);
  text-transform: uppercase;
  border-radius: var(--b-radius-s);
}

.header__description {
  display: inline-block;
  padding: 0.2em 1em;
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
  font-family: var(--f-family-2);
  font-size: var(--f-size-l-4);
  text-transform: uppercase;
  border-radius: var(--b-radius-s);
}

.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: 480px) {
  .header__text {
    font-size: 100%;
  }
}

@media (min-width: 640px) {
  .header__title {
    font-size: var(--f-size-l-2);
  }

  .header__description {
    font-size: var(--f-size-l-5);
  }
}

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