/**
 * Niagara College Program Availability Frontend Styles
 *
 * @package ncpa
 *
 * @since 1.0.0
 */

 .a-hide,
 .screen-reader-text,
 .invisible {
   clip: rect(0, 0, 0, 0);
   height: 1px !important;
   width: 1px !important;
   margin: -1px !important;
   overflow: hidden !important;
   position: absolute;
   border: 0;
 }

.hide,
.select2-container--default .select2-results__option[aria-disabled=true]{
  display: none !important;
}
.show {
  display: block;
}
.r { /* wrap */
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
p.error {
  color: #a10000;
  font-size: 1rem !important;
  font-style: italic;
}
#ncpa #content {
  padding: 50px 2rem;
  background: #fff;
}

.ncpa-error {
	background: rgba(255,38,38,0.1);
	color: rgba(126,0,0,1);
	font-weight: 500;
	text-align: center;
	padding: 2.5rem 1rem !important;
}

/*---------------------------------*\
    Columns (= 12)
\*---------------------------------*/

.col-1 { /* 12 */
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 30px;
}
.col-1-1 { /* 6 6 */
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
}
.col-1-2 { /* 5 7 */
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    grid-column-gap: 30px;
}
.col-1-3 { /* 4 8 */
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 30px;
}
.col-1-4 { /* 3 9 */
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-column-gap: 30px;
}
.col-3-1 { /* 8 4 */
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-column-gap: 30px;
}
.col-3-2 { /* 7 5 */
    display: grid;
    grid-template-columns: 2fr 1.25fr;
    grid-column-gap: 30px;
}
.col-2-3 { /* 5 7 */
    display: grid;
    grid-template-columns: 1.25fr 2fr;
    grid-column-gap: 30px;
}
.col-1-1-1 { /* 4 4 4 */
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 30px;
}
.col-1-1-1-1 { /* 3 3 3 3 */
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 30px;
}
.col-1-1-5 { /* 4 5 3 */
    display: grid;
    grid-template-columns: 2fr 3fr 0.5fr;
    grid-column-gap: 30px;
}

/*---------------------------------*\
    Plugin Styling
\*---------------------------------*/
/* International Prog Avail Override */
#ncpa-intl #page-title {
  background: #0077be;
  padding: 65px 0 55px;
}

#ncpa-intl #page-title h2 {
  color: #fff;
  font-size: 2.7rem;
  text-transform: none;
  font-weight: 500;
}

#ncpa-intl .lorem {
  padding-top: 2rem;
}

#ncpa-intl .lorem .lead {
   margin-top: 20px;
  font-size: 1.75rem;
  line-height: 2.55rem;
  color: #0077be;
  margin-bottom: 30px;
  font-weight: 500;
}

#ncpa-intl ul.is-style-arrows {
  list-style-type: none;
  margin: 0 0 1em 0;
}

#ncpa-intl ul.is-style-arrows>li {
  position: relative;
    padding: 0 0 0 25px;
    margin: 5px 0 5px 5px;
}
  #ncpa-intl ul.is-style-arrows>li:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 4px;
    color: #0077be;
    content: "\f054";
    font-size: 0.9rem;
  }
/* intl button overrides */
#ncpa-intl .btn.blue {
  font-size: 1rem;
  font-weight: 500;
  fill: #0077BE;
  color: #0077BE;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 3px 3px 3px 3px;
  border-color: #0077BE;
  border-radius: 40px 40px 40px 40px;
  padding: 15px 33px 15px 33px;
}
  #ncpa-intl .btn.blue:hover,
  #ncpa-intl .btn.blue:active,
  #ncpa-intl .btn.blue:focus {
    background-color: #ebf6fd;
    border-color: #ebf6fd;
    color: #000;
    text-decoration: underline;
  }
