/*
 Theme Name: Naval War College Foundation
 Template: Divi
 Version: 2026.9.7.1
*/

/* Single post: fallback H1 from functions.php + sidebar list from [display-posts] */
.bcd-post-heading-wrap {
	max-width: 1200px;
	margin: 0 auto 1rem;
	padding: 0 5%;
	box-sizing: border-box;
}

.bcd-post-heading {
	color: #00529c !important;
	font-family: 'Poppins', sans-serif;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}

ul.bcd-display-posts {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.bcd-display-posts li {
	margin-bottom: 0.75rem;
	line-height: 1.4;
}

ul.bcd-display-posts a {
	color: #00529c;
	font-weight: 600;
	text-decoration: none;
}

ul.bcd-display-posts a:hover {
	text-decoration: underline;
}

.bcd-display-posts-excerpt {
	font-size: 0.9rem;
	color: #555;
	margin-top: 0.25rem;
}

.et_password_protected_form {
    min-height: initial;
    padding: 100px;
    max-width: 700px;
    margin: auto;
}
 
.et_password_protected_form .et_submit_button {
    background: #00529c;
    color: white!important;
    border: 2px solid #00529c;
}
 
.et_password_protected_form .et_submit_button:hover {
    background: white;
    color: #00529c!important;
}
 
@media (max-width: 479px) {
.et_password_protected_form {
    padding: 40px;
}
}
/*image gallery item aspect ratio portrait 3:4*/

.pa-image-gallery-3-4 .et_pb_gallery_image {
  padding-top: 133.33%;
  display: block;
}

.pa-image-gallery-3-4 .et_pb_gallery_item img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
}

@media (max-width : 3500px) {
	.divi_wrapper .top_label .gfield_label {
		display: flex!important;
	}
	
	.gform_wrapper.gravity-theme textarea  {
		border : solid 1px #f0f0f0 !important;
	}
	.divi_wrapper input.text, .divi_wrapper input.title, .divi_wrapper input[type=email], .divi_wrapper input[type=password], .divi_wrapper input[type=tel], .divi_wrapper input[type=text], .divi_wrapper select, .divi_wrapper textarea {
				border : solid 1px #f0f0f0 !important;
	}
}

#page-container h2 {
    color: #00529C !important;
    font-size: 40px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
}

#page-container h3 {
    color: #666666 !important;
    font-size: 20px;
}

#page-container h5 {
    color: #FEFBEA !important;
    font-size: 18px;
}



/* --- SELECTIVE BUTTON STYLE --- */

/* Targets ALL buttons, but allows Builder settings to WIN.
 * Header Donate CTA is excluded \u2014 it uses the approved pale pill. */
#page-container .et_pb_button:not(.bcd-header-give):not(.et_pb_button_0_tb_header) {
    background-color: #00529c;
    color: #ffffff;
    border-radius: 50px;
    border: 2px solid #00529c;
    padding: 12px 35px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Rollover State - Only applies if not overridden by module settings */
#page-container .et_pb_button:not(.bcd-header-give):not(.et_pb_button_0_tb_header):hover {
    background-color: #22304b;
    border-color: #22304b;
    color: #ffffff;
    padding-right: 35px;
    transform: none;
}

/* Icon Alignment - Removes the "jump" */
#page-container .et_pb_button:not(.bcd-header-give):after {
    opacity: 1;
    margin-left: 12px;
    position: static;
    display: inline-block;
}

/* Icon Rollover */
#page-container .et_pb_button:not(.bcd-header-give):hover:after {
    color: #ffffff;
    margin-left: 12px;
}


blockquote {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.7;
    color: #333333;
    background-color: #fcfcfc;
    padding: 25px 35px 25px 55px;
    margin: 30px 0;
    border-left: 6px solid #288df7;
    border-radius: 4px 12px 12px 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

blockquote p {
    margin-bottom: 0;
    position: relative;
    z-index: 2;
}

blockquote::before {
    content: "\201C";
    font-family: 'Poppins', sans-serif;
    font-size: 100px;
    font-weight: 700;
    line-height: 1;
    color: rgba(40, 141, 247, 0.15);
    position: absolute;
    top: -10px;
    left: 15px;
    z-index: 1;
}

blockquote cite {
    display: block;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    color: #777777;
    margin-top: 15px;
    position: relative;
    z-index: 2;
}

.pa-vertical-menu nav ul li {
    display: block !important;
    width: 100% !important;
}

/* Center the main slide container */
.center-my-logos .dipi_carousel_child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Force any link wrappers to fill the space and center the image */
.center-my-logos .dipi_carousel_child a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
}

