
.jhon-banner-slider{
  --jbs-height: 360px;
  position: relative;
  width: 100%;
  user-select: none;
}
.jhon-banner-slider .jbs-viewport{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  height: var(--jbs-height);
  background: #0b0b0b;
}
.jhon-banner-slider .jbs-track{
  display: flex;
  height: 100%;
  width: 100%;
  transform: translateX(0%);
  transition: transform 380ms cubic-bezier(.2,.8,.2,1);
}
.jhon-banner-slider .jbs-track.jbs-no-anim{ transition: none !important; }
.jhon-banner-slider .jbs-slide{
  flex: 0 0 100%;
  height: 100%;
  position: relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.jhon-banner-slider img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.jhon-banner-slider .jbs-link{ display:block; width:100%; height:100%; }
.jhon-banner-slider .jbs-caption{
  position:absolute;
  left: 14px; right: 14px; bottom: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: 14px;
  line-height: 1.25;
  backdrop-filter: blur(6px);
}
.jhon-banner-slider .jbs-arrow{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.35);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index: 5;
}
.jhon-banner-slider .jbs-arrow:hover{ background: rgba(0,0,0,.55); }
.jhon-banner-slider .jbs-arrow span{ font-size: 28px; line-height: 1; margin-top: -2px; }
.jhon-banner-slider .jbs-prev{ left: 10px; }
.jhon-banner-slider .jbs-next{ right: 10px; }

.jhon-banner-slider .jbs-dots{
  position:absolute;
  left: 0; right: 0; bottom: 10px;
  display:flex;
  gap: 8px;
  justify-content:center;
  z-index: 6;
  pointer-events:auto;
}
.jhon-banner-slider .jbs-dots button{
  width: 9px; height: 9px;
  border-radius: 99px;
  border: 0; padding:0;
  background: rgba(255,255,255,.45);
  cursor:pointer;
}
.jhon-banner-slider .jbs-dots button.is-active{ background: rgba(255,255,255,.95); }

@media (max-width: 700px){
  .jhon-banner-slider .jbs-viewport{ border-radius: 14px; }
  .jhon-banner-slider .jbs-arrow{ width: 40px; height: 40px; }
}
