.jmcc-image-carousel{
    --jmcc-per-view:3;
    --jmcc-gap:24px;
    position:relative;
    width:100%;
    overflow:visible;
}
.jmcc-image-carousel__viewport{overflow:hidden;width:100%;}
.jmcc-image-carousel__track{
    display:flex;
    gap:var(--jmcc-gap);
    will-change:transform;
    transform:translate3d(0,0,0);
}
.jmcc-image-carousel__slide{
    flex:0 0 calc((100% - (var(--jmcc-gap) * (var(--jmcc-per-view) - 1))) / var(--jmcc-per-view));
    min-width:0;
}
.jmcc-image-carousel__item{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    box-sizing:border-box;
}
.jmcc-image-carousel__link{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}
.jmcc-image-carousel__image{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    user-select:none;
    -webkit-user-drag:none;
}
.jmcc-image-carousel__nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2px;
    margin-top:18px;
}
.jmcc-image-carousel__arrow{
    width:72px;
    height:44px;
    border:0;
    border-radius:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .2s ease,opacity .2s ease,filter .2s ease;
    color:#0A2640;
    background:#20C9F3;
}
.jmcc-image-carousel__arrow:hover{transform:translateY(-1px);filter:brightness(.97);}
.jmcc-image-carousel__arrow:disabled{opacity:.45;cursor:default;transform:none;filter:none;}
.jmcc-image-carousel__arrow svg{width:20px;height:20px;display:block;}

.jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__nav{display:contents;}
.jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
}
.jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__arrow:hover{transform:translateY(-50%) scale(1.03);}
.jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__arrow--prev{left:-20px;}
.jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__arrow--next{right:-20px;}

@media(max-width:767px){
    .jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__arrow--prev{left:8px;}
    .jmcc-image-carousel.is-nav-overlay .jmcc-image-carousel__arrow--next{right:8px;}
}
@media(prefers-reduced-motion:reduce){
    .jmcc-image-carousel__track,.jmcc-image-carousel__arrow{transition-duration:.001ms!important;}
}
