/* ND Hero Slider */
.ndhs {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
	min-height: 60vh;
	box-sizing: border-box;
}
.ndhs__slides,
.ndhs__slide,
.ndhs__overlay {
	position: absolute;
	inset: 0;
}
.ndhs__slides { z-index: 0; }
.ndhs__slide {
	opacity: 0;
	transition: opacity var(--ndhs-fade, 1200ms) ease-in-out;
	will-change: opacity;
}
.ndhs__slide.is-active { opacity: 1; z-index: 1; }
/* Specificity above Elementor's ".elementor img" reset. */
.ndhs .ndhs__slide .ndhs__img,
.ndhs .ndhs__slide img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--ndhs-focal, center);
	border-radius: 0;
}
.ndhs--kenburns .ndhs__slide.is-active .ndhs__img,
.ndhs .ndhs--kenburns .ndhs__slide.is-active .ndhs__img {
	animation: ndhs-kenburns var(--ndhs-interval, 5000ms) linear forwards;
}
.ndhs--kenburns .ndhs__slide.is-leaving .ndhs__img { transform: scale(1.12); }
@keyframes ndhs-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.12); }
}
.ndhs__overlay { z-index: 1; pointer-events: none; }
.ndhs__frame {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	border: var(--ndhs-frame-width, 0) solid var(--ndhs-frame-color, transparent);
}
.ndhs__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--ndhs-content-width, 1288px);
	margin: 0 auto;
	padding: var(--ndhs-content-padding, 0 24px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--ndhs-gap, 40px);
	box-sizing: border-box;
}
.ndhs__caption {
	width: 100%;
	transition: opacity 400ms ease;
}
.ndhs__caption.is-swapping { opacity: 0; }
.ndhs__heading {
	margin: 0;
	text-align: center;
}
.ndhs__panel {
	width: 100%;
	max-width: var(--ndhs-panel-width, 830px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--ndhs-panel-gap, 40px);
	box-sizing: border-box;
}
.ndhs__text { text-align: center; }
.ndhs__text > :first-child { margin-top: 0; }
.ndhs__text > :last-child { margin-bottom: 0; }
.ndhs__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	line-height: 1;
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}
.ndhs__button-icon { display: inline-flex; }
.ndhs__button-icon svg { width: 1em; height: 1em; fill: currentColor; }
.ndhs__button-icon img { width: 1em; height: 1em; display: block; }

/* Dots (optional) */
.ndhs__dots {
	position: absolute;
	left: 0; right: 0;
	bottom: calc(var(--ndhs-frame-width, 0px) + 12px);
	z-index: 4;
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0; padding: 0; list-style: none;
}
.ndhs__dot {
	width: 10px; height: 10px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255,255,255,.55);
	cursor: pointer;
}
.ndhs__dot[aria-current="true"] { background: #fff; }

/* Arrows (optional) */
.ndhs__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	width: 44px; height: 44px;
	border: 0; border-radius: 50%;
	background: rgba(0,0,0,.35);
	color: #fff;
	cursor: pointer;
	display: grid; place-items: center;
}
.ndhs__arrow--prev { left: calc(var(--ndhs-frame-width, 0px) + 16px); }
.ndhs__arrow--next { right: calc(var(--ndhs-frame-width, 0px) + 16px); }
.ndhs__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }

.ndhs__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
	.ndhs__slide { transition: none; }
	.ndhs--kenburns .ndhs__slide.is-active .ndhs__img,
.ndhs .ndhs--kenburns .ndhs__slide.is-active .ndhs__img { animation: none; }
}
