:root {
  /* Brand colors */
  --aum-deep-orange: #c24d1e;
  --aum-bright-orange: #f04e29;
  --aum-black: #000;
  --aum-light-grey: #f8fafb;
  --aum-dark-grey: #929292;

  /* Deep Orange Links */
  --wpex-deep-orange: var(--aum-deep-orange);
  --wpex-deep-orange-hover: var(--aum-black);
}
/* WCAG 1.4.11 Non-text Contrast: form control boundaries.
   Total's default input border (#e0e0e0) is 1.26:1 on #fafafa. #767676 = 4.54:1 on #fff, 4.35:1 on #fafafa.
   Set on body so it beats the theme's :root value; applies to all Total-styled inputs, selects and textareas. */
body {
    --wpex-input-border-color: #767676;
/* WCAG 1.4.11 Non-text Contrast: pagination.
   Total borders each ul.page-numbers li with --wpex-pagination-border-color, which falls back
   to --wpex-border-main (#eee, 1.16:1 on white). #767676 = 4.54:1. Applies to all Total pagination. */
    --wpex-pagination-border-color: #767676;
}

/* Current page was #f7f7f7 on white (1.07:1) — not visually identifiable.
   Fill it with the pagination text colour: 5.8:1 against the page, white text 5.8:1. */
ul.page-numbers .page-numbers.current {
    background-color: #c24d1e;
    color: #fff;
}
/* WCAG 1.4.11: sticky welcome bar "Go to Form" button.
   #c24d1e on #333 is 2.63:1; a white boundary is 12.63:1.
   !important also overrides the plugin's hover rule that recolours the border orange. */
.mysticky-welcomebar-fixed .mysticky-welcomebar-btn a {
    border: 2px solid #fff !important;
}

/****** High-contrast Color on Grey or Orange Backgrounds ******/
.dark-link {
  display: inline-block;
  color: var(--wpex-deep-orange);
  /*width: fit-content;*/
  position: relative;
}

.dark-link:hover, .dark-link:focus {
  color: var(--wpex-deep-orange-hover);
}

.dark-link::after {
  content: '';
  width: 100%;
  position: absolute;
  height: 2px;
  background-color: var(--wpex-deep-orange);
  bottom: -1px;
  left: 0;
}

.dark-link:hover::after, .dark-link:focus::after {
  background-color: var(--wpex-deep-orange-hover);
}

.dark-text {
  color: var(--aum-deep-orange);
}

.pf-container .pf-title-container h6 {
  color: var(--aum-deep-orange);
}

.dark-orange-bg {
  background-color: var(--wpex-deep-orange) !important;
}

/* #c24d1e text on #003c4d (teal) background — shift to brighter orange for contrast */
.teal-bg-text,
.teal-bg-link {
  color: var(--aum-bright-orange) !important;
}

/* Buttons inside #003c4d (teal) background — white background for contrast */
a.theme-button.teal-bg-btn {
  background-color: #fff !important;
}

/* #c24d1e text on #006680 (medium teal) background — shift to black for contrast */
.medium-teal-bg-text,
.medium-teal-bg-link {
  color: var(--aum-black) !important;
}

/****** All touch targets must be 24px large ******/
a {
	min-height: 24px;
	display: inline-block;
}
.ubermenu .ubermenu-item.ubermenu-item-101 > .ubermenu-target {
	padding: 0 24px;
}

/****** Events ******/
.mec-end-counts h3 {
	color: var(--aum-deep-orange) !important;
}
.mec-event-date-carousel {
  background: var(--aum-deep-orange) !important;
}

.mec-single-event .mec-events-meta-group-countdown {
  color: var(--aum-dark-grey);
}

/***** Directory ******/
.pf-container {
  background-color: var(--aum-light-grey);
}
.pf-container form {
	box-shadow: 2px 3px 10px rgba(0,0,0,0.5);
	background-color: var(--aum-black);
}

.pf-initial-link {
	background: #fff;
	text-shadow: none;
}

.pf-item-button, .pf-button {
	background-color: var(--aum-black);
}

/****** Cookie Notice button contrast ******/
#cn-accept-cookie {
  background: var(--aum-deep-orange) !important;
}

a#cn-more-info {
  color: #fff;
  text-decoration: underline !important;
}

#cookie-notice, #cookie-notice * {
	background-color: var(--aum-black);
}

