.banner {
  position: relative;
}

.banner.image-position-full.has-image .inner {
  padding: calc(var(--wp--preset--spacing--x-large) * 2.15) 0;
}

@media((min-width: 1375px) and (max-width: 1499px)){
  .banner.image-position-full.has-image .inner {
    padding: calc(var(--wp--preset--spacing--x-large) * 2.5) 0;
  }
}

@media((min-width: 1500px) and (max-width: 1699px)){
  .banner.image-position-full.has-image .inner {
    padding: calc(var(--wp--preset--spacing--x-large) * 3) 0;
  }
}

@media(min-width: 1700px){
  .banner.image-position-full.has-image .inner {
    padding: calc(var(--wp--preset--spacing--x-large) * 3.5) 0;
  }
}

.banner.image-position-full.has-image a, .banner.image-position-full.has-image p, .banner.image-position-full.has-image h2 {
  color: var(--wp--preset--color--white) !important;
}

.banner.image-position-full.has-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.banner .inner {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    margin-left: auto;
    margin-right: auto;
  }

  .banner .column {
    width: 100%;
    padding: 0;
  }

  .banner .column.content {
    max-width: var(--wp--style--global--content-size);
    z-index: 2;
  }

  .banner .column.content h2 {
    margin: 0;
  }

  .banner .column.content p {
    font-weight: normal !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

.banner .column.media {
  z-index: 1;
}

  .banner .media img {
    display: block;
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
    overflow: hidden;
  }

  .banner .column.content .button-wrapper {
    padding: 0 !important;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .banner--blue {
    background-color: var(--wp--preset--color--light-blue);
  }

  @media (min-width: 768px) {
    .banner .content {
      margin-top: auto;
      margin-bottom: auto;
    }

    .banner.has-image:not(.image-position-full) .column.media {
      width: 33%;
      padding-right: 1.5rem;
    }

    .banner.has-image:not(.image-position-full) .column.content {
      width: 67%;
      padding: 0;
    }

    .banner .inner {
      flex-direction: row;
      justify-content: center;
    }

    .banner .media {
      display: flex;
      justify-content: flex-start;
    }
  }