/* Ensure the image margins do not override the centering */
.center-my-logos .dipi_carousel_child img {
    margin: auto !important;
}

/* Constrain the massive header bar */
.dp_event_single_page_title_part {
    padding: 40px 5% !important;
    background-color: #f8f9fa !important; /* Changes giant blue to professional gray */
}

/* Make the title text readable and professional */
.dp_event_single_page_title_part h1 {
    color: #1a1a1a !important;
    font-size: 32px !important;
    line-height: 1.2em !important;
    text-align: left !important;
}

/* Create a side-by-side layout for desktop */
@media (min-width: 981px) {
    .dp_event_single_main_part {
        display: flex !important;
        gap: 50px;
        padding: 50px 5% !important;
        align-items: flex-start;
    }

    .dp_event_single_page_image_part {
        flex: 1 !important;
        max-width: 400px !important;
    }

    .dp_event_single_page_content_part {
        flex: 2 !important;
    }
}

/* Fix the image scaling */
.dp_event_single_page_image_part img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* Hide redundant plugin labels */
.dp_event_single_page_content_part h2 {
    display: none;
}

/* Container Background and Border */
.dem_grid_view_item {
    background-color: #000000 !important; /* Change card background */
    border: 1px solid #333333 !important; /* Change border color */
}

/* Event Title Styling */
.dem_grid_view_title a {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
}

/* Event Date and Venue Text */
.dem_grid_view_date, .dem_grid_view_venue {
    color: #cccccc !important;
    font-size: 14px !important;
}

/* Read More Button styling */
.dem_read_more_btn {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-radius: 0px !important;
} 

/* Hero Container Height \u2014 scoped so absolute children stay inside the hero, not the viewport */
.header.subpage {
	position: relative;
	min-height: 50vh;
}

/* Inner Title Container */
.header.subpage .title {
	position: relative;
	height: 50vh;
}

/* Force Text to the Bottom of the Blue Box */
.header.subpage .et_pb_text_inner {
	position: absolute;
	bottom: 0;
}

/*
 * Mobile / blog: same class names are often reused on Theme Builder headers or post heroes.
 * Tall fixed heights + absolute text breaks the top bar and overlaps content on small screens.
 */
@media (max-width: 980px) {
	.header.subpage {
		min-height: 0;
	}

	.header.subpage .title {
		height: auto;
		min-height: 0;
	}

	.header.subpage .et_pb_text_inner {
		position: relative;
		bottom: auto;
		left: auto;
		right: auto;
		width: 100%;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}

/* Default WordPress posts (News): let Divi / Theme Builder control header height */
body.single-post .header.subpage {
	min-height: 0;
}

body.single-post .header.subpage .title {
	height: auto;
	min-height: 0;
}

body.single-post .header.subpage .et_pb_text_inner {
	position: relative;
	bottom: auto;
	left: auto;
	right: auto;
	width: auto;
}

/*
 * Single posts: if Theme Builder header/footer render inside a boxed #page-container,
 * the header row gets a narrow "viewport" and flex items wrap (stacked pill buttons,
 * oversized logo). Break TB layouts out to full viewport width when nested there.
 */
body.single-post #page-container .et-l--header,
body.single-post #page-container .et-l--footer {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

/*
 * If the Theme Builder global header/footer uses custom classes "header" + "subpage"
 * (meant for inner-page heroes), the rules above turn that into a 50vh "hero" and
 * absolutely position text \u2014 which breaks the real header. Never apply that here.
 */
#main-header .header.subpage,
.et-l--header .header.subpage,
.et-l--footer .header.subpage {
	min-height: 0 !important;
	position: relative !important;
}

#main-header .header.subpage .title,
.et-l--header .header.subpage .title,
.et-l--footer .header.subpage .title {
	height: auto !important;
	min-height: 0 !important;
	position: relative !important;
}

#main-header .header.subpage .et_pb_text_inner,
.et-l--header .header.subpage .et_pb_text_inner,
.et-l--footer .header.subpage .et_pb_text_inner {
	position: relative !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	max-height: none !important;
}

/* The Main Event Title */
.dem-detail2-header {
    font-size: 4.4rem;
    margin-bottom: 0;
    color: #fff !important; /* Forces title to be white so it's visible on blue */
}

/* The Yellow Date Text Above the Title */
.dp_event_date_start {
	font-size: 1.4rem !important; 
	color: #c9a227 !important;
	color: var(--gold) !important;
	letter-spacing: 0.2rem;
	text-transform: uppercase;
	margin-bottom: 0;
}

/* Specific Content Alignment */
.dem_detailpage2_header_title .header-content {
	position: absolute;
	bottom: 0;
}

.dem_detailpage2_header_title .header-content {
    position: absolute;
    bottom: 0;
    left: 0;           /* Added */
    right: 0;          /* Added */
    width: 100%;       /* Added */
    padding-bottom: 5%;
    text-align: center;
	color: #FFFFFF;
}

/* Center headline and the yellow date */
.dem-detail2-header, 
.dp_event_date_start {
    text-align: center;
    width: 100%;
	color: #ffffff !important;
}

/*
 * NWCF breakpoints (Divi Responsive Helper \u2192 Custom Breakpoints):
 *   Phone: max 800px  |  Tablet: 801\u20131584px  |  Desktop: 1585px+
 * Do not use Divi defaults (767 / 980) in new rules \u2014 they will miss on this site.
 */

/*
 * Header (tablet 801-1584px): hide broken inline desktop nav only.
 * Do NOT style .et_mobile_menu in child.css \u2014 that created a second white menu.
 * Blue background + white pills = phone styles (DRH/Divi); extend to tablet (see web-fix).
 */
@media (min-width: 801px) and (max-width: 1584px) {
	.et-l--header .et_pb_menu .et_pb_menu__menu,
	#main-header .et_pb_menu .et_pb_menu__menu {
		display: none !important;
	}
}

