
/* Rest365 Layer Slider – Front (v1.6.6) */
.rls-slider{position:relative;width:100%;min-height:320px;display:block;overflow:hidden;background:#000;color:#fff}
.rls-slider, .rls-slider *{box-sizing:border-box}
.rls-slider .rls-track{position:relative;width:100%;height:100%}
.rls-slider .rls-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease, transform .6s ease;will-change:opacity,transform}
.rls-slider .rls-slide.active{opacity:1;z-index:2}
.rls-slider .rls-bgimg{position:absolute;inset:0;width:100%;height:100%;object-position:center center}
.rls-slider .rls-overlay{position:absolute;inset:0;pointer-events:none}
.rls-slider .rls-stack{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none;padding:0 4vw}
.rls-slider .rls-stack.center-x{align-items:center}
.rls-slider .rls-stack.center-y{justify-content:center}
.rls-slider .rls-stack .rls-layer{position:relative;margin:0}
.rls-slider .rls-stack .rls-layer .rls-layer-inner{pointer-events:auto}

.rls-slider .rls-stack.x-left{align-items:flex-start}
.rls-slider .rls-stack.x-center{align-items:center}
.rls-slider .rls-stack.x-right{align-items:flex-end}
.rls-slider .rls-stack.y-top{justify-content:flex-start}
.rls-slider .rls-stack.y-center{justify-content:center}
.rls-slider .rls-stack.y-bottom{justify-content:flex-end}

.rls-slider .rls-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;border:none;background:rgba(0,0,0,.35);color:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:0;opacity:.9;backdrop-filter:blur(4px);transition:transform .2s ease, background .2s ease, opacity .2s ease; padding:0 !important; aspect-ratio:1/1;}
.rls-slider .rls-arrow:hover{transform:translateY(-50%) scale(1.05);background:rgba(0,0,0,.45);opacity:1}
.rls-slider .rls-arrow.prev{left:12px}
.rls-slider .rls-arrow.next{right:12px}

.rls-slider .rls-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:8px;justify-content:center;z-index:4}
.rls-slider .rls-dots button{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;transition:transform .15s ease, background .15s ease; padding:0 !important; aspect-ratio:1/1; display:inline-block;}
.rls-slider .rls-dots button[aria-selected="true"]{background:#fff}
.rls-slider .rls-dots button:hover{transform:scale(1.2)}
.rls-slider .rls-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}

.rls-slider .rls-progress{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(255,255,255,.18);z-index:5}
.rls-slider .rls-progress .bar{height:100%;width:0;background:#fff;transition:width .2s linear}

.rls-slide.fade-in{opacity:1}
.rls-slide.slide-left-in{transform:translateX(0)}
.rls-slide.slide-right-in{transform:translateX(0)}
.rls-slide.slide-up-in{transform:translateY(0)}
.rls-slide.slide-down-in{transform:translateY(0)}
.rls-slide.zoom-in{transform:scale(1)}

.rls-slide.slide-left-start{transform:translateX(15%)}
.rls-slide.slide-right-start{transform:translateX(-15%)}
.rls-slide.slide-up-start{transform:translateY(15%)}
.rls-slide.slide-down-start{transform:translateY(-15%)}
.rls-slide.zoom-start{transform:scale(1.04)}

.rls-anim{opacity:0}
.rls-anim[data-anim-in="none"]{opacity:1}
@keyframes rlsFadeIn{from{opacity:0}to{opacity:1}}
@keyframes rlsFadeOut{from{opacity:1}to{opacity:0}}
@keyframes rlsUpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes rlsDownIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes rlsLeftIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@keyframes rlsRightIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@keyframes rlsZoomIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes rlsUpOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
@keyframes rlsDownOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}
@keyframes rlsLeftOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-12px)}}
@keyframes rlsRightOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(12px)}}
@keyframes rlsZoomOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}

.rls-in-fadeIn{animation:rlsFadeIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-fadeInUp{animation:rlsUpIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-fadeInDown{animation:rlsDownIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-fadeInLeft{animation:rlsLeftIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-fadeInRight{animation:rlsRightIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-zoomIn{animation:rlsZoomIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-slideInUp{animation:rlsUpIn var(--dur,600ms) ease var(--delay,0ms) forwards}
.rls-in-slideInDown{animation:rlsDownIn var(--dur,600ms) ease var(--delay,0ms) forwards}

.rls-out-fadeOut{animation:rlsFadeOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-fadeOutUp{animation:rlsUpOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-fadeOutDown{animation:rlsDownOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-fadeOutLeft{animation:rlsLeftOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-fadeOutRight{animation:rlsRightOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-zoomOut{animation:rlsZoomOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-slideOutUp{animation:rlsUpOut var(--dur,400ms) ease var(--delay,0ms) forwards}
.rls-out-slideOutDown{animation:rlsDownOut var(--dur,400ms) ease var(--delay,0ms) forwards}

@keyframes rlsKenBurnsSlow{from{transform:scale(1)}to{transform:scale(1.06)}}
.rls-bg-kenburns{animation:rlsKenBurnsSlow 25s ease-in-out infinite alternate}

@media (prefers-reduced-motion: reduce){
  .rls-slider *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