/****** Search Bar ******/
.ubermenu .ubermenu-search .ubermenu-search-submit, .ubermenu .ubermenu-searchbar-drop .ubermenu-search-submit, .ubermenu .ubermenu-search input.ubermenu-search-input {
	color: var(--aum-black) !important;
}

.ubermenu .ubermenu-search input.ubermenu-search-input,
.ubermenu-skin-grey-white .ubermenu-submenu.ubermenu-submenu-drop {
	background: #fff !important;
}

#ubermenu-search-field::placeholder {
  color: var(--aum-black);
  opacity: 1;
}

.ubermenu-main .ubermenu-submenu .ubermenu-item-header > .ubermenu-target {
	background: #f8fafb;
	color: var(--aum-deep-orange);
}
.ubermenu-skin-grey-white .ubermenu-submenu .ubermenu-item-header.ubermenu-has-submenu-stack > .ubermenu-target {
	border-bottom: 1px solid #f8fafb;
}

/****** Social Share Buttons ******/
.wpex-social-share__link {
	background-color: var(--aum-black) !important;
}

/* Accessibility adjustments from Customizer */
.wpex-hover-white-text a {
	color: #fff;
}
.portfolio-entry-title {
	line-height: 2.4;
}
.wpex-leading-tight {
	line-height: 2.4;
}
.sp-button, .wpex-carousel .owl-dot {
	margin:15px !important;
}

