/* Shared by the public banner and the constructor's device previews. */
.pb-banner-slider { container-type: inline-size; }

/* Reserve the tallest slide in both the editor and public page. Hidden
   slides stay in the same grid cell so navigation never resizes the banner. */
.pb-banner-slider { height: auto !important; }
.pb-banner-slider > .pb-slider-track { display: grid; isolation: isolate; align-items: stretch; }
.pb-banner-slider .pb-banner-slide {
  display: flex;
  grid-area: 1 / 1;
  align-self: stretch;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 650ms cubic-bezier(.22,.61,.36,1), visibility 0s 650ms;
}
.pb-banner-slider .pb-banner-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
  transition-delay: 0s;
}
.pb-banner-slider[data-pb-slider] .pb-banner-slide.is-leaving { visibility: visible; z-index: 1; }
.pb-banner-bg-zoom.is-leaving .pb-banner-slide-bg {
  animation: pb-banner-background-zoom var(--pb-banner-bg-duration, 8500ms) ease-out both;
}
.pb-banner-bg-zoom-loop.is-leaving .pb-banner-slide-bg {
  animation: pb-banner-background-zoom-loop var(--pb-banner-bg-duration, 12000ms) ease-in-out infinite alternate;
}
.pb-banner-autoplay {
  position: absolute; top: 16px; right: 16px; z-index: 9;
  display: grid; place-items: center; width: 44px; height: 44px;
  border: 1px solid #ffffff80; border-radius: 50%; color: #fff;
  background: #102033b8; cursor: pointer; font-size: 16px;
}
.pb-banner-autoplay:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pb-banner-slider > .pb-slider-dots {
  padding: 12px 16px; border-radius: 999px;
  background: rgb(10 23 40 / 65%);
}

@media (max-width: 900px) {
  .pb-banner-slider { min-height: 0 !important; height: auto !important; }
  .pb-section:has(> .pb-container > .pb-grid > .pb-column:only-child > .pb-element-bannerSlider:only-child) {
    padding-block: 0 !important;
  }
}
.builder-device-mobile .pb-banner-slider,
.builder-device-tablet .pb-banner-slider { min-height: 0 !important; height: auto !important; }
.builder-device-mobile .pb-section-home-banner-slider-original,
.builder-device-tablet .pb-section-home-banner-slider-original { padding-block: 0 !important; }

/* The editor's legacy video spacing and 520px minimum must not frame a
   shorter mobile slide with the section's saved desktop background. */
.builder-device-mobile .builder-canvas .pb-banner-slider,
.builder-device-tablet .builder-canvas .pb-banner-slider {
  min-height: 0 !important; height: auto !important;
}
.builder-device-mobile .builder-canvas .pb-banner-slider > .pb-slider-track,
.builder-device-tablet .builder-canvas .pb-banner-slider > .pb-slider-track {
  min-height: 0; height: auto;
}
.builder-device-mobile .builder-canvas .pb-section:has(> .pb-container > .pb-grid > .builder-column:only-child > .builder-element-bannerSlider:first-child:nth-last-child(2)),
.builder-device-tablet .builder-canvas .pb-section:has(> .pb-container > .pb-grid > .builder-column:only-child > .builder-element-bannerSlider:first-child:nth-last-child(2)) {
  padding-block: 0 !important; min-height: 0 !important;
}
.builder-device-mobile .builder-canvas .pb-section.pb-section-home-banner-slider-original,
.builder-device-tablet .builder-canvas .pb-section.pb-section-home-banner-slider-original {
  padding-block: 0 !important; min-height: 0 !important;
}
.builder-device-mobile .builder-canvas .pb-section-home-banner-slider-original > .pb-container,
.builder-device-tablet .builder-canvas .pb-section-home-banner-slider-original > .pb-container {
  width: 100% !important; max-width: none !important; padding-inline: 0;
}
.builder-device-mobile .builder-canvas .pb-section-home-banner-slider-original .builder-column-actions,
.builder-device-tablet .builder-canvas .pb-section-home-banner-slider-original .builder-column-actions {
  background: #fff; margin: 0; padding: 8px 12px;
}
.builder-device-mobile .builder-canvas .pb-banner-slider .pb-banner-slide .pb-banner-slide-inner {
  width: calc(100% - 40px) !important; gap: 0; padding: 44px 0 86px;
}

