/* Module load order lives in layout/head.cfm as an explicit <link> list, so every file gets ?ck= busted. */

/* --bs-* tokens live in _base.css (the 2026 module, loaded after this file). They were duplicated
   here and always lost the cascade -- style.css owns the --site-* brand palette only. */
:root {
  --bs-orangered-hover: #Fe6500; /* not in _base */

  /* https: //colorate.azurewebsites.net/Color/FFB700 */
  --site-lite:     #FFFDEF;
  --site-base-100: #FFF4DA;
  --site-base-200: #FFEAB6;
  --site-base-300: #FFE091;
  --site-base-400: #FFCB48; /* ^^ ADDS WHITE */
  --site-base-500: #FFB700; /* RSC/MANGO */
  --site-base-600: #B68200; /* vv ADDS BLACK */
  --site-base-700: #916800;
  --site-base-800: #6D4E00;
  --site-base-900: #483400;
  --site-base-500-rgb: 255, 183, 0; /* for rgba() glows, rings, gradient stops */
  --site-base-900-rgb: 72, 52, 0;   /* for rgba() hero gradient stops */
  --site-dark:     #241A00;
  --site-dark-rgb: 36, 26, 0;       /* for rgba() hero overlays */
  --site-accent: #FF9139;
  --site-bluest: #0d0afd;

  --site-compliment: #00477f;
  --site-compliment-100: #DAE4FF;
  --site-compliment-200: #B6CAFF;
  --site-compliment-300: #91B0FF;
  --site-compliment-400: #487BFF;
  --site-compliment-500: #00477f;
  --site-compliment-600: #0032B6;

  --site-sage-100: #DBF1FB;
  --site-sage-200: #B8E4F7;
  --site-sage-300: #95D6F3;
  --site-sage-400: #4FBBEB; /* ^^ ADDS WHITE */
  --site-sage-500: #09A1E4; /* SAGE BLUE */
  --site-sage-600: #0673A2; /* vv ADDS BLACK */
  --site-sage-700: #055C82;
  --site-sage-800: #034561;
  --site-sage-900: #022E41;
  --site-sage-500-rgb: 9, 161, 228; /* for rgba() pills and tints */
  --site-sage-link: #1155cc;
  --site-sage-hover: #2eaee6;

  --site-available: #084DFF;
  --site-available-accent: #487BFF;
  --site-available-subtle: #81C6FF;
  --site-complete: #188754;
  --site-complete-accent: #44A85F;
  --site-complete-subtle: #7EC87E;
  --site-danger: #DC3545;
  --site-danger-subtle: #FDE2E2;
  --site-info: #0276B1;
  --site-info-subtle: #E8F4FB;
  --site-neutral: #737373;
  --site-neutral-subtle: #F5F5F5;
  --site-success: #1E9E6F;
  --site-success-subtle: #E6F5EF;
  --site-warning: #F3B318;
  --site-warning-subtle: #FFF3CD;

  /* 2026 CTA buttons (get-started / sign-in / sign-out) — mango stays on the base scale */
  --site-cta: var(--site-base-500);
  --site-cta-hover: var(--site-base-400);
  --site-signin-hover: #0891D0;
  --site-logout: #FF4D00;
  --site-logout-hover: #E64500;

  /* page-hero palettes (MCAG/families green, foundation/secure maroon, info navy) */
  --site-hero-navy: #071E24;
  --site-hero-navy-rgb: 7, 30, 36;
  --site-hero-green: #0A3D2E;
  --site-hero-green-rgb: 10, 61, 46;
  --site-hero-green-accent: #0D5C4A;
  --site-hero-maroon: #5C0A0A;
  --site-hero-maroon-rgb: 92, 10, 10;
}

h1, h2, h3, h4, h5, h6 { color: var(--site-base-900); }

a.pointer { cursor: pointer; }
a[aria-expanded='true'] i.fa-angle-right { transform: rotate(90deg); transition: transform .2s ease; }
a[aria-expanded='false'] i.fa-angle-right { transform: rotate(0deg);    transition: transform .2s ease; }
a.more.collapsed::after { content: 'READ MORE'; font-size: 0.70rem; }
a.more:not(.collapsed)::after { content: 'READ LESS'; font-size: 0.70rem; }
a.more:hover::after { color: var(--site-base-900); }

