/* === START: utilities — spacing, sizing, color helpers, tables, misc === */

/* pads and spacing adjustments */
.pt-6   {padding-top:3.5rem!important;}
.pt-7   {padding-top:4rem!important;}
.pb-7   {padding-bottom:4rem!important;}
.pb-8   {padding-bottom:4.5rem!important;}
.pb-9   {padding-bottom:5rem!important;}
.pb-10  {padding-bottom:5.5rem!important;}
.px-6   {padding-left:3.5rem!important;padding-right:3.5rem!important;}
.py-6   {padding-top:3.5rem!important;padding-bottom:3.5rem!important;}
.py-10  {padding-top:5.5rem!important;padding-bottom:5.5rem!important;}
.px-10  {padding-left:5.5rem!important;padding-right:5.5rem!important;}

.mt-6   {margin-top:3.5rem!important;}
.mt-7   {margin-top:4rem!important;}
.mb-6   {margin-bottom:3.5rem!important;}
.mb-8   {margin-bottom:4.5rem!important;}

.h-34px { height: 34px !important; }
.h-80px { height: 80px !important; }
.h-100px { height: 100px !important; }
.h-1rem { height: 1rem !important; }
.fhpx-5 { height: 5px !important; line-height: 5px !important;}
.fhpx-5 td {padding: 0 !important;font-size: 0 !important;}
.fhpx-10 { height: 10px !important; line-height: 10px !important;}
.fhpx-10 td {padding: 0 !important;font-size: 0 !important;}
.min-h-9em { min-height:9em; }
.min-h-38px { min-height: 38px; }
.min-h-300px { min-height: 300px; }
.max-h-80px { max-height: 80px; }
.max-vh-35 { max-height: 35vh; }
.max-vh-55 { max-height: 55vh; }
.max-vh-65 { max-height: 65vh; }

#awardsOffered {
  table-layout:fixed;
  width:100%;
  border-collapse:collapse;
}

#awardsOffered td {
  box-sizing: border-box; /* Makes width calculations include padding/borders */
}

.vh-25 { height: 25vh; }
.vh-35 { height: 35vh; }
.vh-50 { height: 50vh; }
.vh-65 { height: 65vh; }
.vh-75 { height: 75vh; }

.top-150 { top: 150px; }

.z-index-neg-9999 { z-index: -9999; }

.overflow-ellipsis { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }

