.dimi-marquee {
	--dimi-marquee-height: 120px;
	--dimi-marquee-speed: 30s;
	--dimi-marquee-gap: 32px;
	--dimi-marquee-cycle: 50%;
	--dimi-marquee-distance: var(--dimi-marquee-cycle);
	--dimi-marquee-font-size: 42px;
	--dimi-marquee-image-height: 64px;
	--dimi-marquee-image-width: auto;
	--dimi-marquee-image-fit: contain;
	--dimi-marquee-image-radius: 0px;
	--dimi-marquee-icon-size: 28px;
	--dimi-marquee-color: #111;
	--dimi-marquee-bg: transparent;
	--dimi-marquee-outline: #111;
	--dimi-marquee-icon-color: #111;
	--dimi-marquee-align: center;
	position: relative;
	display: flex;
	width: 100%;
	min-height: var(--dimi-marquee-height);
	overflow: hidden;
	background: var(--dimi-marquee-bg);
	color: var(--dimi-marquee-color);
}

.dimi-marquee__track {
	display: flex;
	width: max-content;
	will-change: transform;
	backface-visibility: hidden;
	transform: translate3d(0, 0, 0);
}

.dimi-marquee:not(.dimi-marquee--ready) .dimi-marquee__track {
	animation-play-state: paused;
}

.dimi-marquee__group {
	display: flex;
	flex: 0 0 auto;
	align-items: var(--dimi-marquee-align);
	gap: var(--dimi-marquee-gap);
	min-width: max-content;
	padding-inline-end: var(--dimi-marquee-gap);
}

.dimi-marquee__item {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: .45em;
	line-height: 1;
	white-space: nowrap;
}

.dimi-marquee__text {
	color: var(--dimi-marquee-color);
	font-size: var(--dimi-marquee-font-size);
	font-weight: 700;
	letter-spacing: 0;
	line-height: .95;
}

.dimi-marquee__image img,
.dimi-marquee__mixed img {
	display: block;
	width: var(--dimi-marquee-image-width);
	max-width: none;
	height: var(--dimi-marquee-image-height);
	border-radius: var(--dimi-marquee-image-radius);
	object-fit: var(--dimi-marquee-image-fit);
}

.dimi-marquee--image-natural .dimi-marquee__image img,
.dimi-marquee--image-natural .dimi-marquee__mixed > img {
	width: auto;
	max-width: none;
	height: auto;
	object-fit: contain;
}

.dimi-marquee--image-fixed-height .dimi-marquee__image img,
.dimi-marquee--image-fixed-height .dimi-marquee__mixed > img {
	width: auto;
	height: var(--dimi-marquee-image-height);
	object-fit: contain;
}

.dimi-marquee--image-fixed-box .dimi-marquee__image img,
.dimi-marquee--image-fixed-box .dimi-marquee__mixed > img {
	width: var(--dimi-marquee-image-width);
	height: var(--dimi-marquee-image-height);
	object-fit: var(--dimi-marquee-image-fit);
}

.dimi-marquee--image-fill-width .dimi-marquee__image {
	width: var(--dimi-marquee-image-width);
}

.dimi-marquee--image-fill-width .dimi-marquee__image img,
.dimi-marquee--image-fill-width .dimi-marquee__mixed > img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.dimi-marquee__image {
	overflow: hidden;
	border-radius: var(--dimi-marquee-image-radius);
}

.dimi-marquee__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: var(--dimi-marquee-icon-size);
	height: var(--dimi-marquee-icon-size);
	color: var(--dimi-marquee-icon-color);
}

.dimi-marquee__icon i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
	font-size: var(--dimi-marquee-icon-size);
	line-height: 1;
}

.dimi-marquee__icon img,
.dimi-marquee__mixed .dimi-marquee__icon img {
	display: block;
	width: var(--dimi-marquee-icon-size);
	height: var(--dimi-marquee-icon-size);
	max-width: none;
	object-fit: contain;
}

.dimi-marquee--horizontal {
	align-items: center;
}

.dimi-marquee--horizontal .dimi-marquee__track {
	animation: dimi-marquee-x var(--dimi-marquee-speed) linear infinite;
}

.dimi-marquee--horizontal.dimi-marquee--reverse .dimi-marquee__track {
	animation-name: dimi-marquee-x-reverse;
}

.dimi-marquee--vertical {
	height: var(--dimi-marquee-height);
	min-height: 0;
	align-items: flex-start;
}

.dimi-marquee--vertical .dimi-marquee__track {
	flex-direction: column;
	height: max-content;
	animation: dimi-marquee-y var(--dimi-marquee-speed) linear infinite;
}

.dimi-marquee--vertical .dimi-marquee__group {
	flex-direction: column;
	align-items: var(--dimi-marquee-align);
	min-width: 100%;
	min-height: max-content;
	padding-inline-end: 0;
	padding-block-end: var(--dimi-marquee-gap);
}

.dimi-marquee--vertical.dimi-marquee--reverse .dimi-marquee__track {
	animation-name: dimi-marquee-y-reverse;
}

.dimi-marquee--pause-hover:hover .dimi-marquee__track {
	animation-play-state: paused;
}

.dimi-marquee--outline .dimi-marquee__text {
	color: transparent;
	-webkit-text-stroke: 1px var(--dimi-marquee-outline);
	text-stroke: 1px var(--dimi-marquee-outline);
}

.dimi-marquee--alternate-outline .dimi-marquee__group > .dimi-marquee__text:nth-child(even),
.dimi-marquee--alternate-outline .dimi-marquee__group > .dimi-marquee__mixed:nth-child(even) .dimi-marquee__text {
	color: transparent;
	-webkit-text-stroke: 1px var(--dimi-marquee-outline);
	text-stroke: 1px var(--dimi-marquee-outline);
}

.dimi-marquee--alternate-outline .dimi-marquee__group > .dimi-marquee__text:nth-child(odd),
.dimi-marquee--alternate-outline .dimi-marquee__group > .dimi-marquee__mixed:nth-child(odd) .dimi-marquee__text {
	color: var(--dimi-marquee-color);
	-webkit-text-stroke: 0 transparent;
	text-stroke: 0 transparent;
}

@keyframes dimi-marquee-x {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(calc(-1 * var(--dimi-marquee-distance)), 0, 0);
	}
}

@keyframes dimi-marquee-x-reverse {
	from {
		transform: translate3d(calc(-1 * var(--dimi-marquee-distance)), 0, 0);
	}

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

@keyframes dimi-marquee-y {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(0, calc(-1 * var(--dimi-marquee-distance)), 0);
	}
}

@keyframes dimi-marquee-y-reverse {
	from {
		transform: translate3d(0, calc(-1 * var(--dimi-marquee-distance)), 0);
	}

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

@media (prefers-reduced-motion: reduce) {
	.dimi-marquee__track {
		animation-duration: 1ms;
		animation-iteration-count: 1;
	}
}

@media (max-width: 549px) {
	.dimi-marquee {
		--dimi-marquee-font-size: min(34px, var(--dimi-marquee-font-size));
	}
}