@container (max-width: 900px) {
  .pb-banner-slider > .pb-slider-arrow {
    top: auto !important; bottom: 20px !important; transform: none !important;
    width: 44px !important; height: 44px !important; margin: 0 !important;
  }
  .pb-banner-slider > .pb-slider-prev { left: 12px !important; right: auto !important; }
  .pb-banner-slider > .pb-slider-next { right: 12px !important; left: auto !important; }
  .pb-banner-slider > .pb-slider-dots {
    top: auto !important; bottom: 20px !important;
    left: 50% !important; right: auto !important; transform: translateX(-50%) !important;
    max-width: calc(100% - 132px) !important; overflow-x: auto; flex-wrap: nowrap;
    justify-content: flex-start; scrollbar-width: none;
  }
  .pb-banner-slider > .pb-slider-dots button { flex-shrink: 0; }
  .pb-banner-slider .pb-banner-slide:not(.pb-banner-video-full)::before {
    background: linear-gradient(270deg, #101e32f5 0%, #101e32c9 46%, #101e3210 80%);
    opacity: 1;
  }
  .pb-banner-slider .pb-banner-slide.pb-banner-layout-content-left::before {
    background: linear-gradient(90deg, #101e32f5 0%, #101e32c9 46%, #101e3210 80%);
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-slide-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    width: calc(100% - 64px) !important;
    gap: 24px; padding: 48px 0 80px;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-zone {
    max-width: 100% !important; min-width: 0;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-content .pb-heading {
    font-size: clamp(30px, 4.5cqw, 44px) !important;
    line-height: 1.08 !important; overflow-wrap: anywhere;
  }
}

@container (max-width: 600px) {
  .pb-banner-slider .pb-banner-slide {
    flex-direction: column; justify-content: center;
    background-color: #edf3f8; min-height: 0;
  }
  .pb-banner-slider .pb-banner-slide:not(.pb-banner-video-full)::before {
    background: linear-gradient(90deg, #fffffff5 0%, #ffffffe8 42%, #ffffffa6 68%, #ffffff24 100%);
    opacity: 1;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-slide-bg {
    background-size: cover; background-position: 65% center;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-slide-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100% - 40px) !important;
    min-height: 0; gap: 0; padding: 44px 0 86px;
    align-content: center;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-media {
    position: absolute; right: -20px; bottom: 85px; width: 62%;
    opacity: .55; z-index: 0; pointer-events: none;
  }
  .pb-banner-slider .pb-banner-slide:not(.pb-banner-no-media) .pb-banner-slide-inner::before {
    content: ''; position: absolute; inset: 0 -20px; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg, #ffffffe6, #ffffffb8 48%, #ffffff00 88%);
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-media:has(video, iframe) {
    position: absolute; right: -8px; top: 65px; bottom: auto; width: 44%;
    opacity: 1; z-index: 3; pointer-events: auto;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-media img,
  .pb-banner-slider .pb-banner-slide .pb-banner-media video {
    width: 100% !important; max-width: 100% !important;
    height: 210px !important; max-height: 210px !important;
    object-fit: contain; margin: 0 !important;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-media video {
    height: 120px !important; max-height: 120px !important;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-media .pb-video {
    width: 100% !important; height: 120px !important; aspect-ratio: auto;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-zone [style*="--pb-banner-image-left:"] {
    width: 100% !important; max-width: 100% !important; margin-inline: 0 !important;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-content {
    position: relative; z-index: 2; padding: 0; text-align: left !important; gap: 6px;
    color: #172b4d; font-family: Arial, Helvetica, sans-serif;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-content .pb-heading {
    font-family: Arial, Helvetica, sans-serif !important;
    --pb-banner-responsive-font-size: clamp(30px, 10cqw, 40px);
    --pb-banner-responsive-font-weight: 700;
    --pb-banner-responsive-line-height: 1.04;
    --pb-banner-responsive-color: #14213d;
    font-size: clamp(30px, 10cqw, 40px) !important; font-weight: 700 !important;
    line-height: 1.04 !important; letter-spacing: -.025em;
    text-align: left !important; text-wrap: balance; color: #14213d !important;
    text-shadow: 0 2px 10px #ffffffc9;
    margin-top: 0 !important; margin-bottom: 10px !important; max-width: 320px;
  }
  .pb-banner-slider .pb-banner-slide:has(.pb-banner-media video, .pb-banner-media iframe) .pb-banner-content .pb-heading {
    max-width: 54%; min-height: 124px;
    --pb-banner-responsive-font-size: clamp(28px, 8cqw, 34px);
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-content .pb-text,
  .pb-banner-slider .pb-banner-slide .pb-banner-content .pb-list {
    font-family: Arial, Helvetica, sans-serif !important;
    --pb-banner-responsive-font-size: 14px;
    --pb-banner-responsive-font-weight: 500;
    --pb-banner-responsive-line-height: 1.4;
    --pb-banner-responsive-color: #233750;
    font-size: 14px !important; font-weight: 500 !important; line-height: 1.4 !important;
    text-align: left !important; margin-bottom: 7px !important;
    color: #233750 !important; text-shadow: 0 1px 6px white; max-width: 285px;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-content > :first-child .pb-text,
  .pb-banner-slider .pb-banner-slide .pb-banner-content > .pb-text:first-child {
    --pb-banner-responsive-font-size: 11px;
    --pb-banner-responsive-font-weight: 700;
    --pb-banner-responsive-color: #1560ae;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: .08em; text-transform: uppercase; color: #1560ae !important;
  }
  .pb-banner-slider .pb-banner-slide .pb-banner-content .pb-button {
    min-height: 44px; padding: 12px 22px; margin-top: 8px;
    font-size: 14px !important; font-weight: 700 !important;
    border-radius: 7px !important; border-color: #0d4fc8 !important;
    background: #0d4fc8 !important; color: #fff !important;
    box-shadow: 0 6px 18px #0d4fc826;
  }
  /* Keep the original artwork behind the copy, as in the reference banner. */
  .pb-banner-slider .pb-banner-no-media .pb-banner-media { display: none; }
  .pb-banner-slider .pb-banner-video-full { min-height: 380px; background: #101e32; }
  .pb-banner-slider .pb-banner-full-video { object-fit: contain; }
  .pb-banner-slider .pb-banner-video-controls { bottom: 86px; left: 20px; }
  .pb-banner-slider > .pb-banner-autoplay {
    top: 10px; right: 10px; background: #ffffffb8; color: #174374; border-color: #adc3d6;
  }
  .pb-banner-slider > .pb-slider-arrow {
    top: auto !important; bottom: 16px !important;
    width: 44px !important; height: 44px !important;
    transform: none !important; margin: 0 !important;
    background: #ffffffc9; color: #174374; border-radius: 50%; border: 1px solid #c7d7e5;
  }
  .pb-banner-slider > .pb-slider-prev { left: 12px !important; right: auto !important; }
  .pb-banner-slider > .pb-slider-next { right: 12px !important; left: auto !important; }
  .pb-banner-slider > .pb-slider-dots {
    top: auto !important; bottom: 16px !important;
    left: 50% !important; right: auto !important; transform: translateX(-50%) !important;
    max-width: calc(100% - 132px) !important; min-height: 44px;
    padding: 0 8px; gap: 8px; overflow-x: auto; flex-wrap: nowrap;
    background: #ffffffe0; border-radius: 9px;
    justify-content: flex-start; scrollbar-width: none;
  }
  .pb-banner-slider:not(.pb-slider-dots-numbers) > .pb-slider-dots button {
    flex-shrink: 0; width: 24px !important; height: 44px !important;
    border: 0 !important; border-radius: 3px !important;
    background: transparent !important; box-shadow: none !important; color: #174374;
  }
  .pb-banner-slider:not(.pb-slider-dots-numbers) > .pb-slider-dots button::before {
    display: block; width: 100% !important; height: 4px !important;
    border: 0 !important; border-radius: 3px !important;
    box-shadow: none !important; background: #b9c9d8 !important;
  }
  .pb-banner-slider:not(.pb-slider-dots-numbers) > .pb-slider-dots button.is-active { width: 34px !important; }
  .pb-banner-slider:not(.pb-slider-dots-numbers) > .pb-slider-dots button.is-active::before { background: #0d4fc8 !important; }
  .pb-banner-slider.pb-slider-dots-numbers > .pb-slider-dots button { color: #174374; }
  .pb-banner-slider.pb-slider-dots-numbers > .pb-slider-dots button.is-active { color: #fff; background: #0d4fc8; }
}

@media (prefers-reduced-motion: reduce) {
  .pb-banner-slider .pb-banner-slide { transition: none; }
}