#ncpa-intl .important ul li {
  margin-bottom: 10px;
}
#ncpa-intl .important.alert ul li span {
    display: block;
}
#ncpa-intl .important.alert h4 {
    color: #000;
    position: relative;
    padding: 0 0 0 2.3rem;
    min-height: 2rem;
    display: flex;
    align-items: center;
}
#ncpa-intl .important.alert h4:before {
    content: "\f06a";
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 2rem;
    line-height: 1;
    position: absolute;
    left: 0;
    display: flex;
    align-items: center;
}
#ncpa-intl .imp-btn {
    display: inline;
    padding: 13px 20px 13px 25px;
    border: 1px solid #000;
    border-radius: 6px;
    background: none;
    color: #000;
    text-transform: none;
    font-weight: 400;
    margin: 15px 0 0 0;
    font-size: 0.95rem;
    line-height: 1.3rem;
    transition: all 0.3s ease-in-out;
}
#ncpa-intl .imp-btn:after {
    content: "\f0a9";
    font-family: "Line Awesome Free";
    font-weight: 900;
    margin: 0 0 0 5px;
}
  #ncpa-intl .imp-btn:hover,
  #ncpa-intl .imp-btn:active,
  #ncpa-intl .imp-btn:focus {
    background-color:rgb(232, 232, 232);
    border-color: rgba(255, 255, 255, 0);
    color: #000;
}
#ncpa-intl .ncpa-reset-btn {
    border-radius: 5px;
}
#ncpa-intl .ncpa-reset-btn:hover,
#ncpa-intl .ncpa-reset-btn:focus {
    border: solid 2px #00649f !important;
}

/* Domestic Styles Continued..  */
#ncpa p.intl {
  font-size: 0.85rem;
  opacity: 0.9;
  display: inline-block;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 5px;
  padding: 11px 25px;
}

#ncpa p.intl span {
  font-weight: 600;
  margin: 0 5px 0 0;
}

/* Legend */
#ncpa .legend {
    border: solid 2px #dcdcdc;
    margin: 0;
    border-radius: 10px;
}
  #ncpa .legend .col-1-1-1-1 {
    grid-column-gap: 0;
  }
  #ncpa .legend h5 {
    margin: 0;
    display: block;
    color: #2b2b2b;
    text-transform: none;
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 500;
    padding: 10px;
    text-align: center;
    border-bottom: none;
    background: #dcdcdc;
}
  #ncpa .legend h6 {
    margin: 0;
    padding: 10px 5px;
    background: rgba(0,0,0,0.03);
    font-size: 1rem;
    line-height: 1rem;
    text-align: center;
  }
    #ncpa .legend h6 span {
      display: inline-block;
      position: relative;
      padding-left: 15px;
    }
      #ncpa .legend h6 span:before {
        content: " ";
        background: grey;
        display: block;
        width: 9px;
        height: 9px;
        border-radius: 50%;
        position: absolute;
        left: 0;
        bottom: 3px;
      }
    #ncpa .legend h6.o {
      color: #000 !important;
    }
      #ncpa .legend h6.o span:before {
        background: #009a3f;
      }
    #ncpa .legend h6.w {
      color: #000 !important;
    }
      #ncpa .legend h6.w span:before {
        background: #b4a100;
      }
    #ncpa .legend h6.c {
      color: #000 !important;
    }
      #ncpa .legend h6.c span:before {
        background: #9d1616;
      }
    #ncpa .legend h6.s {
      color: #000 !important;
    }
      #ncpa .legend h6.s span:before {
        background: #a66602;
      }
#ncpa .legend p {
    margin: 0;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.2rem;
    display: block;
    padding: 8px 10px;
    color: #2a2a2a;
}
#ncpa .cmp {
    font-size: 0.8rem;
    text-align: center;
    line-height: 14px;
    font-style: italic;
    margin-top: 15px;
    margin-bottom: 15px;
}
#ncpa-wrapper {
    margin-top: 35px;
    display: grid;
    grid-template-columns: 250px minmax(0, 3fr);
    grid-column-gap: 30px;
}

/* Alerts */
#ncpa-intl .alert {
  border: solid 2px #dcdcdc;
  border-radius: 10px;
  padding: 25px 30px;
  margin: 15px 0;
  min-height: 75px;
}

#ncpa-intl .alert p {
  margin:0;
}

#ncpa-intl .alert.is-style-orange {
  background: #fde7d3;
  border: none;
}

#ncpa-intl .alert.is-style-yellow {
  background: #fff9d4;
  border: none;
}

/* mobile things so don't show */
#ncpa-wrapper .ncpa-show-filters,
#ncpa-filters header,
#ncpa-filters footer {
  display:none;
}

/* Filters */
#ncpa-filters {
    background-color: #f2f8fc;
    border-radius: 6px;
    padding: 10px 20px 20px 20px;
}
#ncpa-filters > div {
  margin-bottom: 0.3rem;
}
#ncpa-filters label, #ncpa-filters fieldset legend {
  color: #00164d;
  font-size: 1rem;
  line-height: 1;
  font-weight: normal;
  background: none;
  margin: 20px 0 10px;
  font-weight: 600;
  display: block;
}

