  /*! HTML5 Boilerplate v6.1.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    /*line-height: 1.4;*/
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

* {
  box-sizing: border-box;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

.hidden {
    display: none !important;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

@media only screen and (min-width: 35em) {}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {}

@media print {
  * {
    -webkit-print-color-adjust: exact;
  }
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.clearfix:after {
    clear: both;
}

.jp-collapse,
.jp-hide-offscreen {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
   /* *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }*/
    a,
    a:visited {
        text-decoration: underline;
    }
    /*a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }*/
    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
    /*a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }
    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }*/
    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}

/* ==========================================================================
   Custom styles
   ========================================================================== */

* {
    font-family: Arial;
    box-sizing: border-box;
}

a {
  color: #001489;
}

a#de {
    display: none;
}

.box-shadow-bottom {
  position: relative;
  background: #fff;
}

.box-shadow-bottom:after {
    content:"";
    position:absolute;
    width:100%;
    bottom:1px;
    left: 0;
    z-index:-1;
    transform:scale(.96);
    box-shadow: 0px 0px 8px 2px rgba(0,0,0,.25);
}

/* Program styles */

.program-master {
  margin-bottom: 30px;
}

/* Curriculum styles */

.curriculum-total-credits {
  background: #f5f5f5;
  padding: 6px 10px;
  text-align: right;
  margin: 0;
}

.curriculum-total-credits span {

}

/* Semester styles */

.semester-output .additional-semester-note {
  font-weight: normal;
  color: #000;
}

.semester-output .semester-credits {
  font-weight: normal;
  color: #737373;
  padding: 0 0 0 6px;
  font-size: 16px;
  font-style: italic;
  font-family: Georgia, Times, serif;
}

.semester-output .semester-credits:before {
  content: "(";
}

.semester-output .semester-credits:after {
  content: ")";
}

.semester-output h5.semester-title {
  display: inline-block;
  font-size: 1em;
  line-height: 1;
  margin: 15px 0 5px;
  font-weight: bold;
  color: #000;
}

.semester-output .semester-footnote-icons-container sup {
  margin: 0 0 0 4px;
}

ul.course-list {
  list-style: none;
  margin: 5px 0;
  padding: 0;
  overflow-x: hidden;
}

li.course-requirement {
  margin: 5px 0;
  padding: 5px 0 5px 45px;
  border-bottom: 1px solid #ddd;
  position: relative;
  display: block;
  float: left;
  width: 100%;
}

.course-requirements-container {
  display: inline-block;
  float: left;
  width: 93%;
}

.course-requirements-container * {
  position: relative;
  z-index: 2;
}

.meta-bubble-separator[data-type="combine"] {
  padding: 0 4px;
  margin: 0 4px;
  background: #eee;
  color: #333;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  display: inline-block;
}

.meta-bubble-separator[data-type="choice"] {
  padding: 3px;
  margin: 0 5px;
  background: #eee;
  color: #000;
  border-radius: 3px;
  font-size: 10px;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
}

.course-group {
  background: #fff;
  padding: 0 2px 0 0;
}

.course-group:hover {
    background: #d5f2ff;
    cursor: default;
}

.course-group:hover a.course-item {
    color: #172ba5;
}

a.course-item {
  padding: 3px 0;
  color: #000;
  text-decoration: none;
}

a.course-item:hover {
  text-decoration: underline;
  cursor: pointer;
}

a.course-item[data-custom-url="true"]:hover:after,
.joint-program-title a:hover:after {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    color: #172ba5;
    content: "\f08e";
    -webkit-transition: transform .15s ease-in-out;
    -moz-transition: transform .15s ease-in-out;
    -o-transition: transform .15s ease-in-out;
    transition: transform .15s ease-in-out;
    margin-left: 8px;
    padding-right: 8px;
    font-size: 14px;
}

.course-item .course-prefix {
    color: #172ba5;
}

.course-credit-container {
  width: 45px;
  display: inline-block;
  float: left;
  position: absolute;
  bottom: 5px;
  right: 0;
}

.course-credit-container span {
  background: #fff;
  float: right;
  padding: 0 5px 0 10px;
  position: relative;
}

.course-requirements-container:after {
  float: left;
  width: 0;
  white-space: nowrap;
  content: ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . ";
  font-size: 18px;
  position: absolute;
  bottom: 7px;
  padding: 0 0 0 3px;
}

#curriculum-template h1,
#curriculum-template h2,
#curriculum-template h3,
#curriculum-template h4 {
    margin: 0;
    font-family: Arial;
    font-weight: bold;
    color: #333;
}

#curriculum-template h1.serif-header-1,
#curriculum-template h2.serif-header-1,
#curriculum-template h3.serif-header-1,
#curriculum-template h4.serif-header-1 {
  font-family: Georgia, Times, serif;
  font-weight: normal;
}

