/**
 * BrakeSafe Dashboard Infinite Slider
 */

.bs-dashboard-slider {
	--bs-slider-gap: 50px;
	--bs-slider-slide-width: min(836px, 78vw);
	--bs-slider-speed: 45s;
	width: 100%;
	overflow: hidden;
}

.bs-dashboard-slider__viewport {
	width: 100%;
	overflow: hidden;
}

.bs-dashboard-slider__track {
	display: flex;
	width: max-content;
	animation: bs-dashboard-slider-scroll var(--bs-slider-speed) linear infinite;
	will-change: transform;
}

.bs-dashboard-slider__track--pause-hover:hover {
	animation-play-state: paused;
}

.bs-dashboard-slider__group {
	display: flex;
	align-items: stretch;
	gap: var(--bs-slider-gap);
	padding-right: var(--bs-slider-gap);
	flex-shrink: 0;
}

.bs-dashboard-slider__slide {
	flex: 0 0 var(--bs-slider-slide-width);
	width: var(--bs-slider-slide-width);
}

.bs-dashboard-slider__card {
	position: relative;
	width: 100%;
	border-radius: 16px;
	overflow: hidden;
}

.bs-dashboard-slider__card::before {
	content: "";
	display: block;
	padding-top: 71.1%;
}

.bs-dashboard-slider__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

@keyframes bs-dashboard-slider-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 767px) {
	.bs-dashboard-slider {
		--bs-slider-gap: 24px;
		--bs-slider-slide-width: min(320px, 88vw);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bs-dashboard-slider__track {
		animation: none;
	}

	.bs-dashboard-slider__viewport {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.bs-dashboard-slider__track {
		width: auto;
	}

	.bs-dashboard-slider__group:last-child {
		display: none;
	}

	.bs-dashboard-slider__slide {
		scroll-snap-align: center;
	}
}
