.spot-dynamic-carousel-track {
	--spot-dynamic-gap: var(--features-gap, 12px);
	--spot-dynamic-cell: clamp(44px, 4vw, 60px);
	--spot-dynamic-edge-space: var(--spot-carousel-gap, var(--spot-dynamic-gap));
	--spot-dynamic-side-control-offset: 40px;
	--spot-dynamic-mobile-track-height: calc(
		var(--spot-dynamic-cell) + var(--spot-dynamic-cell) + var(--spot-dynamic-cell) +
		var(--spot-dynamic-cell) + var(--spot-dynamic-cell) + var(--spot-dynamic-cell) +
		var(--spot-dynamic-gap) + var(--spot-dynamic-gap) + var(--spot-dynamic-gap) +
		var(--spot-dynamic-gap) + var(--spot-dynamic-gap)
	);
	--spot-dynamic-mobile-half-track-height: calc(
		var(--spot-dynamic-cell) + var(--spot-dynamic-cell) + var(--spot-dynamic-cell) +
		var(--spot-dynamic-gap) + var(--spot-dynamic-gap)
	);
	margin-bottom: var(--features-gap, 12px);
	overflow: visible;
}

.f3.features-section.spot-padding-enabled > .spot-dynamic-carousel-track,
.f3.features-section.spot-padding-disabled > .spot-dynamic-carousel-track,
.f3.features-section.spot--padded > .spot-dynamic-carousel-track,
.f3.features-section.spot--no-padding > .spot-dynamic-carousel-track {
	margin-bottom: 0;
}

.spot-dynamic-carousel-track .spot-carousel {
	overflow: visible;
	padding: 0;
}

.spot-dynamic-carousel-track .spot-carousel__viewport {
	overflow: hidden;
}

.spot-dynamic-carousel-track .spot-carousel__controls {
	display: block;
	inset: 0;
	justify-content: initial;
	margin-top: 0;
	padding: 0;
	pointer-events: none;
}

.spot-dynamic-carousel-track .spot-carousel__buttons {
	display: block;
	inset: 0;
	opacity: 1;
	pointer-events: none;
	position: absolute;
	transition: opacity .16s ease, visibility .16s ease;
	visibility: visible;
}

.spot-dynamic-carousel-track .spot-carousel__button {
	background: rgba(255, 255, 255, .9);
	border: 1px solid rgba(0, 0, 0, .16);
	box-shadow: none;
	color: #111;
	height: 42px;
	pointer-events: auto;
	position: absolute;
	top: 50%;
	width: 42px;
	z-index: 2;
}

.spot-dynamic-carousel-track .spot-carousel__button.embla__button--prev {
	left: var(--spot-dynamic-side-control-offset);
	transform: translateY(-50%);
}

.spot-dynamic-carousel-track .spot-carousel__button.embla__button--next {
	right: var(--spot-dynamic-side-control-offset);
	transform: translateY(-50%);
}

.spot-dynamic-carousel-track .spot-carousel__button:hover {
	background: #fff;
	border-color: rgba(0, 0, 0, .34);
	box-shadow: none;
}

.spot-dynamic-carousel-track .spot-carousel__dots {
	bottom: var(--spot-dynamic-gap);
	left: 50%;
	margin: 0;
	pointer-events: auto;
	position: absolute;
	transform: translateX(-50%);
}

.spot-dynamic-carousel-track .spot-carousel__dots .embla__dot::after {
	background: var(--text-body);
}

@media (hover: hover) and (pointer: fine) {
	.spot-dynamic-carousel-track .spot-carousel__buttons {
		opacity: 0;
		visibility: hidden;
	}

	.spot-dynamic-carousel-track .spot-carousel:hover .spot-carousel__buttons,
	.spot-dynamic-carousel-track:hover .spot-carousel__buttons,
	.spot-dynamic-carousel-track .spot-carousel:focus-within .spot-carousel__buttons {
		opacity: 1;
		visibility: visible;
	}
}

