
.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-shrink: 0;
	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, .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, .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(.455, .03, .515, .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%;
}
