/*
Theme Name: OnlineEDDPrograms.net
Theme URI: https://onlineeddprograms.net/
Description: Simple single-column Astra child theme for OnlineEDDPrograms.net with a text wordmark and an academic navy, light-blue, and gold palette.
Author: OnlineEDDPrograms.net
Author URI: https://onlineeddprograms.net/
Template: astra
Version: 1.6.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: onlineeddprograms
*/

/* ==========================================================================
   Tokens
   ========================================================================== */

/*
 * Academic regalia palette: navy for authority, Education's light-blue hood
 * color as the tint, doctoral gold as a sparing accent. Gold is decorative on
 * white; use --oep-gold-text when gold must carry text (5:1 on white).
 */
:root {
	--oep-navy: #10223f;
	--oep-ink: #14213d;
	--oep-muted: #51607a;
	--oep-primary: #1f4e8c;
	--oep-primary-dark: #163a6b;
	--oep-sky: #dbe7f5;
	--oep-soft: #edf3fa;
	--oep-border: #d6e0ec;
	--oep-gold: #d4af37;
	--oep-gold-text: #8a6a12;
	--oep-radius: 8px;
	--oep-measure: 760px;
	--oep-wide: 1080px;
	--oep-archive: 820px;
}

/*
 * Astra global palette, same roles the Customizer already uses on this site:
 * 0/1 light brand tints (button fill/hover under dark text), 2 headings and
 * footer, 3 body text, 7 homepage hero panel.
 */
:root {
	--ast-global-color-0: #dbe7f5;
	--ast-global-color-1: #b7cde8;
	--ast-global-color-2: #0f1a2e;
	--ast-global-color-3: #2a3548;
	--ast-global-color-7: #10223f;
	--ast-global-color-8: #243247;
}

::selection {
	background: var(--oep-sky);
	color: var(--oep-ink);
}

/* ==========================================================================
   Fonts: Source Serif 4 (headings) + Source Sans 3 (body), self-hosted
   ========================================================================== */

@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 600 700;
	font-display: swap;
	src: url("assets/fonts/source-serif-4-latin-600-700.woff2") format("woff2");
}

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-latin-400-700.woff2") format("woff2");
}

@font-face {
	font-family: "Source Sans 3";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-latin-400-700-italic.woff2") format("woff2");
}

