/**
 * GS Advancement brand stylesheet.
 *
 * Everything here used to live as one giant inline <style> tag pasted into
 * each subsite's copy of the "header" template part. That meant it was (a)
 * duplicated and drifting between subsites, (b) editable/deletable by
 * accident from the Site Editor, and (c) wiped out any time someone had to
 * re-save the header. It's collected here instead so every subsite running
 * this child theme gets the same rules from one file, and the header/footer
 * template parts stay simple block markup.
 *
 * Brand colors and font-family assignments for headings/links/buttons/body
 * text are handled in theme.json instead of here, since that's the
 * mechanism WordPress gives Site Editor users to see and adjust them.
 */

/**
 * Legacy font names → Carnegie Inter.
 *
 * Page content migrated from the ww2 site (e.g. the homepage's Custom HTML
 * <style> blocks) still asks for "ProximaNovaXCBlack", "ProximaNovaSBold",
 * etc. Those families were only ever declared in the old header's inline
 * <style>, so here they're re-declared as aliases of the self-hosted Inter
 * variable font (bundled by Twenty Twenty-Three). A single-value
 * font-weight descriptor clamps the variable font to that weight, so each
 * alias keeps its original visual weight. Family-name matching is
 * case-insensitive, so this also covers typos like "ProximaNovasBold".
 */
@font-face {
	font-family: "ProximaNova";
	src: url("../../../twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf") format("truetype");
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "ProximaNovaSBold";
	src: url("../../../twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf") format("truetype");
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "ProximaNovaBold";
	src: url("../../../twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf") format("truetype");
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "ProximaNovaXBold";
	src: url("../../../twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf") format("truetype");
	font-weight: 800;
	font-display: swap;
}

@font-face {
	font-family: "ProximaNovaXCBlack";
	src: url("../../../twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf") format("truetype");
	font-weight: 900;
	font-display: swap;
}

/* Base resets */
:where(.wp-site-blocks) > * {
	margin-block-start: 0 !important;
}

body {
	font-size: 16px;
}

.text-hide {
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0;
}

div.grecaptcha-badge {
	display: none !important;
}

/* Utility classes available to any subsite's block content */
.clip {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
}

.nopadding,
.nopadding .wp-block-cover__inner-container {
	padding: 0 !important;
}

.noleftmargin {
	margin-left: 0 !important;
}

.nomargin {
	margin: 0 !important;
}

.nodisplay {
	display: none !important;
}

.max600 {
	max-width: 600px;
}

.columns2 {
	columns: 2;
}

.columns3 {
	columns: 3;
}

.columns3 li,
.columns2 li {
	padding-right: 20px;
}

@media (max-width: 700px) {
	.columns3 {
		columns: 2;
	}

	.columns3 li {
		padding-right: 0;
	}
}

@media (max-width: 600px) {
	.columns2 {
		columns: 1;
	}

	.columns2 li {
		padding-right: 0;
	}

	.columns3 {
		columns: 1;
	}
}

/* Headings — sizes/colors not covered by theme.json */
h1.has-xx-large-font-size {
	font-size: max(5em) !important;
}

h1.wp-block-query-title {
	font-weight: 900;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

main .has-large-font-size {
	font-size: clamp(1.2em, 1.5em + ((1vw - 1em) * 0.385), 1.5em) !important;
}

/* Quotes */
blockquote {
	font-weight: 600;
	font-size: 1em;
}

blockquote p {
	margin-bottom: 0;
}

blockquote cite {
	font-style: italic !important;
	padding-top: 1em;
	display: block;
}

blockquote.wp-block-quote.is-style-plain {
	border: none;
}

blockquote.wp-block-quote {
	border-left: 4px solid var(--wp--preset--color--primary);
}

figure.wp-block-pullquote {
	padding: 0.5em 0;
	background-color: var(--wp--preset--color--custom-light-gray);
	border: 0;
}

/* Strong / links / buttons */
strong,
button > span,
.wp-block-button__link {
	font-weight: 700;
}

a:focus,
a:focus > figure {
	outline: var(--wp--preset--color--custom-yellow) 2px solid;
	z-index: 2;
}

a:not(:has(img)):hover,
a:not(:has(img)):focus {
	background-color: #dddddd;
	text-decoration: underline;
}

a:has(img):hover {
	opacity: 0.5;
}

a:where(:not(.wp-element-button)):active,
.wp-block-site-title a:where(:not(.wp-element-button)):active,
.wp-block-post-title a:where(:not(.wp-element-button)):active {
	color: inherit;
}

a:where(:not(.wp-element-button)):focus {
	text-decoration: underline solid;
}

a.wp-block-social-link-anchor:focus > svg {
	color: var(--wp--preset--color--primary) !important;
}

.wp-block-post-title a:where(:not(.wp-element-button)) {
	text-decoration: underline;
}

.wp-block-post-title a:where(:not(.wp-element-button)):focus,
.wp-block-site-title a:where(:not(.wp-element-button)):focus {
	text-decoration: none;
}

/* Global buttons */
.wp-element-button:active,
.wp-block-button__link:active,
.wp-element-button:focus,
.wp-block-button__link:focus,
.wp-element-button:hover,
.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--custom-gray);
	color: var(--wp--preset--color--primary);
}

