  @media(min-width:992px) {
     h1 {
         font-size: clamp(3rem,6vw,5rem);
         margin-top:3.5rem;
    }
}
 @media(max-width:992px) {
     h1 {
         margin-top: 2.5rem;
    }
}
 #joy-journey_component img {
     width: clamp(300px, 36vw, 425px);
}
 @media(max-width:992px) {
     #joy-journey_component span.u-thirstySoftExtraBold.u-gfColors-slate80 {
         display:block;
         font-size:2em;
    }
     #joy-journey_component h2.u-autoPro--uppercase.u-autoPro {
         font-size:1.8em;
    }
}
 #clamped-hero-image {
     width: clamp(310px, 26vw, 360px) 
}
 #definitions-accordion_component_accordion {
     width: auto;
    /* Default for screens 0-992px */
}
 .accordionBlock-beforeContent {
     margin-bottom: 2rem;
}
/* From 1200px and up, set width to 657px */
 @media (min-width: 1200px) {
     #definitions-accordion_component_accordion {
         width: 657px;
    }
}


/*POPOVER STYLES*/

.popover {
  --bs-popover-bg: var(--gfColors-slate15);
  --bs-popover-border-color: var(--gfColors-slate60);
  background-color: var(--bs-popover-bg);
  border-color: var(--bs-popover-border-color);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
}

.popover .arrow::before {
  border-top-color: var(--bs-popover-bg);
  border-bottom-color: var(--bs-popover-bg);
  border-left-color: var(--bs-popover-bg);
  border-right-color: var(--bs-popover-bg);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
}

.popover .popover-body em {
    font-size: .8rem;
    color: var(--gfColors-slateText);
}

@media (max-width: 567.89px) {
  .popover {
    visibility: hidden;
  }
}

