/**
 * NAbSA chrome — header, footer, drawer, search popup, newsletter panel.
 * Values measured from production's Elementor templates #4110 / #2780 (post-*.css)
 * and live computed styles at 1440 / 1024 / 390.
 *
 * @package astra-child
 */

:root {
	--nabsa-blue: #003478;
	--nabsa-yellow: #FDC82F;
	--nabsa-green: #3F9C35;
	--nabsa-sky: #63B1E5;
	--nabsa-grey: #BABABA;
	--nabsa-border: #EDEDED;
	--nabsa-ink: #0B213F;
	--nabsa-head: "League Spartan", Helvetica, Arial, sans-serif;
	--nabsa-accent: "Nunito", Helvetica, Arial, sans-serif;
	--nabsa-body: Helvetica, Arial, sans-serif;
	--nabsa-header-h: 80px;
}
@media (max-width: 767px) { :root { --nabsa-header-h: 68px; } }

/* Cross-document page fade (house standard). Browsers without support just navigate. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 260ms; }

html.nabsa-noscroll, html.nabsa-noscroll body { overflow: hidden; }
body { font-family: var(--nabsa-body); }
.nabsa-native .site-content > .ast-container { max-width: 100%; padding: 0; display: block; }
.nabsa-native #primary { margin: 0; padding: 0; width: 100%; }

/* ---------------------------------------------------------------- Header */
.nabsa-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: #fff;
	box-shadow: 0 0 8px 2px rgba(0, 0, 0, .16);
}
.admin-bar .nabsa-header { top: 32px; }
.nabsa-header__bar {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	padding: 13px 15px 15px;
	min-height: var(--nabsa-header-h);
	box-sizing: border-box;
}
.nabsa-header__logo { flex: 0 0 auto; display: block; line-height: 0; }
.nabsa-header__logo img { width: 150px; height: auto; display: block; }
.nabsa-header__menu { flex: 1 1 auto; min-width: 0; }
.nabsa-header__lang { flex: 0 0 auto; width: 55px; max-width: 55px; margin: -2px 0 0 auto; }
.nabsa-header__nl { flex: 0 0 auto; display: block; margin: -8px 0 0; line-height: 0; }
.nabsa-header__nl img { width: 20px; height: 20px; display: block; }
.nabsa-header__search {
	flex: 0 0 40px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 40px;
	height: 15px;
	padding: 0;
	margin: 0;
	border: 0;
	background: none !important;
	color: #3F444B !important;
	cursor: pointer;
	line-height: 0;
}
.nabsa-header__search:hover, .nabsa-header__search:focus-visible { color: var(--nabsa-blue) !important; }
@media (min-width: 1600px) {
	.nabsa-header__bar { padding: 15px 30px; }
	.nabsa-header__lang { margin-top: -1px; }
}
@media (max-width: 1024px) {
	.nabsa-header__bar { padding: 15px 15px 15px 20px; }
	.nabsa-header__lang { margin-left: -20px; }
	.nabsa-header__nl { display: none; }
	.nabsa-header__menu { display: flex; justify-content: flex-end; }
}
@media (max-width: 767px) {
	.nabsa-header__bar { padding: 10px; }
	.nabsa-header__logo img { width: 144px; }
	.nabsa-header__lang { width: 33px; max-width: 33px; margin-left: auto; }
	.nabsa-header__search { margin: 5px 10px 0 0; }
}

