.noviwax-brand-marquee {
	--noviwax-brand-background: #fff;
	--noviwax-brand-duration: 20s;
	--noviwax-brand-gap: 16px;
	--noviwax-brand-height: 120px;
	--noviwax-brand-padding: 15px;
	--noviwax-brand-width: 180px;
	background: var(--noviwax-brand-background);
	box-sizing: border-box;
	overflow: hidden;
	padding-block: var(--noviwax-brand-padding);
	position: relative;
	width: 100%;
}

.noviwax-brand-marquee__viewport {
	overflow: hidden;
	width: 100%;
}

.noviwax-brand-marquee.is-enhanced .noviwax-brand-marquee__viewport {
	cursor: grab;
	overflow: hidden;
	scrollbar-width: none;
	touch-action: pan-y pinch-zoom;
	-webkit-user-select: none;
	user-select: none;
}

.noviwax-brand-marquee.is-enhanced .noviwax-brand-marquee__viewport::-webkit-scrollbar {
	display: none;
}

.noviwax-brand-marquee__track {
	align-items: center;
	animation: noviwax-brand-marquee-scroll var(--noviwax-brand-duration) linear infinite;
	display: flex;
	width: max-content;
	will-change: transform;
}

.noviwax-brand-marquee.is-enhanced .noviwax-brand-marquee__track {
	animation: none;
}

.noviwax-brand-marquee.is-dragging .noviwax-brand-marquee__viewport {
	cursor: grabbing;
}

.noviwax-brand-marquee__group {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex: 0 0 auto;
	gap: var(--noviwax-brand-gap);
	justify-content: space-around;
	min-width: 100vw;
	padding-inline-end: var(--noviwax-brand-gap);
}

.noviwax-brand-marquee__item {
	align-items: center;
	display: flex;
	flex: 0 0 var(--noviwax-brand-width);
	justify-content: center;
	min-width: 0;
}

.noviwax-brand-marquee__link {
	align-items: center;
	display: flex;
	height: var(--noviwax-brand-height);
	justify-content: center;
	-webkit-user-drag: none;
	width: 100%;
}

.noviwax-brand-marquee__logo {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	opacity: .88;
	transition: opacity 180ms ease, transform 180ms ease;
	-webkit-user-drag: none;
	width: 100%;
}

.noviwax-brand-marquee:hover .noviwax-brand-marquee__track,
.noviwax-brand-marquee:focus-within .noviwax-brand-marquee__track {
	animation-play-state: paused;
}

.noviwax-brand-marquee__link:hover .noviwax-brand-marquee__logo,
.noviwax-brand-marquee__link:focus-visible .noviwax-brand-marquee__logo {
	opacity: 1;
	transform: scale(1.035);
}

.noviwax-brand-marquee__link:focus-visible {
	border-radius: 4px;
	outline: 2px solid #111;
	outline-offset: 6px;
}

@keyframes noviwax-brand-marquee-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}

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

@media (max-width: 782px) {
	.noviwax-brand-marquee {
		padding-block: min(var(--noviwax-brand-padding), 28px);
	}

	.noviwax-brand-marquee__group {
		gap: min(var(--noviwax-brand-gap), 32px);
		padding-inline-end: min(var(--noviwax-brand-gap), 32px);
	}

	.noviwax-brand-marquee__item {
		flex-basis: min(var(--noviwax-brand-width), 38vw);
	}

	.noviwax-brand-marquee__link {
		height: min(var(--noviwax-brand-height), 72px);
	}
}

@media (max-width: 480px) {
	.noviwax-brand-marquee {
		padding-block: min(var(--noviwax-brand-padding), 22px);
	}

	.noviwax-brand-marquee__group {
		gap: min(var(--noviwax-brand-gap), 24px);
		padding-inline-end: min(var(--noviwax-brand-gap), 24px);
	}

	.noviwax-brand-marquee__item {
		flex-basis: min(var(--noviwax-brand-width), 42vw);
	}

	.noviwax-brand-marquee__link {
		height: min(var(--noviwax-brand-height), 64px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.noviwax-brand-marquee__viewport {
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.noviwax-brand-marquee__track {
		animation: none;
		transform: none;
		will-change: auto;
	}

	.noviwax-brand-marquee__group {
		justify-content: flex-start;
		min-width: auto;
	}

	.noviwax-brand-marquee__group[aria-hidden="true"] {
		display: none;
	}
}