/* Separators / covers / images */
.wp-block-separator {
	border-top: 1px solid var(--wp--preset--color--custom-light-gray);
	border-bottom: none;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
	padding: 1.5em;
}

.wp-block-cover-image.is-light .wp-block-cover__inner-container,
.wp-block-cover.is-light .wp-block-cover__inner-container {
	color: var(--wp--preset--color--primary);
}

.wp-block-post-content a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--primary);
}

.wp-block-image img {
	height: auto !important;
}

body .is-layout-constrained > figure.alignleft img {
	margin-bottom: 1em;
}

.wp-block-post-featured-image.alignfull img,
.wp-block-post-featured-image.alignwide img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.isapost figcaption {
	font-style: italic;
	font-size: 0.9em;
}

.wp-block-latest-posts__featured-image img {
	width: 100% !important;
}

/* Query loop / archive listings */
.wp-block-query h2,
.wp-block-query h3 {
	font-size: clamp(1.1em, 1.3rem + ((1vw - 0.48em) * 1.202), 1.3em);
}

a.wp-block-latest-posts__post-title {
	font-size: clamp(1.05em, 1.1rem + ((1vw - 0.48em) * 1.202), 1.15em);
}

.is-layout-flex.postbreadcrumbs {
	gap: 0.5rem;
}

.isapost {
	margin-top: 0 !important;
}

.breadcrumbs,
.postbreadcrumbs a,
.postbreadcrumbs p {
	font-size: 0.85em;
}

hr {
	clear: both;
}

a.wp-block-outermost-social-sharing-link-anchor:hover,
a.wp-block-outermost-social-sharing-link-anchor:focus {
	background-color: var(--wp--preset--color--primary);
}

a.wp-block-outermost-social-sharing-link-anchor:hover svg {
	color: var(--wp--preset--color--contrast) !important;
}

div.entry-content.isapost > h2:first-child,
div.entry-content.isapost h1 + h2 {
	font-style: italic;
	font-size: clamp(1.15em, 1.15rem + ((1vw - 0.48em) * 0.962), 1.7em);
}

div.entry-content.isapost h1 + h2 {
	padding-top: 0;
	margin-top: 0;
}

@media (max-width: 1200px) {
	.wp-block-post-content > div:not(.alignfull, .alignwide) {
		margin-left: 0.85em !important;
		margin-right: 0.85em !important;
	}

	body .is-layout-constrained .entry-content.pagewnotitle > h2 {
		padding-left: 0.5em;
	}

	body .is-layout-constrained .entry-content.isapost > h2,
	body .is-layout-constrained .entry-content.wp-block-post-content > h2,
	body .is-layout-constrained .entry-content.wp-block-post-content.pagewnotitle > h2 {
		padding-left: 0;
	}
}

/* Contact forms (Contact Form 7) */
p label {
	font-weight: 700;
}

@media (max-width: 500px) {
	input.wpcf7-form-control,
	textarea.wpcf7-form-control {
		width: 100%;
	}
}

/**
 * HEADER
 * Targets the .ucm-header-container wrapper used on the header template part.
 */
header .ucm-header-container.is-layout-flex {
	margin: auto;
	max-width: 1400px;
}

.wp-block-site-logo {
	padding: 0 !important;
}

.wp-block-site-logo img {
	max-width: 300px !important;
}

header .ucm-header-container .wp-block-search__inside-wrapper {
	font-size: 0.8em;
}

header .ucm-header-container .wp-block-search__inside-wrapper .wp-block-search__input {
	padding: 0.5em;
	border: 0;
	text-decoration: unset !important;
	max-height: 3em;
}

header .ucm-header-container .wp-block-search__inside-wrapper .wp-block-search__button {
	padding: 0.25em;
	border: 1px solid #fff;
}