.table>:not(caption)>*>* {border-bottom-width:0px;}/*bs 5 moved default td border to bottom - this sets it to 0 */
.table td {border-top: 1px solid #dee2e6;} /* bs5 removed top border this restores top border on td */
.table .table-borderless td {border-top: none;} /* removes border top if table-borderless is specified on table */

.last-row-border-bottom tbody tr:last-child td {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}


.medium {font-size:0.875rem; line-height:1.5}
.text-1rem {font-size:1.0rem !important}
.text-sizeadjust-sm { font-size:0.875rem; line-height:1.5 }
/*.text-sizeadjust-lg-1 { font-size: 1.2rem; }*/
.text-sizeadjust-lg-1 {font-size: clamp(1.05rem, 1.02rem + 0.3vw, 1.12rem); };
.text-larger  { font-size: 1.25rem !important; }  /* 125% → 1.25rem */
.text-large   { font-size: 1.75rem; }
.text-medium  { font-size: 0.92rem !important; line-height: 1.6; }
.text-small   { font-size: 0.85rem !important; }
.text-smaller { font-size: 0.75rem !important; }
.text-xsmall  { font-size: 0.60rem !important; }
.text-sm      {font-size: 14px !important;}
.text-12px    {font-size: 12px !important;}
.text-white-normal { color: #ffffff !important; font-weight:normal !important;}
.font-condensed { font-size: .90rem; }



.text-fixed16 {font-size:16px;line-height:28px}

/* size adjustments */
.xx-small     {font-size: 0.65rem!important}
.x-small      {font-size: 0.75rem!important} /* default small is .875 */
.large        {font-size: 1.2rem!important}
.x-large      {font-size: 1.4rem!important}
.xx-large     {font-size: 2.2em!important}
.xxx-large    {font-size: 3em!important}
.large-pct    {font-size: 125%!important;}
.text-lead    {font-size: 1.0625rem!important}
.text-defalt-sz {font-size:1.0rem!important}

p.small {line-height:1.35;}
div.help-text {line-height:1.35;}

label.small {font-size:0.95rem!important;}

.text-height-0 {line-height: 1!important;}
.text-height-1 {line-height: 1.5!important;}
.text-height-2 {line-height: 2!important;}
.text-height-3 {line-height: 2.5!important;}
.text-height-4 {line-height: 3!important;}
.text-height-5 {line-height: 3.5!important;}

sup>i {
  font-size:9px;
}

#termsModal h3 {font-size:1.0rem;line-height:1.5}
#termsModal p  {font-size:0.875rem;line-height:1.5}

.text-strikeout {text-decoration: line-through;}
.text-underline {text-decoration: underline;}

#studentAvailableActions a {text-decoration: underline;}

.vertical-center {
  display: flex;
  align-items: center;
}

.alert-bonus     { background-color:rgba(243,243,243,.4); border-color:#09a1e4; color:rgb(33,37,41) !important }
.alert-cactus    { background-color:#164A41; border-color:#041f1a; color:#FFFFFF !important }
.alert-caribbean { background-color:#07ABA0; border-color:#057f77; color:#ffffff !important }
.alert-dksage    { background-color:#036A96; border-color:#01405b; color:#ffffff !important }
.alert-dksage a  {color: #ffb700 !important}
.alert-dksage a:hover {color: #ffce64 !important}
.alert-fuscia    { background-color:#e32040; border-color:#a51930; color:#ffffff !important }
.alert-ltsage    { background-color:#f2fbff; border-color:#09a1e4; color:#1b1e21 !important }
.alert-mango     { background-color:#ffb700; border-color:#ab7b00; color:#ffffff !important }
.alert-mustard   { background-color:#e4b809; border-color:#b69d3b; color:#ffffff !important }
.alert-rsc       { background-color:#fff8e5; border-color:#ffb700; color:#3f3825 !important }
.alert-steel     { background-color:#444b55; border-color:#333a44; color:#ffffff !important }
.alert-tomato    { background-color:#e44b09; border-color:#db4f04; color:#ffffff !important }

.badge-complete  { background-color: #00af64!important; border:1px solid white; }
.badge-danger    { background-color: #d9534f!important; border:1px solid white; }
.badge-mango     { background-color:#ffb700; color:#FFFFFF }
.badge-prime     { background-color:#036A96; color:#FFFFFF }
.badge-sage      { background-color:#09A1E4; color:#FFFFFF }
.badge-warning   { background-color: #f0ad4e!important; border:1px solid white; }
.badge-warning, .badge-danger, .badge-complete {margin-top:.25rem; font-weight:400;padding: 4px 10px;}

.badge--alerts {
  font-size: 14px;
  padding: 2px 8px;
  border: 1px solid #e32040;
  border-radius: 10px;
  position: absolute;
  left:4px;
}

.badge--warning {
  background: #e32040;
  border-color: #e32040;
  color:#FFFFFF;
}

.bg-altsage       {background-color:#3a4d59!important;}
.bg-black         {background-color:#151b25!important;}
.bg-dkblue        {background-color:#00467f!important;}
.bg-dkdkblue      {background-color:#1c2535!important;}
.bg-foggy         {background-color:#e6e6eb!important;}
.bg-gray100       {background-color:var(--bs-gray-100,inherit)!important;}
.bg-gray200       {background-color:var(--bs-gray-200,inherit)!important;}
.bg-gray300       {background-color:var(--bs-gray-300,inherit)!important;}
.bg-gray400       {background-color:var(--bs-gray-400,inherit)!important;}
.bg-gray500       {background-color:var(--bs-gray-500,inherit)!important;}
.bg-gray600       {background-color:var(--bs-gray-600,inherit)!important;}
.bg-gray700       {background-color:var(--bs-gray-700,inherit)!important;}
.bg-gray800       {background-color:var(--bs-gray-800,inherit)!important;}
.bg-gray900       {background-color:var(--bs-gray-900,inherit)!important;}
.bg-sage          {background-color:var(--bs-sage,inherit)!important;}
.bg-royal-mid     {background-color:var(--bs-royal-mid,inherit)!important;}
.bg-sage-subtle   {background-color:var(--bs-sage-bg-subtle,inherit)!important;}
.bg-ltgray        {background-color:rgba(240,240,240,1)}
.bg-mango         {background-color:#ffb700!important;}
.bg-mint          {background-color:#daf7e4!important;}
.bg-prime         {background-color:var(--bs-prime,inherit)!important;}
.bg-danger-subtle {background-color:var(--bs-danger-bg-subtle,inherit)!important;}

.bg-salmon        {background-color:#e35959!important;}
.bg-steel         {background-color:#444b55!important;}
.bg-link-red      {background-color:rgba(204,0,0,0.2)!important;}
.bg-link-warning  {background-color:rgba(255,183,0,0.25)!important;}
.bg-sage-lightest {background-color:rgba(9,161,228,.12)!important;}

.bg-mcag          {background-color:#8CC63F!important;}
.bg-pale          {background-color:var(--bs-bg-pale,inherit)!important;}
.bg-royal         {background-color:var(--bs-royal,inherit)!important;}
.bg-platinum      {background-color:#F1F1E6!important;}

.border-sage  {border-color: var(--bs-sage,inherit) !important;}
.border-royal {border-color: var(--bs-royal,inherit) !important;}
.border-gray600 {border-color: var(--bs-gray-600,inherit) !important;}
.border-mango {border-color: #ffb700 !important;}
.border-form-header {border-color:#09a1e4 !important; border-width: 3px !important; }
.border-top-gray400 {border-top: 2px solid #ced4da}
.border-top-mango {border-top: 2px solid #ffb700}
.border-bottom-mango {border-bottom: 2px solid #ffb700}
.border-left-mango {border-left: 3px solid #ffb700}
.border-2 {border-width:2px !important;}
.border-3 {border-width:3px !important;}

.border-top-sage      {border-top:1px solid rgb(9,161,228);}
.border-left-sage-2   {border-left: 2px solid rgb(9,161,228)}
.border-left-mango-2  {border-left: 2px solid rgb(255, 183, 0)}

.border-dashed { border-style: dashed !important; }

.border-form-default  {
  border-top:4px solid rgb(9,161,228);
  border-right:1px solid rgb(9,161,228);
  border-bottom:1px solid rgb(9,161,228);
  border-left:1px solid rgb(9,161,228);
}

.border-gradient-blue-right {
  border-right: 2px solid transparent;
  border-image-source: linear-gradient(to bottom,rgba(9,161,228,1) 0%,rgba(9,161,228,0.4) 100%);
  border-image-slice: 1;
}
.border-gradient-blue-top {
  border-top: 2px solid transparent;
  border-image-source: linear-gradient(to right,rgba(9,161,228,1) 0%,rgba(9,161,228,0.4) 100%);
  border-image-slice: 1;
  margin: 2rem 0;
}

.border-gradient-blue-top-2 {
  border-top-width: 3px;
  border-top-style: solid;
  border-image: linear-gradient(to right,rgb(255,255,255) 8%, rgba(9,161,228,1) 15%, rgb(9,131,208) 80%, rgb(255,255,255) 92%) 1;
  margin: 2.5rem 0 1rem 0;
}



.border-gradient-blue-left {
  border-left: 2px solid transparent;
  border-image-source: linear-gradient(to bottom,rgba(9,161,228,1) 0%,rgba(9,161,228,0.4) 100%);
  border-image-slice: 1;
}

.gradient-blue-left-2 {
  border-left-width:2px;
  border-left-style: solid;
  border-image: linear-gradient(rgb(255,255,255) 20%, rgba(9,161,228,1) 45%, rgb(9,131,208) 50%, rgb(255,255,255) 80%) 20;
}

.text-normal         {font-size: calc(15px + 1.1 * ((100vw - 320px) / 680)); line-height:1.65em;color:var(--bs-base-color,inherit)!important;}
.text-color-default  {color:var(--bs-base-color,inherit)!important;}
.text-mango          {color:#ffb700!important;}/* mango discrepancy!  AG has ffb700 and Ive been using ffae00 */
.text-sage           {color:#09a1e4!important;}
.text-royal          {color:var(--bs-royal,inherit)!important;}
.text-royal-soft     {color:var(--bs-royal-soft,inherit) !important;}
.text-orange         {color:#ff8400!important;}
.text-salmon         {color:#e35959!important;}
.text-gray           {color:#3a4d59!important;}
.text-gray5          {color:#adb5bd!important;}
.text-gray7          {color:#495057!important;}
.text-green          {color:var(--bs-green,inherit);}
.text-fuscia         {color:#e32040!important;}
.text-red            {color:#ff001e!important;}
.text-orangered      {color:orangered!important;}
.text-indigo         {color:indigo!important;}
/* .text-prime          {color:#036A96!important;} */
.text-link           {color:#15c!important;}
.text-dkblue         {color:#00467f!important;}
.text-bonus          {color:#009966!important; font-weight: 700; font-size: 75%; }
.text-mcag           {color:#8CC63F!important;}
.text-gray300        {color:var(--bs-gray-300,inherit);}
.text-gray400        {color:var(--bs-gray-400,inherit);}
.text-gray500        {color:var(--bs-gray-500,inherit);}
.text-gray600        {color:var(--bs-gray-600,inherit);}
.text-gray700        {color:var(--bs-gray-700,inherit);}
.text-prime          {color:var(--bs-prime)}

.btn-dkgray {background-color:#3a4d59; color:white;}
.btn-dkgray:hover {border-color:#3a4d59; color:#3a4d59;}

.btn-input {
  background-color: rgb(255,255,255);
  color:rgb(58,77,89)!important;
  border-color:rgb(216,216,216);
}
.btn-input:hover, .btn-input-dark:hover {
  border-color:rgb(104,104,104);
}
.btn-input-dark {
  background-color: rgb(255,255,255);
  color:rgb(33,37,41)!important;
  border-color:rgb(216,216,216);
}
.btn-input-dark.has-selections {
  background-color: rgb(175,230,255)!important;
}

/* font sizing responsive for college search page */
@media (max-width: 991.98px){
  #college-search-header .saved-colleges-link{ font-size:1.30rem; }   /* h5 */
  #college-search-header .college-search-title{ font-size:1.30rem; }
}

/* sm (and below) → h6 size */
@media (max-width: 767.98px){
  #college-search-header .saved-colleges-link{ font-size:1.15rem; }      /* h6 */
  #college-search-header .college-search-title{ font-size:1.15rem; }
}



table.table tr.primary-contact {background-color:#00aa6440 !important}
table.table tr.self-contact {background-color:#baeaff40 !important}

/* broker agent classes - there are more in nav menu classes too */
table.agent-product-list td {vertical-align: middle!important;}
td.bg-late-4 {--bs-table-bg: rgba(220, 53, 69, 0.15) !important;}
td.bg-late-3 {--bs-table-bg: rgba(255, 193, 7, 0.18) !important;}
td.bg-late-2 {--bs-table-bg: rgba(255, 140, 0, 0.12) !important;}
td.bg-late-1 {--bs-table-bg: rgba(220, 53, 69, 0.05) !important;}
.table tbody tr:hover td.bg-late-1,
.table tbody tr:hover td.bg-late-2,
.table tbody tr:hover td.bg-late-3,
.table tbody tr:hover td.bg-late-4 { filter: brightness(1.05);}
td.bg-late-1,td.bg-late-2,td.bg-late-3,td.bg-late-4 {
  border-top: 1px solid var(--bs-table-border-color) !important;
  border-bottom: 1px solid var(--bs-table-border-color) !important;
  border-left: 1px solid var(--bs-table-border-color) !important;
  border-right: 1px solid var(--bs-table-border-color) !important;
}
td.update-icon { border-right: 0 !important;}
td.update-icon.bg-late-1,
td.update-icon.bg-late-2,
td.update-icon.bg-late-3,
td.update-icon.bg-late-4 {border-right: 0 !important;}
td.update-date { border-left: 0 !important;}
td.update-date.bg-late-1,
td.update-date.bg-late-2,
td.update-date.bg-late-3,
td.update-date.bg-late-4 { border-left: 0 !important;}


/* 2026 newsroom newsroom-section-bg */
.newsroom-section-bg {
  background-color: #eef7fd;
  border: 1px solid rgba(9, 161, 228, 0.1);
  border-radius: 6px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.newsroom-section-bg:hover {
  border-color: rgba(9, 161, 228, 0.35);
  box-shadow: 0 2px 12px rgba(9, 161, 228, 0.08);
}

.newsroom-section-bg .border-gradient-blue-left h4 {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: 0;
  letter-spacing: -0.01em;
}

.newsroom-section-bg .small {
  color: rgb(75, 85, 99);
  line-height: 1.5;
}
.newsroom-section-bg h4 {
  margin-top: 0;
}


/* overrides with more specificity than BS to force a custom header bg and text color */
.table thead.table-altsage >tr >th  {
  background-color:var(--bs-altsage-bg,inherit);
  color:var(--bs-white,inherit);
}

div#aggregation-buckets .pointer {cursor:pointer;}

.fa-invisible {visibility: hidden;}

.fa-3xl {
  font-size: 2.5em;
  line-height: .04125em;
  vertical-align: -0.1875em;
}

/* application fee waiver badge on card display full school list */
.fee-waiver {
  background-color:#FFB700;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
}

#hidden_input { top: 0; left: 0; opacity: 0; }

.form-text {
  font-size: 0.8rem;      /* ~14.4px with 18px base */
  line-height: 1.4;
  color: #6B7280;         /* softer neutral gray */
}

.was-validated .form-check-input.no-validate:valid {
  border-color: #ced4da!important;
}
.form-check-input.is-valid~.form-check-label.no-validate, .was-validated .form-check-input:valid~.form-check-label.no-validate {
  color:rgb(21,27,38)!important;
}

#accelerated_classes label.form-check-label {
  margin-left: 1rem;
  padding-top: .20rem;
}

.form-checkbox-lg {
  transform: scale(1.25);
}

#accelerated_classes .form-check-lg {
  height: 1.5rem;
  width: calc(2rem + 0.75rem);
  border-radius: 3rem;
}

/* volendam */
img.jumbotron_image {
  width:100%;
  max-height:440px;
  object-fit: cover;
}

a.youtube     { color:#FF0000; }
a.vimeo       { color:#1AB7EA; }
a.facebook    { color:#4267B2; }
a.messenger   { color:#00B2FF; }
a.snap        { color:#000000; }
a.twitter     { color:#000000; }
a.insta       { color:#d62976; }
a.linkedin    { color:#0A66C2; }
a.pinterest   { color:#F0002A; }
a.flickr      { color:#0063DC; }
a.vtour       { color:#229454; }

/* use slighly smaller font on vertical nav to prevent wrapping */
.college-profile-nav a {
  white-space: nowrap;
  font-size: 0.92rem;
}


ul.college-profile-nav {
  list-style-type: none;
}
ul.college-profile-nav li {
  margin:0.3125rem 0;
  border: none;
  padding: 0;
}

/*
@media only screen and (min-width:65rem) {
  ul.college-profile-nav li .active {
    margin-left:-1.0rem;
  }
}*/

ul.college-profile-nav li a {
  text-decoration: none;
  color: #151b26;
  border-left: 0.25rem solid #ffffff;
  padding-left: 0.6rem;
}
ul.college-profile-nav li .active {
  border-left: 0.25rem solid #07ABA0;
}

#event-btn-group span.active {
  background-color:#198754 !important;
  font-weight:bold;
}

/* college profile image gallery breakpoints for image sizes */
@media (min-width: 320px) {
  #college-profile-images-section img.gallery-image {
    height:20vw;
    width:40vw;
  }
  #college-profile-prime-section img.prime-image {
    height:26vw;
    width:56vw;
  }
}

@media (min-width: 768px) {
  #college-profile-images-section img.gallery-image {
    height:20vw;
    width:24vw;
  }
  #college-profile-prime-section img.prime-image {
    height:16vw;
    width:16vw;
  }
}

@media (min-width: 1200px) {
  #college-profile-images-section img.gallery-image {
    height:14vw;
    width:14vw;
  }
  #college-profile-prime-section img.prime-image {
    height:14vw;
    width:14vw;
  }
}

@media (min-width: 1400px) {
  #college-profile-prime-section img.prime-image {
    height:18vw;
    width:18vw;
  }
}

@media (min-width: 1800px) {
  #college-profile-images-section img.gallery-image {
    height:10vw;
    width:10vw;
  }
  #college-profile-prime-section img.prime-image {
    height:12vw;
    width:12vw;
  }
}

@media (min-width: 2200px) {
  #college-profile-prime-section img.prime-image {
    height:8vw;
    width:8vw;
  }
}

.lead-dark    {font-size: 1.25rem;font-weight:500;}
.lead-bold    {font-size: 1.25rem;font-weight:bold;}

.border-gray500  {border:1px solid #adb5bd!important;}

/*volendam*/

#supportForm small.fixed-lh {line-height: 16px!important;}

.form-check-label.no-validate:valid {
  color:tomato;
}

.nounderline {
  text-decoration: none !important;
}

blockquote.quotebox {
  border-left: .5rem solid #09a1e4;
  background-color: var(--bs-gray-100,inherit)!important;
  padding:.85rem 1.5rem .85rem 1rem;
  font-size:1.2rem;
  color:#272727;
}

blockquote.quotebox-sage {
  border-radius:10px;
  border-left: .5rem solid #09a1e4;
  background-color: rgba(9,161,228,0.2);
  color: rgb(33,37,41);
  padding:.85rem 1.5rem .85rem 1rem;
  font-size:1.2rem;
}

blockquote.quotebox-sage .blockquote-footer {
  color: rgb(33,37,41);
  text-align:right;
}

.quotebox-sage .far {
  color:#09a1e4;
  font-size:150%;
}

.blockquote-footer {
  color: rgb(33,37,41);
  text-align:right;
}

.news-card-title {
  margin-bottom: 1.5rem;
  text-align:center;
}

.news-card-text {
  line-height: 1.35;
}

.news-card-header {
  height:130px!important;
}

.news-card-header img {
  margin-top:10px;
  max-height:90px;
  width:auto;
}

/*****
*
*  Callouts - pulled from bootstrap 4.x
*
*******/

.input-readonly {
  background-color: var(--bs-gray-100);
}

.input-readonly-success {
  --bd-callout-bg: var(--bs-success-bg-subtle);
}

.input-readonly-info {
  --bd-callout-bg: var(--bs-grey-500);
}

.input-readonly-danger {
  --bd-callout-bg: var(--bs-danger-bg-subtle);
}

/* READ ONLY fields */
.input-readonly[readonly] { background-color: var(--bs-gray-100); cursor: not-allowed; }
input[readonly][disabled]#st_dob {cursor: not-allowed;background-color: var(--bs-gray-100); /* optional, for consistency */}
.form-control:read-only, .form-control[readonly] {           /* or:  .form-control[readonly] */
  background-color:var(--bs-gray-100,inherit);        /* pick any subtle shade you like */
  opacity: 1;                       /* keep text fully opaque */
}
.form-control:read-only:focus {
  border-color:var(--bs-gray-500,inherit);
}


.bd-callout {
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  color: var(--bd-callout-color, inherit);
  background-color: var(--bd-callout-bg, var(--bs-gray-100));
  border-left: 0.25rem solid var(--bd-callout-border, var(--bs-gray-300));
}

.bd-callout h4 {
  margin-bottom: .25rem
}

.bd-callout>:last-child {
  margin-bottom: 0
}

.bd-callout+.bd-callout {
  margin-top: -.25rem
}

.bd-callout-emphasized {
  font-size: 1.15em;
}

.bd-callout-sage {
  --bd-callout-color: var(--bs-base-color);
  --bd-callout-bg: var(--bs-sage-bg-subtle);
  --bd-callout-border: var(--bs-sage-border);
  background-color: var(--bd-callout-bg);
  padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  max-width: 95%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid #e2e6ea;
  border-left: none;
  position: relative;
}

.bd-callout-sage::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, rgba(9,161,228,1) 0%, rgba(9,161,228,0.4) 100%);
}

.bd-callout-sage h4 {
  color: var(--bs-sage);
  font-size: 1.3rem;
  margin-bottom: 0.4rem;
  margin-top:0;
}
.bd-callout-sage-emphasized  {
  font-size:1.3em;
  background-color:var(--bs-sage-bg-subtle, var(--bs-gray-100));
}

.bd-callout-success {
  --bd-callout-color: var(--bs-base-color);
  --bd-callout-bg: var(--bs-success-bg-subtle);
  --bd-callout-border: var(--bs-success-border);
}
.bd-callout-success h4     {
  color:var(--bs-success, inherit)
}
.bd-callout-success-emphasized  {
  font-size:1.3em;
  background-color:var(--bs-success-bg-subtle, var(--bs-gray-100));
}


.bd-callout-danger {
  --bd-callout-color: var(--bs-base-color);
  --bd-callout-bg: var(--bs-danger-bg-subtle);
  --bd-callout-border: var(--bs-danger-border);
}
.bd-callout-danger h4     {
  color:var(--bs-danger, inherit)
}
.bd-callout-danger-emphasized  {
  font-size:1.3em;
  background-color:var(--bs-danger-bg-subtle, var(--bs-gray-100));
}

.bd-callout-warning {
  --bd-callout-color: var(--bs-warning-text-emphasis);
  --bd-callout-bg: var(--bs-warning-bg-subtle);
  --bd-callout-border: var(--bs-warning-border-subtle);
}


.bd-callout-orangered {
  --bd-callout-color: var(--bs-base-color);
  --bd-callout-bg: var(--bs-orangered-bg-subtle);
  --bd-callout-border: var(--bs-orangered-border);
}
.bd-callout-orangered h4     {
  color:var(--bs-orangered, inherit)
}




/* using ID gives a score +100 over 10 points for classes and pseudo-classes and 1 point for tag selectors and pseudo-elements
 * inline style= is +1000 and automatically wins out */
#section_score {padding: 0.75rem;}

.custom-alert {
    display: flex;
    align-items: flex-start;
    background-color: #fbeaea;
    border: 2px solid #d9534f;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    color: #a94442;
    font-size: 1rem;
  }

  .custom-alert-icon {
    flex: 0 0 auto;
    font-size: 2.5rem;
    margin-right: 15px;
    color: #d9534f;
  }

  .custom-alert-content {
    flex: 1;
  }

  .custom-alert ul {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }
  .custom-alert .row {
    width: 100%;        /* let row span full width */
    margin-left: -45px; /* cancel out icon spacing so button re-centers */
  }

/* Callout base */
.callout{border:1px solid var(--bs-border-color);border-left-width:6px;border-radius:.5rem;background:#fff}
.callout .icon{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%}
.callout h4{margin:0 0 .25rem 0;font-size:1.05rem}
.callout .body{font-size:.95rem}
.callout .meta{font-size:.825rem;color:var(--bs-gray-700)}
.callout .items{margin:.25rem 0 .25rem 1.25rem}

/* Variants */
.callout-success{border-left-color:#1E9E6F}.callout-success .icon{background:#e6f5ef;color:#1E9E6F}
.callout-warning{border-left-color:#f3b318}.callout-warning .icon{background:#fff3cd;color:#f3b318}
.callout-info   {border-left-color:#0276b1}.callout-info .icon{background:#e8f4fb;color:#0276b1}
.callout-danger {border-left-color:#dc3545}.callout-danger .icon{background:#fde2e2;color:#dc3545}
.callout-neutral{border-left-color:var(--bs-gray-400)}.callout-neutral .icon{background:#f5f5f5;color:#737373}

/* Optional mini progress */
.callout .mini-progress{height:.5rem;background:var(--bs-gray-200);border-radius:999px;overflow:hidden}
.callout .mini-progress>span{display:block;height:100%;background:#0276b1}





.aa-callout {
  max-width:100%;
  flex: 0 0 100%;
  border: 1px solid #dee2e6;
  background-color:rgb(247,247,247);
  border-radius: .5rem;
  /*padding: 0 15px 0 7px;*/
  padding:0.55rem 1.0rem 0.55rem 1.0rem;
  margin: 1rem 0;
}
.aa-callout h4, .aa-callout h5 {
  margin-top:.35rem;
  font-weight:300;
}

/* SAGE reversed color */
.aa-sage-reverse > div:first-child > div:first-child {
  color: rgb(9,161,228)!important;
}
.aa-sage-reverse h4 {
  color:rgb(9,161,228)!important;
}
.aa-sage-reverse .close {
  color: rgb(9,161,228);
  opacity: 1;
}
/* SAGE color */
.aa-sage > div:first-child > div:first-child {
  color: rgb(255,255,255)!important;
  background-color: rgb(9,161,228)!important;
  border-top-left-radius: .55rem;
  border-bottom-left-radius: .55rem;
}
.aa-sage h4, .aa-sage h5 {
  color:rgb(9,161,228)!important;
}
.aa-sage .close {
  color: rgb(9,161,228);
  opacity: 1;
}
/* Green color */
.aa-green > div:first-child > div:first-child {
  color: rgb(0,175,100)!important;
}
.aa-green h4 {
  color:#00af64!important;
}
.aa-green .close {
  color: rgb(0,175,100);
  opacity: 1;
}

.aa-green-bg > div:first-child > div:first-child {
  background-color: rgba(0,175,100,0.25)!important;
  color:rgb(0,175,100)!important;
  border-top-left-radius: .55rem;
  border-bottom-left-radius: .55rem;
}
/* MANGO */

.aa-mango > div:first-child > div:first-child {
  background-color: #FFB700!important;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.aa-mango h4 {
  color:#FFB700!important;
}

.aa-mango h4.text-normal {
  color: rgb(33,37,41)!important;
}

.aa-mango-bg > div:first-child > div:first-child {
  background-color: rgba(255,183,.0,.25)!important;
  color:#FFB700;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}

/* Red color — .aa-red itself is restyled further down this file */
.aa-red-bg > div:first-child > div:first-child {
  background-color: rgba(204,0,0,.25)!important;
  color:#CC0000;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}

/* Warning color */
.aa-success > div:first-child > div:first-child {
  background-color: rgb(0,175,100)!important;
  color:#ffffff;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.aa-success h4 {
  color:rgb(0,175,100)!important;
}
.aa-success .close {
  color: rgb(0,175,100);
  opacity: 1;
}

/* Warning color */
.aa-warning > div:first-child > div:first-child {
  background-color: #f0ad4e!important;
  color:#ffffff;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.aa-warning h4 {
  color:#f0ad4e!important;
}
.aa-warning .close {
  color: #f0ad4e;
  opacity: 1;
}

/* danger color */
.aa-danger > div:first-child > div:first-child {
  color: #ffffff!important;
  background-color: #d9534f!important;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.aa-danger h4 {
  color:#d9534f!important;
}
.aa-danger .close {
  color: #d9534f;
  opacity: 1;
}

.aa-prime > div:first-child > div:first-child {
  background-color: #036A96!important;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.aa-prime h4 {
  color:#036A96!important;
}

.aa-red > div:first-child > div:first-child {
  color: rgb(255,255,255)!important;
  background-color: rgb(220,53,69)!important;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.aa-red h4 {
  color:rgb(220,53,69)!important;
}

.aa-red .close {
  color: rgb(220,53,69);
  opacity: 1;
}



/* === START: jquery-UI overrides, search, BS5 fixes, dynamic alignment === */

/* jquery UI overrides — .ui-autocomplete is in _components.css */

/* SEARCH */
div.search div.filters {
  max-width: 30%;
  min-width: 14rem;
}

.breadcrumb {
  background-color: rgba(255,255,255,1);
  font-size:80%;
}

ol.breadcrumb {
  padding-left: 0;
  margin-bottom: 0;
}

.social-icon {
  max-width: 2rem;
}

/* dynamic alignment */
.text-xs-left {
  text-align: left !important;
}

.text-xs-right {
  text-align: right !important;
}

.text-xs-center {
  text-align: center !important;
}

.text-xs-justify {
  text-align: justify !important;
}

@media (min-width: 768px) {
  .text-sm-left {
      text-align: left !important;
  }

  .text-sm-right {
      text-align: right !important;
  }

  .text-sm-center {
      text-align: center !important;
  }

  .text-sm-justify {
      text-align: justify !important;
  }
}

@media (min-width: 992px) {
  .text-md-left {
      text-align: left !important;
  }

  .text-md-right {
      text-align: right !important;
  }

  .text-md-center {
      text-align: center !important;
  }

  .text-md-justify {
      text-align: justify !important;
  }
}

@media (min-width: 1200px) {
  .text-lg-left {
      text-align: left !important;
  }

  .text-lg-right {
      text-align: right !important;
  }

  .text-lg-center {
      text-align: center !important;
  }

  .text-lg-justify {
      text-align: justify !important;
  }
}

/* bootstrap 5 css - remove if when upgrading to 5 */

.opacity-0 {
  opacity:0!important;
}

.opacity-1 {
  opacity:0.2!important;
}

.opacity-2 {
  opacity:0.4!important;
}

.opacity-3 {
  opacity:0.6!important;
}

.opacity-4 {
  opacity:.8!important;
}

.opacity-5 {
  opacity:1!important;
}

.library-card .card-header {
  position: relative;
  padding: 0;
}

.library-card .card-header .library-card-img {
  opacity:0.8;
  max-width: 100%;
  width: 100%;
  height: auto;
}

.library-card .card-header .library-card-img:hover {
  opacity:1;
}

.library-card .card-header .library-card-title {
  color: white;
  padding: 0.3rem;
  background-color: rgba(9, 161, 228,0.7);
  z-index: 990;
  position: absolute;
  left:0;
  right:0;
  margin: 0 auto;
  bottom: .25rem;
  width:94%;
  letter-spacing: 1px;
}

.library-card .card-body ul {
  margin-left:0;padding-left:25px;padding-right:10px;
}

.library-card .card-body ul li {
  line-height:1.15
}

/* DO NOT CHANGE - see sponsor email subscriptions for how fucking perfect this code is [until IOS comes along] */
body.modal-open {
  overflow-y: hidden; /* prevent page from moving right when scrollbar vanishes */
}

body.modal-open header.fixed-top {
  overflow-y: hidden;
  padding-right: var(--bs-gutter-x)!important;
}

body.modal-open nav.navbar, body.modal-open div.brand-bar {
  padding-right: 0!important;
  margin-right:17px!important;
}



a.tweeter {
  background-color: #1877f2;
  height: 28px;
  padding-left: 12px;
  padding-right: 12px;
  color: white;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: bold;
}

a.tweeter:hover {
  color: white;
}

[data-bs-toggle="collapse"] .fa:before {
  content: "\f139";
}

[data-bs-toggle="collapse"].collapsed .fa:before {
  content: "\f13a";
}

.blended-icon {
  background-color: transparent!important;
  opacity: .75;
}

.card-img-top {
  width: 100%;
  height: 12vw;
  object-fit: cover;
}

.logo-image {
  max-height:100px;
  max-width:150px;
  min-height: auto;
  min-width:auto;
}

#flash.flash-fixed {
  z-index: 9999;
  top: 5rem;
}

.fit-content {
  width: max-content;
}


/* === END: utilities === */