:root {
	--oep-font-heading: "Source Serif 4", Georgia, "Times New Roman", serif;
	--oep-font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body,
button,
input,
select,
textarea,
.ast-button,
.ast-custom-button,
.wp-block-button__link,
.main-header-menu .menu-link {
	font-family: var(--oep-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-content :where(h1, h2, h3, h4, h5, h6),
.site-title,
.site-title a,
.entry-title,
.uagb-ifb-title {
	font-family: var(--oep-font-heading);
	font-weight: 700;
	text-transform: none;
	letter-spacing: -0.005em;
}

/* ==========================================================================
   Homepage hero photo (no people)
   ========================================================================== */

.home .entry-content > .wp-block-uagb-container.uagb-is-root-container.alignfull {
	background-image: url("assets/images/home-hero.jpg");
	background-position: 70% center;
	background-size: cover;
}

/* Core-block hero: a Group block with the class "oep-hero" (set in Advanced → Additional CSS class). */
.entry-content > .wp-block-group.oep-hero {
	position: relative;
	margin-top: 0;
	margin-bottom: 2rem;
	padding: 72px 24px;
	background-color: var(--oep-navy);
	background-image: linear-gradient(90deg, rgba(16, 34, 63, 0.92) 0%, rgba(16, 34, 63, 0.72) 60%, rgba(16, 34, 63, 0.45) 100%), url("assets/images/home-hero.jpg");
	background-position: 70% center;
	background-size: cover;
	color: #fff;
}

.entry-content > .wp-block-group.oep-hero > * {
	max-width: var(--oep-measure);
	margin-left: auto;
	margin-right: auto;
}

/* Full-width heroes are 100vw, which includes the scrollbar on Windows. */
#page.site {
	overflow-x: clip;
}

body.page:has(.entry-content > .oep-hero) #primary {
	margin-top: 0;
}

/* The hero carries the H1; functions.php also turns the Astra title off on these pages. */
body.page:has(.entry-content > .oep-hero) .entry-header {
	display: none;
}

.entry-content .oep-hero h1 {
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: #fff;
	font-size: 44px;
	line-height: 1.15;
}

.entry-content .oep-hero p {
	margin-bottom: 0;
	color: #e6edf7;
	font-size: 19px;
}

.entry-content .oep-hero .oep-hero__eyebrow {
	margin-bottom: 0.75rem;
	color: var(--oep-gold);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 544px) {
	.entry-content > .wp-block-group.oep-hero {
		padding: 48px 20px;
	}

	.entry-content .oep-hero h1 {
		font-size: 32px;
	}

	.entry-content .oep-hero p {
		font-size: 17px;
	}
}

/*
 * Hero with artwork: add "oep-hero--art" plus a page modifier (e.g. "oep-hero--salary").
 * Text sits left on the 1140px grid; the art fills the right side.
 */
.entry-content .wp-block-group.oep-hero.oep-hero--art {
	background-color: var(--oep-navy);
	background-image: linear-gradient(90deg, rgba(16, 34, 63, 0.96) 0%, rgba(16, 34, 63, 0.88) 36%, rgba(16, 34, 63, 0.25) 64%, rgba(16, 34, 63, 0) 100%), var(--oep-hero-img);
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
}

.entry-content .wp-block-group.oep-hero.oep-hero--art > * {
	max-width: 600px;
	margin-left: max(0px, calc((100% - 1140px) / 2));
	margin-right: auto;
}

@media (max-width: 781px) {
	.entry-content .wp-block-group.oep-hero.oep-hero--art {
		background-image: linear-gradient(rgba(16, 34, 63, 0.84), rgba(16, 34, 63, 0.84)), var(--oep-hero-img);
		background-position: 75% center;
	}

	.entry-content .wp-block-group.oep-hero.oep-hero--art > * {
		margin-left: auto;
		margin-right: auto;
	}
}

.entry-content .oep-hero--home { --oep-hero-img: url("assets/images/hero-home.jpg"); }
.entry-content .oep-hero--accelerated { --oep-hero-img: url("assets/images/hero-accelerated.jpg"); }
.entry-content .oep-hero--1-year { --oep-hero-img: url("assets/images/hero-1-year.jpg"); }
.entry-content .oep-hero--cheapest { --oep-hero-img: url("assets/images/hero-cheapest.jpg"); }
.entry-content .oep-hero--on-campus { --oep-hero-img: url("assets/images/hero-on-campus.jpg"); }
.entry-content .oep-hero--no-gre { --oep-hero-img: url("assets/images/hero-no-gre.jpg"); }
.entry-content .oep-hero--no-dissertation { --oep-hero-img: url("assets/images/hero-no-dissertation.jpg"); }
.entry-content .oep-hero--salary { --oep-hero-img: url("assets/images/hero-salary.jpg"); }

/* Answer-first opening paragraph. */
.entry-content p.ailabor-deck {
	font-size: 20px;
	line-height: 1.6;
}

/* Key facts box: Group block with class "oep-keyfacts". */
.entry-content .wp-block-group.oep-keyfacts {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	padding: 20px 24px;
	background: var(--oep-soft);
	border: 1px solid var(--oep-border);
	border-left: 4px solid var(--oep-gold);
	border-radius: var(--oep-radius);
}

.entry-content .oep-keyfacts h2,
.entry-content .oep-keyfacts h3 {
	margin-top: 0;
	font-size: 20px;
}

.entry-content .oep-keyfacts h2::before,
.entry-content .oep-keyfacts h3::before {
	display: none;
}

.entry-content .oep-keyfacts ul {
	margin-bottom: 0;
}

/* Program profile: Group block with class "oep-program". */
.entry-content .wp-block-group.oep-program {
	margin-top: 2rem;
	padding: 24px;
	border: 1px solid var(--oep-border);
	border-top: 4px solid var(--oep-primary);
	border-radius: var(--oep-radius);
	background: #fff;
}

.entry-content .oep-program h3 {
	margin-top: 0;
}

.entry-content .oep-program ul {
	margin-left: 1.1em;
	font-size: 16px;
}

@media (max-width: 544px) {
	.entry-content .wp-block-group.oep-program,
	.entry-content .wp-block-group.oep-keyfacts {
		padding: 18px 16px;
	}
}

/* Guide hub: Group "oep-hub" > Group "oep-hub-grid" > Groups "oep-hub-card" (image, H3 link, paragraph). */
.entry-content .oep-hub {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

/* Astra pads top-level Group blocks; the hub lines up with the text column instead. */
.entry-content > .wp-block-group.oep-hub {
	padding: 0;
}

.entry-content .oep-hub > h2 {
	margin-bottom: 0.4rem;
}

.entry-content .oep-hub-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 1.25rem;
}

.entry-content .oep-hub-grid > * {
	margin: 0 !important;
}

.entry-content .oep-hub-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--oep-border);
	border-radius: var(--oep-radius);
	transition: box-shadow 0.2s, transform 0.2s;
}

