/* IFEDD Modern — overrides that must win over saved Global Styles */

.wp-site-blocks {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}


/* ==========================================================================
   Fixed, translucent header
   ========================================================================== */

.ifedd-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;

	background: transparent;
	border-bottom: 1px solid transparent;
}

.ifedd-site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.72);

	backdrop-filter: blur(20px) saturate(180%);
	-webkit-backdrop-filter: blur(20px) saturate(180%);

	border-bottom-color: rgba(12, 34, 31, 0.08);

	box-shadow: 0 8px 30px rgba(12, 34, 31, 0.06);
}


/* Header content width */

.ifedd-site-header-inner {
	width: 100%;
	max-width: 1200px;

	margin-left: auto;
	margin-right: auto;

	padding: 26px 32px !important;

	box-sizing: border-box;
}
/* ==========================================================================
   Footer
   Same 1200px rail and responsive gutters as header/main content
   ========================================================================== */

.ifedd-footer {
	width: 100%;
}

.ifedd-footer-inner {
	width: 100%;
	max-width: 1200px;

	margin-left: auto !important;
	margin-right: auto !important;

	padding: var(--wp--preset--spacing--60) 32px
		var(--wp--preset--spacing--50) !important;

	box-sizing: border-box;
}

@media (max-width: 1240px) {
	.ifedd-footer-inner {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

@media (max-width: 600px) {
	.ifedd-footer-inner {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}


/* Page offset for fixed header */

body {
	padding-top: 116px;
}


/* ==========================================================================
   WordPress admin bar
   WordPress applies body.admin-bar when logged in.
   ========================================================================== */

body.admin-bar .ifedd-site-header {
	top: 32px !important;
}


/*
WordPress switches the admin bar to 46px tall below 782px.
*/

@media screen and (max-width: 782px) {
	body.admin-bar .ifedd-site-header {
		top: 46px !important;
	}
}


/*
Do NOT add the admin bar height to body padding.
WordPress already offsets the document itself for the admin bar.
The fixed header only needs its own top position adjusted.
*/


/* ==========================================================================
   Responsive shared gutters
   ========================================================================== */

@media (max-width: 1240px) {
	.ifedd-site-header-inner {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

@media (max-width: 600px) {
	.ifedd-site-header-inner {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}


/* ==========================================================================
   Logo
   ========================================================================== */

.ifedd-logo img {
	max-height: 64px;
	width: auto;
}


/* ==========================================================================
   Top-level nav
   ========================================================================== */

.ifedd-site-header .wp-block-navigation-item__content {
	border-radius: 8px;
}

.ifedd-site-header
.wp-block-navigation__responsive-container:not(.is-menu-open)
.wp-block-navigation-item:not(.is-style-donate)
> .wp-block-navigation-item__content:hover {
	background: rgba(12, 34, 31, 0.06);
}


/* ==========================================================================
   Main content
   Same width and gutters as header
   ========================================================================== */

.main_content {
	width: 100%;
	max-width: 1200px;

	margin-left: auto;
	margin-right: auto;

	padding: 50px 32px;

	box-sizing: border-box;
}

@media (max-width: 1240px) {
	.main_content {
		padding-left: 24px;
		padding-right: 24px;
	}
}

@media (max-width: 600px) {
	.main_content {
		padding-left: 18px;
		padding-right: 18px;
	}
}


.comments_formatter li {
	margin-bottom: 25px;
}


/* ==========================================================================
   Homepage — hero, mission band, obstacle/support/action cards
   ========================================================================== */

.ifedd-hero-video {
	overflow: hidden;

	border-radius: 16px;

	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.ifedd-hero-video .wp-block-embed,
.ifedd-hero-video .wp-block-embed__wrapper {
	overflow: hidden;

	border-radius: 16px;

	margin: 0;
}

.ifedd-hero-video iframe {
	display: block;

	border-radius: 16px;
}


.ifedd-hero .wp-block-button__link.is-style-outline,
.ifedd-hero .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
}


.ifedd-card,
.ifedd-card-dark {
	height: 100%;
}


.ifedd-card {
	background-color: #EAF7F4 !important;

	border: 1px solid rgba(12, 34, 31, 0.08);

	box-shadow: none;
}


.ifedd-card ul.wp-block-list,
.ifedd-card-dark ul.wp-block-list {
	margin: 0;

	padding-left: 1.1rem;
}


.ifedd-card li,
.ifedd-card-dark li {
	margin-bottom: 0.85rem;

	line-height: 1.55;
}


.ifedd-card li:last-child,
.ifedd-card-dark li:last-child {
	margin-bottom: 0;
}


.ifedd-mission {
	border-top: 1px solid rgba(12, 34, 31, 0.08);
	border-bottom: 1px solid rgba(12, 34, 31, 0.08);
}


@media (max-width: 780px) {
	.ifedd-mission p {
		font-size: 1.4rem !important;
	}
}


/* ==========================================================================
   Desktop dropdown submenus
   ========================================================================== */

.wp-block-navigation__responsive-container:not(.is-menu-open)
.wp-block-navigation__submenu-container {
	background: #FFFFFF !important;

	border-radius: 8px;

	box-shadow: 0 8px 24px rgba(12, 34, 31, 0.15);

	padding: 0.5rem 0;

	min-width: 220px;
}


.wp-block-navigation__responsive-container:not(.is-menu-open)
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
	color: #0C221F !important;

	padding: 0.6rem 1.25rem;
}


.wp-block-navigation__responsive-container:not(.is-menu-open)
.wp-block-navigation__submenu-container
.wp-block-navigation-item:hover
> .wp-block-navigation-item__content {
	background: #DDF3F0;
}


/* Donate button */

.wp-block-navigation-item.is-style-donate
> .wp-block-navigation-item__content {
	background: #5ABA47;

	color: #FFFFFF !important;

	padding: 0.5rem 1.25rem;

	border-radius: 10px;
}


.wp-block-navigation-item.is-style-donate
> .wp-block-navigation-item__content:hover {
	background: #4CA83B !important;
}


/* ==========================================================================
   Buttons — site-wide
   ========================================================================== */

.wp-block-button__link {
	border-radius: 10px !important;
}


.wp-block-button.is-style-outline .wp-block-button__link {
	border-width: 2px !important;
}


.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: rgba(90, 186, 71, 0.08);
}


/* ==========================================================================
   MOBILE MENU
   Full-height, evenly spaced, no overlap
   ========================================================================== */

.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1000 !important;

	width: 100% !important;
	max-width: 100vw !important;

	height: 100vh !important;
	height: 100dvh !important;

	background: #0C221F !important;

	overflow: hidden !important;
	box-sizing: border-box !important;
}


/* WordPress admin bar */

body.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
	top: 32px !important;
	height: calc(100dvh - 32px) !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
		top: 46px !important;
		height: calc(100dvh - 46px) !important;
	}
}


/* Dialog */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-dialog {
	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;

	background: #0C221F !important;

	overflow: hidden !important;
	box-sizing: border-box !important;
}


/* Main menu content */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-content {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	max-width: 1200px !important;

	height: 100% !important;

	margin: 0 auto !important;

	padding: 58px 28px 20px !important;

	overflow-y: auto !important;
	overflow-x: hidden !important;

	box-sizing: border-box !important;

	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}


/* Main nav fills available height */

.wp-block-navigation__responsive-container.is-menu-open
ul.wp-block-navigation__container {
	display: flex !important;
	flex-direction: column !important;

	align-items: stretch !important;

	/*
	Spread the major sections vertically.
	This creates the flexible spacing without stretching
	or overlapping the individual sections.
	*/
	justify-content: space-evenly !important;

	width: 100% !important;

	min-height: 100% !important;

	flex: 1 0 auto !important;

	gap: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;

	box-sizing: border-box !important;
}


/* Every top-level section */

.wp-block-navigation__responsive-container.is-menu-open
ul.wp-block-navigation__container
> li.wp-block-navigation-item {
	display: block !important;

	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	height: auto !important;

	flex: 0 0 auto !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;

	box-sizing: border-box !important;
}


/* HOME, CONTACT US, etc. */

.wp-block-navigation__responsive-container.is-menu-open
ul.wp-block-navigation__container
> li.wp-block-navigation-item
> a.wp-block-navigation-item__content,

.wp-block-navigation__responsive-container.is-menu-open
ul.wp-block-navigation__container
> li.wp-block-navigation-item
> button.wp-block-navigation-item__content {
	display: flex !important;
	align-items: center !important;

	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;

	height: auto !important;

	padding: 10px 12px !important;

	color: #FFFFFF !important;

	font-size: 1.05rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;

	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;

	text-decoration: none !important;

	border-radius: 8px !important;

	white-space: normal !important;
	overflow-wrap: anywhere;

	box-sizing: border-box !important;
}


/* Separators */

.wp-block-navigation__responsive-container.is-menu-open
ul.wp-block-navigation__container
> li.wp-block-navigation-item:not(:last-child) {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}


/* ==========================================================================
   SUBMENU GROUPS
   ========================================================================== */

.wp-block-navigation__responsive-container.is-menu-open
li.wp-block-navigation-submenu {
	display: block !important;

	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;

	height: auto !important;

	margin: 0 !important;
	padding: 0 0 4px !important;

	box-sizing: border-box !important;
}


/* RESOURCES / ABOUT / MEMBERS */

.wp-block-navigation__responsive-container.is-menu-open
li.wp-block-navigation-submenu
> a.wp-block-navigation-item__content,

.wp-block-navigation__responsive-container.is-menu-open
li.wp-block-navigation-submenu
> button.wp-block-navigation-item__content {
	display: block !important;

	position: relative !important;

	width: 100% !important;

	height: auto !important;

	padding: 9px 12px 5px !important;

	color: #FFFFFF !important;

	font-size: 1rem !important;
	font-weight: 650 !important;

	line-height: 1.2 !important;

	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;

	pointer-events: none !important;

	box-sizing: border-box !important;
}


/* Hide arrows */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-icon {
	display: none !important;
}


/* Force submenu into normal document flow */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-container {
	position: static !important;

	inset: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;

	transform: none !important;

	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	height: auto !important;
	max-height: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	background-color: transparent !important;

	border: none !important;
	box-shadow: none !important;

	opacity: 1 !important;
	visibility: visible !important;

	overflow: visible !important;

	list-style: none !important;

	box-sizing: border-box !important;
}


/* Submenu item */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-container
li.wp-block-navigation-item {
	display: block !important;

	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;

	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	border: none !important;

	box-sizing: border-box !important;
}


/* Submenu links */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-container
li.wp-block-navigation-item
> a.wp-block-navigation-item__content {
	position: relative !important;

	display: flex !important;
	align-items: center !important;

	width: 100% !important;
	max-width: 100% !important;

	height: auto !important;

	padding: 7px 12px 7px 30px !important;

	color: #FFFFFF !important;

	font-size: 0.92rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;

	text-decoration: none !important;

	border-radius: 7px !important;

	white-space: normal !important;
	overflow-wrap: anywhere;

	box-sizing: border-box !important;
}


/* Green bullet */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__submenu-container
li.wp-block-navigation-item
> a.wp-block-navigation-item__content::before {
	content: "";

	position: absolute;

	left: 12px;
	top: 50%;

	width: 4px;
	height: 4px;

	transform: translateY(-50%);

	border-radius: 50%;

	background: #7FD671;
}


/* Tap state */

.wp-block-navigation__responsive-container.is-menu-open
a.wp-block-navigation-item__content:active {
	background: rgba(255, 255, 255, 0.08) !important;
}


/* ==========================================================================
   DONATE
   ========================================================================== */

.wp-block-navigation__responsive-container.is-menu-open
li.wp-block-navigation-item.is-style-donate {
	display: block !important;

	width: 100% !important;

	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	border-bottom: none !important;
}


.wp-block-navigation__responsive-container.is-menu-open
li.wp-block-navigation-item.is-style-donate
> a.wp-block-navigation-item__content {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;

	height: auto !important;

	padding: 13px 16px !important;

	background: #5ABA47 !important;

	color: #FFFFFF !important;

	font-size: 1rem !important;
	font-weight: 700 !important;

	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;

	border-radius: 12px !important;

	box-sizing: border-box !important;
}


/* ==========================================================================
   CLOSE BUTTON
   ========================================================================== */

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-close {
	position: absolute !important;

	top: 14px !important;
	right: 22px !important;

	color: #FFFFFF !important;

	z-index: 2 !important;
}


/* Mobile gutters */

@media (max-width: 600px) {
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		padding-left: 18px !important;
		padding-right: 18px !important;
		padding-bottom: 16px !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-close {
		right: 18px !important;
	}
}


/* ==========================================================================
   SHORT SCREENS
   Stop distributing if there is not enough room.
   It will stack normally and scroll instead.
   ========================================================================== */

@media (max-height: 720px) {
	.wp-block-navigation__responsive-container.is-menu-open
	ul.wp-block-navigation__container {
		justify-content: flex-start !important;
		min-height: auto !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		padding-top: 48px !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	ul.wp-block-navigation__container
	> li.wp-block-navigation-item {
		margin-bottom: 8px !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	li.wp-block-navigation-item.is-style-donate {
		margin-top: 8px !important;
	}
}