.select2-container {
  z-index: 99;
}

#ncpa-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height:40px;
}
#ncpa-filters .select2-container .select2-selection--single{
  height:40px;
}
#ncpa-filters .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:40px;
  width:40px;
}
#ncpa-filters .select2-container .select2-selection--single .select2-selection__rendered,
#ncpa-filters .select2-results__option,
#ncpa-filters #campus-chbx label,
#ncpa-filters #competitive-chbx p,
#ncpa-filters #ncpa-search-programs{
  font-weight: normal;
  font-size: 0.95rem;
  opacity: 1;
  margin: inherit;
  color: #2b2b2b;
}
#ncpa-filters .select2-container .select2-selection--single .select2-selection__rendered{
  padding-left:15px;
  padding-right:40px;

}

/* search */
#ncpa-filters #ncpa-search-wrapper .ncpa-search-button{
  display:none;
}
/* Campus Checkboxes with Custom Styling */
#ncpa-filters #campus-chbx fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

/* The container aka label */
#ncpa-filters #campus-chbx label {
    display: block;
    padding: 7px 5px 8px 40px;
    position: relative;
    cursor: pointer;
    user-select: none;
    margin: 1px 0 7px 0;
}

/* Hide the browser's default checkbox */
#ncpa-filters #campus-chbx input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
  left:0;
}

/* Create a custom checkbox */
#ncpa-filters #campus-chbx .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 30px;
  width: 30px;
  background-color: #fff;
  border:1px solid #aaa;
  border-radius:4px;
}

/* On mouse-over, add a grey background color */
#ncpa-filters #campus-chbx input ~ label:hover .checkmark {
  background-color: #eee;
}

/* When the checkbox is checked, add a blue background */
#ncpa-filters #campus-chbx input:checked + label .checkmark {
  background-color: #0077be;
  border:1px solid #fff;
}

/* Create the checkmark/indicator (hidden when not checked) */
#ncpa-filters .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
#campus-chbx input:checked ~  label .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
#campus-chbx label .checkmark:after {
  left: 10px;
  top: 5px;
  width: 9px;
  height: 15px;
  border: solid white;
  border-width: 0 4px 4px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Competitive Checkbox with Toggle */
#competitive-chbx {
  margin-top:1.1rem;
}
#competitive-chbx label {
  position:relative;
}
#competitive-chbx label .slider-wrap{
  position: relative;
  display: inline-block;
  width: 50px;
  height: 30px;
}

#competitive-chbx label .slider-wrap input {
  opacity: 0;
  width: 0;
  height: 0;
}

#competitive-chbx label .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  border:1px solid #aaa;
  -webkit-transition: .4s;
  transition: .4s;
  border-radius: 34px;
}

#competitive-chbx label .slider:before {
  position: absolute;
  content: "";
  height: 25px;
  width: 25px;
  left: 2px;
  bottom: 2px;
  background-color: #aaa;
  -webkit-transition: .4s;
  transition: .4s;
  border-radius: 50%;
}

#competitive-chbx label input:checked + .slider {
  background-color: #0077be;
  border:1px solid #0077be;
}

#competitive-chbx label input:focus + .slider {
  box-shadow: 0 0 1px #0077be;
}

#competitive-chbx label input:checked + .slider:before {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
  background-color:#fff;
}
#competitive-chbx label p {
  position:absolute;
  top:-0.1rem;
  left:3.7rem;
  line-height:1.1rem;
  color:#0077be;
  font-weight:600;
}
#ncpa-search-programs {
    height: unset;
    line-height: 40px;
    padding: 0 15px;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    box-shadow: none;
    opacity: 1;
    box-sizing: border-box;
    width: 100%;
}
  #ncpa-search-programs ::-webkit-input-placeholder,
  #ncpa-search-programs ::-moz-placeholder,
  #ncpa-search-programs :-ms-input-placeholder,
  #ncpa-search-programs :-moz--placeholder{
    opacity:1;
    color:#444;
  }
.ncpa-reset-btn {
  display: block;
  border-radius: 50px;
  border: solid 2px #00164d;
  background-color: rgba(0, 0, 0, 0) !important;
  color: #00164d !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 0.95rem;
  margin-top: 25px;
  padding: 18px 25px;
  transition: all 0.3s ease-in-out;
  font-weight: 500;
  text-transform: none;
  line-height: 1rem;
}
.ncpa-reset-btn:hover,
.ncpa-reset-btn:focus {
   background: #00164d !important;
   color: #fff !important;
}