.entry-content .oep-hub-card:hover {
	box-shadow: 0 8px 24px rgba(16, 34, 63, 0.12);
	transform: translateY(-2px);
}

.entry-content .oep-hub-card .wp-block-image {
	margin: 0;
}

.entry-content .oep-hub-card .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.entry-content .oep-hub-card h3 {
	margin: 14px 16px 6px;
	font-size: 18px;
	line-height: 1.3;
}

.entry-content .oep-hub-card h3::before {
	display: none;
}

.entry-content .oep-hub-card h3 a {
	color: var(--oep-primary);
	text-decoration: none;
}

.entry-content .oep-hub-card h3 a:hover {
	text-decoration: underline;
}

.entry-content .oep-hub-card p {
	margin: 0 16px 16px;
	font-size: 15px;
	line-height: 1.55;
}

/* A lone last card (7 cards in 3 columns, or an odd count in 2) spans the row as a horizontal card. */
@media (min-width: 922px) {
	.entry-content .oep-hub-card:last-child:nth-child(3n+1) {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		align-items: center;
	}

	.entry-content .oep-hub-card:last-child:nth-child(3n+1) .wp-block-image {
		grid-row: 1 / 3;
	}

	.entry-content .oep-hub-card:last-child:nth-child(3n+1) h3 {
		margin: 0 24px 6px;
		align-self: end;
	}

	.entry-content .oep-hub-card:last-child:nth-child(3n+1) p {
		margin: 0 24px;
		align-self: start;
	}
}

@media (max-width: 921px) {
	.entry-content .oep-hub-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 601px) and (max-width: 921px) {
	.entry-content .oep-hub-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
	}

	.entry-content .oep-hub-card:last-child:nth-child(odd) .wp-block-image {
		grid-row: 1 / 3;
	}

	.entry-content .oep-hub-card:last-child:nth-child(odd) h3 {
		margin: 0 20px 6px;
		align-self: end;
	}

	.entry-content .oep-hub-card:last-child:nth-child(odd) p {
		margin: 0 20px;
		align-self: start;
	}
}

