/* ANS Parallax 1.0.0 | GPL-2.0-or-later. No global template overrides. */
.ans-parallax-shell {
  display: flow-root;
  /* Keep the wide child out of ancestor grid/flex intrinsic width calculations. */
  contain: inline-size;
  position: relative;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  margin-block: var(--ap-space-before, 0px) var(--ap-space-after, 0px);
}
.ans-parallax-shell, .ans-parallax-shell * { box-sizing: border-box; }
.ans-parallax {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  width: var(--ap-width, 100%);
  max-width: none;
  min-height: var(--ap-height, 420px);
  left: var(--ap-left, 0px);
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--ap-color, #fff);
  background: var(--ap-background, #192e29);
}
.ans-parallax__viewport { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.ans-parallax__media { position: absolute; inset: calc(-1 * var(--ap-travel, 0px)) 0; }
.ans-parallax__media picture { position: absolute; inset: 0; display: block; }
.ans-parallax__media img, .ans-parallax__media video {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none;
  margin: 0; border: 0; border-radius: 0; object-fit: cover; object-position: var(--ap-x, 50%) var(--ap-y, 50%);
}
.ans-parallax__video { opacity: 0; }
.ans-parallax[data-ap-playing] .ans-parallax__video { opacity: 1; }
.ans-parallax__overlay { position: absolute; inset: 0; background: var(--ap-overlay-color, #000); opacity: var(--ap-overlay, .25); }
.ans-parallax__content { width: min(100%, var(--ap-content-width, 900px)); margin-inline: auto; padding: var(--ap-padding, 48px) clamp(20px, 5vw, 64px); overflow-wrap: anywhere; }
.ans-parallax--center { text-align: center; }
.ans-parallax--left { text-align: left; }
.ans-parallax--right { text-align: right; }
.ans-parallax__eyebrow { font: inherit; font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 16px; color: inherit; }
.ans-parallax .ans-parallax__title { font-family: inherit; font-weight: 500; font-size: clamp(1.8rem, 4vw, 3.5rem); line-height: 1.12; margin: 0; color: inherit; text-wrap: balance; }
.ans-parallax__body { font: inherit; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.65; margin: 20px 0 0; color: inherit; }
.ans-parallax .ans-parallax__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; margin-top: 26px; padding: 10px 22px; border: 1px solid currentColor; border-radius: 0; color: inherit; background: transparent; text-decoration: none; font: inherit; line-height: 1.4; }
.ans-parallax__link svg { flex: none; }
.ans-parallax .ans-parallax__link:hover { background: rgb(255 255 255 / .12); color: inherit; }
.ans-parallax .ans-parallax__toggle { position: absolute; z-index: 1; inset-inline-end: 16px; bottom: 14px; min-height: 44px; max-width: calc(100% - 32px); border: 1px solid #ffffff80; border-radius: 24px; padding: 9px 18px; background: #172521; color: #fff; font: inherit; font-size: .8rem; line-height: 1.4; cursor: pointer; }
.ans-parallax .ans-parallax__toggle[hidden] { display: none; }
.ans-parallax[data-ap-controls] .ans-parallax__content { padding-bottom: max(var(--ap-padding, 48px), 82px); }
.ans-parallax :is(a, button):focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.ans-parallax__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 767px) {
  .ans-parallax { min-height: var(--ap-mobile-height, 280px); }
  .ans-parallax__content { padding-block: min(var(--ap-padding, 48px), 32px); }
  .ans-parallax__media img, .ans-parallax__media video { object-position: var(--ap-mobile-x, 50%) var(--ap-mobile-y, 50%); }
}
@media (prefers-reduced-motion: reduce) {
  .ans-parallax__media { transform: none !important; }
}
