.smwe-marquee {
	--smwe-speed: 25s;
	--smwe-gap: 24px;
	--smwe-item-width: 220px;
	--smwe-item-height: 140px;
	--smwe-container-height: 420px;
	--smwe-animation-timing: linear;
	--smwe-hover-opacity: 1;
	--smwe-hover-scale: 1.03;
	--smwe-fade-size: 64px;
	--smwe-fade-color: #fff;
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}

.smwe-marquee *,
.smwe-marquee *::before,
.smwe-marquee *::after {
	box-sizing: border-box;
}

.smwe-marquee-viewport {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.smwe-marquee-track {
	display: flex;
	width: max-content;
	max-width: none;
	animation-duration: var(--smwe-speed);
	animation-timing-function: var(--smwe-animation-timing);
	animation-iteration-count: infinite;
	animation-play-state: running;
	will-change: transform;
}

.smwe-marquee-group {
	display: flex;
	flex: 0 0 auto;
	min-width: max-content;
	gap: var(--smwe-gap);
}

.smwe-orientation-horizontal .smwe-marquee-track,
.smwe-orientation-horizontal .smwe-marquee-group {
	flex-direction: row;
}

.smwe-orientation-horizontal .smwe-marquee-group {
	padding-inline-end: var(--smwe-gap);
}

.smwe-orientation-vertical .smwe-marquee-viewport {
	height: var(--smwe-container-height);
}

.smwe-orientation-vertical .smwe-marquee-track,
.smwe-orientation-vertical .smwe-marquee-group {
	flex-direction: column;
	width: 100%;
}

.smwe-orientation-vertical .smwe-marquee-group {
	min-width: 0;
	padding-block-end: var(--smwe-gap);
}

.smwe-align-start .smwe-marquee-track,
.smwe-align-start .smwe-marquee-group {
	align-items: flex-start;
}

.smwe-align-center .smwe-marquee-track,
.smwe-align-center .smwe-marquee-group {
	align-items: center;
}

.smwe-align-end .smwe-marquee-track,
.smwe-align-end .smwe-marquee-group {
	align-items: flex-end;
}

.smwe-direction-left.smwe-is-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-left;
}

.smwe-direction-right.smwe-is-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-right;
}

.smwe-direction-up.smwe-is-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-up;
}

.smwe-direction-down.smwe-is-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-down;
}

.smwe-direction-left.smwe-no-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-left-full;
}

.smwe-direction-right.smwe-no-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-right-full;
}

.smwe-direction-up.smwe-no-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-up-full;
}

.smwe-direction-down.smwe-no-seamless .smwe-marquee-track {
	animation-name: smwe-marquee-down-full;
}

.smwe-pause-hover:not(.smwe-reverse-hover):hover .smwe-marquee-track {
	animation-play-state: paused;
}

.smwe-reverse-hover:hover .smwe-marquee-track {
	animation-direction: reverse;
}

.smwe-marquee-item {
	flex: 0 0 auto;
	width: var(--smwe-item-width);
	max-width: 100%;
}

.smwe-orientation-vertical .smwe-marquee-item {
	width: 100%;
	max-width: var(--smwe-item-width);
}

.smwe-marquee-item-inner {
	position: relative;
	width: 100%;
	min-height: var(--smwe-item-height);
}

.smwe-marquee-link {
	color: inherit;
	text-decoration: none;
}

.smwe-marquee-link:focus-visible,
.smwe-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.smwe-marquee-media {
	position: relative;
	display: block;
	width: 100%;
	height: var(--smwe-item-height);
	overflow: hidden;
}

.smwe-marquee-media img,
.smwe-marquee-media video {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	opacity: 1;
	filter: none;
	transform: translateZ(0) scale(1);
	transform-origin: center;
	transition: opacity 250ms ease, filter 250ms ease, transform 250ms ease;
}

.smwe-marquee-item:hover .smwe-marquee-media img,
.smwe-marquee-item:hover .smwe-marquee-media video {
	opacity: var(--smwe-hover-opacity);
	transform: translateZ(0) scale(var(--smwe-hover-scale));
}

.smwe-grayscale-normal .smwe-marquee-media img,
.smwe-grayscale-normal .smwe-marquee-media video {
	filter: grayscale(1);
}

.smwe-grayscale-normal:not(.smwe-grayscale-hover) .smwe-marquee-item:hover .smwe-marquee-media img,
.smwe-grayscale-normal:not(.smwe-grayscale-hover) .smwe-marquee-item:hover .smwe-marquee-media video {
	filter: grayscale(0);
}

.smwe-grayscale-hover .smwe-marquee-item:hover .smwe-marquee-media img,
.smwe-grayscale-hover .smwe-marquee-item:hover .smwe-marquee-media video {
	filter: grayscale(1);
}

.smwe-has-edge-fade .smwe-marquee-viewport::before,
.smwe-has-edge-fade .smwe-marquee-viewport::after {
	content: "";
	position: absolute;
	z-index: 3;
	pointer-events: none;
}

.smwe-has-edge-fade.smwe-orientation-horizontal .smwe-marquee-viewport::before,
.smwe-has-edge-fade.smwe-orientation-horizontal .smwe-marquee-viewport::after {
	top: 0;
	bottom: 0;
	width: var(--smwe-fade-size);
}

.smwe-has-edge-fade.smwe-orientation-horizontal .smwe-marquee-viewport::before {
	inset-inline-start: 0;
	background: linear-gradient(to right, var(--smwe-fade-color), transparent);
}

.smwe-has-edge-fade.smwe-orientation-horizontal .smwe-marquee-viewport::after {
	inset-inline-end: 0;
	background: linear-gradient(to left, var(--smwe-fade-color), transparent);
}

.smwe-has-edge-fade.smwe-orientation-vertical .smwe-marquee-viewport::before,
.smwe-has-edge-fade.smwe-orientation-vertical .smwe-marquee-viewport::after {
	left: 0;
	right: 0;
	height: var(--smwe-fade-size);
}

.smwe-has-edge-fade.smwe-orientation-vertical .smwe-marquee-viewport::before {
	top: 0;
	background: linear-gradient(to bottom, var(--smwe-fade-color), transparent);
}

.smwe-has-edge-fade.smwe-orientation-vertical .smwe-marquee-viewport::after {
	bottom: 0;
	background: linear-gradient(to top, var(--smwe-fade-color), transparent);
}

@keyframes smwe-marquee-left {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes smwe-marquee-right {
	from {
		transform: translate3d(-50%, 0, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes smwe-marquee-up {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(0, -50%, 0);
	}
}

@keyframes smwe-marquee-down {
	from {
		transform: translate3d(0, -50%, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes smwe-marquee-left-full {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-100%, 0, 0);
	}
}

@keyframes smwe-marquee-right-full {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(100%, 0, 0);
	}
}

@keyframes smwe-marquee-up-full {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(0, -100%, 0);
	}
}

@keyframes smwe-marquee-down-full {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(0, 100%, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.smwe-marquee-track {
		animation: none !important;
		transform: translate3d(0, 0, 0) !important;
		will-change: auto;
	}

	.smwe-marquee-media img,
	.smwe-marquee-media video {
		transition-duration: 1ms;
	}
}

@media (max-width: 767px) {
	.smwe-marquee {
		--smwe-item-width: 180px;
		--smwe-item-height: 140px;
	}
}