/* Nav menu — links default to gold (top-level AND dropdown submenu items
   alike); the current page and any hover/focus/active state go white.
   The general gold rule below matches submenu links too, since they're
   still descendants of .wp-block-navigation__container — no separate
   submenu default is needed. The menu is built from a Page List block
   nested inside Navigation, which adds its own wrapping <ul> — these
   rules use descendant selectors (not direct-child) so they still match
   through that extra nesting level. Order matters: later, equal-
   specificity rules win over earlier ones below.

   !important is required here: wp-includes/blocks/navigation/style.min.css
   ships `.wp-block-navigation-item__content.wp-block-navigation-item__content
   { color: inherit }` — a doubled class selector Core uses specifically to
   outrank normal theme CSS — which then inherits down to Core's own
   `.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container
   { color: #000 }` fallback, i.e. black text on the navy submenu. */
.ucm-header-container .wp-block-navigation__container a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--secondary) !important;
}

.ucm-header-container .wp-block-navigation__container .current-menu-item a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--contrast) !important;
}

.ucm-header-container .wp-block-navigation a:where(:not(.wp-element-button)):hover,
.ucm-header-container .wp-block-navigation a:where(:not(.wp-element-button)):focus,
.ucm-header-container .wp-block-navigation a:where(:not(.wp-element-button)):active {
	text-decoration: none;
	color: var(--wp--preset--color--contrast) !important;
	background-color: transparent;
}

button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:hover,
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:focus,
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:active,
button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle:hover + span.wp-block-navigation__submenu-icon {
	text-decoration: none;
	color: #fff;
}

a.wp-block-navigation-item__content {
	padding: 0.5em;
}

ul.wp-block-navigation__container {
	gap: 0.5em;
}

button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle {
	padding: 0.5em 1em 0.5em 0.5em;
}

header .ucm-header-container button.wp-block-navigation__responsive-container-open {
	color: #fff;
}

header .ucm-header-container .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	min-width: 150px !important;
}

header .ucm-header-container .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .collegesdrop {
	min-width: 240px !important;
}

ul.has-background.wp-block-navigation-submenu {
	padding: 1em;
}

header .ucm-header-container .wp-block-navigation .wp-block-navigation-item {
	text-align: right;
	line-height: 1.3em;
}

header .ucm-header-container .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	justify-content: flex-end;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--primary);
	border: 1px solid rgba(255, 255, 255, 1);
}

@media (max-width: 600px) {
	.wp-block-navigation__responsive-container-content li.wp-block-navigation-item.wp-block-navigation-link {
		font-size: 1.25em;
	}
}

@media (max-width: 950px) {
	header .ucm-header-container {
		justify-content: center !important;
	}

	.max600 {
		margin: auto;
	}
}

@media (max-width: 300px) {
	form.wp-block-search__button-outside.wp-block-search__text-button.wp-block-search {
		width: 100% !important;
	}

	header .ucm-header-container .wp-block-search__input {
		min-width: 2em;
	}

	header .ucm-header-container.is-layout-flex {
		padding: 1.5em !important;
	}
}

/* Mobile nav open state */
div.is-menu-open.wp-block-navigation__responsive-container {
	padding: 1em;
}

div.is-menu-open.wp-block-navigation__responsive-container li.open-on-click.wp-block-navigation-submenu {
	font-style: italic;
}

div.is-menu-open.wp-block-navigation__responsive-container li.open-on-click.wp-block-navigation-submenu li {
	font-style: normal;
	margin-bottom: 0.75em;
}

div.is-menu-open.wp-block-navigation__responsive-container li.open-on-click.wp-block-navigation-submenu ul {
	padding: 0.5em !important;
}

/**
 * FOOTER
 */
footer .has-primary-background-color a {
	color: #fff;
}

footer .has-primary-background-color a:hover,
footer .has-primary-background-color a:focus {
	color: var(--wp--preset--color--primary);
}

footer h3 {
	font-size: clamp(1em, 1.05em + ((1vw - 0.48rem) * 0.84), 1.2em);
}

footer h3 + p {
	margin-top: 0.5em !important;
}

footer ul {
	padding: 0;
}

footer li {
	list-style: none;
	padding: 0;
}

.ululfooter {
	margin-top: 1em;
}

footer ul.wp-block-navigation__submenu-container,
footer ul ul {
	padding-left: 1em;
}

footer img {
	max-width: 320px !important;
	width: 100% !important;
}