/* Remove the forced padding, background, and shadow from carousel images */
.wpex-carousel.owl-carousel .owl-item img {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

/* Targets any link inside an element with the 'white-links' class */
.white-links a:not(.vcex-button):not(.theme-button) {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

/* Hover state to ensure links feel interactive */
.white-links a:not(.vcex-button):not(.theme-button):hover {
  color: #f0f0f0 !important;
  text-decoration: none !important;
  /* RAMP "Campus Tours: Text Contrast: Hover or Focus State": opacity 0.8 blended the text into the
     background (#bcd1d7 on teal #006680 = 4.12:1). Solid off-white keeps 5.6:1+; the hover cue is the
     underline disappearing. */
  opacity: 1;
}

/* Target links inside a list that has the class .white-links */
.white-links li a:not(.vcex-button):not(.theme-button) {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

/* Recommended: Add a hover state so the links don't feel "dead" */
.white-links li a:not(.vcex-button):not(.theme-button):hover {
  color: #eeeeee !important; /* Slightly off-white/grey on hover */
  text-decoration: none !important;
  /* RAMP "Campus Tours: Text Contrast: Hover or Focus State": opacity 0.8 blended the text into the
     background (#bcd1d7 on teal #006680 = 4.12:1). Solid off-white keeps 5.6:1+; the hover cue is the
     underline disappearing. */
  opacity: 1;
}
/* fix countdown clock markup  */
.countdown-w { width: 100%; }
.clockdiv { display: flex; justify-content: space-around; }
.clockdiv li span { font-size: 48px; }
.clockdiv li i { display: none; }

.mec-single-event .mec-event-meta dd, .mec-single-event .mec-event-meta .mec-events-event-categories a, .mec-single-event .mec-event-meta .mec-events-address, .mec-calendar .mec-table-nullday, .mec-calendar .mec-calendar-side .mec-previous-month, .mec-calendar .mec-calendar-side .mec-next-month, .mec-load-month-link, .mec-calendar .mec-event-article .mec-localtime-details div, .mec-calendar .mec-event-article .mec-event-detail, .mec-single-event .mec-event-meta dd a
{	color: #545454 !important;}

.vcex-post-meta.meta { color: #545454; }

#footer-builder .wpex-child-inherit-color *:not(.theme-button):not(.button):not(.wpex-alert):not(.wpex-heading):not(pre):not(code), 
#footer-builder .wpex-child-inherit-color a:not(.theme-button):not(.button):hover,
.cta-form-row .wpex-child-inherit-color *:not(.theme-button):not(.button):not(.wpex-alert):not(.wpex-heading):not(pre):not(code),
.cta-form-row .wpex-child-inherit-color a:not(.theme-button):not(.button):hover {
	color: #fff !important;
}

table.tablepress .odd td a {
	color: #000;
	text-decoration: underline;
}

.gform_next_button.gform-theme-button.button, .button.admissions-counselor-button {
  color: #fff !important;
}

.pf-item-bio, .portfolio-category-container, .portfolio-links-container {
	color: #3e464c;
}

.vcex-post-meta {
  color: #585858;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
	background-color: #c24d1e !important;
}

.slo-tour.vc_tta-color-blue.vc_tta-style-flat .vc_tta-panel .vc_tta-panel-body {
  background-color: #003c4d !important;
  border-radius: 0 !important;
  padding: 20px !important;
  box-shadow: none !important;
}

.mec-holding-status-ongoing {
  color: #07612a;
}

/* Nursing (MSN) – Health Systems Leader */
.single-degree.postid-112280 a.theme-button.flat {
	color: #fff !important;
}

/* ---------------------------------------------------------------------------
   MEC accessible month view — event panel behavior
   Pairs with mec-a11y-calendar.js
--------------------------------------------------------------------------- */

/* The week row is the positioning anchor so the panel can span full width. */
.mec-a11y-grid .mec-calendar-row {
  position: relative;
}

.mec-calendar-day.mec-has-event.mec-selected-day {
  position: unset;
}

.mec-calendar .mec-calendar-day.mec-has-event.mec-selected-day a {
  position: relative;
}

.mec-calendar .mec-calendar-day.mec-has-event.mec-selected-day a::after {
  content: '';
  position: absolute;
  display: block;
  background-color: #c24d1e;
  border-radius: 50%;  
  width: 8px;
  height: 8px;
  bottom: auto;
  top: 19px;
  left: 0;
  margin: 0;
  transition: all .25s ease;
}

/* Each day's events now live INSIDE its cell (for CSS-disabled meaning),
   but visually we break the panel out to the full calendar width and drop it
   just below the week it belongs to. */
.mec-a11y-grid .mec-calendar-day .mec-calendar-events-sec {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 20;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* Closed by default. !important beats MEC's inline style="display:block"
    and any display MEC's own JS sets, so visibility is controlled ONLY by
    the .mec-a11y-open class. This also fixes the panel that
    used to open on load and cover the dates below it. */
  display: none !important;
}

/* The one and only thing that opens a panel. */
.mec-a11y-grid .mec-calendar-day .mec-calendar-events-sec.mec-a11y-open {
  display: block !important;
}

/* Make it obvious the day is interactive. */
.mec-a11y-grid .mec-calendar-day.mec-has-event {
  cursor: pointer;
}
#site-navigation-wrap.navbar-fixed-height {
  height: auto;
  min-height: 50px;
}
#site-navigation-wrap.navbar-fixed-line-height .ubermenu-target {
  line-height: 1.4;
}
.ubermenu .ubermenu-item.ubermenu-active > .ubermenu-submenu.ubermenu-submenu-drop {
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100vw - 2rem) !important;
  max-height: calc(100dvh - var(--um-top, 9rem) - var(--consent-h, 0px) - 1rem) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

/* the site has "Disable Submenu Scroll" on — this puts scrolling back */
.ubermenu.ubermenu-disable-submenu-scroll .ubermenu-submenu {
  overflow-y: auto;
}
.vcex-milestone {
  height: auto;
  min-width: 0;
}

.vcex-milestone [class*="milestone-number"] {
  font-size: clamp(1.5rem, 5.5vw, 3.375rem);   /* was a hard 54px */
  line-height: 1.1;
}

.vcex-milestone-desc,
.vcex-milestone-caption,
.vcex-milestone [class*="milestone-number"] {
  height: auto;
  width: auto;
  max-width: 100%;          /* the missing piece — without it, wrapping has nothing to wrap against */
  min-width: 0;
  overflow-wrap: break-word;
  hyphens: auto;
}
.vcex-milestone-inner {
  max-width: 100%;
}
:root { --consent-h: 0px; }
body.has-consent-bar { --consent-h: 12rem; }
.ubermenu .ubermenu-submenu.ubermenu-submenu-drop {
  max-height: calc(100dvh - var(--um-top, 9rem) - var(--consent-h) - 1rem);
}

.aum-video-control {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
  border: 2px solid #fff;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.aum-video-control:hover { background: #000; }

.aum-video-control:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}

.mysticky-welcomebar-fixed .mysticky-welcomebar-btn a.msb-welcomebar-btn.has-msb-animation[data-animation] {
	animation-iteration-count: 1 !important;
}

/* Does NOT by itself satisfy 2.2.2 — an OS setting isn't a mechanism on the
   page — but correct practice alongside the rule above. */
@media (prefers-reduced-motion: reduce) {
	.mysticky-welcomebar-fixed .mysticky-welcomebar-btn a.msb-welcomebar-btn.has-msb-animation[data-animation] {
		animation: none !important;
	}
}

/* Restore the width UberMenu is configured to use.
   The .ubermenu-active rule above sets width:auto !important, which collapses
   full-width mega panels to their content width the moment they open —
   Athletics then rendered ~490px wide, ending left of its own menu item and
   out of reach of the mouse. */
.ubermenu .ubermenu-item.ubermenu-active
  > .ubermenu-submenu.ubermenu-submenu-drop.ubermenu-submenu-align-full_width {
  width: 100% !important;
}

/* WCAG 1.4.1 / 2.4.4: links inside body copy must be distinguishable without colour.
   wp-custom-css carries a blanket `a { text-decoration: none !important }`, which strips
   the editor's inline underlines. This restores them for links in WPBakery text blocks
   only (paragraphs, lists, table cells, definitions), leaving buttons and nav untouched. */
.wpb_text_column :is(p, li, td, dd) a:not(.theme-button):not(.vcex-button):not([class*="button"]),
/* Oct 16 (RAMP "Military Student: Best Practice: Link Styling"): Total's Bullets element
   (vcex_bullets) isn't a text block, so its links were missed — e.g. /admissions/military/
   "Veteran & Military Resource Center". Same treatment. */
.vcex-bullets li a:not(.theme-button):not(.vcex-button):not([class*="button"]) {
    text-decoration: underline !important;
    text-underline-offset: .15em;
}

/* Oct 16 (RAMP "Home | Footer: Best Practice: Link Styling"): the footer's email and phone
   are Total "Button" elements in the plain-text style (.theme-txt-link) — they look like
   text links but the rule above skips buttons. Underline them like the other footer links. */
.footer-builder a.vcex-button.theme-txt-link,
.spsig-footer .spsig-policies a { /* bottom bar "Privacy Policy" (Superpath signature footer); AUM-only, here not in the shared plugin */
    text-decoration: underline !important;
    text-underline-offset: .15em;
}

/* Oct 16 (RAMP "Apply: Best Practice: Link Styling", /apply/): three more kinds of text link that the
   blanket `a { text-decoration: none !important }` left without an underline. Site-wide:
   - breadcrumbs ("Home » …" in every page banner);
   - Total "Icon Box" text links: a linked heading ("Don't Miss Out: Register for Grad Preview Night Now!",
     "Address"), links inside its text, and the text of a box that is one big link ("334-244-3000",
     "admissions@aum.edu" in the "Want More Info About AUM?" contact block). The icon itself is not underlined;
   - links in Gravity Forms field descriptions and HTML fields (the phone number under the consent checkbox).
   Accordion panel links and Bullets links ("Financial Aid") were already covered by the rule above. */
.site-breadcrumbs a,
.vcex-icon-box-heading a.vcex-icon-box-link,
.vcex-icon-box-content a,
a.vcex-icon-box-has-link .vcex-icon-box-content,
.gform_wrapper :is(.gfield_description, .gfield_html) a {
    text-decoration: underline !important;
    text-underline-offset: .15em;
}

/* WCAG 1.4.11 / 2.4.7: reCAPTCHA v2 focus indicator.
   Google's own ring (#4d90fe on #f9f9f9, 2.96:1) is inside a cross-origin iframe we cannot style.
   When focus is inside the widget the iframe is the active element, so the Gravity Forms container
   matches :focus-within — draw the site's standard focus ring around the widget instead. */
.ginput_recaptcha:focus-within > div {
    outline: 3px solid #005fcc;
    outline-offset: 3px;
    border-radius: 3px;
}

/* WCAG 1.4.3: Archives (and any themed) select dropdown options.
   wp-custom-css sets `.wpex-select-wrap select { color:#fff !important }` for the orange control;
   <option>s inherit that white and render on the platform's default white list background
   on Windows/Linux/Firefox (macOS uses a native menu, which is why it can't be seen on a Mac).
   Give options explicit colours: #333 on #fff = 12.63:1. The closed control is unchanged (white on orange, 4.8:1). */
.wpex-select-wrap select option,
.wpex-select-wrap select optgroup {
    color: #333 !important;
    background-color: #fff !important;
}


/* WCAG 1.4.3: text inside the grey gradient boxes (RAMP "Baptist Health: Text Contrast",
   /nursingandhealth/baptist-employee-tuition-discount/ Available Programs list).
   The boxes fade #fff -> #ededed -> #c2c2c2 (wp-custom-css / page CSS: .degree-box-gradient,
   -inner, -outer), and their text inherits the body colour #5b6770, which drops below 4.5:1
   on the lower half (4.35:1 on #dfdfdf, 4.03:1 on #d7d7d7, 3.26:1 on #c2c2c2).
   #454f57 (same blue-grey, darker) holds 4.70:1 even on the darkest stop, 8.37:1 on white.
   Only inherited text changes - elements with their own colour (headings, buttons) keep it. */
.degree-box-gradient .vc_column-inner,
.degree-box-gradient-inner .vc_column-inner,
.degree-box-gradient-outer {
    color: #454f57;
}

/* RAMP "Masters in AI: Text Contrast" — WPBakery accordion panels (FAQ answers, curriculum
   course descriptions; site-wide on white/flat accordions).
   wp-custom-css paints .vc_tta-panel-body #dedede, while js_composer_tta keeps the white skin's
   text colour #666 (4.27:1 on #dedede) and links inherit #c24d1e (3.57:1).
   #454f57 = 6.22:1 on #dedede (matches the degree-box fix above); #a33f17 = 4.76:1, links stay underlined.
   This file loads BEFORE js_composer_tta.min.css, so the selector out-ranks its (0,4,0) rule
   (.vc_tta + :not(.vc_tta-o-no-fill) = (0,6,0)) instead of relying on source order. */
.vc_tta.vc_tta-color-white.vc_tta-style-flat:not(.vc_tta-o-no-fill) .vc_tta-panel .vc_tta-panel-body {
    color: #454f57;
}
.vc_tta.vc_tta-color-white.vc_tta-style-flat:not(.vc_tta-o-no-fill) .vc_tta-panel .vc_tta-panel-body a:not(.vcex-button):not(.theme-button) {
    color: #a33f17;
}

/* RAMP "Masters in AI: Elements must meet minimum color contrast" — degree pages (all /degree/ singles).
   1) Text-column links use the theme default link colour #c24d1e: 3.99:1 on the #eaeaea curriculum row
      ("graduate catalog"). Re-point the default for degree text columns only, so links with their own
      explicit colours (white links in dark boxes) are untouched and the dark cta-form-row icon boxes
      are out of scope. #a33f17 = 5.32:1 on #eaeaea, 6.40:1 on white, 4.76:1 on #dedede.
   2) Modality "Online"/"In-Class" buttons: an inline per-element style sets #d3461e text, while
      wp-custom-css forces the button background to #29292f (!important) — 3.21:1. White = 14.46:1,
      matching the site's other dark buttons; hover (white on #d3461e from wp-custom-css) = 4.50:1.
      !important is required to beat the inline style. */
.degree-content-container .wpb_text_column {
    --wpex-link-color: #a33f17;
}
.degree-bottom-boxes .vcex-button.theme-button {
    color: #fff !important;
}

/* Global inquiry form (Gravity Form 103, the dark cta-form-row on most pages). On #29292f the sub-labels
   (First/Last, #5b6770) were 2.49:1 and the orange required asterisks (#d3461e) 3.21:1.
   #c5ccd1 = 8.90:1; #f47c5c = 5.43:1. !important to match wp-custom-css's own label rules. */
#gform_wrapper_103 .gform-field-label--type-sub {
    color: #c5ccd1 !important;
}
#gform_wrapper_103 .gfield_required,
.cta-form-row .gform_required_legend .gfield_required {
    color: #f47c5c !important;
}

/* .aum-text-heading — a real heading that keeps the look of the paragraph it replaced.
   For WPBakery Text Block content where a bold run of text acts as a heading (RAMP "Masters in AI:
   Headings: Missing Headings" — "You'll learn to:"). Usage in the Text tab:
     <h2 class="aum-text-heading"><span style="font-size: 21px;"><strong>…</strong></span></h2>
   Without it, theme heading styles apply (h2 = 40px black, 30px top margin). Verified identical
   size/weight/colour/spacing to the original <p> on staging. */
:is(h1, h2, h3, h4, h5, h6).aum-text-heading {
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    margin: 0 0 var(--wpex-el-margin-bottom, 20px);
}

/* .aum-step-label — a "Step N" eyebrow that lives INSIDE the step's heading, so the heading reads
   "Step 1: Fill Out The Online Application" (RAMP "Graduate Admissions: Headings: Missing Headings").
   Usage in a Total Heading element (Tag h3), with the separate "Step N" Heading element deleted:
     <span class="aum-step-label">Step 1<span class="screen-reader-text">:</span></span> Fill Out The Online Application
   Matches the old eyebrow: accent orange, 20px/800, line-height 1, 15px gap below. */
.vcex-heading .aum-step-label {
    display: block;
    color: var(--wpex-accent);
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    padding-bottom: 15px;
}

/* RAMP "Talon Archive: Elements must meet minimum color contrast" (/talon/). The Talon plugin's
   .talon-container is #eee, and the card category links + "Read full article" use the theme default
   link colour #c24d1e — 4.14:1 at 14px bold (not large text). Re-point the default inside Talon only:
   #a33f17 = 5.52:1 on #eee. Links with explicit colours (titles #000, pagination #5b6770) are untouched;
   hover on "Read full article" is #000 (18.1:1). Lives here rather than talon.css because plugin CSS
   is edge-cached for 10 years with a fixed ?k= URL, while this file busts on ?t=filemtime. */
.talon-container {
    --wpex-link-color: #a33f17;
}

/* RAMP "Talon Archive: Non-text Contrast: States" — pagination HOVER state (all Total pagination).
   Total's hover fill is --wpex-surface-2 (#f7f7f7): 1.08:1 on Talon's #eee, 1.07:1 on white, with
   only a text-colour shift from #5b6770 to #222. Fill with the pagination text colour instead:
   #5b6770 = 5.00:1 on #eee, 5.80:1 on white; white text on it 5.80:1. Distinct from the current
   page (#c24d1e fill, rule above). */
:root {
    --wpex-hover-pagination-link-bg: #5b6770;
    --wpex-hover-pagination-link-color: #fff;
}

/* Mirrors Total's `.meta li` layout for Post Meta items the mu-plugin (Module S, v1.9.16) outputs
   as <span class="aum-meta-item"> instead of list items (RAMP "Talon Single: Lists: Remove List HTML").
   Verified pixel-identical to the original list on staging. */
.meta > .aum-meta-item { margin-top: 0; margin-bottom: 0; }
.meta > .aum-meta-item .meta-icon,
.meta > .aum-meta-item .ticon,
.meta > .aum-meta-item .wpex-svg-icon { margin-right: var(--wpex-meta-icon-margin, 10px); }
.meta:not(.meta-vertical) > .aum-meta-item { display: inline-flex; align-items: center; margin-right: var(--wpex-meta-gutter, 20px); }
.meta.meta-vertical > .aum-meta-item:not(:last-child) { margin-bottom: var(--wpex-meta-gutter, 0px); }

/* Gray (vc_tta-color-blue/flat) accordion panels: wp-custom-css paints them #777 !important, where
   white body text is 4.48:1 (fails 4.5). #767676 is visually identical and gives white 4.54:1 — which
   also lets Module V (mu-plugin v1.10.0) turn the orange bullets/links in these panels white, per the
   site-wide two-tier accent rule. The Student Life tour accordion (.slo-tour, deep teal) is excluded. */
.vc_tta.vc_tta-color-blue.vc_tta-style-flat:not(.slo-tour) .vc_tta-panel .vc_tta-panel-body {
    background-color: #767676 !important;
}
/* Oct 16 (RAMP "Apply: Elements must meet minimum color contrast ratio thresholds", /apply/ General
   Questions / Transfer Students / International Students): the links in these panels are the theme orange
   #c24d1e = 1.06:1 on the gray. Module V turns them white, but only after its script runs; set it in CSS so
   the panel never depends on that. White = 4.54:1, and they keep their underline (text-block rule). */
.vc_tta.vc_tta-color-blue.vc_tta-style-flat:not(.slo-tour) .vc_tta-panel .vc_tta-panel-body a:not(.theme-button):not(.vcex-button):not([class*="button"]) {
    color: #fff;
}

/* Two-tone keyboard focus ring (WCAG 1.4.11 / 2.4.7). The site-wide ring in wp-custom-css is
   3px #005fcc offset 2px — 5.98:1 on white but 1.09:1 on teal #006680, 1.32:1 on gray #767676,
   ~2.1–2.4:1 on #333/#29292f. Here the blue outline sits flush (offset 0) and a white box-shadow
   spread to 5px shows as ONE 2px white band outside it (the outline paints over the inner 3px):
   blue + outer white. The white carries contrast on dark/mid backgrounds, the blue on light ones.
   Keyboard focus only (:focus-visible). Components with their own tuned ring keep it: the offset
   here is not !important, so their more specific outline-offset rules still win, and UberMenu
   items and the YouTube facade (.yt-facade, its own inset white/black/white ring) are excluded.
   UberMenu: the bar clips outside the item, so it keeps its inset ring. The shadow is
   !important to beat theme buttons that set their own box-shadow with !important. */
:is(a, button, select, input, textarea, summary, [role="button"], [tabindex]):not(.ubermenu *, .yt-facade):focus-visible {
    outline-offset: 0;
    box-shadow: 0 0 0 5px #fff !important;
}

/* Text fields: put the blue half of the ring back (RAMP "Talon Archive: Visible Focus State", 2.4.7).
   Total's style.css sets `input[type="text"]:focus` (and the other text-entry types, textarea) to
   `outline: var(--wpex-focus-input-outline-width) solid var(--wpex-focus-input-outline-color)`. Those
   variables are not defined on this site, so the declaration is invalid at computed-value time and the
   outline falls back to none — and at (0,2,1) it outranks the wp-custom-css ring. Only the white 5px
   shadow above was left, invisible on white and light-gray backgrounds. Selects already get their ring
   from wp-custom-css (`select:focus-visible … !important`). */
:is(input, textarea):not(.ubermenu *, .yt-facade):focus-visible {
    outline: 3px solid #005fcc !important;
}

/* Talon (/talon/) and Scholarships (/scholarships-and-financial-aid/scholarships/, /scholarship/…) filters:
   one row, label above each control, like the site's other select filters. Labels and the screen-reader-only
   hints are in each plugin's templates/search-form.php. Kept here so both stay identical (talon.css also
   loads with a fixed ?ver= that Cloudflare never busts). */
.talon-term-menus { align-items: flex-end; row-gap: 1rem; }
.talon-term-menus .talon-term-select label,
.talon-term-menus .talon-input-large label { display: block; margin: 0 0 6px; font-weight: 600; color: #333; }
/* Visible "Keywords" label above the box (RAMP "Talon Archive: Missing Persistent Visible Label");
   keep the search button level with the box, not the label. */
.talon-term-menus > form { align-items: flex-end; }
.talon-term-menus .talon-select-large { margin: 0; }
.scholarship-term-menus { align-items: flex-end; row-gap: 1rem; }
.scholarship-term-menus .scholarship-term-select label { display: block; margin: 0 0 6px; font-weight: 600; color: #333; }
.scholarship-term-menus .scholarship-select-large { margin: 0; }
/* The search icon is meant to sit inside the right end of the box (scholarship.css pulls it back with
   margin-left: -40px); as a plain block form it wrapped underneath instead. */
.scholarship-term-menus .scholarship-search-form { display: flex; align-items: center; }

/* /events/ list — collapsed event cards (RAMP "Events: Visible Focus State", 2.4.7).
   The card (.mec-toggle-item-inner, role=button via mu-plugin Module J) is display:table inside an
   <h3 style="display:contents">; Chrome paints the site's outline there, but outline on table boxes
   inside display:contents parents has been unreliable in other engines. The inset box-shadow band is
   painted by every engine, so the card shows a blue edge (#005fcc, 5.98:1 on the white card) even if
   the outline is dropped; the outer white band is the site's usual halo for dark backgrounds. */
.mec-toggle-item .mec-toggle-item-inner:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 0 !important;
    box-shadow: inset 0 0 0 3px #005fcc, 0 0 0 5px #fff !important;
}

/* RAMP "Fix insufficient color contrast of strong text in article" (1.4.3) — site-wide.
   Older page/post content (Warhawk Weekly posts, College of Sciences pages, degree pages, ~240 items,
   ~1,900 spans/links) carries an inline `color: #ff4814` from the old editor: 3.39:1 on white.
   Recolour it to the deep brand orange #c24d1e (4.80:1 on white) that the same pages already use for
   the neighbouring names, so the text and wording stay as they are. !important beats the inline style.
   Inline styles that also set a background (WPBakery buttons with white text on #ff4814) are left alone.
   On dark or mid-tone rows mu-plugin Module V picks up #c24d1e and swaps in a lighter orange or white. */
[style*="color: #ff4814" i]:not([style*="background" i]),
[style*="color:#ff4814" i]:not([style*="background" i]) {
    color: #c24d1e !important;
}

/* RAMP "Fix insufficient color contrast of paragraph in article" (1.4.3) — College of Business
   mission box ("The AUM College of Business mission is to prepare students…"), the same WPBakery inner
   row copied onto /collegeofbusiness/alumni/, /collegeofbusiness/southern-business-and-economic-journal/,
   /collegeofbusiness/graduate-programs/frequently-asked-questions/ and
   /collegeofbusiness/student-resources/career-resources/clothing-closet/ (copies keep the class).
   The row's design options paint #d0d3d4; the paragraph inherits the body colour #5b6770 = 3.85:1.
   #454f57 (same blue-grey, darker — as for the degree gradient boxes and accordion panels) = 5.56:1.
   Only inherited text changes; the box colour and wording stay as they are. */
.vc_custom_1668045418145 .wpb_text_column {
    color: #454f57;
}

/* RAMP "Fix insufficient color contrast of content in main" (1.4.3) — WPBakery/Total buttons, site-wide.
   wp-custom-css repaints every `.vcex-button.theme-button` and `.theme-button.flat` dark (#29292f !important,
   orange bottom border) but leaves the text colour the editor picked for the original light button design.
   Buttons set to teal text (#006680, "Online"/"In-Class" on ~15 degree pages, e.g. /degree/nursing-msn-*/)
   came out 2.21:1; accent-orange text (#c24d1e, e.g. "Apply for Committee") 3.01:1. White = 14.46:1 and
   matches the site's other dark buttons; hover is already white on #d3461e (4.50:1, wp-custom-css).
   Generalises the earlier one-page fixes (`.single-degree.postid-112280 a.theme-button.flat` here and in
   wp-custom-css). `.outline` buttons are excluded: wp-custom-css gives them a WHITE background.
   !important is needed to beat the inline per-button colour. */
.vcex-button.theme-button:not(.outline),
.theme-button.flat:not(.outline) {
    color: #fff !important;
}

/* RAMP "Fix insufficient color contrast of content in article" (1.4.3) — site-wide, WPBakery
   "CSS Animation" (appear-on-scroll) elements, e.g. the white "Career Planning" headings on the teal
   (#003d4c, 11.85:1) cards on /career-development-center/student-career-services/.
   js_composer sets `.wpb_animate_when_almost_visible { opacity: 0 }` until the element is scrolled into
   view, so the text is invisible on load and an automated checker measures it at opacity 0 (1:1).
   The colours themselves pass. Keep every such element visible and drop the entrance animation:
   with the fade removed, the fadeInUp/Left/... keyframes would make visible content jump down and slide
   back. !important beats both the js_composer rule and the running animation (important author
   declarations outrank animations in the cascade). Content, colours and layout are unchanged;
   the only visible difference is that blocks no longer fade in on scroll. Also covers 2.3.3. */
.wpb_animate_when_almost_visible {
    opacity: 1 !important;
    animation: none !important;
}

/* RAMP "Apply: Text Contrast" (1.4.3) — breadcrumbs on photo page banners, site-wide.
   The Customizer colours `.site-breadcrumbs` deep orange (#c24d1e); on a banner photo it measured
   3.78:1 against the darkest part (#15140c). mu-plugin Module V already turns it white with a dark halo,
   but only once its script has run and measured the photo — before that, or for a checker that reads
   the page early, the orange shows. Do it in CSS for banners that carry Total's dark overlay (the page
   title above it is already plain white): white text, links included, with Module V's halo so it holds
   over bright spots too. Banners without the dark overlay are left to Module V. */
.page-header.background-image-page-header:has(.background-image-page-header-overlay.style-dark) .site-breadcrumbs,
.page-header.background-image-page-header:has(.background-image-page-header-overlay.style-dark) .site-breadcrumbs a {
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .85), 1px 1px 1px rgba(0, 0, 0, .6);
}
