.flexy-container:not([data-flexy]) .flexy-items {
    flex-wrap: wrap
}

.flexy,.flexy-pills {
    position: relative;
    -webkit-user-select: none;
    user-select: none
}

[data-flexy*=no] .flexy-items>* {
    transform: translate3d(calc(-100% * var(--current-item, 0)), 0, 0)
}

[data-flexy*=no][data-wrap*=viewport] .flexy-items>* {
    order: 2;
    transform: translate3d(-100%, 0, 0)
}

[data-flexy*=no][data-wrap*=viewport] .flexy-items>*:last-child {
    order: 1
}

.flexy-items {
    display: flex;
    gap: 0;
    will-change: transform,max-height;
    margin-inline:calc(var(--flexy-items-gap, 0px)/-2)}

.flexy-items>* {
    cursor: grab;
    flex: 0 0 var(--flexy-item-width, 100%);
    max-width: var(--flexy-item-width, 100%);
    padding-inline:calc(var(--flexy-items-gap, 0px)/2)}

[data-flexy-moving] .flexy-items {
    align-items: start
}

[data-flexy-moving] .flexy-items .flexy-item {
    transition: min-height .2s ease;
    min-height: var(--flexy-view-height)
}

.flexy-view {
    height: var(--flexy-view-height, initial);
    transition: height .2s ease
}

[data-flexy=""]:not([data-flexy-moving]) .flexy-items>*:not(.flexy-item-is-visible) {
    height: 1px
}

[data-flexy-dragging] {
    cursor: ew-resize
}

[data-flexy-dragging] .flexy-items>* {
    pointer-events: none
}

[data-flexy-view=boxed] {
    overflow: hidden
}

.flexy-pills ol,.flex-control-nav:has(img) {
    display: flex;
    flex-direction: var(--pills-direction);
    justify-content: var(--pills-horizontal-alignment);
    flex-wrap: var(--pills-wrap, wrap);
    list-style: none;
    padding: 0;
    margin-bottom: 0
}

.flexy-pills ol li,.flex-control-nav:has(img) li {
    flex: 0 0 var(--thumbs-width, 20%);
    width: var(--thumbs-width, 20%);
    cursor: pointer
}

.flexy-pills [data-flexy] {
    overflow: hidden;
    --pills-wrap: nowrap
}

.flexy-pills[data-type=circle] {
    max-width: 180px;
    margin-top: 30px;
    margin-inline:auto}

.flexy-pills[data-type=circle] ol:not([data-flexy]),.flexy-pills[data-type=circle] ol[data-flexy*=paused] {
    --pills-horizontal-alignment: center
}

.flexy-pills[data-type=circle] li {
    --thumbs-width: 20%;
    --thumbs-top-spacing: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px
}

.flexy-pills[data-type=circle] li:before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 100%;
    box-shadow: inset 0 0 0 5px var(--flexyInitialPill, rgba(44, 62, 80, 0.9));
    transition: box-shadow .2s ease,transform .2s ease
}

.flexy-pills[data-type=circle] li.active:before {
    transform: scale3d(2, 2, 1);
    box-shadow: inset 0 0 0 1px var(--flexyActivePill, rgba(44, 62, 80, 0.9))
}

@media(any-hover: hover) {
    .flexy-container:not([data-flexy]) .flexy>[class*=flexy-arrow],.flexy-container[data-flexy*=no] .flexy>[class*=flexy-arrow] {
        visibility:hidden
    }
}

[class*=flexy-arrow] {
    position: absolute;
    top: var(--flexy-nav-arrow-top-offset, calc(50% - 20px));
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: 100%;
    color: var(--flexy-nav-arrow-color, var(--theme-text-color));
    box-shadow: 0px 25px 40px rgba(0,0,0,.03);
    background: var(--flexy-nav-background-color, #fff);
    transition: all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955)
}

[class*=flexy-arrow] svg {
    pointer-events: none
}

@media(any-hover: hover) {
    [class*=flexy-arrow] {
        opacity:0;
        transform: rotate(var(--rotate, 0)) translateX(var(--translate-x, 0))
    }

    [class*=flexy-arrow]:hover {
        color: var(--flexy-nav-arrow-hover-color, #fff);
        background: var(--flexy-nav-background-hover-color, var(--theme-palette-color-1))
    }
}

.flexy-arrow-prev {
    left: 20px;
    --translate-x: -10px
}

.flexy-arrow-next {
    right: 20px;
    --translate-x: 10px
}

[class*=flexy]:hover>[class*=flexy-arrow] {
    opacity: 1;
    --translate-x: 0
}

.flexy-pills {
    --flexy-nav-arrow-top-offset: calc(50% - 20px + var(--thumbs-spacing, 15px) / 2)
}

.flexy-pills ol:is(:not([data-flexy]),[data-flexy*=paused])~[class*=arrow] {
    visibility: hidden
}

.is-layout-slider .flexy-items {
    --flexy-items-gap: var(--grid-columns-gap, 30px);
    --flexy-item-width: var(--grid-columns-width)
}

.is-layout-slider .flexy-item {
    display: flex
}

.is-layout-slider .flexy-item>* {
    width: 100%
}
