.wp-block-remodevs-logo-slider.remodevs-logo-slider {
	--remodevs-logo-gap: 48px;
	--remodevs-logo-height: 52px;
	--remodevs-logo-width: 180px;
	--remodevs-logo-speed: 70;
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-height: 0;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: clamp(32px, 4vw, 52px) 0;
	overflow: hidden;
}

/*
 * Gutenberg's alignfull class may expand the block to 100vw with negative
 * margins. The contained mode is intentionally more specific, while full mode
 * leaves the theme's existing alignfull behaviour in place.
 */
.wp-block-remodevs-logo-slider.remodevs-logo-slider--contained {
	width: calc(100% - 48px) !important;
	max-width: 1240px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.remodevs-logo-slider *,
.remodevs-logo-slider *::before,
.remodevs-logo-slider *::after {
	box-sizing: border-box;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider > .remodevs-logo-slider__container {
	width: 100%;
	max-width: none;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__title {
	margin: 0 0 clamp(28px, 3vw, 48px) !important;
	padding: 0;
	font-family: inherit;
	font-size: clamp(22px, 1.6vw, 25px);
	font-weight: 500;
	line-height: 1.32;
	letter-spacing: normal;
	text-align: left;
	text-transform: none;
}

/* Keep the copy on the homepage's 1200px content line while allowing the
 * moving logos a subtle 20px overhang on each side. */
.wp-block-remodevs-logo-slider.remodevs-logo-slider--contained .remodevs-logo-slider__title {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-right: auto !important;
	margin-left: auto !important;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__marquee {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	contain: paint;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__track {
	--remodevs-marquee-duration: 45s;
	display: flex;
	align-items: center;
	width: max-content;
	min-width: max-content;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	will-change: transform;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__marquee.is-ready .remodevs-logo-slider__track {
	animation: remodevs-logo-marquee var(--remodevs-marquee-duration) linear infinite;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--remodevs-logo-gap);
	width: max-content;
	padding-right: var(--remodevs-logo-gap);
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__item {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-start;
	height: var(--remodevs-logo-height);
	margin: 0;
	padding: 0;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__image {
	display: block;
	width: auto;
	max-width: var(--remodevs-logo-width);
	height: auto;
	max-height: var(--remodevs-logo-height);
	margin: 0;
	object-fit: contain;
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	opacity: 1;
	transition: filter 0.3s, -webkit-filter 0.3s, opacity 0.3s;
	user-select: none;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__image:hover {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
	opacity: 1;
}

.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__image--monochrome {
	opacity: 0.5;
}

@keyframes remodevs-logo-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

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

.remodevs-logo-slider-editor {
	padding: 16px;
	border: 1px solid #dcdcde;
	background: #fff;
}

.remodevs-logo-slider-editor__preview {
	margin: 16px -16px -16px;
}

@media (max-width: 1287px) {
	.wp-block-remodevs-logo-slider.remodevs-logo-slider--contained .remodevs-logo-slider__title {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 1024px) {
	.wp-block-remodevs-logo-slider.remodevs-logo-slider--contained {
		width: calc(100% - 40px) !important;
	}
}

@media (max-width: 767px) {
	.wp-block-remodevs-logo-slider.remodevs-logo-slider {
		--remodevs-logo-gap: 36px;
		--remodevs-logo-height: 48px;
		--remodevs-logo-width: 160px;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider--contained {
		width: calc(100% - 32px) !important;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__title {
		margin-bottom: 28px !important;
	}

}

@media (prefers-reduced-motion: reduce) {
	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__marquee {
		overflow: visible;
		contain: none;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__track {
		width: 100%;
		min-width: 0;
		animation: none !important;
		transform: none !important;
		will-change: auto;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__group {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		gap: 28px var(--remodevs-logo-gap);
		width: 100%;
		padding-right: 0;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__group[aria-hidden="true"] {
		display: none;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__item {
		justify-content: center;
	}

	.wp-block-remodevs-logo-slider.remodevs-logo-slider .remodevs-logo-slider__image {
		transition: none;
	}
}

/* Paragraph option should match the site's regular body text weight. */
.wp-block-remodevs-logo-slider.remodevs-logo-slider p.remodevs-logo-slider__title {
	font-weight: 400;
}
