/** Shopify CDN: Minification failed

Line 43:9 Unexpected "{"
Line 43:18 Expected ":"
Line 44:9 Unexpected "{"
Line 44:18 Expected ":"
Line 45:9 Unexpected "{"
Line 45:18 Expected ":"
Line 46:9 Unexpected "{"
Line 46:18 Expected ":"
Line 49:9 Unexpected "{"
Line 49:18 Expected ":"

**/
/* base banner */
.banner {
  display: flex;
  position: relative;
  flex-direction: column;
  z-index: auto;
  isolation: isolate;
}

/* Image Banner Section Styles */
.banner {
  position: relative;
}

/* Fix conflicts when button position is bottom-right on desktop */
.banner .banner__buttons--absolute {
  z-index: 10;
  position: absolute;
  bottom: 45px;
  right: 40px;
}

/* Block wrapper for per-block control */
.banner .banner__block {
  width: 100%; /* each block gets its own full row so they do not size off each other */
}

/* Reset default margins so vertical spacing is controlled only by gap and our per block settings */
#Banner-{{ section.id }} .banner__heading,
#Banner-{{ section.id }} .banner__text,
#Banner-{{ section.id }} .banner__buttons,
#Banner-{{ section.id }} .banner__logo {
  margin: 0 !important;
}
#Banner-{{ section.id }} .banner__text p {
  margin: 0 !important;
}

/* Logo element */
.banner .banner__logo img {
  height: auto;
  display: inline-block;
}

/* Make buttons independent width wise */
.banner .banner__buttons {
  display: inline-flex;
  gap: 0.75rem;
}

/* DESKTOP position matrix */
@media screen and (min-width: 1025px){
  .banner .banner__content--top-left{justify-content:flex-start !important; align-items:flex-start !important;}
  .banner .banner__content--top-center{justify-content:flex-start !important; align-items:center !important;}
  .banner .banner__content--top-right{justify-content:flex-start !important; align-items:flex-end !important;}

  .banner .banner__content--middle-left{justify-content:center !important; align-items:flex-start !important;}
  .banner .banner__content--middle-center{justify-content:center !important; align-items:center !important;}
  .banner .banner__content--middle-right{justify-content:center !important; align-items:flex-end !important;}

  .banner .banner__content--bottom-left{justify-content:flex-end !important; align-items:flex-start !important;}
  .banner .banner__content--bottom-center{justify-content:flex-end !important; align-items:center !important;}
  .banner .banner__content--bottom-right{justify-content:flex-end !important; align-items:flex-end !important;}

  /* Per block visibility controls */
  .banner .banner__block--hide-desktop {
    display: none !important;
  }

  /* Desktop content alignment using section setting */
  .banner--content-align-left .banner__stack {
    align-items: flex-start;
  }
  .banner--content-align-center .banner__stack {
    align-items: center;
  }
  .banner--content-align-right .banner__stack {
    align-items: flex-end;
  }

  .banner--content-align-left .banner__block {
    text-align: left;
  }
  .banner--content-align-center .banner__block {
    text-align: center;
  }
  .banner--content-align-right .banner__block {
    text-align: right;
  }
}

/* MOBILE position matrix */
@media screen and (max-width: 1024px){
  .banner .banner__content--mobile-top-left{justify-content:flex-start !important; align-items:flex-start !important;}
  .banner .banner__content--mobile-top-center{justify-content:flex-start !important; align-items:center !important;}
  .banner .banner__content--mobile-top-right{justify-content:flex-start !important; align-items:flex-end !important;}

  .banner .banner__content--mobile-middle-left{justify-content:center !important; align-items:flex-start !important;}
  .banner .banner__content--mobile-middle-center{justify-content:center !important; align-items:center !important;}
  .banner .banner__content--mobile-middle-right{justify-content:center !important; align-items:flex-end !important;}

  .banner .banner__content--mobile-bottom-left{justify-content:flex-end !important; align-items:flex-start !important;}
  .banner .banner__content--mobile-bottom-center{justify-content:flex-end !important; align-items:center !important;}
  .banner .banner__content--mobile-bottom-right{justify-content:flex-end !important; align-items:flex-end !important;}

  /* Custom in between option */
  .banner .banner__content--mobile-top-middle-center{
    justify-content:center !important;
    align-items:center !important;
    transform: translateY(-12vh);
  }

  .banner .banner__buttons--desktop-only { display: none !important; }
  .banner .banner__buttons--absolute { display: none !important; }
  .banner .banner__buttons--normal { display: flex !important; }

  /* Per block visibility controls */
  .banner .banner__block--hide-mobile {
    display: none !important;
  }

  /* Mobile content alignment using section setting */
  .banner--content-align-mobile-left .banner__stack {
    align-items: flex-start;
  }
  .banner--content-align-mobile-center .banner__stack {
    align-items: center;
  }
  .banner--content-align-mobile-right .banner__stack {
    align-items: flex-end;
  }

  .banner--content-align-mobile-left .banner__block {
    text-align: left;
  }
  .banner--content-align-mobile-center .banner__block {
    text-align: center;
  }
  .banner--content-align-mobile-right .banner__block {
    text-align: right;
  }
}

/* Mobile color overrides placeholders */
.banner--mobile-custom-colors .banner__box { }
.banner--mobile-custom-text .banner__heading,
.banner--mobile-custom-text .banner__text { }
.banner--mobile-custom-stack .banner__media { }

/* Button overlay variables application */
.banner .banner__buttons .button {
  background-color: rgba(var(--btn-bg-rgb, 0, 0, 0), var(--btn-bg-opacity, 0.2)) !important;
  border: var(--btn-border-width, 1px) solid rgba(var(--btn-border-rgb, 255, 255, 255), 1) !important;
  border-radius: var(--btn-border-radius, 2px) !important;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.banner .banner__buttons .button:hover {
  background-color: rgba(var(--btn-bg-rgb, 0, 0, 0), calc(var(--btn-bg-opacity, 0.2) + 0.1)) !important;
}
