.usp-banner {
  &.color-background-1 {
    background-color: rgb(var(--color-white));
  }

  &.color-inverse {
    background-color: rgb(var(--color-base-brand-secondary));

    * {
      color: rgb(var(--color-white)) !important;
    }

    .usp-banner__item,
    .usp-banner__item--link {
      border-color: rgb(var(--color-white)) !important;
    }

    .usp-banner__item--icon img {
      filter: invert(1) contrast(1) grayscale(1);
    }
  }

  .usp-banner__item--link,
  .usp-banner__item {
    position: relative;
    &:not(:first-child) {
      border-top: solid 1px rgb(var(--color-off-white));
    }
  }

  .usp-banner__item--link {
    padding: 0 var(--space-12);
  }

  &.color-gradient {
    background: linear-gradient(108deg, #6f8dd2 12.35%, #284884 48.12%, #002f87 87.65%);

    * {
      color: rgb(var(--color-white)) !important;
    }

    .usp-banner__item,
    .usp-banner__item--link {
      border-color: rgb(var(--color-white)) !important;
    }

    .usp-banner__item--icon img {
      filter: invert(1) contrast(1) grayscale(1);
    }
  }

  .usp-banner__item--icon {
    border-radius: var(--space-2);
    height: auto;
    max-height: 10rem;
  }

  .usp-banner__item--icon.color-background-1 {
    background-color: rgb(var(--color-base-brand-secondary));

    img {
      filter: invert(1) contrast(1) grayscale(1);
    }
  }

  .usp-banner__item--wrapper {
    padding: var(--space-4);
    gap: 0;

    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-evenly;
    align-items: flex-start;

    .usp-banner__item--link,
    .usp-banner__item--link a {
      text-decoration: none;
      color: inherit;
    }

    .usp-banner__item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--space-6);
      padding: var(--space-12) 0;

      &:not(:first-of-type) {
        border-top: solid 1px rgb(var(--color-off-white));
      }

      &:first-of-type {
        padding-top: var(--space-19);
      }

      &:last-of-type {
        padding-bottom: var(--space-19);
      }
    }

    .usp-banner__item--text {
      p {
        margin: 0;
      }
    }

    .usp-banner__item--cta {
      color: rgb(var(--color-grey-medium));
      display: flex;
      flex-direction: row;
      align-content: center;
      align-items: center;
      p {
        margin: 0;
        font-size: var(--text-size-s);
        font-weight: var(--font-weight-bolder);
        font-family: var(--font-body-family);
        color: inherit;
        text-align: center;
      }

      .icon--arrow {
        margin-left: var(--space-3);
      }
    }
  }

  @media screen and (min-width: 750px) {
    .usp-banner__item--wrapper {
      column-gap: var(--space-16);
      row-gap: var(--space-16);
      flex-direction: row;

      .usp-banner__item,
      .usp-banner__item--link {
        &:nth-child(2) {
          border-top: none;
        }
      }
    }
  }

  @media screen and (max-width: 989px) {
    .usp-banner__item--wrapper {
      .usp-banner__item--link {
        width: 100%;
        .usp-banner__item {
          flex-direction: column;
          width: 100%;
          align-items: center;
          &:not(:first-of-type) {
            border-top: solid 1px rgb(var(--color-off-white));
          }
        }
      }
    }
  }

  @media screen and (min-width: 990px) {
    padding: var(--space-12) var(--padding-sections-mobile) var(--space-12) var(--padding-sections-mobile);

    .grid {
      align-items: center;
    }

    .usp-banner__item--link {
      border-right: none;
      max-width: 25%;
    }

    .usp-banner__item--link,
    .usp-banner__item {
      border-top: none !important;
    }

    .usp-banner__item--wrapper {
      gap: 0;
      row-gap: var(--space-16);

      .usp-banner__item {
        flex-direction: column;
        align-items: center;
        padding: 0;

        &:not(:last-of-type) {
          border-right: solid 2px rgb(var(--color-base-brand-secondary));
        }

        &:not(:first-of-type) {
          border-top: unset;
        }

        &:first-of-type {
          padding-top: initial;
        }

        &:last-of-type {
          padding-bottom: initial;
        }
      }
    }

    .usp-banner__item--icon {
      margin: 0 auto;
    }

    .usp-banner__item--text {
      padding: 0 var(--space-12);
      text-align: center;
      font-size: var(--text-size-s);
      font-weight: var(--font-weight-medium);
      line-height: var(--space-12);
    }
  }

  @media screen and (min-width: 1305px) {
    padding: var(--space-12) var(--padding-sections-desktop) var(--space-12) var(--padding-sections-desktop);
  }
}