/* Joint */

.curriculum-output--joint-program[data-collapsed="false"] {
  margin-top: 12px;
}

#curriculum-template h4.joint-program-title {
  margin: 15px 0 0;
}

.joint-program-title a {
  color: inherit;
  text-decoration: none;
}

.joint-program-title a:hover {
  color: #0057a3;
  text-decoration: underline;
}

.footnote-style-italic {
  font-style: italic;
}

.footnote-style-bold {
  font-weight: bold;
}

/* Footnotes and inline icons */

.curriculum-footnotes {
  margin: 10px 0 0;
  font-size: 13px;
}

.curriculum-output .tips {
  cursor: context-menu;
  display: inline;
}

.footnote-items {

}

.tooltipster-base p,
.footnote-items p {
    display: inline;
}

.tooltipster-base a,
.footnote-items a {
  color: #172ba5;
  text-decoration: none;
}

.tooltipster-base a:hover,
.footnote-items a:hover {
  text-decoration: underline;
}

.footnote-item:before {
    padding: 0 4px 0 0;
    min-width: 20px;
    text-align: left;
    font-size: 13px;

    display: block;
    position: absolute;
    left: 0;
}

.footnote-item {
  display: block;
  margin: 0 0 4px;
  padding: 0 0 0 25px;
  position: relative;
}

.footnote-item--general[data-general-footnote-number="1"]:before {
  content: "General Notes:";
}

.footnote-item ol,
.footnote-item ul {
  margin: 0;
}

[data-footnote-number="1"]:before {
    content: "*" !important;
}

[data-footnote-number="2"]:before {
    content: "**" !important;
}

[data-footnote-number="3"]:before {
    content: "***" !important;
}

[data-footnote-number="4"]:before {
    content: "†" !important;
}

[data-footnote-number="5"]:before {
    content: "‡" !important;
}

[data-footnote-number="6"]:before {
    content: "◇" !important;
}

[data-footnote-number="7"]:before {
    content: "✻" !important;
}

[data-footnote-number="8"]:before {
    content: "✩" !important;
}

[data-footnote-number="9"]:before {
    content: "△" !important;
}

[data-footnote-number="10"]:before {
    content: "✢" !important;
}

[data-footnote-number="11"]:before,
[data-footnote-number="major"]:before {
    content: "◆" !important;
}

.footnote-item--general {
  padding: 0 0 0 3px;
  margin: 0;
  display: inline-block;
  font-size: 13px;
}

.footnote-item--general + .footnote-item--general {
  margin: 0 0 0 0;
  padding: 2px 2px 2px 5px;
  display: block;
  width: 100%;
}

.footnote-item--general:before {
  content: attr(data-general-footnote-number) ") ";
  display: inline-block;
  position: relative;
  margin: 0 0 0;
  width: auto;
  min-width: 0;
  font-size: 13px;
}

.curriculum-output .footnote-item--general[data-general-footnote-number="1"]:before {
    content: "Additional Notes: " attr(data-general-footnote-number) ") ";
}

.curriculum-output--joint-program .footnote-item--general[data-general-footnote-number="1"]:before {
    content: "Notes: " attr(data-general-footnote-number) ") ";
}

.curriculum-output--joint-program .footnote-item--general,
.curriculum-output--joint-program .footnote-item--general:before {
  background: #fff;
}

