.fvb-end-of-page-banner {
  display: flex;
  align-items: center;
  margin: 2rem auto 0;
  padding-block-start: calc(var(--section-spacing-unit-size) * 1.5);
  padding-block-end: calc(var(--section-spacing-unit-size) * 1.5);
  position: relative;
  gap: 1.5rem;
  padding: 50px 60px 20px 78px;

  * {
    color: inherit !important;
  }

  &.text-middle-left {
    justify-content: flex-start;
    text-align: left;
  }
  &.text-middle-center {
    justify-content: center;
    text-align: center;
  }
  &.text-middle-right {
    justify-content: flex-end;
    text-align: right;
  }
  &.text-top-left {
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
  }
  &.text-top-center {
    justify-content: center;
    align-items: flex-start;
    text-align: center;
  }
  &.text-top-right {
    justify-content: flex-end;
    align-items: flex-start;
    text-align: right;
  }
  &.text-bottom-left {
    justify-content: flex-start;
    align-items: flex-end;
    text-align: left;
  }
  &.text-bottom-center {
    justify-content: center;
    align-items: flex-end;
    text-align: center;
  }
  &.text-bottom-right {
    justify-content: flex-end;
    align-items: flex-end;
    text-align: right;
  }

  .section-full-width-banner__subheading {
    margin-block-start: 16px;
    margin-block-end: 0;
  }

  .section__heading {
    p {
      margin-block-start: 0;
      margin-block-end: 8px;
    }
  }

  &.has-background-media {
    aspect-ratio: 16 / 9;

    .section-end-of-page-banner__media {
      width: 100%;
      max-width: none;
      max-height: none;
      position: absolute;
      left: 0;
      top: 0;

      img,
      video {
        object-fit: cover;
      }
    }
  }

  .section-end-of-page-banner__content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    position: relative;
    z-index: 2;
    padding-left: 20px;
  }

  .section-end-of-page-banner__media {
    max-width: 380px;

    img,
    video {
      width: 100%;
    }
  }

  .banner-button a {
    color: inherit;
    letter-spacing: 0.125rem;
    font-family: Paralucent-Bold;
    text-transform: uppercase;
    z-index: 2;
    position: relative;
  }
}

@media (max-width: 1099px) {
  .fvb-end-of-page-banner {
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    margin-block-start: 1rem;
    padding-block-start: var(--section-spacing-unit-size);
    padding-block-end: var(--section-spacing-unit-size);
    gap: 1rem;
    padding: 20px 68px;

    .section__heading.h2 {
      font-size: 26px;
      line-height: var(--line-height-h4);
    }

    img {
      max-width: 100%;
      max-height: none;
    }

    .section-end-of-page-banner__content {
      text-align: center !important;
      gap: 0.375rem;
      padding-left: 0;
      width: 100%;
    }

    .section-full-width-banner__heading,
    .section-full-width-banner__subheading {
      max-width: 100%;
    }

    &.container {
      padding-left: calc(var(--section-spacing-unit-size) * 3);
      padding-right: calc(var(--section-spacing-unit-size) * 3);
    }

    .section-full-width-banner__subheading {
      margin-block-start: 24px;
      margin-block-end: 0;
    }

    .section__heading {
      p {
        margin-block-start: 0;
        margin-block-end: 16px;
      }
    }
  }
}