/* filter result box */
.filters-results-box {
  display:none;
  width:0%;
}

/* International Filter Area Extra Styles */
.make-it-sticky {
  position: sticky;
  position: -webkit-sticky; /* Safari */
  top: 8.5rem;
}
.adreq-alert {
    margin: 18px 0;
    background: rgba(210,0,0,0.07);
    border: none;
    border-radius: 8px;
    padding: 15px;
}
.adreq-alert h3 {
  font-size: 1.25rem;
  line-height: 1.7rem;
  font-weight: 600;
  position: relative;
  margin: 0 0 10px 0;
  padding-left: 2.1rem;
  color: #a70303;
}
.adreq-alert h3:before {
    content: "\f071";
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 1.8rem;
    line-height: 1;
    margin: 0 0 5px 0;
    position: absolute;
    left: 0;
}
.adreq-alert p.imp {
    color: #a70303;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.4rem;
    margin-bottom: 8px !important;
}
.adreq-alert p:not(.imp) {
    color: #000;
    font-size: 0.9rem;
    line-height: 1.35rem;
    margin: 0;
}
.adreq-alert p a {
    color: #a70303;
}

#ncpa-int-applynow {
  display: block;
  border: none;
  background-color: #0077be;
  color: #FFF;
  padding: 15px;
  border-radius: 5px;
  margin-top: 10px;
  font-weight: 600;
}

  #ncpa-int-applynow:hover,
  #ncpa-int-applynow:focus,
  #ncpa-int-applynow:active {
    background-color: #ebf6fd;
    border-color: #ebf6fd;
    color: #2A2A2A;
  }
/* list-info */
#ncpa-program-filter-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 30px;
  min-height:42px;
  margin: 0 0 3px 0;
}
/* Last updated */
#last-updated {
    margin: 8px 0;
    text-align: right;
    font-size: 0.8rem;
    line-height: 1rem;
    text-transform: none;
    color: #2f2f2f;
}
  #last-updated span {
      display: inline-block;
      position: relative;
      padding: 0 0 0 20px;
  }
    #last-updated span:before {
        content: "\f017";
        font-family: "Font Awesome 6 Free";
        position: absolute;
        left: 0;
    }
#ncpa-program-filter-info .result-count {
    margin: 8px 0;
    text-transform: none;
    color: rgba(0,0,0,0.7);
    font-weight: 600;
}
/* Single Program Skeleton Styling*/
#programs-skeleton .sk-single-program {
  border: solid 2px rgba(0,0,0,0.1);
  border-radius: 3px;
  padding: 20px 25px;
  margin: 0 0 25px;
  display: grid;
  grid-template-columns: 2fr 1.1fr;
  grid-column-gap: 30px;
}

  #programs-skeleton .sk-title,
  #programs-skeleton .sk-tags,
  #programs-skeleton .sk-credential,
  #programs-skeleton .sk-code,
  #programs-skeleton .sk-delivery,
  #programs-skeleton .sk-single-avail {
    background-color: rgba(0,0,0,0.07);
  }

  #programs-skeleton .sk-details {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-column-gap: 15px;
  }
  #programs-skeleton .sk-title {
    height: 30px;
    margin: 5px 0 0 0;
  }
  #programs-skeleton .sk-tags {
    height: 25px;
    margin: 12px 0 0 0;
    width: 60%;
  }
  #programs-skeleton .sk-credential,
  #programs-skeleton .sk-code,
  #programs-skeleton .sk-delivery {
    margin: 15px 0 0 0;
    height: 35px;
  }
  #programs-skeleton .sk-availability {
    margin: 8px 0 0 0;
  }
  #programs-skeleton .sk-single-avail {
    height: 28px;
    margin: 0 0 5px 0;
  }