.footnote-item--semester:before {
    content: attr(data-semester-footnote-number);
}

.footnote-icons-container {
    display: block;
    float: left;
    width: 40px;
    padding: 0 5px 0 0;
    position: absolute;
    left: 0;
    text-align: right;
}

.footnote-icon {
    text-indent: -100000px;
    font-size: 0;
}

.footnote-icon:before {
    font-size: 13px !important;
    font-weight: normal;
    padding: 1px;
    margin: 0 2px 0 0;
}

span.inline-attribute {
  color: #555;
}
span.inline-attribute:hover {
  color: #000;
}
span.inline-attribute[data-type="or-higher"] {
  text-transform: none;
  font-size: 12px;
  font-family: Georgia, Times, serif;
  font-style: italic;
}

/* Bubbles */

.test-bubble,
.meta-bubble {
    padding: 3px 7px;
    margin: 0 10px 10px 0;
    background: #eee;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e8e8e8+0,f7f7f7+98 */
    background: #e8e8e8; /* Old browsers */
    background: -moz-linear-gradient(-45deg, #e8e8e8 0%, #f7f7f7 98%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, #e8e8e8 0%,#f7f7f7 98%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, #e8e8e8 0%,#f7f7f7 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8e8e8', endColorstr='#f7f7f7',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    color: #000;
    border-radius: 0;
    font-size: 14px;
    display: inline-block;
    position: relative;
}

.test-bubble {
    display: none;
}

/* Program Overview */

.program-overview {
    padding: 0;
    background-size: cover;
    background-position-y: 15%;
}

/*.program-overview h2 {
    text-align: center;
    font-size: 2.2em;
    padding: 10px;
    border-top: 5px solid #0d1b34;
    border-bottom: 5px solid #0d1b34;
    background: #1643d5;
    color: #fff;
    display: block;
    mix-blend-mode: hard-light;
    background: rgba(0, 52, 222, 0.92);
}*/

.program-overview {
  background: none !important;
}

.program-overview h2 {
  font-size: 2.2em;
  color: #000;
}

.no-program-headings .program-overview {
  display: none !important;
}

.no-program-headings .program-description {
  padding-top: 0;
}

.program-meta-items {
  display: none !important;
}

.program-overview .program-images {
    display: none;
}

.program-overview .program-meta-items {
    display: block;
    text-align: center;
    padding: 0;
}

.program-overview .program-meta-item {
    font-weight: bold;
    mix-blend-mode: hard-light;
    background: #333;
    color: #fff;
}

.program-description {
  padding: 20px 0 0 0;
}

.program-description img.program-featured-image {
    float: right;
    max-width: 40%;
    padding: 1em 0 10px 15px;
}

.program-description img.alignright {
  float: right;
  padding-left: 10px;
  max-width: 100%;
}

.program-description img.alignleft {
  float: left;
  padding-right: 10px;
  max-width: 100%;
}

.program-description h1,
.program-description h2,
.program-description h3,
.program-description h4,
.program-description h5,
.program-description h6,
.program-description p {
  margin: 1em 0;
}

/* Curriculum */

.curriculum-overview > div:last-child {
  padding-bottom: 15px;
}

.curriculum-output .curriculum-overview {
  margin: 0 0 5px;
  position: relative;
}

.curriculum-output .curriculum-overview .curriculum-meta-items .meta-bubble {
  font-style: italic;
}

.curriculum-output .curriculum-overview p {
  margin: 1em 0;
  display: block;
}

.curriculum-output .curriculum-overview .curriculum-name .curriculum-degree {
  content: attr(data-degree) " Degree";
  border-left: 2px solid #737373;
  color: #444;
  line-height: .9;
  display: inline-block;
  padding: 0 0 0 8px;
  margin: 0 0 0 7px;
  font-weight: normal;
}

.curriculum-output .curriculum-overview .curriculum-campus .campus-item:after {
  /*content: " Campus";*/
}

.curriculum-output .curriculum-overview .curriculum-name-wrapper {
  display: block;
  margin: 0;
}

.curriculum-output .curriculum-overview .curriculum-overview-meta-wrapper {
  margin-top: 10px;
  position: relative;
}

.curriculum-output .curriculum-overview h3.curriculum-name {
  font-size: 1.6rem;
  display: block;
  width: 100%;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  text-decoration: none;
  margin-bottom: 0;
}

.collapse {

}

.collapsible-program .curriculum-collapse-toggle {
  text-decoration: none;
  display: block;
  width: 100%;
  border: none;
  padding: 0;
  margin: 0;
  text-align: left;
  cursor: pointer;
  border: 1px solid transparent;
}

.collapsible-program .curriculum-collapse-toggle:focus {
  outline: none;
  box-shadow: 0 0 10px -2px #0082c2;
  border: 1px solid rgba(0, 130, 194, 0.7);
  border-radius: 0;
}

.collapsible-program .curriculum-collapse-toggle h3.curriculum-name--web:before {
  content: "...";
  float: right;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  color: #bbb;
  content: "\f13a";
  -webkit-transition: transform .15s ease-in-out;
  -moz-transition: transform .15s ease-in-out;
  -o-transition: transform .15s ease-in-out;
  transition: transform .15s ease-in-out;
  right: 8px;
  position: absolute;
}

.collapsible-program .curriculum-output[data-collapsed='true'] .curriculum-collapse-toggle h3.curriculum-name--web:before {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transform-origin: 50% 48.5%;
}

.collapsible-program .curriculum-output .curriculum-collapse-toggle:focus h3.curriculum-name--web:before,
.collapsible-program .curriculum-output[data-collapsed='true'] .curriculum-collapse-toggle:hover h3.curriculum-name--web:before {
  color: #172ba5;
}

.show-campus-in-heading .curriculum-output .curriculum-collapse-toggle h3.curriculum-name--web:after,
.collapsible-program .curriculum-output[data-collapsed='true'] .curriculum-collapse-toggle:hover h3.curriculum-name--web:after {
  content: attr(data-campus);
  float: right;
  margin: 0 8px;
  font-size: 0.8em;
  padding: 2px 0 0;
  color: #999;
  font-weight: bold;
  position: absolute;
  text-align: right;
  right: 30px;
  top: 0.5rem;
  line-height: 1.25em;
}

.curriculum-output .curriculum-overview h3.curriculum-name--web {
  padding-right: 85px;
}

.collapsible-program .curriculum-output .curriculum-collapse-toggle h3 {
  box-shadow: 0 0 0 0 rgba(30,30,30,.3);
  -webkit-transition: box-shadow .05s ease-in-out;
  -moz-transition: box-shadow .05s ease-in-out;
  -o-transition: box-shadow .05s ease-in-out;
  transition: box-shadow .05s ease-in-out;
}

.collapsible-program .curriculum-output[data-collapsed='false'] .curriculum-collapse-toggle h3 {
  background: #eaeaea;
  box-shadow: 0 0 15px 0 rgba(30,30,30,.1) inset;
}

.collapsible-program .curriculum-output[data-collapsed='false'] .curriculum-collapse-toggle:hover h3 {
  box-shadow: 0 10px 5px -10px rgba(30,30,30,.15), 0 0 15px 0 rgba(30,30,30,.1) inset;
}


.collapsible-program .curriculum-output .curriculum-collapse-toggle:focus h3,
.collapsible-program .curriculum-output[data-collapsed='true'] .curriculum-collapse-toggle:hover h3 {
  box-shadow: 0 10px 5px -10px rgba(30,30,30,.3);
  color: #172ba5;
}

.collapsible-program .curriculum-output[data-collapsed='false'] .curriculum-collapse-toggle:hover h3 .curriculum-degree {
  /*color: #fff;
  color: rgba(255,255,255,.9);*/

}

.collapsible-program .curriculum-output[data-collapsed='false'] .curriculum-collapse-toggle h3.curriculum-name--web:before {
  color: #aaa;
  color: #172ba5;
}

/*.curriculum-output .curriculum-overview h3.curriculum-name .department-prefix {
  color: #525252;
  display: block;
}*/

.curriculum-output .curriculum-overview h3.curriculum-name--default {
  display: none !important;
}

.curriculum-output .curriculum-overview h3.curriculum-name--pdf,
.curriculum-name-list--pdf {
  display: none;
}

.curriculum-output .curriculum-overview .joint-program-note {
  padding: 0 5px;
  font-size: 13px;
  margin: 10px 0 10px;
}

.curriculum-output .curriculum-overview .joint-program-note .icon {
  display: inline-block;
  margin: 0 5px 0 0;
}

.curriculum-output .curriculum-overview .curriculum-degree { /* unnecessary output */
  display: none;
}

.curriculum-output .curriculum-overview .meta-bubble-separator {
  display: none;
}

.curriculum-output .curriculum-overview .curriculum-code,
.curriculum-output .curriculum-overview .curriculum-campus,
.curriculum-output .curriculum-overview .curriculum-online {
  display: inline-block;
}

.curriculum-output .curriculum-overview .curriculum-code {
  font-weight: bold;
}

.curriculum-output .curriculum-overview .curriculum-learning-outcomes ul {
  margin: 0 0 10px;
  padding: 0 0 0 45px;
}

#curriculum-template {
  display: block;
  line-height: 1.4;
  font-family: Arial;
  font-size: 16px;
}

