﻿#program-header-overview {
  max-width: 1500px;
  margin: auto;
  margin-bottom: auto; }
  @media screen and (min-width: 768px) {
    #program-header-overview {
      display: flex;
      flex-direction: row-reverse; }
      #program-header-overview .program-header-intro {
        flex: 0.5 0 calc(50% - 48px);
        align-self: end; } }
  @media screen and (min-width: 1200px) {
    #program-header-overview .program-header-intro {
      flex: 0.5 0 calc(34% - 48px); } }
  @media screen and (max-width: 767.98px) {
    #program-header-overview .program-header-intro {
      padding: 24px 24px 0; } }
  #program-header-overview h1.program-title {
    color: white;
    margin-top: 0 !important; }
  #program-header-overview .program-tagline {
    color: white; }
  #program-header-overview .header-category-label {
    text-decoration: underline;
    box-shadow: none !important;
    color: white !important; }
    #program-header-overview .header-category-label:hover, #program-header-overview .header-category-label:focus {
      text-decoration: underline !important;
      text-decoration-style: double !important; }
  @media screen and (min-width: 768px) {
    #program-header-overview .program-header-image {
      max-width: 50%;
      margin-left: 48px;
      width: 100%; } }
  @media screen and (min-width: 1200px) {
    #program-header-overview .program-header-image {
      max-width: 66%; } }
  #program-header-overview .header-major-information p {
    color: white;
    display: inline-block;
    padding-right: 24px;
    margin-bottom: 0; }
  #program-header-overview:has(#program-header-rfi-form) {
    position: relative;
    z-index: 1;
    border-bottom: 0 !important; }
    @media screen and (max-width: 767.98px) {
      #program-header-overview:has(#program-header-rfi-form) {
        padding-bottom: 24px; } }
    #program-header-overview:has(#program-header-rfi-form):before {
      content: "";
      position: absolute;
      top: -48px;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      height: calc(100% + 48px);
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat;
      z-index: -1; }
      @media screen and (max-width: 767.98px) {
        #program-header-overview:has(#program-header-rfi-form):before {
          height: calc(100% + 12px); } }
    @media screen and (min-width: 768px) {
      #program-header-overview:has(#program-header-rfi-form) {
        flex-direction: row;
        justify-content: space-between; } }
  #program-header-overview:has(#program-header-rfi-form) .program-header-image {
    display: none; }
  #program-header-overview:has(#program-header-rfi-form) .program-header-intro {
    background-color: #d8dade;
    height: 100%;
    padding: 16px;
    margin-bottom: 48px; }
    @media screen and (min-width: 768px) {
      #program-header-overview:has(#program-header-rfi-form) .program-header-intro {
        align-self: start; } }
    @media screen and (max-width: 767.98px) {
      #program-header-overview:has(#program-header-rfi-form) .program-header-intro {
        margin: 48px; } }
    #program-header-overview:has(#program-header-rfi-form) .program-header-intro .header-category-label, #program-header-overview:has(#program-header-rfi-form) .program-header-intro .program-title, #program-header-overview:has(#program-header-rfi-form) .program-header-intro .program-tagline {
      color: black !important; }
  #program-header-overview:has(#program-header-rfi-form) #program-header-rfi-form {
    background-color: #d8dade;
    color: #000;
    padding: 16px;
    margin-bottom: 48px; }
    @media screen and (min-width: 768px) {
      #program-header-overview:has(#program-header-rfi-form) #program-header-rfi-form {
        max-width: 40%;
        margin-top: 0; } }
    @media screen and (max-width: 767.98px) {
      #program-header-overview:has(#program-header-rfi-form) #program-header-rfi-form {
        margin: 0 48px 48px; } }