.programs-skeleton .sk-single-program-status-table {
  display: grid;
  grid-template-columns: 1.5fr 2fr;
  grid-column-gap: 5px;
  margin: 0 0 25px;
}

  .programs-skeleton .sk-cell {
    background-color: rgba(0, 0, 0, 0.07);
    height: 42px;
    margin: 5px 0 0;
  }

    .programs-skeleton .sk-id-table {
      height: 15px;
      margin: 20px 0 0;
    }

  #programs-skeleton .loading,
  .programs-skeleton .loading {
    position: relative;
    overflow: hidden;
  }
  #programs-skeleton .loading:after,
  .programs-skeleton .loading:after {
    content: "";
    display: block;
    background-color: rgba(0,0,0,0.05);
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(0);
    animation: 1.5s loading-placeholder ease-in-out infinite;
  }

  @keyframes loading-placeholder {

    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(100%);
    }

  }
/* Single Program */
.single-program {
  display: grid;
  grid-template-columns: 2fr 1.1fr;
  grid-column-gap: 30px;
  border: solid 2px rgba(0,0,0,0.1);
  border-radius: 4px;
  padding: 15px 20px;
  margin: 0 0 25px;
}
.single-program h4 {
  font-size: 1.45rem;
  line-height: 2rem;
  margin: 0 0 10px;
}

.single-program h4 a {
  text-decoration: underline;
}

.single-program h4 a:hover {
  color: #444;
  text-decoration: none;
}

.single-program .tags {
    margin: 12px 0 0 0;
}
.single-program .tags span {
  padding: 8px 10px;
  margin: 0 3px 0 0;
  border-radius: 4px;
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1;
}

.single-program .tags span button {
    border: none;
    text-transform: none;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 400;
}

  .single-program .tags span button:hover,
  .single-program .tags span button:focus,
  .single-program .tags span button:active {
    text-decoration: underline !important;
    background-color: rgba(0, 0, 0, 0) !important;
    color: #000;
  }

.single-program .tags span i {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
}
.single-program .tags .campus {
  background: #eaeaea;
}
  .single-program .tags .campus:before{
    content: "@";
    margin: 0 3px 0 0;
  }

  .single-program .tags .campus.OC {
	  background: #fff9d4 !important;
	  font-weight: 500 !important;
  }

    .single-program .tags .campus.OC::before {
      content: "\e066" !important;
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
    }

        .single-program.international .tags .campus.OC::before {
          content: "\f015" !important;
          font-family: "Font Awesome 6 Free";
          font-weight: 900;
        }

.single-program .tags .competitive {
  background-color: #fcfac5;
  color: #2a2a2a;
}

.single-program .tags .competitive button,
.single-program .tags .competitive button i {
      color: #534a00;
}

.single-program .tags .high-demand {
  background-color: #ffb9ac;
  color: #410e06;
}

.single-program .tags .high-demand button,
.single-program .tags .high-demand button i {
  color: #410e06;
}

.single-program .tags .coop-terms {
  background-color: #f0f7fb;
}

.single-program ul.program-details {
  list-style-type: none;
  display: grid;
  grid-template-columns: 3fr 1fr 1fr;
  grid-column-gap: 15px;
  grid-row-gap: 10px;
  margin: 0.7rem 0 0;
}
.single-program ul.program-details li {
  color: #000;
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.3rem;
  text-transform: capitalize;
  font-weight: 400;
}
.single-program ul.program-details li span {
  display: block;
  font-size: 0.85rem;
  opacity: unset;
  text-transform: unset;
  color: rgba(0,0,0,0.6);
  margin: 0 0 2px 0;
  font-weight: 500;
}
.single-program .program-notes {
    margin: 10px 0 0 0;
    border: solid 1px rgba(0,119,190, 0.09);
}
.single-program .program-notes h6:before {
  font-family: "Font Awesome 6 Free";
  content: "\f06a";
  font-weight: 900;
  position: absolute;
  left: 9px;
  top: 9px;
  color: rgba(0,119,190,1);
}
.single-program .program-notes h6 {
    margin: 0;
    padding: 9px 9px 9px 30px;
    font-size: 0.85rem;
    line-height: 0.7rem;
    position: relative;
    background: rgba(0,119,190, 0.06);
    color: rgba(0,0,0,0.75) !important;
}
.single-program .program-notes .program-notes-content {
    padding: 10px 12px;
}
.single-program .program-notes .program-notes-content p {
    font-size: 0.85rem;
    margin: 10px 0;
    line-height: 1.3rem;
}
  .single-program .program-notes .program-notes-content p:first-child {
      margin-top: 0;
  }
  .single-program .program-notes .program-notes-content p:last-child {
      margin-bottom: 0;
  }