#curriculum-template .program-more-info {
  display: none;
}

/* Headings */

.curriculum-output .serif-header-1 {
  font-family: Georgia, Times, serif;
  font-style: italic;
  font-weight: normal;
  color: #737373;
  font-size: 16px;
  padding: 0 0 5px;
  display: block;
}

.curriculum-output .serif-header-1,
.curriculum-output h2.program-title{
  font-size: 18px;
  margin: 10px 0 20px 0;
  padding: 0 0 8px;
  color: #333;
  border-bottom: 1px solid #d7d7d7;
  text-align: center;
}

.curriculum-output .sequence-name {
  column-span: all;
  font-size: 1.25em;
  padding: 20px 0 12px;
  border-bottom: 1px solid #ddd;
}

/* Loading Experience */

/* See https://codepen.io/LukeAskew/pen/gabgom */
.pulsing-blue-color {
  background-color: #001489;
  animation-name: pulsing-blue-color;
  animation-duration: 2s;
  animation-iteration-count: infinite;
}

@keyframes pulsing-blue-color {
  0% {
    background-color: #0057a3;
  }
  50% {
    background-color: #001489;
  }
  100% {
    background-color: #0057a3;
  }
}

.curriculum-loading-icon {
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 3em;
  line-height: 0;
  padding: 1em;
}