/* ---------------------------------------------------------------- Mobile drawer (was Elementor popup #4136) */
.nabsa-drawer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(0, 0, 0, .35);
	opacity: 0;
	transition: opacity .25s ease;
}
.nabsa-drawer.is-open { opacity: 1; }
.nabsa-drawer__sheet {
	position: absolute;
	inset: 0;
	overflow-y: auto;
	background: #fff;
	padding: 10px 40px 40px;
	transform: translate3d(0, -12px, 0);
	transition: transform .25s ease;
}
.nabsa-drawer.is-open .nabsa-drawer__sheet { transform: none; }
.nabsa-drawer__brand { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin: 0 -30px 24px; }
.nabsa-drawer__brand img { width: 144px; height: auto; display: block; }
.nabsa-drawer__close {
	width: 44px; height: 44px; display: grid; place-items: center;
	border: 0; padding: 0; background: none !important; color: var(--nabsa-blue) !important; cursor: pointer;
}
@media (max-width: 767px) { .nabsa-drawer__sheet { padding: 10px 30px 40px; } .nabsa-drawer__brand { margin: 0 -20px 24px; } }

/* ---------------------------------------------------------------- Search popup (was Elementor popup #3587 + SearchWP) */
.nabsa-search {
	position: fixed;
	inset: 0;
	z-index: 100001;
	background: rgba(0, 18, 46, .55);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 14vh 20px 20px;
}
.nabsa-search[hidden] { display: none; }
.nabsa-search__modal {
	position: relative;
	width: 100%;
	max-width: 720px;
	background: #fff;
	border-radius: 10px;
	padding: 40px 30px 30px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}