/* Availability */
.single-program .program-availability {
    margin: 8px 0 0 0;
}
.single-program .program-availability h5 {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px !important;
    width: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    position: absolute;
}
.single-program .program-availability .single-term {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
    margin: 0 0 5px 0;
    font-size: 1rem;
    background-color: rgba(0,0,0,0.03);
    padding: 10px;
    color: #000;
}
.single-program .program-availability .single-term .term-info {
    padding: 0 10px 0 0;
    text-align: right;
}
.single-program .program-availability .single-term .status {
    position: relative;
    padding-left: 15px;
    font-weight: 500;
}
.single-program .program-availability .single-term .status:before {
    content: " ";
    display: block;
    background: grey;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    bottom: 5px;
    top: unset;
}
.single-program .program-availability .single-term .status.O:before{
  background:#009a3f;
}
.single-program .program-availability .single-term .status.C:before{
  background:#9d1616;
}
.single-program .program-availability .single-term .status.S::before{
  background:#a66602;
}
.single-program .program-availability .single-term .status.W::before{
  background:#d5be00;
}

/* International Single Program */
.single-program.international .program-availability .single-term .status::before {
  bottom:10px;
}
.single-program.international ul.program-details {
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 20px;
}
.single-program.international ul.program-details.has-coop {
  grid-template-columns: repeat(3, 1fr);
}

.single-program.international ul.program-details.has-coop li.credential-desc {
  grid-column: 1 / span 2;
}

/* Modal Styling */
.iziModal.ncpaModal {
  border-radius: 10px !important;
}
.iziModal .iziModal-header-subtitle, .iziModal .iziModal-header-title {
    margin: 0 !important;
}
.iziModal.ncpaModal .iziModal-header {
    background: rgb(230, 230, 230) !important;
    box-shadow: none !important;
    padding: 20px 4rem 20px 20px !important;
}
.iziModal.ncpaModal .iziModal-header-title,
.iziModal.ncpaModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title {
    color: #262626 !important;
    font-size: 1.2rem !important;
    line-height: 1.6rem !important;
    text-transform: none !important;
}
.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-buttons {
  right: 0;
  top: 0;
  height: 100%;
  margin: unset !important;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.iziModal.ncpaModal .iziModal-button-close {
    background: none;
    border-radius: unset;
    height: 100% !important;
    text-decoration: none !important;
    transition: none !important;
    opacity: 1 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
}
.iziModal.ncpaModal .iziModal-button-close:hover,
.iziModal.ncpaModal .iziModal-button-close:focus {
    transform: none !important;
    opacity: 0.8 !important;
}
.iziModal.ncpaModal .iziModal-button-close:after {
    content: "\f057";
    font-family: "Font Awesome 6 Free";
    color: #808080;
    font-size: 2rem;
    line-height: 1;
}
.iziModal.ncpaModal .iziModal-content {
  padding: 20px 25px 40px !important;
}
.iziModal.ncpaModal .iziModal-content p {
  margin: 8px 0;
  line-height: 1.6rem;
}
.iziModal.ncpaModal .iziModal-content a {
  color: #0077be;
}
.iziModal.ncpaModal .iziModal-content ul,
.iziModal.ncpaModal .iziModal-content ol {
  margin: 20px 8px 8px 20px;
  list-style-type: none;
}
.iziModal.ncpaModal .iziModal-content ul li {
  padding-left: 25px;
  position: relative;
  line-height: 1.5rem;
  margin: 5px 0;
}
.iziModal.ncpaModal .iziModal-content ul li:before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  color: #0077be;
  position: absolute;
  left: 0;
  font-weight: 900;
  font-size: 0.85rem;
}

/* No Programs Found */
#no-programs-found {
    margin: 2rem;
    text-align: center;
    background: rgba(0,119,190,0.05);
    padding: 1rem 0;
    border-radius: 4px;
}
  #no-programs-found .result-count {
    text-transform: uppercase;
    color:#0077be;
    font-size:1.4rem;
  }
  #no-programs-found p {
    font-size:1rem;
    margin-top:1rem;
  }
  #no-programs-found button.ncpa-reset-btn {
      display: inline-block;
      margin: 0;
  }

/* AODA */
input#ncpa-search-programs:focus,
#campus-chbx input:focus + label,
.ncpa-reset-btn:focus,
.ncpa-search-button:focus {
  outline:1px dotted #444;
}
/* scroll top */
.scrolltop {
  display:none;
  width:100%;
  margin:0 auto;
  position:fixed;
  bottom: 0;
  z-index: 9999;
}
.scroll {
  position: absolute;
  bottom: 20px;
  background: #ddd;
  color: #676767;
  padding: 20px;
  text-align: center;
  margin: 0;
  cursor: pointer;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}
