/* DSD Video-Image Slider Hero 999 — the hero, its slides, title, arrows and dots.
   Full page width by default (it reaches past a boxed section to the screen edges);
   Width mode "Content width" in the panel keeps it inside the section.
   Defaults follow the reference: full-screen picture, title bottom-left, no overlay.
   Every number here is what the panel measures and shows; the panel's own rules
   (in the block's <style>) override these with !important, per device. */
.dsd-vih999-mount{display:block;width:100%;min-width:0;position:relative}
.dsd-vih999-anchor{display:block;position:relative;top:0}
.dsd-vih999.dsd-vih999{position:relative;display:block;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:0;margin-bottom:0;height:100vh;min-height:480px;padding:0;overflow:hidden;background:#111;isolation:isolate;box-sizing:border-box;
  --vih999-fade:800ms;--vih999-interval:6s;--vih999-arrow-size:52px;--vih999-arrow-edge:24px;--vih999-arrow-top:50%;--vih999-dot-size:10px}
.dsd-vih999.dsd-vih999 *,.dsd-vih999.dsd-vih999 *::before,.dsd-vih999.dsd-vih999 *::after{box-sizing:border-box}
/* the theme's clearfix pseudo-elements must not become items in the block's flex boxes */
.dsd-vih999-content::before,.dsd-vih999-content::after,.dsd-vih999-inner::before,.dsd-vih999-inner::after,.dsd-vih999-dots::before,.dsd-vih999-dots::after{display:none!important;content:none}
.dsd-vih999-slides{position:absolute;inset:0;z-index:0}
.dsd-vih999-slide{position:absolute;inset:0;opacity:0;transition:opacity var(--vih999-fade) ease;overflow:hidden}
.dsd-vih999-slide.is-active{opacity:1;z-index:1}
.dsd-vih999[data-transition="cut"] .dsd-vih999-slide{transition:none}
.dsd-vih999-media{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:1;--vih999-blur:0px;filter:blur(var(--vih999-blur));--vih999-pan-speed:18s;--vih999-pan-zoom:1.15}
.dsd-vih999-overlay{position:absolute;inset:0;z-index:2;background-color:#000;opacity:0;pointer-events:none}
.dsd-vih999-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:40px 40px 60px 40px;pointer-events:none}
.dsd-vih999-inner{width:auto;max-width:900px;margin:0;padding:0;pointer-events:auto}
.dsd-vih999-title{margin:0;padding:0;font-family:inherit;font-size:46px;font-weight:400;line-height:1.2;letter-spacing:0;text-transform:none;color:#fff;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.dsd-vih999-subtitle{margin:14px 0 0;padding:0;font-family:inherit;font-size:18px;font-weight:400;line-height:1.5;letter-spacing:0;color:#fff;text-align:left;max-width:640px}
.dsd-vih999-button{display:inline-block;margin:24px 0 0;padding:14px 28px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:#111;background-color:#fff;border:1px solid #fff;border-radius:0;text-decoration:none;transition:color .3s,background-color .3s,border-color .3s}
.dsd-vih999-button:hover,.dsd-vih999-button:focus-visible{color:#fff;background-color:transparent;border-color:#fff}
.dsd-vih999-arrow{position:absolute;top:var(--vih999-arrow-top);z-index:4;width:var(--vih999-arrow-size);height:var(--vih999-arrow-size);margin:0;padding:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:#fff;background-color:rgba(0,0,0,.25);border:0;border-radius:50%;cursor:pointer;transition:background-color .2s,color .2s}
.dsd-vih999-arrow svg{width:46%;height:46%}
.dsd-vih999-arrow--prev{left:var(--vih999-arrow-edge)}
.dsd-vih999-arrow--next{right:var(--vih999-arrow-edge)}
.dsd-vih999-arrow:hover,.dsd-vih999-arrow:focus-visible{color:#fff;background-color:rgba(0,0,0,.5);outline:none}
.dsd-vih999-dots{position:absolute;left:0;right:0;bottom:28px;z-index:4;display:flex;justify-content:center;gap:10px;margin:0;padding:0 40px}
.dsd-vih999-dot{width:var(--vih999-dot-size);height:var(--vih999-dot-size);margin:0;padding:0;border:0;border-radius:50%;background-color:rgba(255,255,255,.45);cursor:pointer;transition:background-color .2s}
.dsd-vih999-dot.is-active{background-color:#fff}
.dsd-vih999--single .dsd-vih999-arrow,.dsd-vih999--single .dsd-vih999-dots{display:none}

/* Pan: the picture is drawn a little larger and drifts sideways with transform (never object-position). */
.dsd-vih999-pan{will-change:transform;animation:dsd-vih999-pan-lr var(--vih999-pan-speed) ease-in-out infinite alternate;transform:scale(var(--vih999-pan-zoom)) translateX(calc((1 - 1 / var(--vih999-pan-zoom)) * -50%))}
.dsd-vih999-pan--rl{animation-name:dsd-vih999-pan-rl}
.dsd-vih999-pan--lr-loop{animation-name:dsd-vih999-pan-lr;animation-direction:normal}
.dsd-vih999-pan--rl-loop{animation-name:dsd-vih999-pan-rl;animation-direction:normal}
@keyframes dsd-vih999-pan-lr{from{transform:scale(var(--vih999-pan-zoom)) translateX(calc((1 - 1 / var(--vih999-pan-zoom)) * -50%))}to{transform:scale(var(--vih999-pan-zoom)) translateX(calc((1 - 1 / var(--vih999-pan-zoom)) * 50%))}}
@keyframes dsd-vih999-pan-rl{from{transform:scale(var(--vih999-pan-zoom)) translateX(calc((1 - 1 / var(--vih999-pan-zoom)) * 50%))}to{transform:scale(var(--vih999-pan-zoom)) translateX(calc((1 - 1 / var(--vih999-pan-zoom)) * -50%))}}

@media (max-width:1024px){
  .dsd-vih999.dsd-vih999{height:70vh;min-height:420px}
  .dsd-vih999-content{padding:32px 32px 48px 32px}
  .dsd-vih999-title{font-size:38px}
  .dsd-vih999-inner{max-width:640px}
}
@media (max-width:767px){
  .dsd-vih999.dsd-vih999{height:60vh;min-height:360px}
  .dsd-vih999-content{padding:20px 20px 36px 20px}
  .dsd-vih999-title{font-size:28px}
  .dsd-vih999-subtitle{font-size:16px}
  .dsd-vih999-inner{max-width:100%}
  .dsd-vih999-arrow{--vih999-arrow-size:40px;--vih999-arrow-edge:12px}
  .dsd-vih999-dots{bottom:16px;padding:0 20px}
}
