/* reset */
*, *::before, *::after {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
}
html, body {
  height: 100%;
}
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
  max-width: 100%;
}
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
h1, h2, h3 {
  line-height: 1.2;
}

/* main */
html {
  font-family: arial, helvetica, sans-serif;
  font-size: 15px;
  scroll-behavior: smooth;
}
body {
  color: #333333;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#site-header {
  background: #d50032;
  color: #fff;
  text-align: center;
}
#site-header h1 {
  border-bottom: 0;
  color: #fff;
  font-family: arial, helvetica, sans-serif;
  font-size: 37.5px!important;
  font-weight: bold;
  line-height: 1.2!important;
  margin-bottom: 0;
  padding-top: 1em;
  padding-bottom: 1em;
}
#site-header a {
  color: inherit!important;
  text-decoration: none;
}
#site-footer {
  background: #fff;
  margin-top: auto;
}
#site-footer a {
  color: #001e62;
  text-decoration: underline;
}
#site-footer a:focus, #site-footer a:hover {
  color: #405480;
}
a {
  color: #001e62;
}
a:focus, a:hover {
  color: #405480;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, table {
  margin-bottom: 1rem;
}
ul, ol {
  padding: 0 0 0 1rem;
}
h1 {
  border-bottom: 1px solid #405480;
  color: #001e62;
  font-size: 2.5em;
  padding-bottom: 1rem;
}
h2 {
  font-size: 2em;
  font-weight: normal;
}
h3 {
  font-size: 1.5em;
}
h4 {
  font-size: 1.25em;
}
h5 {
  font-size: 1em;
}
#menu {
  background: #001e62;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
}
#menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(4vw, 4em);
  list-style-type: none;
  margin-bottom: 0;
}
#menu li {
  margin: .5em 0;
}
#menu li:last-child {
  font-weight: 200;
  margin-left: auto;
  text-transform: none;
}
#menu li:last-child a {
  text-transform: uppercase;
}
#menu a {
  color: inherit;
  text-decoration: none;
}
#menu a:focus, #menu a:hover {
  text-decoration: underline;
}
#site-content {
  padding-top: 40px;
  padding-bottom: 40px;
  width: 100%;
}
#site-content ol {
  font-weight: bold;
}
#site-content ol ol {
  font-weight: normal;
  list-style-type: lower-alpha;
  padding: .5rem 0 0 min(5vw, 3rem);
}
#site-content ul ul {
  padding: .5rem 0 0 min(5vw, 3rem);
}
#site-content li {
  margin-bottom: .5rem;
}
#dashboard-login {
  margin: 0 auto 80px;
  max-width: 350px;
}
#overall_progress {
  margin: 0 auto;
  max-width: 780px;
}
#overall_progress ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  list-style-type: none;
  margin: 0 0 40px;
  padding: 0;
  position: relative;
}
#overall_progress li {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
}
#overall_progress li a {
  margin-top: -50px;
  padding-top: 50px;
}
#overall_progress li::before {
  background: url('../dashboard/img/status_icons2.jpg');
  background-position: -3px -17px;
  background-size: auto 80px;
  content: '';
  display: block;
  height: 50px;
  width: 66px;
}
#overall_progress li.perfect::before {
  background-position: -207px -15px;
}
#overall_progress li.not_started::before {
  background-position: -73px -17px;
}
#overall_progress li.done::before {
  background-position: -140px -15px;
}
#dashboard-courses {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
}
#site-content ol.biglist {
  font-size: 1.5em;
  font-weight: normal;
  list-style-type: decimal;
  line-height: 2.5;
  margin-top: 3rem;
  margin-left: 5rem;
}
#admin-dash {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-bottom: 2rem;
}
#admin-dash ul {
  margin-left: 1em;
  margin-top: .5rem;
}
#admin-dash li {
  margin: 0;
}
#course-material-library ul {
  font-size: 1.5rem;  
  list-style-type: none;
  padding: 0!important;
}
#course-material-library ul ul {
  font-size: 1rem;
}
#course-material-library li {
  margin-bottom: .5em;
}
#course-video-library {
  margin-bottom: 2rem;
}
.dashboard-course, #admin-dash > div {
  flex: 1 1 33.33%;
}
.dashboard-course, .admin-dash-section {
  border: 1px solid;
  padding: 1rem;
}
.dashboard-course ul {
  list-style-type: none;
}
.dashboard-course li {
  padding: .2rem 2rem .2rem 0;
}
.dashboard-course li::before {
  background: url('../dashboard/img/status_icons2.jpg');
  background-position: -43px -9px;
  background-size: auto 43px;
  content: '';
  float: right;
  margin-top: -.2rem;
  height: 28px;
  width: 28px;
}
.dashboard-course li.done::before {
  background-position: -79px -8px;
}
.dashboard-course--double {
  flex-basis: 66.67%;
}
.dashboard-portal {
  margin-bottom: 2rem;
}
#helpdesk_portal, .dashboard-portal {
  border: 1px solid;
  padding: 1rem;
}
#helpdesk_portal ul {
  margin: 0;
  padding: 0;
}
.helpdesk_ticket {
  display: flex;
  gap: 2rem;
  list-style-type: none;
  width: 100%;
}
.helpdesk_ticket a {
  max-width: 50%;
}
#site-footer-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#site-footer-logos > * {
  flex: 1;
  margin: 20px 40px;
  max-width: 33.3%;
  min-width: 220px;
}
#copyright {
  background: #ebebeb;
  font-family: arial, helvetica, sans-serif;
  font-size: 15px;
  padding-top: 1em;
  padding-bottom: 1em;
  text-align: center;
}
#site-content button, .btn-primary, .btn-secondary {
  background: #001e62;
  border: none;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  max-width: none!important;
  padding: .5em 1em;
  text-align: center;
  text-decoration: none;
  transition: .1s background ease-in;
}
#site-content button:focus, .btn-primary:focus,
#site-content button:hover, .btn-primary:hover {
  background: #405480;
  color: #fff;
}
.btn-secondary {
  background: #e2e7eb;
  color: #363636;
}
.btn-secondary:focus,
.btn-secondary:hover {
  background: #b8bcbf;
  color: #363636;
}
.big {
  font-size: 1.2em;
}
.co--red {
  color: #d50032;
}
.collapse {
  border-left: 1px solid;
  border-right: 1px solid;
  border-top: 1px solid #fff;
}
.collapse:first-of-type {
  border-top: none;
}
.collapse:last-child {
  border-bottom: 1px solid;
}
.collapse .collapse {
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-top: 1px solid #333;
}
.collapse > h2 {
  background: #001e62;
  color: #fff;
  cursor: pointer;
  font-size: 1.75em;
  font-weight: bold;
  margin: 0;
  padding: .5rem 2rem;
}
.collapse > h3 {
  background: #41B6E6;
  color: #001e62;
  cursor: pointer;
  margin: 0;
  padding: .5rem 2rem;
}
.collapse h4 {
  background: #D50032;
  color: #fff;
  margin: 0 0 1rem;
  padding: .5rem 2rem;
}
.collapse table {
  border: 1px solid;
  border-collapse: collapse;
  width: calc(100%-4rem);
}
.collapse tr {
  border-bottom: 1px solid;
}
.collapse th {
  background: #D50032;
  color: #fff;
  padding: 1rem;
  text-align: left;
  vertical-align: top;
}
.collapse td {
  border-left: 1px solid;
  padding: 1rem 1rem 0;
  vertical-align: top;
}
.collapse th a {
  color: inherit;
}
.collapse th em {
  font-weight: normal;
}
.collapse th small {
  display: block;
}
.collapse-content {
  display: none;
}
.collapse-content > * {
  margin-left: 2rem;
  margin-right: 2rem;
}
.collapse-content > h3,
.collapse-content > h3,
.collapse-content > .collapse {
  margin-left: 0;
  margin-right: 0;
}
.collapse-content > :first-child {
  margin-top: 1rem;
}
.collapse-content > h3:first-child,
.collapse-content > h4:first-child,
.collapse-content > .collapse:first-child {
  margin-top: 0;
}
.collapse-content::before,
.collapse-content::after {
  content: "";
  clear: both;
  display: table;
}
[class*='ctr'] {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding-left: 40px;
  padding-right: 40px;
}
.ctr-sm {
  max-width: 780px;
}
.floatl {
  float: left;
}
.floatr {
  float: right;
}
.form-field, .form-fieldset {
  margin: 0 -1rem .5rem;
  padding: .5rem 1rem;
}
.form-field:hover, .form-fieldset:hover {
  background: #f9f9fc;
}
.form-field:focus-within, .form-fieldset:focus-within {
  background: #f7f7fa;
  box-shadow: 0 0 1px #001e62;
}
.form-fieldset {
  border: none;
}
.form-fieldset legend {
  float: left;
  width: 100%;
}  
.form-fieldset .form-field {
  background: none;
  clear: both;
  box-shadow: none;
  margin: 0 0 .5rem;
  padding: 0;
}
.m-b-0 {
  margin-bottom: 0;
}
.pct-fieldset .form-field {
  align-items: center;
  display: flex;
}
.pct-fieldset .form-field input[type=number] {
  width: 5em;
}
.pct-fieldset .form-field > label {
  font-weight: normal;
  padding: 0 1em;
  order: 2;
}
.pct-fieldset .form-field .errorlist {
  margin-top: .5rem;
  order: 3;
}
.pct-fieldset .pct-total {
  font-size: 1.1rem;
  margin: 0 1em;
}
.form-field ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.form-field > label, .form-fieldset > legend {
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  padding-bottom: .5rem;
}
.form-field--checkbox > label { /* boolean fields on same line */
  display: inline-block;
  padding: 0 .5rem 0 0;
}
.form-field > input,
.form-field > select,
.form-field > textarea {
  background: #fff;
  border: 1px solid #999;
  border-radius: .25rem;
  font-size: 1.1rem;
  padding: .5em 1em;
  width: max(400px, 50%);
}
.form-field input[type=checkbox],
.form-field input[type=radio],
input[type=checkbox].form-control,
input[type=radio].form-control {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: .25em;
  vertical-align: text-bottom;
}
.form-field input[type=number] {
  width: auto;
}
ul.form-control {
  border: none;
  height: auto;
  list-style-type: none;
  padding: 0;
}
.errorbox {
  background: #f2e6e9;
  border: 2px solid #d50032;
  margin-bottom: 1rem;
  padding: 1rem;
}
.error, .errorlist {
  color: #d50032;
}
.help-text {
  color: #5a5a5a;
  margin-top: .25rem;
}
.required {
  color: #d50032;
  font-size: 1.5rem;
  line-height: 1rem;
}
#survey-form .form-field {
  display: list-item;
  list-style: decimal;
}
#survey-form ul:not(.errorlist) li {
  padding: 0 .5em;
}
#survey-form li input {
  margin-right: 0;
}
#survey-form ul:not(.errorlist)::before {
  content: "No Agreement";
  display: block;
  padding-bottom: .5rem;
  text-align: left;
}
#survey-form ul:not(.errorlist)::after {
  content: "Complete Agreement";
  text-align: right;
}
.text--center {
  text-align: center;
}
.text-divider {
  margin: .5em 0;
  position: relative;
  text-align: center;
}
.text-divider::after {
  content: '';
  display: block;
  background-color: #bababa;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
}
.text-divider span {
  background: #fff;
  padding: 0 1em;
  position: relative;
  z-index: 1;
}
.two-col {
  display: grid;
  grid-gap: 20px 40px;
}
.uline {
  text-decoration: underline;
}

