/* Front page hero banner (ACF repeater: banner) */

.home .site-content {
	display: block;
	max-width: none;
	padding: 0;
	margin: 0;
}

.home .content-area {
	border: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
}

.topfeel-front-body {
	padding-top: 2rem;
	padding-bottom: 2.5rem;
}

.topfeel-hero {
	position: relative;
	isolation: isolate;
	height: 100vh;
	background: #070708;
	overflow: hidden;
}

.topfeel-hero__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.6s ease;
	z-index: 0;
}

.topfeel-hero__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.topfeel-hero__media,
.topfeel-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topfeel-hero__media img {
	object-fit: cover;
	object-position: center center;
}

.topfeel-hero__dots {
	position: absolute;
	z-index: 4;
	left: 50%;
	bottom: clamp(16px, 3vh, 28px);
	display: flex;
	gap: 10px;
	transform: translateX(-50%);
}

.topfeel-hero__dot {
	width: 38px;
	height: 4px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.35);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.topfeel-hero__dot:hover,
.topfeel-hero__dot:focus-visible,
.topfeel-hero__dot.is-active {
	background: #fff;
	transform: scaleY(1.15);
}

.topfeel-hero__nav {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(64px, 6vw, 90px);
	height: clamp(120px, 16vw, 200px);
	margin-top: calc(clamp(120px, 16vw, 200px) * -0.5);
	padding: 0;
	border: 0;
	background: none;
	color: #fff;
	font-family: var(--font-nav);
	font-size: clamp(48px, 5vw, 74px);
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.topfeel-hero__nav--prev {
	left: 0;
	border-radius: 0;
}

.topfeel-hero__nav--next {
	right: 0;
	border-radius: 0;
}

.topfeel-hero__nav:hover,
.topfeel-hero__nav:focus-visible {
	background: none;
	color: #fff;
}

.topfeel-hero__nav:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: -2px;
}

.topfeel-hero__nav-icon {
	width: clamp(44px, 4.5vw, 64px);
	height: clamp(44px, 4.5vw, 64px);
	filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.55));
	pointer-events: none;
	opacity: 0.7;
}

@media (max-width: 1100px) {
	.topfeel-hero {
		min-height: 620px;
		height: 90vh;
	}

	.topfeel-hero__nav {
		display: none;
	}
}

@media (max-width: 680px) {
	.home .site-header {
		background: #000;
	}

	.topfeel-hero {
		min-height: auto;
		height: auto;
		margin-top: 72px;
	}

	.topfeel-hero__slide {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
		opacity: 1;
		z-index: auto;
		display: none;
	}

	.topfeel-hero__slide.is-active {
		display: block;
	}

	.topfeel-hero__media,
	.topfeel-hero__media img {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
		display: block;
	}

	.topfeel-hero__media img {
		object-fit: contain;
		object-position: center top;
	}

	.topfeel-hero__dot {
		width: 30px;
	}
}

/* Remove top white seam on homepage */
.home .site-header {
	border-bottom: 0;
}

.home .topfeel-hero__media,
.home .topfeel-hero__media img {
	border: 0;
	margin-top: 0;
}

.home .topfeel-hero {
	border: 0;
}
