.banner--generic {
  height: 13.875rem;
  position: relative;

  @media screen and (max-width: 1023px){
    height: 10.625rem;
  }

  @media screen and (max-width: 767px){
    height: 7.625rem;
  }
}

.banner--generic__filter {
  background-color: #000091;
  height: 13.875rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;

  @media screen and (max-width: 1023px){
      height: 10.625rem;
  }

  @media screen and (max-width: 767px){
    height: 7.625rem;
  }
}

.banner--generic__image {
  height: 13.875rem;
  left: 0;
  mix-blend-mode: overlay;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100vw;

  @media screen and (max-width: 1023px){
    height: 10.625rem;
  }

  @media screen and (max-width: 767px){
    height: 7.625rem;
  }
}

.banner--generic__title {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 4rem);
}

.title--banner--generic {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.title--banner--generic__text {
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 3.625rem;
  font-family: 'Marianne', sans-serif;
  color: #FFFFFF;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  text-transform: uppercase;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 0.75rem;

  @media screen and (max-width: 767px){
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2rem;
  }
}

.title--banner--generic__line {
  background-color: #F7904A;
  height: 0.125rem;
  width: 5.875rem;

  @media screen and (max-width: 767px){
    line-height: 0.063rem;
  }
}

.banner--information {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  margin: 1.875rem auto 3.75rem auto;
  width: 75rem;

  @media screen and (min-width: 1024px) and (max-width: 1279px){
    width: calc(100% - 4rem);
    padding: 0 2rem;
  }

  @media screen and (max-width: 1023px){
    width: 43.75rem;
    margin: 2.5rem auto 1.875rem;
  }

  @media screen and (max-width: 767px){
    width: 21.25rem;
    margin: 1.875rem auto;
  }
}

.banner--information__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-left: 0;
}

.banner--information__body__text {
  font-family: 'Marianne', sans-serif;
  margin: 0;
}

.title--page--generic {
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 3.625rem;
  font-family: 'Marianne', sans-serif;
  color: black;
  margin: 0;

  @media screen and (max-width: 767px){
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2.25rem;
  }
}

.hidden-banner {
  @media screen and (max-width: 1023px) {
    display: none;
  }
}