/* Responsive Hero Slider - v1.2.0 */
.rhs-slider,
.rhs-slider *{box-sizing:border-box}

.rhs-slider{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  line-height:0!important;
  isolation:isolate;
  aspect-ratio:auto!important;
  max-height:none!important;
}

.rhs-track{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  aspect-ratio:auto!important;
  max-height:none!important;
}

.rhs-slide{
  display:none!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  overflow:hidden!important;
  aspect-ratio:auto!important;
  max-height:none!important;
}

.rhs-slide.is-active{display:block!important}

.rhs-slide-link,
.rhs-slide picture,
.rhs-slide img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
}

.rhs-slide img{
  object-fit:cover;
  user-select:none;
  -webkit-user-drag:none;
  vertical-align:middle!important;
}

/* Smooth directional slide animation */
.rhs-slide.is-active.rhs-enter-next{animation:rhsEnterNext .55s cubic-bezier(.22,.61,.36,1) both}
.rhs-slide.is-active.rhs-enter-prev{animation:rhsEnterPrev .55s cubic-bezier(.22,.61,.36,1) both}
.rhs-slide.is-active.rhs-enter-fade{animation:rhsEnterFade .5s ease both}

@keyframes rhsEnterNext{
  from{opacity:.35;transform:translate3d(34px,0,0) scale(1.01)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes rhsEnterPrev{
  from{opacity:.35;transform:translate3d(-34px,0,0) scale(1.01)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes rhsEnterFade{
  from{opacity:.35;transform:scale(1.012)}
  to{opacity:1;transform:scale(1)}
}

/* Navigation arrows - aggressively reset theme button styles */
.rhs-arrow{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#111!important;
  box-shadow:0 5px 20px rgba(0,0,0,.16)!important;
  line-height:1!important;
  font:inherit!important;
  cursor:pointer!important;
  transform:translateY(-50%)!important;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important;
}
.rhs-arrow:hover{
  background:#fff!important;
  transform:translateY(-50%) scale(1.06)!important;
  box-shadow:0 7px 24px rgba(0,0,0,.20)!important;
}
.rhs-arrow:focus-visible{outline:2px solid #111!important;outline-offset:3px!important}
.rhs-arrow span{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:-2px 0 0!important;
  padding:0!important;
  font-family:Arial,sans-serif!important;
  font-size:32px!important;
  font-weight:400!important;
  line-height:1!important;
  color:inherit!important;
  pointer-events:none!important;
}
.rhs-prev{left:18px!important}
.rhs-next{right:18px!important}

/* Pagination dots - reset theme/global button rules */
.rhs-dots{
  position:absolute!important;
  left:50%!important;
  bottom:14px!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:5px 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.16)!important;
  box-shadow:none!important;
  line-height:0!important;
  transform:translateX(-50%)!important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.rhs-dot{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  flex:0 0 auto!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  min-height:8px!important;
  max-width:8px!important;
  max-height:8px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.95)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.35)!important;
  box-shadow:none!important;
  line-height:0!important;
  cursor:pointer!important;
  transition:width .25s ease,max-width .25s ease,background .25s ease,border-radius .25s ease!important;
}
.rhs-dot.is-active{
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  border-radius:999px!important;
  background:#fff!important;
}
.rhs-dot:focus-visible{outline:2px solid #fff!important;outline-offset:2px!important}

@media(max-width:768px){
  .rhs-slider,.rhs-track,.rhs-slide,.rhs-slide-link,.rhs-slide picture,.rhs-slide img{
    height:auto!important;
    min-height:0!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  .rhs-arrow{
    width:38px!important;height:38px!important;
    min-width:38px!important;min-height:38px!important;
    max-width:38px!important;max-height:38px!important;
    background:rgba(255,255,255,.95)!important;
  }
  .rhs-arrow span{font-size:29px!important}
  .rhs-prev{left:10px!important}
  .rhs-next{right:10px!important}
  .rhs-dots{
    bottom:10px!important;
    height:18px!important;
    min-height:18px!important;
    gap:5px!important;
    padding:4px 7px!important;
  }
  .rhs-dot{
    width:7px!important;height:7px!important;
    min-width:7px!important;min-height:7px!important;
    max-width:7px!important;max-height:7px!important;
  }
  .rhs-dot.is-active{width:20px!important;min-width:20px!important;max-width:20px!important}
}

/* Remove common shortcode/widget wrapper height that can create blank space under the banner */
.wp-block-shortcode:has(> .rhs-slider),
.elementor-widget-container:has(> .rhs-slider),
.elementor-shortcode:has(> .rhs-slider),
.widget_text:has(.rhs-slider),
.textwidget:has(> .rhs-slider){
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
  aspect-ratio:auto!important;
}

@media(prefers-reduced-motion:reduce){
  .rhs-slide.is-active.rhs-enter-next,
  .rhs-slide.is-active.rhs-enter-prev,
  .rhs-slide.is-active.rhs-enter-fade{animation:none!important}
  .rhs-arrow,.rhs-dot{transition:none!important}
}
