/* Animated Fancybox v2.0 — standalone Salient WPBakery element */
.jjj-af {
  position:relative; isolation:isolate; overflow:hidden; width:100%;
  min-height:var(--jjj-af-height,550px); background:#27212e; color:#fff;
  border-radius:0;
}
.jjj-af--radius-small{border-radius:6px}.jjj-af--radius-medium{border-radius:14px}
.jjj-af--radius-large{border-radius:25px}.jjj-af--radius-pill{border-radius:50px}
.jjj-af-slides,.jjj-af-slide,.jjj-af-shade{position:absolute;inset:0}
.jjj-af-slides{z-index:-2;will-change:transform;transition:transform .55s ease-out}
.jjj-af-slide{opacity:0;transition:opacity var(--jjj-af-fade,.9s) ease-in-out}
.jjj-af-slide.is-active{opacity:1}
.jjj-af-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;transform:scale(1);transition:transform 1.35s cubic-bezier(.22,1,.36,1)}
.jjj-af--bg-long_zoom:hover .jjj-af-image,.jjj-af--bg-long_zoom:focus-within .jjj-af-image{transform:scale(1.09)}
.jjj-af--bg-short_zoom:hover .jjj-af-image,.jjj-af--bg-short_zoom:focus-within .jjj-af-image{transform:scale(1.035)}
.jjj-af--no-movement .jjj-af-image{transform:none!important}
.jjj-af-shade{z-index:-1;pointer-events:none;background:linear-gradient(to bottom,transparent 15%,rgba(0,0,0,.72) 100%);opacity:var(--jjj-af-overlay,.6);transition:opacity .45s ease,background .45s ease}
.jjj-af--has-hover:hover .jjj-af-shade,.jjj-af--has-hover:focus-within .jjj-af-shade{background:var(--jjj-af-hover-color,#57068c);opacity:var(--jjj-af-hover-overlay,.9)}
.jjj-af-content{position:absolute;left:32px;right:32px;bottom:35px;text-align:left;pointer-events:none;color:#fff;z-index:1;transition:transform .45s ease}
.jjj-af--center .jjj-af-content{text-align:center}.jjj-af--right .jjj-af-content{text-align:right}
.jjj-af-title{display:block;color:#fff;font-size:clamp(28px,3vw,46px);line-height:1.15;font-weight:400;letter-spacing:-.02em}
.jjj-af-hover-content{opacity:0;visibility:hidden;max-height:0;overflow:hidden;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease,visibility .4s ease,max-height .5s ease}
.jjj-af--has-hover:hover .jjj-af-hover-content,.jjj-af--has-hover:focus-within .jjj-af-hover-content{opacity:1;visibility:visible;max-height:360px;transform:translateY(0)}
.jjj-af--has-hover:hover .jjj-af-content,.jjj-af--has-hover:focus-within .jjj-af-content{transform:translateY(-2px)}
.jjj-af-description{font-size:16px;line-height:1.5;color:#fff;margin:14px 0 0}
.jjj-af-cta{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:16px;font-weight:700;margin-top:15px}
.jjj-af-arrow{display:inline-block;font-size:24px;line-height:.8;animation:jjj-af-arrow 1.5s ease-in-out infinite alternate}
@keyframes jjj-af-arrow{from{transform:translateX(0)}to{transform:translateX(6px)}}
.jjj-af-link{position:absolute;inset:0;z-index:3;display:block;cursor:pointer}
.jjj-af-link:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.jjj-af--entrance{opacity:0;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.3,1);transition-delay:var(--jjj-af-delay,0ms)}
.jjj-af--entrance-grow_in{transform:scale(.95)}.jjj-af--entrance-slide_up{transform:translateY(28px)}
.jjj-af--entrance.is-in-view{opacity:1;transform:none}
@media(max-width:767px){.jjj-af-content{left:20px;right:20px;bottom:23px}.jjj-af-description{font-size:14px}}
@media(hover:none){.jjj-af--has-hover .jjj-af-hover-content{opacity:1;visibility:visible;max-height:360px;transform:none}}
@media(prefers-reduced-motion:reduce){.jjj-af,.jjj-af-slide,.jjj-af-image,.jjj-af-content,.jjj-af-hover-content,.jjj-af-shade{transition:none!important;animation:none!important}.jjj-af-arrow{animation:none}.jjj-af--entrance{opacity:1;transform:none}}

/* v2.1: Keep the heading visible when hover details expand. */
.jjj-af .jjj-af-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  max-height:calc(100% - 36px);
  overflow:visible;
  transform:none;
}
.jjj-af.jjj-af--center .jjj-af-content{align-items:center}
.jjj-af.jjj-af--right .jjj-af-content{align-items:flex-end}
.jjj-af .jjj-af-title {
  position:relative;
  display:block !important;
  flex:0 0 auto;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  max-width:100%;
  z-index:2;
}
.jjj-af .jjj-af-hover-content {
  width:100%;
  flex:0 1 auto;
  overflow:hidden;
  max-height:0;
  min-height:0;
}
.jjj-af.jjj-af--has-hover:hover .jjj-af-hover-content,
.jjj-af.jjj-af--has-hover:focus-within .jjj-af-hover-content {
  max-height:min(45vh, 340px);
  overflow:auto;
}
.jjj-af.jjj-af--has-hover:hover .jjj-af-content,
.jjj-af.jjj-af--has-hover:focus-within .jjj-af-content {transform:none}

/* Independent mobile height: tablets and phones, 999px and below. */
@media (max-width:999px) {
  .jjj-af { min-height:var(--jjj-af-mobile-height,420px); }
  .jjj-af .jjj-af-content {left:20px;right:20px;bottom:24px;max-height:calc(100% - 48px)}
  .jjj-af .jjj-af-title {font-size:clamp(26px,5vw,42px)}
}
/* v2.1 entrance: animation only when JS has explicitly armed the element. */
.jjj-af.jjj-af--entrance:not(.jjj-af--armed) { opacity:1; transform:none; }
.jjj-af.jjj-af--entrance.jjj-af--armed:not(.is-in-view) { opacity:0; }
.jjj-af.jjj-af--entrance-grow_in.jjj-af--armed:not(.is-in-view) {transform:scale(.92)}
.jjj-af.jjj-af--entrance-fade_in.jjj-af--armed:not(.is-in-view) {transform:none}
.jjj-af.jjj-af--entrance-slide_up.jjj-af--armed:not(.is-in-view) {transform:translateY(32px)}
@media(prefers-reduced-motion:reduce){
 .jjj-af.jjj-af--entrance.jjj-af--armed {opacity:1!important;transform:none!important}
}


/* v2.2 — Salient-style layered overlays for the Animated Fancybox.
   The normal state has the original dark bottom gradient.
   The hover state introduces the theme-color gradient using a color blend. */
.jjj-af .jjj-af-shade {
  background: none;
  opacity: 1;
  isolation: isolate;
  transition: none;
}
.jjj-af .jjj-af-shade::before,
.jjj-af .jjj-af-shade::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
}
/* Match Salient's original .box-bg:before, scaled by Overlay Opacity. */
.jjj-af .jjj-af-shade::before {
  background: linear-gradient(
    to bottom,
    rgba(15, 15, 15, .3) 0%,
    rgba(15, 15, 15, .6) 100%
  );
  opacity: var(--jjj-af-overlay, .6);
}
/* Match Salient's .box-bg:after: 90% / 75% / 45% color gradient. */
.jjj-af .jjj-af-shade::after {
  background: linear-gradient(
    0deg,
    color-mix(in srgb, var(--jjj-af-hover-color, #560a91) 90%, transparent) 0%,
    color-mix(in srgb, var(--jjj-af-hover-color, #560a91) 75%, transparent) 50%,
    color-mix(in srgb, var(--jjj-af-hover-color, #560a91) 45%, transparent) 100%
  );
  mix-blend-mode: color;
  opacity: 0;
  transition: opacity .5s ease;
}
.jjj-af.jjj-af--has-hover:hover .jjj-af-shade,
.jjj-af.jjj-af--has-hover:focus-within .jjj-af-shade {
  background: none;
  opacity: 1;
}
.jjj-af.jjj-af--has-hover:hover .jjj-af-shade::after,
.jjj-af.jjj-af--has-hover:focus-within .jjj-af-shade::after {
  opacity: var(--jjj-af-hover-overlay, .9);
}
@media (prefers-reduced-motion: reduce) {
  .jjj-af .jjj-af-shade::after { transition: none; }
}

/* v2.3: Rich text title from WPBakery's native textarea_html editor. */
.jjj-af .jjj-af-title {display:block!important; width:100%; color:#fff;}
.jjj-af .jjj-af-title > :first-child {margin-top:0!important;}
.jjj-af .jjj-af-title > :last-child {margin-bottom:0!important;}
.jjj-af .jjj-af-title p,
.jjj-af .jjj-af-title h1,
.jjj-af .jjj-af-title h2,
.jjj-af .jjj-af-title h3,
.jjj-af .jjj-af-title h4,
.jjj-af .jjj-af-title h5,
.jjj-af .jjj-af-title h6 {color:inherit!important; line-height:1.15;}
.jjj-af .jjj-af-title p {font-size:inherit; font-weight:inherit; letter-spacing:inherit;}
.jjj-af .jjj-af-title a {color:inherit; text-decoration:underline;}
.jjj-af .jjj-af-title {overflow-wrap:anywhere;}