footer .athleticslogo img {
	max-width: 200px !important;
}

/* Social icons (bundled PNGs in assets/images/icons) — opt out of the
   generic footer img sizing above, which would stretch/collapse them. */
footer .gssoar-social {
	gap: 0.75em;
}

footer .gssoar-social p {
	margin: 0;
}

footer .gssoar-social img {
	width: 30px !important;
	height: 30px !important;
	max-width: none !important;
	object-fit: contain;
	vertical-align: middle;
}

footer .wp-block-separator {
	border-top: 1px solid var(--wp--preset--color--secondary);
	border-bottom: none;
}

@media (max-width: 760px) {
	.centeronmobile,
	footer .wp-block-image {
		margin: auto;
		text-align: center;
	}
}

/**
 * PAGE ELEMENTS
 * Used by campaign priorities / goal callout sections (e.g. the
 * Empower / Advance / Elevate / Enrich layout on a "Priorities" page).
 */
.leftrightcallouts {
	min-height: 30em;
	margin-top: 0;
	margin-bottom: 0;
}

.prioritiescolumn {
	gap: 3em !important;
}

.calloutbg {
	background-color: #0e527f;
	margin: 0;
}

.calloutbg::after,
.calloutbg::before {
	content: "";
	width: 20%;
	height: 4em;
	display: block;
}

.goalcallout {
	box-shadow: -7px 9px 14px rgba(0, 0, 0, 0.3);
	margin: 0;
	padding: 0;
}

.wp-block-group.has-base-color.has-primary-background-color.has-text-color.has-background.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
	width: 100%;
}

div#modal-2 {
	background: var(--wp--preset--color--primary);
}

@media (max-width: 800px) {
	.currentissuecta .wp-block-group,
	.currentissuecta h2,
	.currentissuecta p,
	.currentissuecta .wp-block-buttons {
		align-items: center !important;
		justify-content: center !important;
		text-align: center;
	}
}

/**
 * MAGAZINE
 * Only used on the Georgia Southern Magazine subsite (past issues grid,
 * current issue cover, issue section headers). Harmless no-ops elsewhere.
 */
.flex-container,
.flex-container-home {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	padding: 0;
	margin: 0;
}

.flex-container .flex-item {
	padding: 5px;
	width: 11em;
	margin-top: 10px;
	text-align: center;
}

.flex-container-home .flex-item {
	padding: 5px;
	width: 10em;
	margin-top: 10px;
	text-align: center;
}

.flex-item img {
	max-height: 13em;
}

@media (max-width: 410px) {
	.flex-item {
		width: 40%;
	}
}

@media (max-width: 260px) {
	.flex-item {
		width: 100%;
	}
}

.featured-issue-cover h1.wp-block-post-title {
	font-size: clamp(1.9em, 2.5rem + ((1vw - 0.48em) * 1.742), 3.5em) !important;
	text-transform: uppercase;
}

.featured-issue-cover a {
	color: #fff;
}

.featured-issue-cover a:hover,
.featured-issue-cover a:focus,
.featured-issue-cover a:active {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 800px) {
	.featured-issue-cover h1,
	.featured-issue-cover p {
		text-align: center;
	}
}

h2.issue-section-header {
	font-weight: 900;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.issue-section-header {
	background: url("https://www.georgiasouthern.edu/wp-content/uploads/line.png") repeat-x center center;
	background-size: 5px auto;
}

h2.issue-section-header mark {
	background-color: var(--wp--preset--color--base);
	padding-right: 0.5em;
	color: var(--wp--preset--color--primary);
}

div.cap-head-mag {
	background-color: #dbdddf;
	max-width: 190px;
}

@media (max-width: 1140px) {
	h2.issue-section-header {
		margin-left: 0.5em !important;
	}
}

/**
 * PRINT
 */
@media print {
	body {
		margin: 0;
		color: #000;
		background-color: #fff;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	.has-text-color,
	a,
	a.wp-block-button__link,
	.wp-block-button {
		color: #000 !important;
	}

	p {
		font-size: 15px;
	}

	header,
	footer,
	.exploreissue,
	ul.wp-block-outermost-social-sharing {
		display: none !important;
	}

	a::after {
		content: " (" attr(href) ")";
	}

	body::before {
		content: "Georgia Southern University";
		display: block;
		text-align: center;
	}

	body::after {
		content: "Copyright Georgia Southern University";
		display: block;
		text-align: center;
	}

	table,
	img,
	ul {
		page-break-inside: avoid;
	}
}