.nabsa-search__close {
	position: absolute; top: 8px; right: 8px; width: 40px; height: 40px;
	display: grid; place-items: center; border: 0; padding: 0;
	background: none !important; color: #3F444B !important; cursor: pointer;
}
.nabsa-search__form { display: flex; gap: 10px; align-items: flex-start; }
.nabsa-search__field { position: relative; flex: 1 1 auto; }
.nabsa-search__field input {
	width: 100%;
	height: 52px;
	border: 1px solid #ccd3dc;
	border-radius: 6px;
	padding: 0 16px;
	font: 400 16px/1 var(--nabsa-body);
	color: #1e1e1e;
}
.nabsa-search__field input:focus { outline: 2px solid var(--nabsa-sky); outline-offset: 1px; border-color: var(--nabsa-blue); }
.nabsa-search__btn {
	height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 80px;
	background: var(--nabsa-blue) !important;
	color: #fff !important;
	font: 500 16px/1 var(--nabsa-accent);
	cursor: pointer;
}
.nabsa-search__btn:hover { background: #00265a !important; }
.nabsa-search__results { list-style: none; margin: 8px 0 0; padding: 6px 0; border: 1px solid var(--nabsa-border); border-radius: 6px; background: #fff; }
.nabsa-search__results li { margin: 0; }
.nabsa-search__results a { display: block; padding: 9px 16px; color: var(--nabsa-ink); text-decoration: none; font-size: 15px; }
.nabsa-search__results a:hover, .nabsa-search__results a:focus { background: #f2f6fb; color: var(--nabsa-blue); }
@media (max-width: 544px) { .nabsa-search__form { flex-direction: column; align-items: stretch; } .nabsa-search__modal { padding: 44px 18px 20px; } }

/* ---------------------------------------------------------------- Footer */
.nabsa-footer { font-family: var(--nabsa-body); }
.nabsa-footer img { max-width: 100%; height: auto; }
.nabsa-footer__partners {
	display: flex;
	max-width: 1140px;
	margin: 0 auto;
	padding: 30px 40px;
	box-sizing: content-box;
	background: #fff;
}
.nabsa-footer__partner { flex: 1 1 50%; padding: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.nabsa-footer__partner--canada img { width: 60%; margin-top: -7px; }
.nabsa-footer__partner--iucn img { width: 79px; }
.nabsa-footer__partner--nabsa img { width: 50%; margin-top: 10px; }

.nabsa-footer__main, .nabsa-footer__meta { background: var(--nabsa-blue); }
.nabsa-footer__inner { max-width: 1280px; margin: 0 auto; display: flex; box-sizing: border-box; }
.nabsa-footer__main .nabsa-footer__inner { padding: 40px; justify-content: space-between; }
.nabsa-footer__brand { flex: 0 0 280px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.nabsa-footer__logo { width: 150px !important; margin-bottom: 10px; filter: brightness(0) saturate(100%) invert(100%); }
.nabsa-footer__about { margin: 0; color: var(--nabsa-grey); font-size: 1em; line-height: 1.65; }
.nabsa-footer__mail { font: 600 1.5em/1 var(--nabsa-head); color: #fff !important; text-decoration: none; }
.nabsa-footer__mail:hover { color: var(--nabsa-yellow) !important; }
.nabsa-footer__contact, .nabsa-footer__card-btn {
	display: inline-block;
	border-radius: 80px;
	padding: 20px 60px;
	font: 500 1.1em/1 var(--nabsa-accent);
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease, transform .2s ease;
}
.nabsa-footer__contact { background: #fff; color: #000 !important; }
.nabsa-footer__contact:hover, .nabsa-footer__contact:focus { color: var(--nabsa-blue) !important; transform: translateY(-1px); }
.nabsa-footer__nav { flex: 0 1 calc(100% - 560px); display: flex; justify-content: center; }
.nabsa-footer__subscribe { flex: 0 0 280px; }
.nabsa-footer__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 30px;
	border-radius: 10px;
	background: var(--nabsa-sky);
	text-align: center;
}
.nabsa-footer__card img { width: 50px; filter: brightness(0) saturate(100%) invert(100%); }
.nabsa-footer__card-title { font: 700 1.5em/1em var(--nabsa-head); color: #fff; }
.nabsa-footer__card-btn { background: var(--nabsa-blue); color: #fff !important; font-size: 1em; }
.nabsa-footer__card-btn:hover, .nabsa-footer__card-btn:focus { color: #fff !important; background: #00265a; transform: translateY(-1px); }

.nabsa-footer__inner--meta { flex-wrap: wrap; align-items: center; gap: 20px; padding: 0 40px 20px; }
.nabsa-footer__rule { flex: 0 0 100%; margin: 0; border: 0; border-top: 1px solid #fff; height: 0; }
.nabsa-footer__follow { margin: 0 30px 0 0; font: 600 1.5em/1.25 var(--nabsa-head); color: #fff; }
.nabsa-footer__social { display: flex; gap: 4px; }
.nabsa-footer__social a { display: grid; place-items: center; width: 44px; height: 44px; color: rgba(255, 255, 255, .64) !important; transition: color .2s ease; }
.nabsa-footer__social a:hover { color: #fff !important; }
.nabsa-footer__copyright { margin-left: auto; font-size: .8em; color: var(--nabsa-grey); }
.nabsa-footer__copyright a { color: var(--nabsa-grey) !important; }
.nabsa-footer__copyright a:hover { color: #fff !important; }

@media (max-width: 1024px) {
	.nabsa-footer__main .nabsa-footer__inner { flex-wrap: wrap; gap: 40px 0; }
	.nabsa-footer__nav { flex: 1 1 calc(100% - 280px); }
	.nabsa-footer__subscribe { flex: 0 0 100%; display: flex; justify-content: center; }
	.nabsa-footer__card { width: 280px; box-sizing: border-box; }
	.nabsa-footer__social { gap: 10px; }
}
@media (max-width: 767px) {
	.nabsa-footer__partners { padding: 40px 13px; gap: 20px 0; box-sizing: border-box; }
	.nabsa-footer__partner { flex: 0 0 33%; }
	.nabsa-footer__partner--canada img, .nabsa-footer__partner--nabsa img { width: 100%; margin-top: 0; }
	.nabsa-footer__partner--iucn img { width: 47px; }
	.nabsa-footer__main .nabsa-footer__inner { flex-direction: column; align-items: center; padding: 40px; }
	.nabsa-footer__brand { flex: 0 0 auto; align-items: center; text-align: center; width: 100%; }
	.nabsa-footer__nav { flex: 0 0 auto; width: 100%; justify-content: flex-start; }
	.nabsa-footer__contact { padding: 20px 60px; }
	.nabsa-footer__inner--meta { flex-direction: column; text-align: center; }
	.nabsa-footer__follow { margin: 0; }
	.nabsa-footer__copyright { margin: 0; }
}

/* ---------------------------------------------------------------- Newsletter slide-up (was Elementor popup #2738) */
.nabsa-nl {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9998;
	width: 360px;
	max-width: calc(100vw - 32px);
	box-sizing: border-box;
	padding: 28px 26px 24px;
	border-radius: 10px;
	background: var(--nabsa-blue);
	color: #fff;
	box-shadow: 0 16px 40px rgba(0, 20, 50, .3);
	transform: translate3d(0, calc(100% + 40px), 0);
	visibility: hidden;
	transition: transform .45s cubic-bezier(.22, .61, .36, 1), visibility 0s linear .45s;
}
.nabsa-nl[data-state="shown"] { transform: none; visibility: visible; transition: transform .45s cubic-bezier(.22, .61, .36, 1); }
.nabsa-nl__close {
	position: absolute; top: 8px; right: 8px; width: 36px; height: 36px;
	display: grid; place-items: center; border: 0; padding: 0;
	background: none !important; color: rgba(255, 255, 255, .8) !important; cursor: pointer;
}
.nabsa-nl__close:hover { color: #fff !important; }
.nabsa-nl__title { margin: 0 24px 8px 0; font: 600 22px/1.15 var(--nabsa-head); color: #fff; }
.nabsa-nl__text { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
.nabsa-nl .mc4wp-form-fields { display: flex; flex-direction: column; gap: 10px; }
.nabsa-nl .mc4wp-form-fields p { margin: 0; }
.nabsa-nl .mc4wp-form-fields label { display: block; font-size: 13px; margin-bottom: 4px; color: rgba(255, 255, 255, .9); }
.nabsa-nl input[type=email], .nabsa-nl input[type=text] {
	width: 100%; box-sizing: border-box; height: 44px; border: 0; border-radius: 6px; padding: 0 14px; font-size: 15px; color: #1e1e1e; background: #fff;
}
.nabsa-nl input[type=submit] {
	width: 100%; height: 46px; border: 0; border-radius: 80px; cursor: pointer;
	background: #fff !important; color: var(--nabsa-blue) !important; font: 600 16px/1 var(--nabsa-accent);
}
.nabsa-nl input[type=submit]:hover { background: var(--nabsa-yellow) !important; }
.nabsa-nl .mc4wp-response { font-size: 14px; margin-top: 8px; }
@media (max-width: 767px) {
	.nabsa-nl { right: 0; bottom: 0; width: 100%; max-width: 100%; border-radius: 14px 14px 0 0; padding: 24px 20px 20px; }
}
@media (prefers-reduced-motion: reduce) { .nabsa-nl, .nabsa-nl[data-state="shown"], .nabsa-drawer, .nabsa-drawer__sheet { transition: none; } }

/* ---------------------------------------------------------------- Lightbox */
.nabsa-lb { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 50px 70px; background: rgba(0, 10, 25, .92); }
.nabsa-lb[hidden] { display: none; }
.nabsa-lb img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
.nabsa-lb button { position: absolute; border: 0; background: none !important; color: #fff !important; cursor: pointer; font: 300 44px/1 var(--nabsa-body); padding: 10px 16px; opacity: .8; }
.nabsa-lb button:hover { opacity: 1; }
.nabsa-lb__close { top: 10px; right: 14px; }
.nabsa-lb__prev { left: 10px; top: 50%; transform: translateY(-50%); }
.nabsa-lb__next { right: 10px; top: 50%; transform: translateY(-50%); }
.nabsa-lb.is-single .nabsa-lb__prev, .nabsa-lb.is-single .nabsa-lb__next { display: none; }
@media (max-width: 767px) { .nabsa-lb { padding: 50px 10px; } }
