/* V2 Helicopters Promo Banner — front end */
.v2pb-header-stack { position: relative; z-index: 10000; width: 100%; }

.v2pb-banner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: var(--v2pb-margin, 0);
	padding: var(--v2pb-pad, 12px 20px);
	background: var(--v2pb-bg, #0c0c0c);
	color: var(--v2pb-color, #fff);
	border-bottom: var(--v2pb-border, 0 solid transparent);
	font-family: var(--v2pb-font, inherit);
	font-size: var(--v2pb-fs, 15px);
	font-weight: var(--v2pb-fw, 600);
	line-height: var(--v2pb-lh, 1.4);
	letter-spacing: var(--v2pb-ls, 0.5px);
	text-transform: var(--v2pb-tt, none);
	-webkit-font-smoothing: antialiased;
}
.v2pb-banner[hidden] { display: none !important; }
.v2pb-banner *, .v2pb-banner *::before, .v2pb-banner *::after { box-sizing: border-box; }

.v2pb-banner.v2pb-sticky { position: sticky; top: 0; z-index: 10000; }
body.admin-bar .v2pb-banner.v2pb-sticky { top: 32px; }
@media (max-width: 782px) { body.admin-bar .v2pb-banner.v2pb-sticky { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .v2pb-banner.v2pb-sticky { top: 0; } }
/* Sticky needs the stack itself to be the sticky element when injected in the header. */
.v2pb-header-stack:has(.v2pb-sticky) { position: sticky; top: 0; }
body.admin-bar .v2pb-header-stack:has(.v2pb-sticky) { top: 32px; }
@media (max-width: 782px) { body.admin-bar .v2pb-header-stack:has(.v2pb-sticky) { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .v2pb-header-stack:has(.v2pb-sticky) { top: 0; } }

.v2pb-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px var(--v2pb-gap, 18px);
	max-width: var(--v2pb-max, 1300px);
	margin: 0 auto;
}
.v2pb-align-left .v2pb-inner { justify-content: flex-start; text-align: left; }
.v2pb-align-center .v2pb-inner { justify-content: center; text-align: center; }
.v2pb-align-right .v2pb-inner { justify-content: flex-end; text-align: right; }

.v2pb-banner--split .v2pb-inner { justify-content: space-between; flex-wrap: nowrap; }
.v2pb-banner--split .v2pb-content { flex: 1 1 auto; }
.v2pb-banner--split.v2pb-align-center .v2pb-content { text-align: center; }
.v2pb-banner--stacked .v2pb-inner { flex-direction: column; }
.v2pb-banner--stacked.v2pb-align-left .v2pb-inner { align-items: flex-start; }
.v2pb-banner--stacked.v2pb-align-right .v2pb-inner { align-items: flex-end; }

/* Content (WYSIWYG output) */
.v2pb-content { min-width: 0; color: inherit; font: inherit; }
.v2pb-content p, .v2pb-content h1, .v2pb-content h2, .v2pb-content h3, .v2pb-content h4, .v2pb-content ul, .v2pb-content ol {
	margin: 0; padding: 0; color: inherit; font-size: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit;
}
.v2pb-content p + p { margin-top: .25em; }
.v2pb-content strong, .v2pb-content b { font-weight: 800; }
.v2pb-content a { color: var(--v2pb-link, #b7c900); text-decoration: underline; text-underline-offset: 3px; }
.v2pb-content a:hover { text-decoration-thickness: 2px; }
.v2pb-content mark, .v2pb-content code {
	background: transparent; color: var(--v2pb-highlight, #b7c900);
	font-family: inherit; font-size: inherit; font-weight: 800; padding: 0;
}
.v2pb-content code {
	border: 1px dashed currentColor; padding: .05em .45em; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}

/* Button */
.v2pb-button {
	display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
	padding: var(--v2pb-btn-pad, 9px 20px);
	border: 2px solid var(--v2pb-btn-bg, #b7c900);
	border-radius: var(--v2pb-btn-radius, 0);
	background: var(--v2pb-btn-bg, #b7c900);
	color: var(--v2pb-btn-color, #0c0c0c) !important;
	font-family: inherit;
	font-size: var(--v2pb-btn-fs, 13px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.v2pb-button:hover, .v2pb-button:focus-visible {
	background: var(--v2pb-btn-bg-h, #fff);
	border-color: var(--v2pb-btn-bg-h, #fff);
	color: var(--v2pb-btn-color-h, #0c0c0c) !important;
}
.v2pb-button:focus-visible { outline: 2px solid var(--v2pb-color, #fff); outline-offset: 3px; }
.v2pb-btn-outline .v2pb-button { background: transparent; color: var(--v2pb-btn-bg, #b7c900) !important; }
.v2pb-arrow { transition: transform .2s ease; }
.v2pb-button:hover .v2pb-arrow { transform: translateX(3px); }

/* Close */
.v2pb-close {
	position: absolute; top: 50%; right: 10px; transform: translateY(-50%);
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; background: transparent; color: inherit;
	cursor: pointer; opacity: .75; box-shadow: none;
}
.v2pb-close:hover, .v2pb-close:focus-visible { opacity: 1; background: rgba(255,255,255,.12); }
.v2pb-banner:has(.v2pb-close) { padding-right: calc(var(--v2pb-pad-r, 20px) + 30px); }

/* Mobile (default breakpoint 768px; JS adds .v2pb-is-mobile for custom breakpoints) */
@media (max-width: 767px) {
	.v2pb-banner:not(.v2pb-custom-bp) { font-size: var(--v2pb-fs-m, 13px); }
	.v2pb-banner:not(.v2pb-custom-bp) .v2pb-inner { flex-direction: column; flex-wrap: wrap; text-align: center; }
	.v2pb-banner:not(.v2pb-custom-bp) .v2pb-content { text-align: center !important; }
}
.v2pb-banner.v2pb-is-mobile { font-size: var(--v2pb-fs-m, 13px); }
.v2pb-banner.v2pb-is-mobile .v2pb-inner { flex-direction: column; flex-wrap: wrap; text-align: center; }
.v2pb-banner.v2pb-is-mobile .v2pb-content { text-align: center !important; }

@media (prefers-reduced-motion: reduce) {
	.v2pb-button, .v2pb-arrow { transition: none; }
}
@media print { .v2pb-header-stack { display: none; } }