@media(min-width:768px) {
.program-heading {
    max-width: 319px;
}
}
 .pre-professional {
     text-align: center;
     line-height: 2rem;
     text-transform: uppercase;
     font-size: .8rem;
     letter-spacing: .15em;
     color: var(--gfColors-navy);
     font-weight: bold;
}
 @media (max-width: 900px) {
     .pre-professional {
         font-size: .7rem;
    }
}
 #majors-minors .row.major-group-sticky:first-of-type {
     margin-top:0px;
}
 #majors-minors .row.major-group-sticky {
     background:var(--gfColors-navy);
     color:white;
     border-radius:0.25rem;
     margin-top:1.5em;
     position:sticky;
     -webkit-position:sticky;
     top:0;
     align-items:center;
     z-index:90;
}
 .major-group-sticky .col-3.col-md-2 {
     text-transform: uppercase;
     font-size: .8rem;
     letter-spacing: .15em;
}
 #majors-minors .fa-check-circle:before {
     position: relative;
     top: 2px;
}
 #majors-minors .row .col-2, #majors-minors .row .col-3 {
     text-align:center;
     line-height:2rem;
}
 #majors-minors .row .col-2 i, #majors-minors .row .col-3 i {
     color: var(--gfColors-navy);
     font-size: 1.1em;
}
 #majors-minors .row.major-group-sticky h3 {
     color:white;
     margin-top:0px;
     margin-bottom:0px;
     font-family: 'auto-pro-new';
     text-transform: uppercase;
     font-size: .9rem;
     letter-spacing: .1em;
     padding-top: .1em;
}
 #majors-minors .row {
     background:var(--gfColors-slate15);
     border-radius:0.25rem;
     margin:0.25em 0px;
     padding-top:0.5em;
     padding-bottom:0.5em;
}
 #majors-minors a {
     color: #174686;
}
 @media (max-width: 991.98px) {
     #majors-minors .row.major-group-sticky h3.long-heading {
         font-size: .8rem;
         line-height: 1.2;
    }
}
 @media (max-width: 767.98px) {
     #majors-minors .row.major-group-sticky {
         border-radius:0px;
    }
     #majors-minors .row {
         margin-left:-15px;
         margin-right:-15px;
         border-radius:0px;
    }
     #major-page-list-format_component {
         margin-top: 3rem;
    }
}

 @media (min-width: 768px) {
     .breadcrumb {
         padding: .25rem 0;
    }
}
 #intro-header_component.calloutBox--leftLine {
     background-image:url(/college-admissions/academics/major/_assets-index/images/major-journey.png);
     background-repeat:no-repeat;
     background-position: top 2rem right 1rem;
     background-size: min(28%, 320px);
}
 #intro-header_component .calloutBox-content h2 {
     margin-top: 0;
     font-size: 1.5rem;
     color: var(--gfColors-red);
}
 #intro-header_component.calloutBox--leftLine .calloutBox-content span {
     font-family: 'THIRSTYSOFTEXTRABOLD';
     font-size: 5rem;
     color: var(--gfColors-slate100);
     margin-right: .5rem;
     line-height: 1;
     display: inline-block;
}
 #intro-header_component.calloutBox--leftLine .calloutBox-content .accordionBlock-heading, #intro-header_component.calloutBox--leftLine .calloutBox-content .accordionBlock-body {
     font-size:1.1rem;
}
 @media (max-width: 576.98px) {
     #intro-header_component.calloutBox--leftLine {
        /* background-size: 30%,70%;
         background-position: top 1rem right 1rem, top right -3rem;
        */
         background-position: top 7rem right 1rem;
    }
     #intro-header_component .calloutBox-content h2 {
         text-align: right;
         line-height: .5;
    }
     #intro-header_component .calloutBox-content {
         padding-left: 0;
         padding-right: 2rem;
    }
     #intro-header_component p.lead {
         font-size:1rem;
    }
}
 @media (min-width: 577px) and (max-width: 767.98px) {
     #intro-header_component.calloutBox--leftLine {
         background-position: top 4rem right 1rem;
    }
}
 #major-page-app {
     margin-bottom:0;
}
 #explore-programs h2 {
     text-align: center;
     font-family: var(--gfVars-bodyFont);
     text-transform: uppercase;
     letter-spacing: .1em;
     font-weight: bold;
     font-size: 1.45em;
     margin-bottom: 2rem;
     position: relative;
}
 #explore-programs h2 span {
     font-size: 2.63em;
     font-family: var(--gfVars-thirstyFont);
     text-transform: capitalize;
     letter-spacing: 0;
     display: block;
     font-weight: normal;
     position: relative;
     top: -10px;
}
#explore-programs h2::before {
    position:absolute;
    content:"";
    background-image: url(/__template/t1/images/doodle-illustrations/gold-arrow-twisted.png);
    background-repeat: no-repeat;
    top: -1rem;
    left: 20rem;
    height: 128px;
    background-size: cover;
    width: 96px;
    -webkit-transform: scaleX(-1);
    transform: rotate(-88deg);
}
@media(max-width: 767px) {
 #explore-programs h2::before{
    display: none;
 }
}
 @media(max-width:767.87px) {
     #explore-programs h2 {
         margin-top:5rem;
         margin-bottom: 1rem;
         align: center;
    }
}
 @media(min-width:768px) {
     #explore-programs .u-grid3Columns.u-grid--justifyCenter {
         justify-items: left;
    }
     #explore-programs {
         margin-bottom: 2rem;
    }
}
 @media(min-width:992px) {
     #explore-programs .u-grid3Columns.u-grid--justifyCenter {
         grid-template-columns: auto auto 1fr;
         gap: 1.5rem;
    }
}
 @media(max-width:767.98px) {
     #explore-programs .u-grid3Columns.u-grid--justifyCenter {
         justify-items: inherit;
    }
}
/** APP STYLES **/
/* - - dropdown - - */
 .majorsDropdown {
     position:relative;
     width: 300px;
     text-align:left;
     border: 1.5px solid var(--gfColors-slate30);
     border-radius: 0.15rem;
}
 .majorsDropdown a {
     color:var(--gfColors-navy);
     box-shadow:none;
     padding: 0.4rem 0rem 0.4rem 1rem;
}
 .majorsDropdown a:hover {
     box-shadow:none;
}
 #majorsDropdown-list a:hover {
     box-shadow:none;
     background-color:var(--gfColors-slate15);
}
 .majorsDropdown-link {
     display:block;
     background-color:var(--gfColors-navyslate15);
     display:grid;
     grid-template-columns:1fr auto;
     gap:1rem;
     align-items:center;
     position:relative;
}
 .majorsDropdown-link::after {
     content:url(/college-admissions/academics/major/_assets-index/images/icon-chevron-down-solid.svg);
     color: var(--gfColors-navy);
     display: inline-block;
     position: absolute;
     left: -2rem;
     grid-column: 2;
     width: 0.95rem;
     transform:rotate(0deg);
     transition:0.5s transform;
     transform:rotate(180deg);
}
 .majorsDropdown-link.collapsed::after {
     transform:rotate(0deg);
}
 #majorsDropdown-list {
     position: absolute;
     width:100%;
     background-color:white;
     z-index: 10;
     border: 1.5px solid var(--gfColors-slate30);
     border-radius: 0.15rem;
     border-top: none;
     top: calc(100% - 2px);
     left:-1.5px;
     box-sizing:content-box;
}
 #majorsDropdown-list > a {
     padding: 0.5rem 1rem;
     display:block;
     color: var(--gfColors-navy);
}
 @media (max-width:500px) {
     .majorsDropdown a span {
         text-align:center !important;
    }
}
/* - - search - - */
 .search {
     display: grid;
     grid-template-columns: 1fr auto;
     border: 1.5px solid var(--gfColors-slate30);
     border-radius: 0.15rem;
     height: 100%;
     width:400px;
}
 .search .form-control{
     color: var(--gfColors-slateText);
     border:none;
}
 .search .form-control.btn {
     padding: 0.375rem 1em 0.375rem 0.75rem;
}
 @media(min-width:1200px) {
     .search, .majorsDropdown {
         width: 450px;
    }
}
 @media(min-width:500px) and (max-width:992px) {
     #explore-programs .u-grid3Columns.u-grid--justifyCenter {
         grid-template-columns: auto 1fr;
         justify-items: initial;
    }
}
 @media(min-width:768px) and (max-width:992px) {
     .search, .majorsDropdown {
         width: 400px;
    }
}
 @media(max-width:767.98px) {
     .search{
         width: 100%;
         width: -moz-available;
         width: -webkit-fill-available;
         width: fill-available;
    }
}
 @media(max-width:500px) {
     #explore-programs a.button.button--outline {
        /*width: 300px*/
    }
     .majorsDropdown {
         width:100%;
    }
     .search .form-control {
         text-align: center;
         padding-right: 0;
    }
}
 #explore-programs a.button.button--outline {
     display:block;
}
/* -- */
 #explore-programs ul li::before {
     content:"";
}
/* Program List */
 .programListHolder:nth-of-type(2n+1) {
     background-color: var(--gfColors-slate15);
     padding-bottom: 2rem;
     padding-top: 1rem;
     margin-top:4rem;
}
 .programListHolder:nth-of-type(2n+1) h2 {
     margin-top:0;
}
 .programList-subjectHeader {
     font-size: 3em;
     position:relative;
     margin-bottom: 3rem;
     margin-top:2rem;
     grid-column: 1 / -1;
}
 .programList-subjectHeader::after {
     content:"";
     position: absolute;
     left: 0;
     bottom: -1.5rem;
     background-color: var(--gfColors-gold);
     width: 2.5rem;
     height: 3px;
}
 .programList-program {
     background: var(--gfColors-slate15);
     border-radius: 0.15rem;
     height: auto;
     display: grid;
     align-content: center;
     transition: 0.12s;
}
@media(min-width:768px) {
     .programList-program {
        min-height: 6.5rem;
     }
}
 .programList-program--fullWidth {
     grid-column:1/-1;
}
 .programListHolder:nth-of-type(2n+1) .programList-program {
     background: white;
}
 .programList-program:hover, .programListHolder:nth-of-type(2n+1) .programList-program:hover {
     box-shadow:none;
    /*background-color:#ebeef2;
    */
     transform: scale(1.01);
     box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}
 .programList-program-name {
     display:block;
     font-size:1.3em;
     font-weight:bold;
     color:var(--gfColors-navyAccent);
     line-height: 1.1;
     grid-column: 1;
     text-wrap-style: balance;
}
 .programList-program-type {
     font-size:.7em;
     color: var(--gfColors-slateText);
     text-transform:uppercase;
     letter-spacing: .1em;
     grid-area: 2;
     margin-top: .25rem;
}
 .programList-program-type span {
     text-transform: initial;
     letter-spacing: 0;
     font-style: italic;
}
.programList-program-favorite, .alphabetList-program-favorite {
    display:flex;
    font-size:.7em;
    color: var(--gfColors-slateText);
    text-transform:uppercase;
    letter-spacing: .1em;
    background-color:white;
    box-shadow:none;
    border-radius:72px;
    padding: 0.35rem 0.5rem 0.25rem;
    margin-block-start:0.5rem;
    width:fit-content;
    grid-area: 3;
    justify-self:start;
}
.programListHolder:nth-of-type(2n+1) .programList-program-favorite, .alphabetList-program-favorite
{
    background-color:var(--gfColors-slate15);
}
.programList-program-favorite::before, .alphabetList-program-favorite::before
{
    content:"";
    display:inline-block;
    height:1em;
    width:1em;
    margin-right:0.5em;
    background-color: var(--gfColors-slateText);
    mask-image:url("/__template/t1/images/heart-navy.svg");
}
 .programList-program a {
     box-shadow:none;
     line-height: 1.2;
     display: grid;
     grid-template-columns: 1fr auto;
     align-items: center;
     position:relative;
     padding: 1em 1.5em 1em 1em;
}
 .programList-program a:hover {
     box-shadow:none;
}
 .programList-program a::after {
     content:url(/college-admissions/academics/major/_assets-index/images/icon-chevron-right-solid.svg);
     color: var(--gfColors-navy);
     display: inline-block;
     position: absolute;
     left: 5px;
     grid-column: 2;
     height: 1rem;
     width: 0.6rem;
}
 .programList {
     margin-top:2rem;
     margin-bottom:3rem;
}
 @media(max-width:500px) {
     .programList {
         display:grid;
         grid-template-columns: 1fr;
         gap:1rem;
    }
     .programList-subjectHeader {
         font-size: 2.8em;
    }
}
 @media(min-width:500px) {
     .programList {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap:1rem;
    }
}
 @media(min-width:992px) {
     .programList {
         grid-template-columns: 1fr 1fr 1fr;
         column-gap: 2.5rem;
         row-gap: 1.5rem;
    }
}
 @media(max-width:767.98px) {
     .programList-subjectHeader {
         margin-top: 1rem;
    }
}
#programList-myfavorites .programList-subjectHeader {
    margin-bottom: 0;
    padding-left: 1em;
}
#programList-myfavorites .programList-subjectHeader::after {
    content: "";
    display: inline-block;
    top: .4rem;
    height: .65em;
    width: 1em;
    margin-right: 0.5em;
    background:url("/__template/t1/images/heart-slate.svg");
    z-index: -1;
    background-repeat: no-repeat;
    background-size: contain;
}