@media (min-width: 851px) {
	.f3 .spot-dynamic-carousel-track .spot-carousel__container {
		align-items: stretch;
		display: grid;
		gap: var(--spot-dynamic-gap);
		grid-auto-columns: var(--spot-dynamic-cell);
		grid-auto-flow: column dense;
		grid-template-rows: repeat(6, minmax(0, var(--spot-dynamic-cell)));
		padding: 0;
		touch-action: pan-y pinch-zoom;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide {
		flex: none;
		grid-column: span 12;
		grid-row: span 6;
		height: auto;
		min-height: 0;
		min-width: 0;
		width: auto;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--w20 {
		grid-column: span 2;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--w25 {
		grid-column: span 3;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--w33 {
		grid-column: span 4;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--w50 {
		grid-column: span 6;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--w66 {
		grid-column: span 8;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--w100 {
		grid-column: span 12;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--h25 {
		grid-row: span 3;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--h33 {
		grid-row: span 4;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--h50,
	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--h66,
	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--h75,
	.f3 .spot-dynamic-carousel-track .spot-carousel__slide--h100 {
		grid-row: span 6;
	}

	.f3.spot-carousel-mode-stretch .spot-dynamic-carousel-track .spot-carousel__slide,
	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide {
		grid-row: span 6;
	}

	.f3.spot-carousel-mode-half_height .spot-dynamic-carousel-track .spot-carousel__container,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__container {
		grid-template-rows: repeat(3, minmax(0, var(--spot-dynamic-cell)));
	}

	.f3.spot-carousel-mode-half_height .spot-dynamic-carousel-track .spot-carousel__slide,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--h25,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--h33,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--h50,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--h66,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--h75,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--h100 {
		grid-row: span 3;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature {
		border-radius: var(--f3-card-border-radius, 10px);
		float: none;
		height: 100%;
		margin: 0;
		min-height: 0;
		overflow: hidden;
		padding-bottom: 0 !important;
		width: 100% !important;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature .feature-content,
	.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature .thumb_holder {
		height: 100%;
		min-height: 100%;
	}
}

	@media (max-width: 850px) {
		.f3 .spot-dynamic-carousel-track {
			--spot-dynamic-side-control-offset: 20px;
			--spot-dynamic-cell: clamp(56px, 8vw, 68px);
		--spot-dynamic-mobile-slide-w20: clamp(200px, 46vw, 320px);
		--spot-dynamic-mobile-slide-w25: clamp(220px, 52vw, 360px);
		--spot-dynamic-mobile-slide-w33: clamp(240px, 58vw, 420px);
		--spot-dynamic-mobile-slide-w50: clamp(260px, 68vw, 520px);
		--spot-dynamic-mobile-slide-w66: clamp(300px, 76vw, 600px);
		--spot-dynamic-mobile-slide-w100: clamp(320px, 84vw, 680px);
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide {
		flex: 0 0 var(--spot-dynamic-mobile-slide-w100);
		height: var(--spot-dynamic-mobile-track-height);
		min-height: var(--spot-dynamic-mobile-track-height);
		width: auto;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide {
		flex: 0 0 var(--spot-dynamic-mobile-slide-w100);
		height: var(--spot-dynamic-mobile-half-track-height);
		min-height: var(--spot-dynamic-mobile-half-track-height);
		width: auto;
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide--w20,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--w20 {
		flex-basis: var(--spot-dynamic-mobile-slide-w20);
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide--w25,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--w25 {
		flex-basis: var(--spot-dynamic-mobile-slide-w25);
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide--w33,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--w33 {
		flex-basis: var(--spot-dynamic-mobile-slide-w33);
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide--w50,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--w50 {
		flex-basis: var(--spot-dynamic-mobile-slide-w50);
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide--w66,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--w66 {
		flex-basis: var(--spot-dynamic-mobile-slide-w66);
	}

	.f3 .spot-dynamic-carousel-track .spot-carousel--stretch .spot-carousel__slide--w100,
	.f3 .spot-dynamic-carousel-track .spot-carousel--half_height .spot-carousel__slide--w100 {
		flex-basis: var(--spot-dynamic-mobile-slide-w100);
	}

	.spot-dynamic-carousel-track .spot-carousel__button.embla__button--prev {
		left: var(--spot-dynamic-side-control-offset);
		transform: translateY(-50%);
	}

	.spot-dynamic-carousel-track .spot-carousel__button.embla__button--next {
		right: var(--spot-dynamic-side-control-offset);
		transform: translateY(-50%);
	}
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text {
	position: relative;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text .feature-content {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text .thumb_holder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text > .text_holder {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	min-height: 100%;
	padding: var(--f3-feature-layer-padding-y) var(--f3-feature-layer-padding-x);
	text-align: center;
	transform: none;
	pointer-events: none;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text.text-v-align-top > .text_holder {
	justify-content: flex-start;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text.text-v-align-middle > .text_holder {
	justify-content: center;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text.text-v-align-bottom > .text_holder {
	justify-content: flex-end;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text.text-side-left > .text_holder {
	align-items: flex-start;
	text-align: left;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text.text-side-center > .text_holder {
	align-items: center;
	text-align: center;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text.text-side-right > .text_holder {
	align-items: flex-end;
	text-align: right;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text:is(.content-position-top_left, .content-position-top_center, .content-position-top_right) > .text_holder {
	justify-content: flex-start;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text:is(.content-position-center_left, .content-position-center_center, .content-position-center_right) > .text_holder {
	justify-content: center;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text:is(.content-position-bottom_left, .content-position-bottom_center, .content-position-bottom_right) > .text_holder {
	justify-content: flex-end;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text:is(.content-position-top_left, .content-position-center_left, .content-position-bottom_left) > .text_holder {
	align-items: flex-start;
	text-align: left;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text:is(.content-position-top_center, .content-position-center_center, .content-position-bottom_center) > .text_holder {
	align-items: center;
	text-align: center;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text:is(.content-position-top_right, .content-position-center_right, .content-position-bottom_right) > .text_holder {
	align-items: flex-end;
	text-align: right;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text > .text_holder .paragraph,
.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text > .text_holder .btn-holder {
	width: 100%;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__slide > .feature.has-background-media.has-overlay-text > .text_holder :is(a, button, .feature-button, .btn) {
	pointer-events: auto;
}

.f3 .spot-dynamic-carousel-track .spot-carousel__container .spot-carousel__slide:last-child {
	margin-right: var(--spot-dynamic-gap);
}

.f3 .spot-dynamic-carousel-track .spot-carousel--dynamic-no-loop .spot-carousel__container {
	padding-left: var(--spot-dynamic-edge-space);
	padding-right: 0;
}

.f3 .spot-dynamic-carousel-track .spot-carousel--dynamic-no-loop .spot-carousel__slide:last-child {
	margin-right: calc(var(--spot-dynamic-edge-space) + var(--spot-dynamic-gap));
}