@page {
    size: landscape;
}

#certificate {
  container-type: inline-size;
  position: relative;
}

#certificate h2 {
  position: absolute;
  text-align: center;
  width: 100%;
  font-size: 4cqw;
}
#certificate #full_name {
  top: 41%;
}
#certificate #full_name_honors {
  top: 44%;
}


@media (min-width: 480px) {
  #survey-form ul {
    display: flex;
    text-align: center;
  }
  #survey-form ul::before {
    margin: 0 1em 0 0;
  }
  #survey-form ul::after {
    margin: 0 0 0 1em;
  }
  .dashboard-course--double ul {
    column-count: 2;
  }
}
@media (min-width: 520px) {
  #overall_progress ul {
    justify-content: space-between;
  }
  #overall_progress ul::before {
    background: #eee;
    content: '';
    position: absolute;
    height: 5px;
    top: 22px;
    left: 40px;
    right: 40px;
    z-index: -1;
  }
}
@media (min-width: 580px) {
  .two-col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 579px) {
  .collapse th, .collapse td, .collapse tr {
    border: none;
    display: block;
  }
}
@media (max-width: 680px) {
  #dashboard-courses, #admin-dash {
    flex-direction: column;
  }
}
@media (max-width: 800px) {
  #site-header h1 {
    font-size: max(20px, 4.75vw)!important;
  }
  #menu ul {
    justify-content: space-between;
  }
  table {
    display: block;
    max-width: fit-content;
    overflow-x: auto;
  }
}

