.rim-marquee {
	--rim-duration: 24s;
	--rim-item-gap: 48px;
	--rim-icon-gap: 12px;
	--rim-pad-y: 36px;
	position: relative;
	width: 100%;
	overflow: hidden;
}

.rim-marquee__viewport {
	display: block;
	width: 100%;
	overflow: hidden;
}

.rim-marquee__track {
	display: flex;
	align-items: stretch;
	width: max-content;
	max-width: none;
	will-change: transform;
}

.rim-marquee__group {
	display: inline-flex;
	align-items: center;
	gap: var(--rim-item-gap);
	width: max-content;
	max-width: none;
	margin: 0;
	padding: var(--rim-pad-y) var(--rim-item-gap) var(--rim-pad-y) 0;
	box-sizing: border-box;
	list-style: none;
	vertical-align: middle;
}

.rim-marquee__item {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.rim-marquee__content {
	display: inline-flex;
	align-items: center;
	gap: var(--rim-icon-gap);
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.rim-marquee__content:hover,
.rim-marquee__content:focus {
	color: inherit;
	text-decoration: none;
}

.rim-marquee__content:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.rim-marquee__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.rim-marquee__icon i,
.rim-marquee__icon svg {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	.rim-marquee__group[aria-hidden="true"] {
		display: none;
	}
}

.rim-marquee--ready .rim-marquee__track {
	animation: rim-marquee-left var(--rim-duration) linear infinite;
}

.rim-marquee--ready.rim-marquee--right .rim-marquee__track {
	animation-name: rim-marquee-right;
}

.rim-marquee--pause-enabled:hover .rim-marquee__track,
.rim-marquee--pause-enabled:focus-within .rim-marquee__track {
	animation-play-state: paused;
}

@keyframes rim-marquee-left {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(calc(-1 * var(--rim-distance)), 0, 0); }
}

@keyframes rim-marquee-right {
	from { transform: translate3d(calc(-1 * var(--rim-distance)), 0, 0); }
	to { transform: translate3d(0, 0, 0); }
}