/*
 * Footer (below desktop breakpoint): hide hamburger toggles, show full menu list, left-align.
 * Keep this block in child.css \u2014 do not rely on a separate Divi Custom CSS paste.
 */
@media (max-width: 1584px) {
	/* Hide mobile menu bars / toggles (Divi naming varies by version) */
	.et-l--footer .et_pb_menu .et_mobile_menu_bar,
	.et-l--footer .et_pb_menu .mobile_menu_bar,
	.et-l--footer .et_pb_menu .et_pb_menu__icon,
	.et-l--footer .et_pb_menu .et_pb_menu__wrap-toggle,
	.et-l--footer .et_pb_menu button.et_pb_menu__icon-toggle {
		display: none !important;
	}

	/* Show desktop menu tree on small screens inside footer */
	.et-l--footer .et_pb_menu .et_pb_menu__menu,
	.et-l--footer .et_pb_menu .et-menu-nav {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		height: auto !important;
		max-height: none !important;
	}

	.et-l--footer .et_pb_menu .et_mobile_nav_menu {
		display: block !important;
		height: auto !important;
		max-height: none !important;
	}

	.et-l--footer .et_pb_menu .et_pb_menu__wrap,
	.et-l--footer .et_pb_menu .et_pb_menu__menu-wrap,
	.et-l--footer .et_pb_menu .et_pb_menu__menu,
	.et-l--footer .et_pb_menu .et-menu-nav {
		text-align: left !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.et-l--footer .et_pb_menu .et-menu-nav > ul,
	.et-l--footer .et_pb_menu .et_pb_menu__menu > ul {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		display: block !important;
	}

	.et-l--footer .et_pb_menu .et-menu-nav > ul > li,
	.et-l--footer .et_pb_menu .et_pb_menu__menu > ul > li {
		display: block !important;
		float: none !important;
		width: 100% !important;
		text-align: left !important;
		margin: 0 !important;
		padding: 0.2rem 0 !important;
	}

	.et-l--footer .et_pb_menu .et-menu-nav a,
	.et-l--footer .et_pb_menu .et_pb_menu__menu a {
		text-align: left !important;
		justify-content: flex-start !important;
		padding-left: 0 !important;
		width: auto !important;
		display: inline-block !important;
	}

	.et-l--footer .et_pb_menu .et-menu-nav li ul.sub-menu,
	.et-l--footer .et_pb_menu .et_pb_menu__menu li ul.sub-menu {
		position: static !important;
		display: block !important;
		width: 100% !important;
		margin: 0.25rem 0 0 0 !important;
		padding: 0 0 0 0.75rem !important;
		box-shadow: none !important;
		border: none !important;
		text-align: left !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.et-l--footer .et_pb_menu .et-menu-nav li ul.sub-menu li,
	.et-l--footer .et_pb_menu .et_pb_menu__menu li ul.sub-menu li {
		padding: 0.15rem 0 !important;
	}
}

.ratio-fix img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
    display: block !important;
}

/*
 * Finish-line QA (2026-07-23) \u2014 safe to delete this whole block to revert.
 * Backup: Web/QA/finish-line/backups/2026-07-23/
 */
@media (max-width: 980px) {
	blockquote {
		padding: 18px 20px 18px 40px;
		margin: 18px 0;
		font-size: 17px;
		line-height: 1.55;
	}

	blockquote::before {
		font-size: 64px;
		top: -4px;
		left: 10px;
	}
}

/* Staging: hide sticky reCAPTCHA badge that reads as a broken bottom element while scrolling */
.grecaptcha-badge {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Mobile footer: long staging mailto / contact lines wrap cleanly instead of clipping */
@media (max-width: 1584px) {
	.et-l--footer a[href^="mailto:"],
	.et-l--footer .et_pb_text_inner a[href^="mailto:"] {
		overflow-wrap: anywhere;
		word-break: break-word;
		display: inline-block;
		max-width: 100%;
	}

	.et-l--footer .et_pb_text_inner {
		overflow-wrap: break-word;
	}
}

/* Finish-line: matching gifts results area (slug fallback) */
body.page-slug-matching .et_pb_code iframe,
body[class*="matching"] .et_pb_code iframe {
	min-height: 480px !important;
	height: 480px !important;
}
body.page-slug-matching .et_pb_code,
body[class*="matching"] .et_pb_code {
	min-height: 420px;
}


/* Finish-line: matching gifts search results box */
body.page-id-2632 .et_pb_code,
body.page-id-2632 .et_pb_module.et_pb_code {
	min-height: 420px;
}
body.page-id-2632 .et_pb_code iframe,
body.page-id-2632 iframe {
	min-height: 480px !important;
	height: 480px !important;
}

/* Finish-line: honoring graduates \u2014 more space above primary image */
body.page-id-27397392 .et_pb_section .et_pb_image:first-of-type,
body.page-id-27397392 .et_pb_section .et_pb_image_0,
body.postid-27397392 .et_pb_section .et_pb_image:first-of-type {
	margin-top: 2.5rem !important;
}


/*
 * Desktop header (Theme Builder)
 * Target: logo flush left | free space | menu+search+GIVE flush right.
 * Adding WP menu items grows the nav leftward toward the logo; GIVE stays right.
 */
.bcd-header-desktop-col,
.et-l--header .bcd-header-desktop-col {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	gap: 20px !important;
}

/* Match Divi content width for the PRIMARY brand row only (not the audience ribbon) */
.et-l--header .bcd-header-desktop .et_pb_row.bcd-header-desktop-row,
.bcd-header-desktop .et_pb_row.bcd-header-desktop-row {
	width: 80% !important;
	max-width: 1920px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.bcd-header-desktop-col > .et_pb_module,
.bcd-header-desktop-col > .et_pb_button_module_wrapper,
.et-l--header .bcd-header-desktop-col > .et_pb_module,
.et-l--header .bcd-header-desktop-col > .et_pb_button_module_wrapper {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-right: 0 !important;
}

.bcd-header-logo,
.et-l--header .bcd-header-logo {
	flex: 0 0 auto !important;
	margin-left: 0 !important;
}

/* Push nav cluster (menu + search) + GIVE to the right edge; menu grows left as items are added */
.bcd-header-menu,
.et-l--header .bcd-header-menu,
.et-l--header .bcd-header-desktop-col > .bcd-header-menu {
	flex: 0 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	margin-left: auto !important;
}

.bcd-header-desktop-col > .et_pb_button_module_wrapper,
.et-l--header .bcd-header-desktop-col > .et_pb_button_module_wrapper {
	flex: 0 0 auto !important;
	margin-left: 0 !important;
}

@media (min-width: 1585px) {
	.et-l--header .bcd-header-desktop {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		box-shadow: 0 8px 24px rgba(34, 48, 75, 0.06) !important;
	}

	/* \u2014\u2014 Audience pathways ribbon (full-bleed navy, links on content track) \u2014\u2014 */
	.et-l--header .bcd-header-desktop .et_pb_row.bcd-header-accent-row {
		width: 100% !important;
		max-width: none !important;
		position: relative !important;
		left: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		/* Deep NWCF blue with quiet gold hairline at the top edge */
		background:
			linear-gradient(180deg, rgba(255, 209, 0, 0.16) 0%, rgba(255, 209, 0, 0) 2px),
			linear-gradient(180deg, #003d78 0%, #00529c 48%, #004a8f 100%) !important;
		border: none !important;
		box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.18) !important;
	}

	.et-l--header .bcd-header-accent-col {
		display: flex !important;
		justify-content: stretch !important;
		align-items: center !important;
		float: none !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		width: 80% !important;
		max-width: 1920px !important;
		/* Explicit centering \u2014 Divi zeros margin:auto on columns */
		margin-left: 10% !important;
		margin-right: 10% !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
	}

	.et-l--header .bcd-header-accent-menu {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.et-l--header .bcd-header-accent-menu .et_pb_menu_inner_container,
	.et-l--header .bcd-header-accent-menu .et_pb_menu__wrap,
	.et-l--header .bcd-header-accent-menu .et_pb_menu__menu,
	.et-l--header .bcd-header-accent-menu .et-menu-nav {
		display: flex !important;
		justify-content: stretch !important;
		align-items: center !important;
		width: 100% !important;
		margin: 0 !important;
		float: none !important;
	}

	.et-l--header .bcd-header-accent-menu .et-menu,
	.et-l--header .bcd-header-accent-menu .et-menu-nav > ul {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: space-evenly !important;
		align-items: center !important;
		gap: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}

	.et-l--header .bcd-header-accent-menu .et-menu > li,
	.et-l--header .bcd-header-accent-menu .et-menu-nav > ul > li {
		float: none !important;
		flex: 1 1 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
		text-align: center !important;
	}

	/* Brass hairline dividers \u2014 institutional, not retail white pipes */
	.et-l--header .bcd-header-accent-menu .et-menu > li:not(:last-child)::after,
	.et-l--header .bcd-header-accent-menu .et-menu-nav > ul > li:not(:last-child)::after {
		content: "" !important;
		position: absolute !important;
		right: 0 !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 1px !important;
		height: 0.95em !important;
		background: rgba(255, 209, 0, 0.38) !important;
	}

	.et-l--header .bcd-header-accent-menu .et-menu > li > a,
	.et-l--header .bcd-header-accent-menu .et-menu-nav > ul > li > a {
		display: inline-block !important;
		color: rgba(255, 255, 255, 0.94) !important;
		font-size: 11.5px !important;
		font-weight: 500 !important;
		letter-spacing: 0.16em !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		line-height: 1.2 !important;
		padding: 11px 12px !important;
		border-bottom: 2px solid transparent !important;
		transition: color 0.2s ease, border-color 0.2s ease !important;
	}

	.et-l--header .bcd-header-accent-menu .et-menu > li > a:hover,
	.et-l--header .bcd-header-accent-menu .et-menu > li.current-menu-item > a,
	.et-l--header .bcd-header-accent-menu .et-menu-nav > ul > li > a:hover,
	.et-l--header .bcd-header-accent-menu .et-menu-nav > ul > li.current-menu-item > a {
		color: #ffd100 !important;
		border-bottom-color: rgba(255, 209, 0, 0.85) !important;
	}

	.et-l--header .bcd-header-accent-menu .et-menu > li > a:after,
	.et-l--header .bcd-header-accent-menu .et_mobile_nav_menu,
	.et-l--header .bcd-header-accent-menu .mobile_nav,
	.et-l--header .bcd-header-accent-menu .mobile_menu_bar {
		display: none !important;
		content: none !important;
	}

	/* \u2014\u2014 Primary brand bar \u2014\u2014 */
	.et-l--header .bcd-header-desktop .et_pb_row.bcd-header-desktop-row {
		width: 80% !important;
		max-width: 1920px !important;
		padding: 16px 0 !important;
		margin: 0 auto !important;
		background: transparent !important;
	}

	.et-l--header .bcd-header-desktop-col {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 20px !important;
		justify-content: flex-start !important;
	}

	/* Logo \u2014 flush left of the header row */
	.et-l--header .bcd-header-logo {
		flex: 0 0 auto !important;
		line-height: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.et-l--header .bcd-header-logo .et_pb_image_wrap {
		display: block !important;
		line-height: 0 !important;
		overflow: visible !important;
		height: auto !important;
		width: auto !important;
	}

	.et-l--header .bcd-header-logo img {
		width: 260px !important;
		max-width: 260px !important;
		height: auto !important;
		display: block !important;
		margin: 0 !important;
	}

	/* Menu+search sit just left of GIVE; free space is between logo and menu */
	.et-l--header .bcd-header-menu {
		flex: 0 1 auto !important;
		min-width: 0 !important;
		margin-left: auto !important;
	}

	.et-l--header .bcd-header-menu .et_pb_menu_inner_container {
		width: auto !important;
		display: flex !important;
		align-items: center !important;
	}

	/*
	 * Logo left, menu+search+GIVE right. Free space sits between logo and menu.
	 * Adding WP top-level items widens the menu leftward; GIVE stays flush right.
	 */
	.et-l--header .bcd-header-menu .et_pb_menu__wrap {
		width: auto !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 20px !important;
	}

	/* Hide Pixel/Divi hamburger inside the desktop header strip */
	.et-l--header .bcd-header-desktop .et_mobile_nav_menu,
	.et-l--header .bcd-header-desktop .mobile_nav,
	.et-l--header .bcd-header-desktop .mobile_menu_bar,
	.et-l--header .bcd-header-menu .et_mobile_nav_menu {
		display: none !important;
	}

	.et-l--header .bcd-header-menu .et_pb_menu__menu,
	.et-l--header .bcd-header-menu .et-menu-nav {
		flex: 0 1 auto !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: flex !important;
		align-items: center !important;
	}

	.et-l--header .bcd-header-menu .et-menu,
	.et-l--header .bcd-header-menu .et-menu-nav > ul {
		display: flex !important;
		flex: 0 1 auto !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		align-items: center !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		gap: 1.15rem !important;
	}

	.et-l--header .bcd-header-menu .et-menu > li,
	.et-l--header .bcd-header-menu .et-menu-nav > ul > li {
		float: none !important;
		padding: 0 !important;
		margin: 0 !important;
		flex: 0 0 auto !important;
	}

	.et-l--header .bcd-header-menu .et-menu > li > a,
	.et-l--header .bcd-header-menu .et-menu-nav > ul > li > a {
		padding: 0.35rem 0 !important;
		margin: 0 !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		letter-spacing: 0.04em !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		line-height: 1.2 !important;
	}

	/* Custom dropdown chevron with clear gap (Divi ETmodules glyph sat on the label) */
	.et-l--header .bcd-header-menu .et-menu > li.menu-item-has-children > a,
	.et-l--header .bcd-header-menu .et-menu-nav > ul > li.menu-item-has-children > a {
		padding-right: 0 !important;
		position: relative !important;
	}

	.et-l--header .bcd-header-menu .et-menu > li.menu-item-has-children > a:after,
	.et-l--header .bcd-header-menu .et-menu-nav > ul > li.menu-item-has-children > a:after {
		content: "" !important;
		font-family: none !important;
		font-size: 16px !important;
		speak: never;
		position: static !important;
		display: inline-block !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 6px !important;
		height: 6px !important;
		margin: 0 0 2px 8px !important;
		padding: 0 !important;
		border-style: solid !important;
		border-color: currentColor !important;
		border-width: 0 1.5px 1.5px 0 !important;
		transform: rotate(45deg) !important;
		vertical-align: middle !important;
		line-height: 0 !important;
		background: none !important;
	}

	.et-l--header .bcd-header-menu .et_pb_menu__search-button,
	.et-l--header .bcd-header-menu .et_pb_menu__icon {
		margin: 0 !important;
		flex: 0 0 auto !important;
		font-size: 18px !important;
	}

	.et-l--header .bcd-header-desktop-col > .et_pb_button_module_wrapper {
		flex: 0 0 auto !important;
	}

	.et-l--header .bcd-header-desktop-col .et_pb_button {
		white-space: nowrap !important;
		padding: 12px 26px !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		letter-spacing: 0.06em !important;
		line-height: 1.2 !important;
	}

	/* Dropdowns must escape the flex row */
	.et-l--header .bcd-header-desktop,
	.et-l--header .bcd-header-desktop .et_pb_row,
	.et-l--header .bcd-header-desktop-col,
	.et-l--header .bcd-header-menu,
	.et-l--header .bcd-header-menu .et_pb_menu_inner_container,
	.et-l--header .bcd-header-menu .et_pb_menu__wrap,
	.et-l--header .bcd-header-menu .et_pb_menu__menu,
	.et-l--header .bcd-header-menu .et-menu-nav {
		overflow: visible !important;
	}

	.et-l--header .bcd-header-menu .et-menu > li.menu-item-has-children {
		position: relative !important;
	}

	.et-l--header .bcd-header-menu .et-menu > li > ul.sub-menu {
		z-index: 100000 !important;
	}

	/*
	 * Jen 2026-09-03: About \u2192 Our People nested flyout was covering
	 * "2022\u20132027 Strategic Plan". Force second-level menus to the right
	 * of the parent dropdown instead of overlapping siblings.
	 */
	.et-l--header .bcd-header-menu .et-menu > li > ul.sub-menu > li {
		position: relative !important;
	}

	.et-l--header .bcd-header-menu .et-menu > li > ul.sub-menu > li > ul.sub-menu,
	.et-l--header .bcd-header-menu .et-menu .sub-menu .sub-menu {
		left: calc(100% + 2px) !important;
		right: auto !important;
		top: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		z-index: 100001 !important;
	}
}

/*
 * Below 1585 (Divi Pixel desktop menu breakpoint):
 * Compact brand row \u2014 logo + search + hamburger + Donate.
 * Hide the inline desktop link list; SHOW the Divi mobile menu bar
 * (Pixel float alone is not reliable after the legacy header was removed).
 */
@media (max-width: 1584px) {
	.et-l--header .et_pb_section_1_tb_header:not(.bcd-header-desktop) {
		display: none !important;
	}

	.et-l--header .bcd-header-accent-row {
		display: none !important;
	}

	.et-l--header .bcd-header-desktop {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.et-l--header .bcd-header-desktop .et_pb_row.bcd-header-desktop-row {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 4% !important;
		padding-right: 4% !important;
		margin: 0 !important;
	}

	.et-l--header .bcd-header-desktop-col {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 12px !important;
	}

	/*
	 * Compact logo on tablet/phone \u2014 Divi image module width attrs fight weaker
	 * selectors, so clamp the module, wrap, and img.
	 */
	.et-l--header .bcd-header-logo,
	.et-l--header .bcd-header-desktop .bcd-header-logo.et_pb_image,
	.et-l--header .bcd-header-desktop-col > .bcd-header-logo {
		flex: 0 1 auto !important;
		width: 180px !important;
		max-width: min(180px, 52vw) !important;
		min-width: 0 !important;
		margin: 0 !important;
		line-height: 0 !important;
	}

	.et-l--header .bcd-header-logo .et_pb_image_wrap,
	.et-l--header .bcd-header-desktop .bcd-header-logo .et_pb_image_wrap {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		line-height: 0 !important;
		overflow: hidden !important;
	}

	.et-l--header .bcd-header-logo img,
	.et-l--header .bcd-header-desktop .bcd-header-logo img,
	.et-l--header .bcd-header-desktop .bcd-header-logo .et_pb_image_wrap img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		display: block !important;
		margin: 0 !important;
	}

	.et-l--header .bcd-header-menu {
		flex: 0 0 auto !important;
		margin-left: auto !important;
	}

	.et-l--header .bcd-header-menu .et_pb_menu_inner_container,
	.et-l--header .bcd-header-menu .et_pb_menu__wrap {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 10px !important;
		width: auto !important;
	}

	/* Hide inline desktop links \u2014 keep search + hamburger */
	.et-l--header .bcd-header-menu .et_pb_menu__menu,
	.et-l--header .bcd-header-menu .et-menu-nav {
		display: none !important;
	}

	.et-l--header .bcd-header-menu .et_mobile_nav_menu,
	.et-l--header .bcd-header-menu .mobile_nav,
	.et-l--header .bcd-header-desktop .bcd-header-menu .et_mobile_nav_menu,
	.et-l--header .bcd-header-desktop .bcd-header-menu .mobile_nav {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		width: auto !important;
		max-width: none !important;
		overflow: visible !important;
		float: none !important;
		margin: 0 !important;
	}

	/*
	 * Open panel: fixed to viewport (absolute left:0 was relative to the
	 * hamburger column, so pills + Dipi expand chevrons were half off-screen).
	 */
	.et-l--header .bcd-header-menu .mobile_nav.opened > .et_mobile_menu,
	.et-l--header .bcd-header-menu ul.et_mobile_menu {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		height: 100vh !important;
		max-height: 100dvh !important;
		box-sizing: border-box !important;
		padding: 72px 5% 32px !important;
		margin: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		z-index: 99999 !important;
		transform: none !important;
	}
	.et-l--header .bcd-header-menu .et_mobile_menu li,
	.et-l--header .bcd-header-menu .et_mobile_menu li a {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		font-size: 16px !important;
		line-height: 1.3 !important;
		font-weight: 600 !important;
		color: #22304B !important;
		text-align: left !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.et-l--header .bcd-header-menu .et_mobile_menu > li > a {
		background: #ffffff !important;
		color: #22304B !important;
		border-radius: 999px !important;
		padding: 14px 48px 14px 20px !important;
		margin: 0 0 10px !important;
	}
	.et-l--header .bcd-header-menu .et_mobile_menu .menu-item-has-children > a:after {
		right: 16px !important;
		left: auto !important;
	}
	.et-l--header .bcd-header-menu .et_mobile_menu .sub-menu:not(.dipi-collapse-closed) {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 10px !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	.et-l--header .bcd-header-menu .et_mobile_menu .sub-menu a {
		background: rgba(255, 255, 255, 0.92) !important;
		color: #22304B !important;
		border-radius: 999px !important;
		padding: 12px 44px 12px 20px !important;
		margin: 0 0 8px 12px !important;
		width: calc(100% - 12px) !important;
		max-width: calc(100% - 12px) !important;
		font-size: 15px !important;
	}
	.et-l--header .bcd-header-menu .et_mobile_menu .sub-menu .sub-menu a {
		margin-left: 24px !important;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		font-size: 14px !important;
	}

	.et-l--header .bcd-header-menu .mobile_menu_bar,
	.et-l--header .bcd-header-desktop .bcd-header-menu .mobile_menu_bar {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: relative !important;
		z-index: 100000 !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 50% !important;
		background-color: #00529c !important;
		color: #ffffff !important;
		font-size: 0 !important;
		line-height: 0 !important;
		cursor: pointer !important;
	}

	/* Three-line hamburger glyph inside the circle */
	.et-l--header .bcd-header-menu .mobile_menu_bar:before {
		content: "" !important;
		display: block !important;
		width: 18px !important;
		height: 12px !important;
		margin: 0 auto !important;
		background:
			linear-gradient(#fff, #fff) 0 0 / 100% 2px no-repeat,
			linear-gradient(#fff, #fff) 0 5px / 100% 2px no-repeat,
			linear-gradient(#fff, #fff) 0 10px / 100% 2px no-repeat !important;
		box-shadow: none !important;
	}

	.et-l--header .bcd-header-desktop-col .et_pb_button {
		padding: 12px 22px !important;
		font-size: 14px !important;
	}
}

/* Phone: even tighter logo so crest + wordmark fit beside the Pixel burger */
@media (max-width: 800px) {
	.et-l--header .bcd-header-logo,
	.et-l--header .bcd-header-desktop .bcd-header-logo.et_pb_image,
	.et-l--header .bcd-header-desktop-col > .bcd-header-logo {
		width: 148px !important;
		max-width: min(148px, 58vw) !important;
	}

	.et-l--header .bcd-header-desktop .et_pb_row.bcd-header-desktop-row {
		padding-left: 3% !important;
		padding-right: 3% !important;
	}

	.et-l--header .bcd-header-desktop-col .et_pb_button {
		padding: 8px 14px !important;
		font-size: 12px !important;
	}
}

/* Jen double-header fix: hide legacy TB header section if it reappears */
.et-l--header .et_pb_section_1_tb_header:not(.bcd-header-desktop) {
	display: none !important;
}

/* NWCF-DONATE-CTA-APPROVED */
body #page-container .et-l--header a.et_pb_button.bcd-header-give,
body #page-container .et-l--header a.et_pb_button_0_tb_header,
body #page-container .et-l--header .bcd-header-desktop-col a.et_pb_button,
body.et_pb_bg_layout_light #page-container .et-l--header a.et_pb_button.bcd-header-give,
.et-db #et-boc .et-l--header a.et_pb_button.bcd-header-give,
.et-db #et-boc .et-l--header a.et_pb_button_0_tb_header {
  background-color: #E8EEF4 !important;
  background-image: none !important;
  color: #22304B !important;
  -webkit-text-fill-color: #22304B !important;
  border: 0 none transparent !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  padding: 12px 26px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
body #page-container .et-l--header .bcd-header-desktop-col > .et_pb_button_module_wrapper,
.et-db #et-boc .et-l--header .bcd-header-desktop-col > .et_pb_button_module_wrapper {
  align-self: center !important;
  flex: 0 0 auto !important;
  max-height: none !important;
}
body #page-container .et-l--header a.et_pb_button.bcd-header-give:hover,
body #page-container .et-l--header a.et_pb_button_0_tb_header:hover,
.et-db #et-boc .et-l--header a.et_pb_button.bcd-header-give:hover {
  background-color: #00529c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body #page-container .et-l--header a.et_pb_button.bcd-header-give:after,
body #page-container .et-l--header a.et_pb_button_0_tb_header:after,
.et-db #et-boc .et-l--header a.et_pb_button.bcd-header-give:after {
  opacity: 1 !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  display: inline-block !important;
  margin-left: 10px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
@media (max-width: 1584px) {
  body #page-container .et-l--header a.et_pb_button.bcd-header-give,
  body #page-container .et-l--header a.et_pb_button_0_tb_header,
  body #page-container .et-l--header .bcd-header-desktop-col a.et_pb_button {
    padding: 12px 22px !important;
    font-size: 14px !important;
  }
}

/* NWCF-MOBILE-AUDIENCE-LINKS: audience ribbon links in hamburger only (desktop keeps accent row) */
@media (min-width: 1585px) {
	.et-l--header .bcd-header-menu .et-menu > li.bcd-mobile-audience-link,
	.et-l--header .bcd-header-menu .et-menu-nav > ul > li.bcd-mobile-audience-link,
	.et-l--header .bcd-header-menu .et_pb_menu__menu > ul > li.bcd-mobile-audience-link {
		display: none !important;
	}
}