/* external edx site elements */
.wrapper-footer, .main-header .secondary, .global-header {
  display: none;
}

/* This view gets loaded in the mfe via iframe. The header needs to be hidden to prevent cutting off the end of the quiz */
body.view-in-course #site-header,
body.view-in-course #site-footer {
  display: none;
}

/* hide notifications within video questions */
.in-video-problem-wrapper .notification,
.in-video-problem-wrapper .problem-action-buttons-wrapper {
  display: none!important;
}
.in-video-problem-wrapper .indicator-container {
  margin-bottom: 10px;
}
.in-video-problem-wrapper .in-video-continue {
  margin-top: -60px;
  position: relative;
}

/* MFE elements */
.learning-header a,
.learning-header .user-dropdown,
#courseTabsNavigation,
#courseHome-launchTourLink,
.social-sharing {
  display: none!important;
}

/* hide video scrubber, so learners can't skip */
#video_cf985930803d4464b7d51ad2ada33980 .slider, /* bootcamp 4 */
#video_ca9ca05fb3e74a9a9d1b5bbc2206a717 .slider, /* bootcamp 7 */

#video_6af089f7329b49e9913b27cf93c1fb67 .slider, /* outbreaks 2 */
#video_16dec2fd74174d3a9daf8fa4239cd6fd .slider, /* outbreaks 3 */
#video_c820bb46fd134e63b529d30830d13208 .slider, /* outbreaks 5 */
#video_b3e7acfa831a4584b0d27055971114b5 .slider, /* outbreaks 7 */
#video_a73aa7699c504832867e34b71c9a8b47 .slider, /* outbreaks 8 */
#video_9c22ff0a26b14c8c84b7d72f43c17789 .slider, /* outbreaks 10 */
#video_5834884d5b6444f4a1d7047adbfca259 .slider, /* outbreaks 11 */
#video_f6ffb9b8fd5e4e86a8707c81ea6b104f .slider, /* outbreaks 12 */
#video_5825a6dddc504f25a3c3cde247aaf934 .slider, /* outbreaks 13 */
#video_dc7020706a264a4195344a81d76e86c4 .slider, /* outbreaks 14 */
#video_3de8c06f58ca41fb80b31b555dbd6682 .slider, /* outbreaks 15 */
#video_db8e25718cc74f1c8374d186e9114ea3 .slider, /* outbreaks 16 */
#video_e278bcceb0e34b408c7d66c8c58b5c32 .slider, /* outbreaks 18 */
#video_2e5a4e9fe94b403890d14ec0cf68bf2f .slider { /* outbreaks 20 */
  display: none;
}

.xmodule_display.xmodule_VideoBlock .video .video-wrapper .video-controls .secondary-controls .menu-container {
    display: none !important;
}