.scroll:hover {
  background:#E9F6FD;
  color:#0a4a9d;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
}
.scroll:hover .fa {
  padding-top:-10px;
}
.scroll .fa {
  font-size:30px;
  margin-top:-5px;
  margin-left:1px;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
}

/* RESPONSIVE */
@media only screen and (max-width: 1200px) {
  .single-program ul.program-details li{
    margin:0 25px 0 0;
  }
}
/* Large mobile breakpoint */
@media only screen and (max-width: 959px) {
  .col-1-1,
  .col-1-3,
  .col-3-1,
  .col-3-2,
  .col-1-1-1,
  .col-1-1-5 {
    display: grid;
    grid-template-columns: 1fr;
  }

	#ncpa #content {
    padding: 2rem 2rem 1rem;
	}

  #ncpa .legend {
    margin-top:0;
  }
  #ncpa-overlay{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,0.2);
    display: none;
    z-index: 0;
  }
  #ncpa-wrapper{
    display: grid;
    grid-template-columns: 1fr;
  }
  #ncpa-wrapper .ncpa-show-filters:before {
      font-family: "Font Awesome 6 Free";
      position: relative;
      color: #0077be;
      content: "\f0c9";
      margin: 0 6px 0 0;
      transition: all 0.3s ease-in-out;
      font-weight: 900;
  }
  #ncpa-wrapper .ncpa-show-filters {
    display: block;
    float: unset;
    width: 100%;
    background: none;
    color: #0077be;
    border: 2px solid #0077be;
    padding: 20px 35px;
    margin: 15px 0 15px;
    transition: all 0.3s ease-in-out;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 500;
  }
    #ncpa-wrapper .ncpa-show-filters:hover::before {
      color:#000;
    }

    #ncpa-wrapper .ncpa-show-filters:hover {
      color:#000;
      border: solid 2px transparent !important;
      background: rgba(0,119,190,0.1);
    }

  #ncpa-filters {
    height: 100%;
    width: 400px;
    position: fixed;
    z-index: 2147483647 !important; /*olark chat button is insanely indexed */
    top: 0;
    right: -400px;
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
    border-radius:0;
    padding:0;
  }
    #competitive-chbx label p {
      top:0.4rem;
    }

  #ncpa-filters.menu-open{
    right:0;
    box-shadow:-7px 0 14px rgba(34,25,36,.2);
  }

  #ncpa-filters-inner {
    overflow-y: auto;
    padding: 1rem 2rem 1rem;
    height: calc(100% - 92px);
  }
  #ncpa-filters header,
  #ncpa-filters footer{
    display:block;
  }
  #ncpa-filters header {
    margin-bottom: 1rem;
    display: flex;
  }
  #ncpa-filters header .ncpa-close-filters:before {
      font-family: "Font Awesome 6 Free";
      position: relative;
      content: "\f00d";
      font-weight: 900;
  }
  #ncpa-filters header .ncpa-close-filters {
    /* float: left; */
    background: none;
    margin: 0;
    padding: 5px 10px 5px 0;
    font-size: 1.6rem;
    line-height: 1.8rem;
    color: #363636;
    border: none;
    flex-grow: 1;
  }
  #ncpa-filters header h3 {
    text-align: center;
    color: #363636 !important;
    font-weight: 500;
    font-size: 1.5rem;
    margin-top: 0;
    margin-left: -20px;
    margin-bottom: 0;
    line-height: 2.35rem;
    flex-grow: 10;
  }
  #ncpa-filters > div {
    margin-bottom:1rem;
  }
  #ncpa-search-wrapper {
    position:relative;
  }
  #ncpa-filters #ncpa-search-wrapper .ncpa-search-button {
    display: inline-block;
    position: absolute;
    background-color: #0077be;
    right: 0;
    bottom: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 50px;
    width: 50px;
    color: #fff;
    padding: 0.85rem 0.9rem;
    font-size: 1.4rem;
  }

  #ncpa-intl #ncpa-filters #ncpa-search-wrapper .ncpa-search-button {
    padding: 0.4rem 0.9rem;
  }
  #ncpa-search-programs, .select2-container .select2-selection--single{
    height:50px;
  }

  .select2-container {
    z-index: 99999999999;
  }

  .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height:50px;
  }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height:50px;
    width:50px;
  }
  .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-width:10px 8px 0 8px;
    margin-left:-10px;
    margin-top:-4px;
  }
  .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-width:0 8px 10px 8px;
  }
  .select2-container .select2-selection--single .select2-selection__rendered, .select2-results__option, #campus-chbx label, #competitive-chbx p, #ncpa-search-programs {
    font-size:0.95rem;
  }
  .select2-results__option {
    padding:8px 15px;
  }
  #campus-chbx label{
    display:block;
  }

  #campus-chbx .checkmark {
    top:10px;
  }

  .ncpa-reset-btn {
    width:50%;
    margin-bottom:1.5rem;
  }

  #ncpa-filters footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #EDF8FF;
    padding: 1rem 0;
    box-shadow: -7px 0 14px rgba(34,25,36,.2);
    max-height:92px;
  }
  #ncpa-filters footer .result-count {
      display: block;
      background-color: #0077be;
      padding: 1.3rem 0;
      width: 90%;
      margin: 0 auto;
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      font-weight: 600;
      text-align: center;
      border-radius: 50px;
      height: 60px;
      border: none;
    }
      #ncpa-filters footer .result-count.none{
        background-color:rgba(0,0,0,0);
        color:#444;
        font-weight:600;
        padding:0;
        text-transform:none;
      }
      #ncpa-filters footer .result-count.none .ncpa-reset-btn{
        margin:0.1rem auto 0;
        padding:0.7rem;
        width:40%;
      }

    .mbl-loading:after {
      content: '. ';
      font-size:3rem;
      line-height:0;
      animation: dots 0.7s steps(5, end) infinite;
      display:inline-block;
      position:absolute;
      left:43%;
      top:1.1rem;
    }

    #ncpa-intl .mbl-loading:after {
      left: 45%;
      top: 2.3rem;
    }
    @keyframes dots {
      0%, 20% {
        color: rgba(0,0,0,0);
        text-shadow:
          .25em 0 0 rgba(0,0,0,0),
          .5em 0 0 rgba(0,0,0,0);
      }
      40% {
        color: white;
        text-shadow:
          .25em 0 0 rgba(0,0,0,0),
          .5em 0 0 rgba(0,0,0,0);
      }
      60% {
        text-shadow:
          .25em 0 0 white,
          .5em 0 0 rgba(0,0,0,0);
      }
      80%, 100% {
        text-shadow:
          .25em 0 0 white,
          .5em 0 0 white;
      }
    }

}

