:root {
	--abz-sticky-banner-height: 0px;
	--abz-sticky-banner-admin-offset: 0px;
}

body.admin-bar.abz-has-sticky-header-banner {
	--abz-sticky-banner-admin-offset: 32px;
}

.abz-sticky-header-banner,
.abz-sticky-header-banner-spacer {
	width: 100%;
	aspect-ratio: var(--abz-sticky-banner-mobile-ratio);
}

.abz-sticky-header-banner {
	position: fixed;
	top: var(--abz-sticky-banner-admin-offset);
	right: 0;
	left: 0;
	z-index: 11;
	display: block;
	overflow: hidden;
	background: #fff;
	transform: translateY(0);
	transition: transform 240ms ease;
	will-change: transform;
}

.abz-sticky-header-banner picture,
.abz-sticky-header-banner > a,
.abz-sticky-header-banner img {
	display: block;
	width: 100%;
	height: 100%;
}

.abz-sticky-header-banner img {
	object-fit: cover;
}

body.abz-has-sticky-header-banner header#header {
	top: calc(var(--abz-sticky-banner-admin-offset) + var(--abz-sticky-banner-height));
	transition: top 240ms ease;
}

body.abz-has-sticky-header-banner header#header::before {
	top: calc(9.25rem + var(--abz-sticky-banner-admin-offset) + var(--abz-sticky-banner-height));
	transition: top 240ms ease;
}

body.abz-has-sticky-header-banner .fixed.top-37 {
	top: calc(9.25rem + var(--abz-sticky-banner-admin-offset) + var(--abz-sticky-banner-height));
	transition: top 240ms ease;
}

body.abz-has-sticky-header-banner.abz-sticky-header-banner-hidden .abz-sticky-header-banner {
	transform: translateY(-100%);
}

body.abz-has-sticky-header-banner.abz-sticky-header-banner-hidden header#header {
	top: var(--abz-sticky-banner-admin-offset);
}

body.abz-has-sticky-header-banner.abz-sticky-header-banner-hidden header#header::before,
body.abz-has-sticky-header-banner.abz-sticky-header-banner-hidden .fixed.top-37 {
	top: calc(9.25rem + var(--abz-sticky-banner-admin-offset));
}

@media (min-width: 1024px) {
	.abz-sticky-header-banner,
	.abz-sticky-header-banner-spacer {
		aspect-ratio: var(--abz-sticky-banner-desktop-ratio);
	}

	body.abz-has-sticky-header-banner header#header::before {
		top: calc(9.75rem + var(--abz-sticky-banner-admin-offset) + var(--abz-sticky-banner-height));
	}

	body.abz-has-sticky-header-banner.abz-sticky-header-banner-hidden header#header::before {
		top: calc(9.75rem + var(--abz-sticky-banner-admin-offset));
	}
}

@media (prefers-reduced-motion: reduce) {
	.abz-sticky-header-banner,
	body.abz-has-sticky-header-banner header#header,
	body.abz-has-sticky-header-banner header#header::before,
	body.abz-has-sticky-header-banner .fixed.top-37 {
		transition: none;
	}
}
