/* Shutter Story full-screen slider [ss_wild_slider]. Image only, no text. */
.wpb_raw_html:has(.ssws),.wpb_text_column:has(.ssws),.wpb_content_element:has(>.ssws){margin-bottom:0}
.vc_row:has(.ssws) .vc_column-inner{padding-top:0!important}
.ssws{--ease:cubic-bezier(.7,0,.2,1);--dur:1.15s;--accent:#169dfb;position:relative;width:100%;height:calc(100vh - var(--ssws-top,0px));height:calc(100svh - var(--ssws-top,0px));min-height:420px;overflow:hidden;background:#111;color:#fff;isolation:isolate;outline:none}
.ssws *,.ssws *::before,.ssws *::after{box-sizing:border-box}
.ssws__track{position:absolute;inset:0}
.ssws__slide{position:absolute;inset:0;overflow:hidden;visibility:hidden;z-index:1;clip-path:inset(0 0 0 0)}
.ssws__slide.is-active{visibility:visible;z-index:2}
.ssws__slide.is-leaving{visibility:visible;z-index:1}
.ssws__media{position:absolute;inset:0;will-change:transform}
.ssws .ssws__img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;display:block;margin:0;border:0;border-radius:0;transform:scale(1.04);transition:transform 9s linear}
.ssws__slide.is-active .ssws__img{transform:scale(1.12)}
/* soft vignette so the controls stay readable on bright photos */
.ssws::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.22),transparent 14%,transparent 86%,rgba(0,0,0,.28)),linear-gradient(0deg,rgba(0,0,0,.3),transparent 22%)}

/* transitions (direction-aware vertical "shutter") */
.ssws.is-anim .ssws__slide.is-active{animation:ssws-in var(--dur) var(--ease) both}
.ssws.is-anim .ssws__slide.is-active .ssws__media{animation:ssws-media-in var(--dur) var(--ease) both}
.ssws.is-anim .ssws__slide.is-leaving .ssws__media{animation:ssws-media-out var(--dur) var(--ease) both}
.ssws.is-back.is-anim .ssws__slide.is-active{animation-name:ssws-in-back}
.ssws.is-back.is-anim .ssws__slide.is-active .ssws__media{animation-name:ssws-media-in-back}
.ssws.is-back.is-anim .ssws__slide.is-leaving .ssws__media{animation-name:ssws-media-out-back}
@keyframes ssws-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ssws-in-back{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ssws-media-in{from{transform:translateY(22%) scale(1.15)}to{transform:none}}
@keyframes ssws-media-in-back{from{transform:translateY(-22%) scale(1.15)}to{transform:none}}
@keyframes ssws-media-out{from{transform:none}to{transform:translateY(-28%)}}
@keyframes ssws-media-out-back{from{transform:none}to{transform:translateY(28%)}}

/* controls */
.ssws button{-webkit-appearance:none;appearance:none;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;line-height:1;min-height:0;min-width:0}
.ssws__nav{position:absolute;top:50%;z-index:5;width:56px;height:56px;margin-top:-28px;display:grid;place-items:center;border-radius:50%!important;background:rgba(0,0,0,.18)!important;color:#fff!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:.85;transition:background .3s,opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.ssws__nav svg,.ssws__down svg{width:26px;height:26px}
.ssws__nav--prev{left:clamp(14px,2.5vw,36px)}
.ssws__nav--prev svg{transform:rotate(90deg)}
.ssws__nav--next{right:clamp(54px,6vw,92px)}
.ssws__nav--next svg{transform:rotate(-90deg)}
.ssws__nav:hover{background:var(--accent)!important;opacity:1}
.ssws__nav--prev:hover{transform:translateX(-3px)}
.ssws__nav--next:hover{transform:translateX(3px)}
.ssws__dots{position:absolute;right:clamp(14px,2.2vw,32px);top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:14px;margin:0!important;padding:0!important;list-style:none!important}
.ssws__dots li{margin:0!important;padding:0!important;list-style:none!important;line-height:0}
.ssws__dots li::before{display:none!important}
.ssws__dot{position:relative;display:block;width:12px;height:12px;border-radius:50%!important;background:rgba(255,255,255,.5)!important;transition:background .3s,transform .3s}
.ssws__dot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid #fff;opacity:0;transform:scale(.5);transition:opacity .4s,transform .4s cubic-bezier(.2,.8,.2,1)}
.ssws__dot:hover{background:#fff!important}
.ssws__dot.is-active{background:#fff!important}
.ssws__dot.is-active::after{opacity:1;transform:scale(1)}
.ssws__bar{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:5;background:rgba(255,255,255,.15)}
.ssws__bar span{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.ssws.is-timing .ssws__bar span{transform:scaleX(1);transition:transform var(--auto,6s) linear}
.ssws__down{position:absolute;left:50%;bottom:clamp(18px,3.5vh,40px);z-index:5;width:48px;height:48px;margin-left:-24px;display:grid;place-items:center;border-radius:50%!important;border:1.5px solid rgba(255,255,255,.7)!important;color:#fff!important;transition:background .3s,border-color .3s}
.ssws__down:hover{background:var(--accent)!important;border-color:var(--accent)!important}
.ssws__down svg{animation:ssws-bob 2.2s ease-in-out infinite}
@keyframes ssws-bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
.ssws button:focus-visible{outline:2px solid #fff;outline-offset:4px}

@media (max-width:767px){
	.ssws__nav{display:none}
	.ssws__dots{gap:12px;right:14px}
	.ssws__dot{width:9px;height:9px}
	.ssws__dot::after{inset:-6px}
}
@media (prefers-reduced-motion:reduce){
	.ssws .ssws__img,.ssws__slide.is-active .ssws__img{transform:none;transition:none}
	.ssws.is-anim .ssws__slide.is-active,.ssws.is-anim .ssws__slide .ssws__media{animation:ssws-fade .4s ease both!important}
	.ssws.is-anim .ssws__slide.is-leaving .ssws__media{animation:none!important}
	.ssws__down svg{animation:none}
	@keyframes ssws-fade{from{opacity:0}to{opacity:1}}
}