.curriculum-loading-icon .fas {
  line-height: 1.45;
  width: 64px;
  height: 64px;
  text-align: center;
  display: inline-block;
  float: left;
}

.curriculum-loading-icon .loading-message {
  font-size: .6em;
  display: inline-block;
  padding: .6em 0 0 10px;
  line-height: 1;
  float: left;
}

/* See http://www.multipetros.gr/posts/728-blink-elements-border-the-css-way/ */
@keyframes blinking-border { 
   50% { border-color: #eee; } 
}

.curriculum-loading-icon .loading-message .txt-rotate > .wrap {
  border-right: 0.08em solid transparent;
  animation: blinking-border .5s step-end infinite alternate;
}

/* Display Preferences */

.pdf-page-break {
  page-break-before: always;
  display: block;
  width: 100%;
  height: 20px;
}

.collapsible-program .pdf-page-break {
  height: 20px;
}

span.inline-attribute[data-type="elective"], 
span.inline-attribute[data-type="restricted"] {
  display: none;
}
.curriculum-meta-items {
  display: none;
}

.no-section-heading .catalog-section-title {
  display: none !important;
}

.small-headings .curriculum-overview h3.curriculum-name {
  font-size: 1.1rem;
  font-weight: bold;
  color: #000;
  font-family: Arial;
}
/* Curriculum List */

.curriculum-listing tr:nth-child(odd) { 
    background: #f7f7f7;  
}

.curriculum-listing span.campus-item.meta-bubble {
  font-size: 0;
  margin: 0;
  padding: 0;
  background: transparent;  
  color: transparent;
}

.curriculum-listing span.campus-item.meta-bubble:after {
  content: attr(data-code);
  font-size: 14px;  
  color: #000;
}

.curriculum-listing .meta-bubble-separator {
  margin-right: 4px;
}

.datagrid table { border-collapse: collapse; text-align: left; width: 100%; } .datagrid {font: normal 14px/150% Arial, Helvetica, sans-serif; background: #fff; overflow: hidden; }.datagrid table td, .datagrid table th { padding: 5px 10px; }.datagrid table thead th {background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #001489), color-stop(1, #071C70) );background:-moz-linear-gradient( center top, #001489 5%, #071C70 100% );filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#001489', endColorstr='#071C70');background-color:#001489; color:#FFFFFF; font-size: 16px; font-weight: bold; border-left: 1px solid #eee; } .datagrid table thead th:first-child { border: none; }.datagrid table tbody td { color: #000000; border-left: 1px solid #EEEEEE;font-size: 14px;font-weight: normal; }.datagrid table tbody .alt td { background: #EEEEEE; color: #000000; }.datagrid table tbody td:first-child { border-left: none; }.datagrid table tbody tr:last-child td { border-bottom: none; }.datagrid table tfoot td div { border-top: 1px solid #DDDDDD;background: #E1EEF4;} .datagrid table tfoot td { padding: 0; font-size: 12px } .datagrid table tfoot td div{ padding: 2px; }.datagrid table tfoot td ul { margin: 0; padding:0; list-style: none; text-align: right; }.datagrid table tfoot  li { display: inline; }.datagrid table tfoot li a { text-decoration: none; display: inline-block;  padding: 2px 8px; margin: 1px;color: #FFFFFF;border: 1px solid #006699;-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #006699), color-stop(1, #00557F) );background:-moz-linear-gradient( center top, #006699 5%, #00557F 100% );filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006699', endColorstr='#00557F');background-color:#006699; }.datagrid table tfoot ul.active, .datagrid table tfoot ul a:hover { text-decoration: none;border-color: #006699; color: #FFFFFF; background: none; background-color:#00557F;}div.dhtmlx_window_active, div.dhx_modal_cover_dv { position: fixed !important; }

.curriculum-listing--shorter-label {
  display: none;
}

#programs-column-content {
  font-size: 16px;
}

/* curriculum list loading animation */

.curriculum-loading-icon {
  display: none !important;
}

@-webkit-keyframes loading-placeholder-moving-gradient {
  0% {
    background-position: -250px 0;
  }
  100% {
    background-position: 250px 0;
  }
}
table.loading-placeholder-table {
  width: 100%;
}
table.loading-placeholder-table tr {
  border-bottom: 0 none;
}
table.loading-placeholder-table tr:nth-child(odd) {
  background: #f7f7f7;
}
table.loading-placeholder-table tr td {
  height: 36px;
  vertical-align: middle;
  padding: 8px;
}
table.loading-placeholder-table tr td span {
  display: block;
}
table.loading-placeholder-table tr td.td-1 {
  width: 10%;
}
table.loading-placeholder-table tr td.td-2 {
  width: 50%;
}
table.loading-placeholder-table tr td.td-3 {
  width: 10%;
}
table.loading-placeholder-table tr td.td-4 {
  width: 15%;
}
table.loading-placeholder-table tr td.td-5 {
  width: 15%;
}
table.loading-placeholder-table tr td.td-1 span,
table.loading-placeholder-table tr td.td-2 span,
table.loading-placeholder-table tr td.td-3 span,
table.loading-placeholder-table tr td.td-4 span,
table.loading-placeholder-table tr td.td-5 span {
  background-color: rgba(0, 0, 0, 0.15);
  width: 100%;
  height: 16px;
}
table.loading-placeholder-table tr td.td-1 span,
table.loading-placeholder-table tr td.td-2 span,
table.loading-placeholder-table tr td.td-3 span,
table.loading-placeholder-table tr td.td-4 span,
table.loading-placeholder-table tr td.td-5 span {
  height: 16px;
  background: linear-gradient(to right, #eee 20%, #ddd 50%, #eee 80%);
  background-size: 500px 100px;
  animation-name: loading-placeholder-moving-gradient;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

.curriculum-detail-loading-placeholder table,
.curriculum-detail-loading-placeholder tbody,
.curriculum-detail-loading-placeholder tr {
  display: block;
}

.curriculum-detail-loading-placeholder table tr td {
  display: inline-block;
  float: left;
}

.curriculum-detail-loading-placeholder,
.curriculum-detail-loading-placeholder > div,
.curriculum-detail-loading-placeholder > div > span {
  background: linear-gradient(to right, #eee 20%, #ddd 50%, #eee 80%);
  background-size: 500px 100px;
  animation-name: loading-placeholder-moving-gradient;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  margin: 0 0 10px;
}

.curriculum-detail-loading-placeholder--image {
  display: block;
  width: 100%;
  background: #f7f7f7;
  height: 350px;
  vertical-align: middle;
}

/* Determine size of the table headings to prevent icon on second line */

@media only screen and (min-width: 680px) {
  table.curriculum-listing th.tips.tooltipstered {
    cursor: default;
  }
  table.curriculum-listing th:nth-child(4).tips.tooltipstered {
    min-width: 90px;
  }
  table.curriculum-listing th:nth-child(5).tips.tooltipstered {
    min-width: 134px;
  }
  table.curriculum-listing th:nth-child(6).tips.tooltipstered {
    min-width: 115px;
  }
}

/* Programs Pages */

#programs-column-content {
  font-size: 16px;
}

/*.programs-flexbox-item.programs-column-sidebar:before {
    content: "In This Section:";
    font-weight: bold;
    background: #ddd;
    display: block;
    float: left;
    clear: both;
    width: 100%;
    padding: 0.3rem .65rem;
    margin: 0;
    font-size: 15px;
    text-transform: uppercase;
    color: #333;
    position: relative;
    z-index: 1;
}*/

.programs-flexbox-item.programs-column-sidebar > aside {
  display: block;
  width: 100%;
  float: left;
}

@media only screen and (min-width: 1780px) {
    .programs-flexbox-item.programs-column-sidebar {
        right: 100%;
        position: absolute;
    }

    .programs-container.flexbox-three-column {

    }

    .programs-column-content {
        width: 78%;
        padding-left: 0;
    }

    .container {
        position: relative;
    }
}

/* Print button */

.curriculum-overview .partial-print-trigger,
.curriculum-overview .flyer-print-trigger {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 12px;
    text-decoration: none;
}

.curriculum-overview .partial-print-trigger:not(:hover),
.curriculum-overview .flyer-print-trigger:not(:hover) {
    background: transparent;
}

.curriculum-overview .partial-print-trigger .print-label,
.curriculum-overview .flyer-print-trigger .print-label {
    padding: 0 0 0 5px;
}

.curriculum-overview .partial-print-trigger:hover:after,
.curriculum-overview .flyer-print-trigger:hover:after {
  display: none !important;
}

@media print {
  body {
    -webkit-print-color-adjust: exact !important;
    zoom: 100%;
  }
  .hide-for-print {
    position: absolute;
    top: -99999px;
    left: -99999px;
    background: #fff !important;
  }

  .partial-print-trigger,
  .flyer-print-trigger {
    display: none !important;
  }

  .partial-print-target {
    display: block !important;
    position: relative !important;
    top: 99999px !important;
    left: 99999px !important;
    width: 100vw !important;
  }

  .partial-print-target * {
    /* font-size: 12px !important; */
  }

  .partial-print-target .footnote-icon {
    text-indent: -100000px;
    font-size: 0 !important;
  }

  .partial-print-target .tablesaw-cell-label {
    display: none !important;
  }

  .partial-print-target .curriculum-overview .gainful-employment, 
  .partial-print-target.curriculum-output .curriculum-overview .curriculum-learning-outcomes {
      display: block !important;
  }

  .partial-print-target .curriculum-description_section-heading {
    text-align: left !important;
  }
}