@media (max-width: 600px) {
	.entry-content .oep-hub-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.entry-content .oep-hub-card {
		display: grid;
		grid-template-columns: 104px 1fr;
		grid-template-rows: auto 1fr;
		column-gap: 12px;
		padding: 10px;
	}

	.entry-content .oep-hub-card .wp-block-image {
		grid-row: 1 / 3;
	}

	.entry-content .oep-hub-card .wp-block-image img {
		height: 100%;
		border-radius: 6px;
		aspect-ratio: 1 / 1;
	}

	.entry-content .oep-hub-card h3 {
		margin: 0 0 4px;
		font-size: 16px;
	}

	.entry-content .oep-hub-card p {
		margin: 0;
		font-size: 14px;
	}
}

/* ==========================================================================
   Wordmark logo
   ========================================================================== */

.site-branding .oep-wordmark {
	margin: 0;
	font-family: var(--oep-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-transform: none;
	white-space: nowrap;
}

.site-branding .oep-wordmark a {
	display: inline-block;
	padding-top: 12px;
	padding-bottom: 12px;
	text-transform: none;
}

.site-branding .oep-wordmark a,
.site-branding .oep-wordmark a:hover,
.site-branding .oep-wordmark a:focus {
	color: var(--oep-ink);
	text-decoration: none;
}

.site-branding .oep-wordmark .oep-wordmark__mid {
	color: var(--oep-primary);
}

.site-branding .oep-wordmark .oep-wordmark__tld {
	color: var(--oep-gold-text);
	font-weight: 700;
}

.site-branding .oep-wordmark a:hover .oep-wordmark__mid {
	color: var(--oep-primary-dark);
}

@media (max-width: 544px) {
	.site-branding .oep-wordmark {
		font-size: 1.125rem;
	}
}

/* ==========================================================================
   Header
   ========================================================================== */

/* #masthead prefix outranks Customizer header colors so the wordmark always sits on white. */
#masthead .ast-primary-header-bar {
	background-color: #fff;
	background-image: none;
	border-top: 3px solid var(--oep-gold);
	border-bottom: 1px solid var(--oep-border);
}

#masthead .ast-builder-menu-1 .menu-item > .menu-link {
	padding-left: 0.75em;
	padding-right: 0.75em;
	color: var(--oep-ink);
	font-size: 0.9375rem;
	font-weight: 500;
}

.ast-desktop #masthead .ast-builder-menu-1 .main-header-menu {
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.ast-desktop #masthead .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	line-height: 1.4;
}

#masthead .ast-builder-menu-1 .menu-item > .ast-menu-toggle {
	color: var(--oep-ink);
}

#masthead .ast-builder-menu-1 .menu-link:hover,
#masthead .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link,
#masthead .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
#masthead .ast-builder-menu-1 .current-menu-ancestor > .menu-link {
	color: var(--oep-primary);
}

#masthead .ast-builder-menu-1 .main-header-menu .sub-menu {
	background: #fff;
	border-color: var(--oep-primary);
}

#masthead .ast-builder-menu-1 .main-header-menu .sub-menu .menu-link {
	color: var(--oep-ink);
}

#masthead [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: var(--oep-ink);
}

#masthead .ast-mobile-header-content,
#masthead .ast-builder-menu-mobile .main-navigation .main-header-menu {
	background-color: #fff;
}

#masthead .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link {
	padding-top: 12px;
	padding-bottom: 12px;
	border-color: var(--oep-border);
	color: var(--oep-ink);
	font-size: 16px;
	line-height: 1.4;
}

#masthead .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link,
#masthead .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item:hover > .menu-link {
	color: var(--oep-primary);
	font-weight: 600;
}

#masthead .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .ast-menu-toggle {
	color: var(--oep-ink);
}

/* ==========================================================================
   Single column: posts and pages
   ========================================================================== */

body.single .entry-header,
body.page .entry-header,
body.single .entry-content > *:not(.alignwide):not(.alignfull):not(.wp-block-table),
body.page .entry-content > *:not(.alignwide):not(.alignfull):not(.wp-block-table) {
	max-width: var(--oep-measure);
	margin-left: auto;
	margin-right: auto;
}

