/** Shopify CDN: Minification failed

Line 174:0 Unexpected "}"

**/
.banner {
  display: flex;
  position: relative;
  flex-direction: row;
  min-height: initial;
}

@media screen and (max-width: 749px) {
  .banner {
    flex-wrap: wrap;
  }
}

.banner__media {
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  right: 0;
  left: auto;
}

@media screen and (max-width: 749px) {
  .banner > .banner__media {
    height: 100%;
    position: absolute;
  }

  .banner__media-half.mobile-full-width {
    width: 100%;
  }
}

@media screen and (min-width: 750px) {
  .banner__media {
    position: absolute;
    height: 100%;
  }
}

@media screen and (max-width: 749px) {
  .banner::before {
    display: none !important;
  }
}

.banner__media .placeholder-svg {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.banner__content {
  padding-top: var(--hh-space-xl);
  padding-bottom: var(--hh-space-xl);
  display: flex;
  position: relative;
  width: 100%;
  justify-content: center;
}

.banner__content.text-over-image {
  padding-top: var(--hh-space-md);
  padding-bottom: var(--hh-space-md);
}

@media screen and (min-width: 750px) {
  .banner__content {
    padding-bottom: var(--hh-space-page-margins);
    padding-top: var(--hh-space-page-margins);
  }
}

.banner__box {
  display: flex;
  flex-direction: column;
  row-gap: var(--hh-space-2xs);
  border: 0;
  position: relative;
  height: fit-content;
  width: 100%;
}

.banner__box > *:first-child {
  margin-top: 0;
}

@media screen and (max-width: 749px) {
  .banner__content .button {
    flex-grow: 1;
  }
}

.banner__heading > * {
  word-wrap: break-word;
}

.banner__heading {
  margin-bottom: 0;
}

@media screen and (max-width: 749px) {
  .mobile-text-horizontal-left {
    text-align: left;
    justify-content: flex-start;
  }

  .mobile-text-horizontal-center {
    text-align: center;
    justify-content: center;
  }

  .mobile-text-horizontal-right {
    text-align: right;
    justify-content: flex-end;
  }

  .mobile-text-vertical-top {
    align-items: flex-start;
  }

  .mobile-text-vertical-center {
    align-items: center;
  }

  .mobile-text-vertical-bottom {
    align-items: flex-end;
  }
}

@media screen and (min-width: 750px) {
  .text-horizontal-left {
    text-align: left;
    justify-content: flex-start;
  }

  .text-horizontal-center {
    text-align: center;
    justify-content: center;
  }

  .text-horizontal-right {
    text-align: right;
    justify-content: flex-end;
  }

  .text-vertical-top {
    align-items: flex-start;
  }

  .text-vertical-center {
    align-items: center;
  }

  .text-vertical-bottom {
    align-items: flex-end;
  }
}
}