img.ratio-1x1 { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
img.ratio-2x1 { width: 100%; aspect-ratio: 2/1; object-fit: cover; }
img.ratio-3x2 { width: 100%; aspect-ratio: 3/2; object-fit: cover; } /* 1.5/1 */
img.ratio-5x4 { width: 100%; aspect-ratio: 5/4; object-fit: cover; } /* 1.25/1 */
img.saved-college { width: 100%!important; height: 100px!important; object-fit: contain!important; }

ul.college-profile-nav li .active { border-left: 0.25rem solid var(--site-base-300); }
ul.college-profile-nav-member li .active { border-color: var(--site-complete); }

/* checklist row: the reason line is the disclosure trigger, so the plus flips to a minus when open */
.ck-detail-toggle:not(.collapsed) .fa-circle-plus::before { content: '\f056'; }
.ck-detail-toggle:hover { color: var(--bs-body-color)!important; }
/* four-year plan anchors (Jump to, grouped-row links) land below the fixed header */
#journey [id^='grade-'], #journey [id^='jr-'] { scroll-margin-top: calc(var(--fixed-header-h, 74px) + 1rem); }

/* mobile stand-in for the side nav -- matches .student-quickbar's offset so it clears the fixed header */
.section-nav-mobile { position: sticky; top: var(--fixed-header-h, 74px); z-index: 1019; background: var(--bs-white); padding: .5rem 0; }
.section-nav-mobile .dropdown-menu { max-height: 60vh; overflow-y: auto; }

input.form-check-input-lg { width: 1.25rem; height: 1.25rem; }
label.required::after, span.required::after { content: ' *'; color:var(--site-danger); }
sup i.fa-asterisk { margin-left: 1px; margin-right: 2px; }

.min-h-100px { min-height: 100px; }
.min-vh-85 { min-height: 85vh; }
.top-120 { top: 120px; }
.h-130px { height: 130px; }


.font-condensed { font-family: 'Roboto Condensed', sans-serif; font-size: .90rem; }
.font-serif { font-family: 'Source Serif 4', Georgia, serif; }
.upper-condensed { font-family: 'Roboto Condensed', sans-serif; font-weight: 500!important; text-transform: uppercase!important; }

.bg-rsc       { background-color:var(--site-base-500)!important; }
.bg-rsc-dark  { background-color:var(--site-base-900)!important; }
.bg-rsc-200   { background-color:var(--site-base-200)!important; }
.bg-sage-500  { background-color:var(--site-sage-500)!important; } /* SAGE BLUE -- .bg-sage is the legacy gold */
.bg-available-subtle { background-color:var(--site-available-subtle)!important; }

.text-available { color: var(--site-available); }
.text-bluest { color: var(--site-bluest); }
.text-complete { color: var(--site-complete); }
.text-rsc-light { color:var(--site-base-300)!important; }
.text-rsc  { color:var(--site-base-500)!important; }
.text-rsc-passive { color: var(--site-base-800); }
.text-rsc-dark { color:var(--site-base-900)!important; }
.text-sage { color:var(--site-sage-500)!important; }

.border-gradient-left { border-left: 2px solid transparent; border-image-source: linear-gradient(to bottom, var(--site-base-900) 0%, var(--site-base-400) 100%); border-image-slice: 1; }
.border-rsc { border-color:var(--site-base-500)!important; }
.border-rsc-600 { border-color: var(--site-base-600)!important; }
.border-rsc-900 { border-color: var(--site-base-900)!important; }
.border-top-rsc { border-top: 2px solid var(--site-base-500)!important; }
.border-top-sage { border-top: 2px solid var(--site-sage-500)!important; }

.btn-tiny { --bs-btn-padding-y: 0.2rem; --bs-btn-padding-x: 0.4rem; --bs-btn-font-size: 0.7rem; --bs-btn-border-radius: var(--bs-border-radius-sm); min-width: 1.3rem; }
.btn-rsc { color: var(--site-dark); background-color: var(--site-base-500); border-color: var(--site-base-600); font-weight: 500!important; }
.btn-rsc:hover { color: var(--site-base-900); background-color: var(--site-base-400); border-color: var(--site-base-800); }

.btn-rsc-lite { color: var(--site-dark); background-color: var(--site-base-400); border-color: var(--site-base-800); }
.btn-rsc-lite:hover { color: var(--bs-white); background: var(--site-base-600); border: 1px solid var(--site-base-700); }

.btn-rsc-dark { color: var(--site-lite); background-color: var(--site-base-900); border-color: var(--site-base-700); font-weight: 500!important; }
.btn-rsc-dark:hover { color: var(--site-lite); background-color: var(--site-base-800); border-color: var(--site-base-900); }
.btn-outline-rsc { --bs-btn-color: var(--site-base-500); --bs-btn-border-color: var(--site-base-500); --bs-btn-hover-color: var(--site-base-900); --bs-btn-hover-bg: var(--site-base-400); --bs-btn-hover-border-color: var(--site-base-800); --bs-btn-focus-shadow-rgb: 2, 118, 177; --bs-btn-active-color: var(--site-lite); --bs-btn-active-bg: var(--site-base-500); --bs-btn-active-border-color: var(--site-base-500); --bs-btn-disabled-color: var(--site-base-500); --bs-btn-disabled-border-color: var(--site-base-500); }
.btn-outline-rsc-dark { --bs-btn-color: var(--site-base-900); --bs-btn-border-color: var(--site-base-900); --bs-btn-hover-color: var(--site-lite); --bs-btn-hover-bg: var(--site-base-800); --bs-btn-hover-border-color: var(--site-base-900); --bs-btn-focus-shadow-rgb: 2, 118, 177; --bs-btn-active-color: var(--site-lite); --bs-btn-active-bg: var(--site-base-700); --bs-btn-active-border-color: var(--site-base-900); --bs-btn-disabled-color: var(--site-base-900); --bs-btn-disabled-border-color: var(--site-base-900); }
.btn-outline-complete { --bs-btn-color: var(--site-complete); --bs-btn-border-color: var(--site-complete); --bs-btn-hover-color: var(--site-base-100); --bs-btn-hover-bg: var(--site-complete); --bs-btn-hover-border-color: var(--site-base-800); --bs-btn-focus-shadow-rgb: 2, 118, 177; --bs-btn-active-color: var(--site-lite); --bs-btn-active-bg: var(--site-complete); --bs-btn-active-border-color: var(--site-complete); --bs-btn-disabled-color: var(--site-complete); --bs-btn-disabled-border-color: var(--site-complete); }
.btn-outline-available { --bs-btn-color: var(--site-available); --bs-btn-border-color: var(--site-available); --bs-btn-hover-color: var(--site-base-100); --bs-btn-hover-bg: var(--site-available); --bs-btn-hover-border-color: var(--site-base-800); --bs-btn-focus-shadow-rgb: 2, 118, 177; --bs-btn-active-color: var(--site-lite); --bs-btn-active-bg: var(--site-available); --bs-btn-active-border-color: var(--site-available); --bs-btn-disabled-color: var(--site-available); --bs-btn-disabled-border-color: var(--site-available); }
.btn-rsc-passive { color: var(--site-base-600); background-color: var(--site-base-100); border-color: var(--site-base-600); font-weight: 500!important; }
.btn-rsc-passive:hover { color: var(--site-dark); background-color: var(--site-base-500); border-color: var(--site-dark); }
.btn-sage { color:var(--site-lite)!important; background-color:var(--site-sage-500)!important; }
.btn-sage:hover { color:var(--site-lite); background-color:var(--site-sage-hover)!important; }
.btn-xs-icon {  } /* mobile button only shows icon */

.round-i { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1px solid var(--site-base-700); border-radius: 50%; }
.round-i.top-5 { background-color: var(--site-complete-subtle); }
.round-i.top-10 { background-color: var(--site-sage-300); }
.top-5 { color: var(--site-complete); }
.top-10 { color: var(--site-sage-500); }

.has-selections { box-shadow: 0 0 7px 2px var(--site-base-600)!important; }
/* focus-within color affects BS icon/buttons/floating labels */
.form-control:focus, .form-select:focus, .input-group:focus-within .input-group-text { box-shadow: none!important; border-color: var(--site-base-700)!important; }
.input-group:focus-within i, .input-group:focus-within .btn, .input-group:focus-within .form-select { color: var(--site-base-800)!important; border-color: var(--site-base-700)!important; }
.form-floating:focus-within label { color: var(--site-base-800)!important; }

.badge-ft { color: var(--site-lite); font-weight:400; border:1px solid var(--site-base-900); min-width: 40px; padding: 6px 10px; justify-content: center; }
.badge-st { color: var(--site-dark); font-weight:400; border:1px solid var(--site-base-900); min-width: 40px; padding: 4px 6px; justify-content: center; }
.badge-complete  { background-color: var(--site-complete); border:1px solid var(--bs-white); }
.badge-available { background-color: var(--site-available); border:1px solid var(--bs-white); }
.badge-danger    { background-color: var(--site-danger); border:1px solid var(--bs-white); }
.badge-warning   { background-color: var(--site-warning); color: var(--site-dark); border:1px solid var(--bs-white); }
.badge-prime     { background-color: var(--bs-prime); color: var(--bs-white); }
.badge-rsc       { background-color: var(--site-base-500); color: var(--site-base-900); }
.badge-applied   { color: var(--site-dark); background-color: var(--site-base-100); font-size: .9rem; }
.badge-applied:hover { background-color: var(--site-base-500); cursor: pointer; }
.badge-complete, .badge-available, .badge-warning, .badge-danger { margin-top: .25rem; font-weight: 400; padding: 4px 10px; }

.card.card-form { border-color: var(--bs-border-color); } /* card with empty head/foot wrapping forms */
.card.card-form .card-header { background-color: var(--bs-gray-200); }
.card.card-form .card-body { background-color: var(--bs-gray-100); padding-left: 1.5rem; padding-right: 1.5rem; }
.card.card-form .card-footer { background-color: var(--bs-gray-200); }

.link-upper { color: var(--site-base-500); font-family: 'Roboto Condensed', sans-serif; font-weight: 500!important; text-transform: uppercase!important; }
.link-upper:hover { color: var(--site-dark); }


.icon-svg { height: 2rem; width: auto; }

.accordion-button:not(.collapsed) { color:var(--site-dark); background-color:var(--site-base-500); border: 1px solid var(--site-base-900); }
.accordion-button.collapsed { color:var(--site-dark); background-color: var(--bs-gray-100); border: 1px solid var(--bs-gray-300); }
.accordion-button:focus { box-shadow: 0 0 0 0.25rem rgba(var(--site-base-500-rgb), .35); }

.panel-rsc { background-color: var(--site-base-500); border-color: var(--site-base-800); }
.panel-white { background-color: var(--bs-white); }
@media (max-width:576px) {
}

a[data-slidable][aria-expanded='true'] .fa-chevron-down { transform: rotate(0deg); transition: transform .2s ease; }
a[data-slidable][aria-expanded='false'] .fa-chevron-down { transform: rotate(270deg);    transition: transform .2s ease; }

.masonry { column-count: 1; column-gap: .5rem; }
.masonry-item { break-inside: avoid; margin-bottom: .5rem; }
.masonry-item img { max-height: 33vh; width: 100%; }
@media (min-width: 768px) { .masonry { column-count: 2; } }
@media (min-width: 992px) { .masonry { column-count: 3; } }
@media (min-width: 1200px) { .masonry { column-count: 4; } }

.calendar-tile { height: 6rem; width: 6rem; background: var(--bs-white); }
.calendar-tile .row { height: 100%; flex-direction: column; flex-wrap: nowrap; } /* month pinned top, day fills, weekday at bottom */
.calendar-tile h6 { font-size: .7rem; line-height: 1.15; margin: .15rem 0 !important; }
.calendar-tile .fs-2 { font-size: 1.75rem !important; line-height: 1; flex: 1; display: flex; align-items: center; justify-content: center; }

.sticky-save { position:sticky; bottom:0; z-index:888; padding:1rem 0; margin-right:2.75rem;}
.month-sticky { position: sticky; top: calc(var(--fixed-header-h, 64px) + var(--quickbar-h, 0px) + 8px); z-index: 1010; background: var(--bs-white); padding: .25rem 0; box-shadow: 0 1px 0 rgba(0, 0, 0, .06); font-size: 1.35rem; }
.clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.clamp-4 { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }

.hr-section { height: 4px; border: 0; margin: 1.5rem 0; border-radius: 999px; opacity: 1; background: linear-gradient(90deg, var(--site-base-100) 0%, var(--site-base-500) 50%, var(--site-base-100) 100% ); }
.img-overlay span.block { position: absolute; width: 95%; top: 80%; right: 3%; text-align: right; color: var(--site-lite); background: #000000b3; padding: 1px 8px 2px 2px; }

/* MENUS */
#nav-header { transition: all 0.5s; z-index: 997; background: rgb(255, 255, 255); }
#nav-header .logo img.main-logo { max-height: 50px; min-width: 195px; width: auto; }
@media (max-width: 767.98px) {
  #nav-header .logo img.main-logo { min-width: 175px; width: auto; }
}
@media screen and (max-width:400px) {
}

.dropdown-item:hover { color:var(--site-base-900); background-color: var(--site-base-100); }
.dropdown-item:hover i { color:var(--site-base-600); }
.nav-link, .dropdown-item { color: var(--site-base-900); transition: 0.3s; font-size: 15px; font-weight: normal; }
.navbar-nav div.carousel-item .dropdown-item:active, .dropdown-item:active { color: var(--site-dark); background-color: var(--site-base-500); }
/* .navbar-nav a.nav-link:hover -> owned by _nav-footer.css (loads later) */
.navbar-nav a.nav-link.nav-link-circle-button { width: 48px; height: 48px; display: flex; justify-content: center; color:var(--site-lite); background-color:var(--site-base-900); border: 1px solid var(--bs-gray-500); }
.navbar-nav a.nav-link.nav-link-circle-button:hover { color:var(--site-lite)!important; background-color:var(--site-base-800); border: 1px solid var(--site-base-900); }
.navbar-nav a.nav-link.nav-link-circle-button-user { color:var(--site-lite); background-color:var(--site-base-900); border: none; }
.navbar-nav a.nav-link.nav-link-circle-button-user:hover { color:var(--site-lite)!important; background-color:var(--site-base-800); border: none; }
/* a.btn-nav + variants live in _auth-admin.css — must load after _nav-footer's .navbar-nav a rule */

/* div.clear-nav { height: 2rem; }
@media only screen and (max-width: 767px) { div.clear-nav { height: 6rem; } }
@media only screen and (max-width: 575px) { div.clear-nav { height: 9rem; } } */

.author-tile-title { color: var(--site-lite); background-color: var(--site-base-900); z-index: 990; position: absolute; left: 0; right: 0; bottom: .25rem; width: 98%; margin: 0 auto; }

#flash { z-index: 9999; top: 105px; }

div.hero-header { width:100%; height: 35rem; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; z-index: -1; background-position: center top; }
div.hero-header h1.hero-title { margin-bottom: -15px; margin-right: 4px; color: var(--site-base-500); font-size: 5.625rem; float: right; text-transform: uppercase; font-weight: 700; font-family: 'Roboto Condensed', sans-serif; }
div.hero-header div.hero-accordion a { text-decoration: none; }
div.hero-header div.hero-accordion { max-width: 400px; margin-top: 7rem; margin-left: 1rem; margin-right: 1rem; transform: translate(20%); }
@media only screen and (max-width: 767px) {
  div.hero-header div.hero-accordion { transform: translate(10%); margin-top: 6rem; width: 60vw; }
  div.hero-header h1.hero-title { font-size: 4.2rem; margin-bottom: -14px; }
}
@media only screen and (max-width: 575px) {
  div.hero-header div.hero-accordion { transform: none; margin-top: 8rem; width: 80vw; }
  div.hero-header h1.hero-title { font-size: 2.8rem; margin-bottom: -8px; }
}

#affordability div.hero-header { background-image: url('/assets/images/headers/affordability.webp'); }
#funding div.hero-header { background-image: url('/assets/images/headers/funding.webp'); }
#homepage div.hero-header { background-image: url('/assets/images/headers/home.jpg'); }
#info.continuing-ed div.hero-header { background-image: url('/assets/images/headers/continuing_ed.webp'); }
#info.counselors div.hero-header { background-image: url('/assets/images/headers/counselors.webp'); }
#info.parents div.hero-header { background-image: url('/assets/images/headers/parents.webp'); }
#info.sage-scholars div.hero-header { background-image: url('/assets/images/headers/sage_scholars.webp'); }
#info.students div.hero-header { background-image: url('/assets/images/headers/students.webp'); }


.ez-read { font-family: Georgia, 'Times New Roman', serif; font-size: 1.1rem; line-height: 1.8; max-width: 65ch; margin: 0 auto; }

/* MOBILE UNDER 480 ADJUSTMENTS */
@media (max-width: 480px) {
  h1, .h1, .fs-1 { font-size: calc(2rem * 0.75); }
  h2, .h2, .fs-2 { font-size: calc(2rem * 0.7); }
  h3, .h3, .fs-3 { font-size: calc(2rem * 0.65); }
  h4, .h4, .fs-4 { font-size: calc(2rem * 0.6); }
  h5, .h5, .fs-5 { font-size: calc(2rem * 0.55); }
  h6, .h6, .fs-6 { font-size: calc(2rem * 0.5); }
  .card.card-form .card-body { padding: 0.75rem; }
  .btn-xs-icon { padding: .15rem; border-color: var(--site-base-200); background-color: var(--site-base-200); }
  .btn-xs-icon span { display: none; } /* wrap text in a span to hide on mobile */
  ol { padding-left: 0.85rem; }
}