body.single .entry-content > .alignwide,
body.page .entry-content > .alignwide,
body.single .entry-content > .wp-block-table,
body.page .entry-content > .wp-block-table {
	max-width: var(--oep-wide);
	margin-left: auto;
	margin-right: auto;
}

body.single .post-thumb-img-content img,
body.single .entry-content img {
	border-radius: var(--oep-radius);
}

/* ==========================================================================
   Article typography
   ========================================================================== */

/* px, not rem: Astra scales the root font down on phones, which would shrink body copy below 16px. */
.entry-content {
	color: var(--oep-ink);
	font-size: 18px;
	line-height: 1.65;
	overflow-wrap: break-word;
}

.entry-content img,
.entry-content video,
.entry-content iframe,
.entry-content embed {
	max-width: 100%;
}

.entry-content img,
.entry-content video {
	height: auto;
}

.entry-title {
	color: var(--oep-ink);
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.entry-content h2 {
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem);
	line-height: 1.25;
	color: var(--oep-ink);
}

.entry-content h2::before {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-bottom: 0.65rem;
	border-radius: 2px;
	background: var(--oep-gold);
}

.entry-content h3 {
	margin-top: 2rem;
	margin-bottom: 0.5rem;
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--oep-ink);
}

.entry-content p a:not(.wp-block-button__link),
.entry-content li a:not(.wp-block-button__link),
.entry-content td a:not(.wp-block-button__link),
.entry-content blockquote a:not(.wp-block-button__link) {
	color: var(--oep-primary);
	text-decoration: underline;
	text-decoration-color: var(--oep-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.entry-content p a:not(.wp-block-button__link):hover,
.entry-content li a:not(.wp-block-button__link):hover,
.entry-content td a:not(.wp-block-button__link):hover,
.entry-content blockquote a:not(.wp-block-button__link):hover {
	color: var(--oep-primary-dark);
	text-decoration-color: currentColor;
}

.entry-content ul,
.entry-content ol {
	margin-left: 1.25em;
}

.entry-content li + li {
	margin-top: 0.35em;
}

.entry-content hr,
.entry-content .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--oep-border);
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
	opacity: 1;
}

.entry-content blockquote,
.entry-content .wp-block-quote {
	margin-top: 1.75rem;
	margin-bottom: 1.75rem;
	padding: 1.1rem 1.35rem;
	border: 0;
	border-left: 4px solid var(--oep-gold);
	border-radius: 0 var(--oep-radius) var(--oep-radius) 0;
	background: var(--oep-soft);
	font-style: normal;
	font-size: 17px;
}

.entry-content .wp-block-quote:not(.has-text-align-right):not(.has-text-align-center) {
	border-left: 4px solid var(--oep-gold);
}

.entry-content blockquote p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Tables
   ========================================================================== */

.entry-content .wp-block-table {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--oep-border);
	font-size: 16px;
	line-height: 1.5;
}

.entry-content .wp-block-table table:has(tr > :nth-child(4)) {
	min-width: 640px;
}

.entry-content th,
.entry-content td {
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--oep-border);
	text-align: left;
	vertical-align: top;
}

.entry-content thead th {
	background: var(--oep-navy);
	border-color: var(--oep-navy);
	color: #fff;
	font-weight: 600;
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: transparent;
}

.entry-content table tbody tr:nth-child(even),
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background: var(--oep-soft);
}

