/**
 * Home hero vacation marquee (v8).
 * Slim strip (~1.5rem) like Techxos. Desktop: extra white + badge pull-in kills blue gap.
 * Mobile: scroll ~24s (linear −50% loop unchanged—duration only scales speed). ≥640px ~54s.
 */

@keyframes fdMarqueeV8 {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

.hero-section--marquee .fd-hero-marquee.fd-hero-marquee--v8 {
	--fd-marquee-h: 1.5rem;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 30;
	box-sizing: border-box;
	background-color: #00468d;
	overflow: hidden;
	padding: 0.6rem 0;
	color-scheme: light;
	margin-bottom: 0.65rem;
	-webkit-font-smoothing: antialiased;
}

@media (min-width: 640px) {
	.hero-section--marquee .fd-hero-marquee.fd-hero-marquee--v8 {
		margin-bottom: 0;
	}
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__center {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
}

@media (min-width: 640px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__center {
		padding-left: clamp(1rem, 4.2vw, 4.5rem);
		padding-right: 5vw;
	}
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__row {
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__row-inner {
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

@media (max-width: 639.98px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track-outer {
		margin-left: 3vw;
		width: calc(100% - 3vw);
		box-sizing: border-box;
	}

	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 10;
		clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
		box-shadow: -6px 0 0 #ffffff;
	}
}

@media (min-width: 640px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__row-inner {
		--fd-marquee-track-w: min(60vw, calc(100% - 10.5rem));
		--fd-marquee-overlap: 1.35rem;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: stretch;
		overflow: visible;
		gap: 0;
	}

	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track-outer {
		margin-left: 0;
		width: calc(var(--fd-marquee-track-w) + var(--fd-marquee-overlap));
		flex: 0 0 calc(var(--fd-marquee-track-w) + var(--fd-marquee-overlap));
		max-width: calc(60vw + var(--fd-marquee-overlap));
	}

	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge {
		position: relative;
		top: auto;
		right: auto;
		flex: 0 0 auto;
		z-index: 2;
		clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
		box-shadow: -8px 0 0 #ffffff;
		margin: 0;
		margin-left: calc(-1 * var(--fd-marquee-overlap) - 2px);
		padding-left: 1.05rem;
	}
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track-outer {
	height: var(--fd-marquee-h);
	min-height: var(--fd-marquee-h);
	max-height: var(--fd-marquee-h);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: #ffffff;
	padding: 0 0 0 3px;
	border: 0;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	flex: 0 0 auto;
	flex-shrink: 0;
	width: max-content;
	min-width: max-content;
	max-width: none;
	white-space: nowrap;
	will-change: transform;
	animation: fdMarqueeV8 60s linear infinite;
	backface-visibility: hidden;
	transform: translateZ(0);
}

@media (min-width: 640px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track {
		animation-duration: 54s;
	}
}

@media (max-width: 639.98px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track {
		animation-duration: 24s;
	}
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__track span {
	flex: none;
	flex-shrink: 0;
	flex-grow: 0;
	min-width: -moz-max-content;
	min-width: max-content;
	width: max-content;
	display: inline-block;
	white-space: nowrap;
	margin-right: 3rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #000000;
	line-height: var(--fd-marquee-h);
	height: var(--fd-marquee-h);
	padding: 0 0.45rem 0 0.2rem;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: var(--fd-marquee-h);
	min-height: var(--fd-marquee-h);
	padding: 0 0.65rem 0 0.65rem;
	background-color: #ff0000 !important;
	background: #ff0000 !important;
	color: #ffffff !important;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

@media (min-width: 640px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge {
		font-size: 0.9375rem;
		padding: 0 0.75rem 0 1.05rem;
		max-width: none;
	}
}

@media (max-width: 639.98px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge {
		max-width: none;
		padding: 0 0.45rem 0 0.8rem;
	}
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge-text {
	display: inline-block;
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge-text--mobile {
	display: none;
}

@media (max-width: 639.98px) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge-text--desktop {
		display: none;
	}

	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge-text--mobile {
		display: inline;
	}
}

@media (forced-colors: active) {
	.hero-section--marquee .fd-hero-marquee--v8 .fd-hero-marquee__badge {
		forced-color-adjust: none;
		background-color: #ff0000 !important;
		color: #ffffff !important;
	}
}

.hero-section--marquee .fd-hero-marquee--v8 .fd-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