/* - - - - - */
 #explore-programs a.button.button--outline {
     border: 1.5px solid var(--gfColors-slate30);
     border-radius: 0.15rem;
     text-transform: inherit;
     letter-spacing: 0;
     padding: 0.85em 2rem;
     font-weight: 100;
}
 #explore-programs a.button.button--outline:active,#explore-programs a.button.button--outline:focus {
     background-color:white;
}
 #explore-programs a.button.button--outline.button--active, #explore-programs a.button.button--outline.button--active:focus, #explore-programs a.button.button--outline.button--active:active {
     background-color:var(--gfColors-slate45);
}
 @media(max-width:500px) {
     #explore-programs h2 span {
         font-size: 2.14em;
         top:0;
    }
}
 .alphabetList-program a {
    /*box-shadow:none;
    */
     line-height: 1.2;
     align-items: center;
     position:relative;
}
 .alphabetList-program-type {
     font-size:.7em;
     color: var(--gfColors-slateText);
     text-transform:uppercase;
     letter-spacing: .1em;
     display: block;
}
 .alphabetList-program-type span {
     text-transform: initial;
     letter-spacing: 0;
     font-style: italic;
}
 .alphabetList-program-name {
     display: inline;
     font-size:1.3em;
     font-weight:bold;
     color:var(--gfColors-navyAccent);
     line-height: 1.75;
     transition: .3s;
     box-shadow: inset 0px -1px 0px #cfd8e2;
     box-shadow: none;
}
 .alphabetList {
     display:grid;
     gap: 1rem;
     margin:3rem 0 3rem 3rem;
     padding-left: 1rem;
     position:relative;
}
 .alphabetList:first-child {
     margin-top: 6em;
}
 @media (min-width:768px) {
     .alphabetList {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap: 2rem;
         margin-left: 3rem;
         padding-left: 1rem;
    }
}
 .alphabetList-letter {
     display: block;
     position: absolute;
     left: -3rem;
     background-color: #fdb814;
     height: 2.25rem;
     width: 2.25rem;
     line-height: 2.45rem;
     text-align: center;
     font-size: 1.75rem;
     color: #fff;
     border-radius: 50%;
     font-family: var(--gfVars-bodyFont);
     margin-right: 1rem;
     font-weight: normal;
     flex-shrink: 0;
     margin-top: 0.25rem;
     text-transform:uppercase;
}
 @media(max-width:767.98px) {
     .alphabetList-letter {
         left: 0rem;
         top: -4rem;
    }
     .alphabetList {
         margin-left: 0;
         margin-top:6rem;
    }
}
/* Undecided */
 #undecided_component h2 {
     font-size: 3.4em;
     margin-bottom:0;
}
 #undecided_component h3 {
     margin-top:0;
}
 #undecided_component .u-ellipses {
     padding-top:2em;
}
 @media(min-width:767.98px) {
     #undecided_component .u-grid2Columns {
         gap: 2rem;
    }
     #undecided_component .u-ellipses {
         padding-top:4em;
    }
}
 @media(min-width:992px) {
     #undecided_component .u-grid2Columns {
         gap: 4rem;
    }
     #undecided_component p.u-autoPro--uppercase.u-gold-after {
         font-size: 1.2em;
         color: var(--gfColors-slate100);
         margin-top: 0.5em;
    }
     #undecided_component {
         background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Ccircle cx='300' cy='300' r='300' fill='%23f3f5f8'%3E%3C/circle%3E%3C/svg%3E");
         background-repeat: no-repeat;
         background-size: min(20vw, 20%);
         background-position-y: 35%;
         background-position-x: 10%;
    }
     @media (min-width: 992px) {
         #undecided_component {
             background-size: min(45vw, 19rem);
             background-position-x: 12%;
        }
    }
     @media (min-width: 1560px) {
         #undecided_component {
             background-size: min(40vw, 19rem);
             background-position-x: 17%;
        }
    }
     @media (max-width: 991.98px) {
         #undecided_component {
             padding-top: 1rem;
             background-size: min(50vw, 32%);
             background-position-x: 6%;
        }
    }
     @media (max-width: 767.98px) {
         #undecided_component {
             background-size: min(45vw, 45%);
             background-position-x: -5%;
             background-position-y: 11%;
        }
    }
     