.entry-content .wp-block-table.is-style-stripes {
	border-bottom: 0;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.entry-content .wp-block-button__link {
	background-color: var(--oep-primary);
	border-radius: var(--oep-radius);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.entry-content .wp-block-button__link:hover {
	background-color: var(--oep-primary-dark);
	color: #fff;
}

.entry-content .is-style-outline .wp-block-button__link {
	background-color: transparent;
	border: 2px solid var(--oep-primary);
	color: var(--oep-primary);
}

/* Spectra info-box CTAs sit on the navy hero panel: gold fill, navy text. */
.entry-content .wp-block-uagb-info-box .uagb-infobox-cta-link.wp-block-button__link {
	background-color: var(--oep-gold);
	border: 2px solid var(--oep-gold);
	color: var(--oep-ink);
}

.entry-content .wp-block-uagb-info-box .uagb-infobox-cta-link.wp-block-button__link:hover {
	background-color: #e2c25a;
	border-color: #e2c25a;
	color: var(--oep-ink);
}

/* ==========================================================================
   Blog, archives, search: one post per row
   ========================================================================== */

.blog .site-main,
.archive .site-main,
.search .site-main {
	max-width: var(--oep-archive);
	margin-left: auto;
	margin-right: auto;
}

.blog .ast-row > .ast-article-post,
.archive .ast-row > .ast-article-post,
.search .ast-row > .ast-article-post {
	width: 100%;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--oep-border);
}

.blog .entry-title a,
.archive .entry-title a,
.search .entry-title a {
	color: var(--oep-ink);
	text-decoration: none;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover,
.search .entry-title a:hover {
	color: var(--oep-primary);
}

.ast-archive-description {
	max-width: var(--oep-archive);
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
   Footer
   ========================================================================== */

#colophon,
#colophon .site-above-footer-wrap,
#colophon .site-primary-footer-wrap,
#colophon .site-below-footer-wrap {
	background-color: var(--oep-navy);
	background-image: none;
}

#colophon {
	border-top: 3px solid var(--oep-gold);
	color: #c9d4e5;
}

#colophon a,
#colophon .menu-link {
	color: #fff;
}

#colophon a:hover,
#colophon .menu-link:hover {
	color: var(--oep-gold);
}

#colophon .ast-footer-copyright {
	font-size: 0.875rem;
	color: #c9d4e5;
}

/* ==========================================================================
   Tablet and phone
   ========================================================================== */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Below this width the 640px min-width comparison tables start to scroll. */
@media (max-width: 679px) {
	.entry-content .wp-block-table:has(tr > :nth-child(4))::before {
		content: "Swipe to see the full table \2192";
		content: "Swipe to see the full table \2192" / "";
		position: sticky;
		left: 0;
		display: block;
		margin-bottom: 6px;
		color: var(--oep-muted);
		font-size: 13px;
	}

	.entry-content .wp-block-table table:has(tr > :nth-child(4)) :is(th, td):first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		min-width: 7.5rem;
		max-width: 9rem;
		background: #fff;
		box-shadow: inset -1px 0 0 var(--oep-border);
	}

	.entry-content .wp-block-table table:has(tr > :nth-child(4)) tbody tr:nth-child(even) > :first-child {
		background: var(--oep-soft);
	}

	.entry-content .wp-block-table table:has(tr > :nth-child(4)) thead th:first-child {
		background: var(--oep-navy);
	}
}

@media (max-width: 544px) {
	.entry-content h2 {
		margin-top: 2rem;
	}

	.entry-content h3 {
		margin-top: 1.5rem;
	}

	.entry-content hr,
	.entry-content .wp-block-separator {
		margin-top: 2rem;
		margin-bottom: 2rem;
	}

	.entry-content blockquote,
	.entry-content .wp-block-quote {
		padding: 0.9rem 1rem;
	}

	.entry-content th,
	.entry-content td {
		padding: 0.6rem 0.7rem;
	}

	.blog .ast-row > .ast-article-post,
	.archive .ast-row > .ast-article-post,
	.search .ast-row > .ast-article-post {
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--oep-primary);
	outline-offset: 2px;
}

/* Pages with their own oep-hero banner: hide Astra featured-image box */
body:has(.oep-hero) .ast-single-post-featured-section,
.ast-single-post-featured-section:empty {
	display: none;
}

body:has(.oep-hero) .site-main > article {
	margin-top: 0;
}