#program-header-info {
  max-width: 1500px;
  margin: auto; }
  @media screen and (min-width: 768px) {
    #program-header-info .info-container-details, #program-header-info .info-container-cta-buttons {
      width: 100%; } }
  @media screen and (min-width: 980px) {
    #program-header-info {
      display: flex;
      flex-direction: row; }
      #program-header-info .info-container-details {
        max-width: 50%;
        margin-left: 48px; }
      #program-header-info .info-container-cta-buttons {
        width: calc(50% - 48px); } }
  @media screen and (max-width: 767.98px) {
    #program-header-info {
      padding: 0 24px 24px;
      /* different for grad */ }
      #program-header-info .info-container-details {
        flex-direction: column; } }
  @media screen and (min-width: 1200px) {
    #program-header-info {
      flex: 0.5 0 calc(34% - 48px);
      align-self: end; }
      #program-header-info .info-container-details {
        max-width: 66%; }
      #program-header-info .info-container-cta-buttons {
        width: calc(34% - 48px); } }
  #program-header-info .info-container-cta-buttons .btn-outline-light {
    border: 1px solid white !important;
    background-color: transparent !important;
    color: white !important; }
    #program-header-info .info-container-cta-buttons .btn-outline-light:hover, #program-header-info .info-container-cta-buttons .btn-outline-light:focus {
      background-color: #CC0035 !important; }
    #program-header-info .info-container-cta-buttons .btn-outline-light:focus-visible {
      border: 0 !important;
      outline: 2px solid yellow; }
  #program-header-info .info-container-cta-buttons .btn-danger {
    border: 1px solid #CC0035 !important; }
    #program-header-info .info-container-cta-buttons .btn-danger:hover, #program-header-info .info-container-cta-buttons .btn-danger:focus {
      border: 1px solid white !important;
      background-color: transparent; }
    #program-header-info .info-container-cta-buttons .btn-danger:focus-visible {
      border: 0 !important;
      outline: 2px solid yellow; }
  #program-header-info .info-container-cta-buttons p {
    display: inline-block;
    margin-right: 16px; }
  @media screen and (max-width: 979.98px) {
    #program-header-info .info-container-cta-buttons {
      padding-bottom: 24px; } }
  #program-header-info .info-container-details {
    display: flex; }
    #program-header-info .info-container-details .date-or-category-label {
      color: white; }
    #program-header-info .info-container-details .program-detail {
      margin-right: 48px;
      color: white; }
      #program-header-info .info-container-details .program-detail:last-of-type {
        margin-right: 0; }

@media screen and (min-width: 768px) {
  #graduate-program-header #program-header-overview {
    border-bottom: 1px solid #CCC;
    margin-bottom: 30px; } }

@media screen and (min-width: 768px) {
  #graduate-program-header .program-header-image {
    margin-bottom: 30px; } }

@media screen and (max-width: 767.98px) {
  #undergraduate-program-header .program-header-intro {
    padding: 24px; } }

/* - - general page styling - - */
#program-body {
  max-width: calc(1500px + 6rem);
  margin: auto; }

@media screen and (min-width: 768px) {
  #program-body-content .program-page-section {
    padding-bottom: 90px; } }

@media screen and (min-width: 1200px) {
  #program-body-content .program-page-section {
    padding-bottom: 120px; } }

@media screen and (min-width: 1700px) {
  #program-body-content .program-page-section {
    padding-bottom: 180px; } }

#program-body-content .program-page-section.rfi:not(:has(h2)) {
  padding-bottom: 0; }

#program-body-content .program-page-section:not(:has(*)) {
  padding-bottom: 0; }

@media screen and (max-width: 767.98px) {
  #program-body-content .program-page-section {
    padding-bottom: 48px; }
    #program-body-content .program-page-section:not(:has(*)) {
      padding-bottom: 0; } }

#program-body-content .program-page-section .program-body-section-component {
  padding-bottom: 48px; }
  @media screen and (max-width: 767.98px) {
    #program-body-content .program-page-section .program-body-section-component {
      padding-bottom: 24px; } }
  @media screen and (min-width: 768px) {
    #program-body-content .program-page-section .program-body-section-component:has(.component-admission-links) {
      padding-bottom: 33px; } }

#program-body-content .program-page-section .program-body-section-component:last-child {
  padding-bottom: 0; }

#program-body-content #faq-accordion {
  margin-bottom: 0; }