/* Large mobile breakpoint */
@media only screen and (max-width: 1025px) {

}

/* Medium mobile breakpoint */
@media only screen and (max-width: 715px) {
  #ncpa #content {
    padding: 50px 0.9375rem;
  }
  .single-program{
    display:block;
  }
}

@media only screen and (max-width: 490px) {

  #ncpa .legend .col-1-1-1-1{
    display: grid;
    grid-template-columns: 1fr;
  }
  #ncpa-filters {
    width:100%;
    right:-100%;
  }
  #ncpa-wrapper {
    display:block;
  }
  #ncpa-wrapper .ncpa-show-filters {
    float:none;
  }
  #ncpa-program-filter-info {
    grid-template-columns: 1fr;
  }
  #last-updated {
    text-align:left;
  }
  .single-program .program-notes {
      margin: 12px 0 0 0;
      border: solid 1px rgba(0,119,190, 0.09);
  }
  .single-program ul.program-details {
    display:block;
    margin: 15px 0;
  }
    .single-program ul.program-details li {
      line-height:1.5rem;
      margin: 10px 0;
    }
    .single-program ul.program-details li span {
      line-height: 1;
    }
    .single-program .program-availability h5 {
      margin-top:1rem;
    }

    #programs-skeleton .sk-single-program {
      grid-template-columns: 1fr;
    }
    #programs-skeleton .sk-details {
      grid-template-columns: 1fr;
      margin: 5px 0 0 0;
    }
    #programs-skeleton .sk-single-program .sk-credential,
    #programs-skeleton .sk-single-program .sk-code,
    #programs-skeleton .sk-single-program .sk-delivery {
      margin: 10px 0 0 0;
    }
    #programs-skeleton .sk-single-program .sk-availability {
      display: none;
    }


}
/*end media q*/
