.section-lessons .row-fluid {
  display: flex;
}

.lessons-index {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color:#ffffff;
}

.lessons-content {
  background-color: #ffffff;
  /*border-left: 1px #0024a6 solid;*/
  padding: 0;
  /*align-self: stretch;*/
}
.toggle-icon{
    float:right;
}
.tabs-responsive li>.toggle-icon{
    display:none;
}
.tabs-responsive li.init>.toggle-icon{
    display:inline-block;
}
.tabs {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  /* core/css/modules.css sets a global `ul { margin-left: 20px !important }`,
     so `margin: 0` above loses to it and every lesson list gets shoved 20px
     right — and since `.tabs` is `width: 100%` inside an `overflow: hidden`
     accordion, the titles then get clipped on the right. Both resets have to
     carry !important to win. */
  margin-left: 0 !important;
  padding-left:0px !important;
  /* overflow: hidden; */
  background-color:#ffffff;
}
.tabs li.init{
  display:none;
}
.tabs li {
  display: block;
  background-image:none !important;
  background-color: #ffffff;
}
.tabs li a {
  display: block;
 /*  padding: 20px; */
  text-decoration: none !important;
  top: -10px;
  position: relative;
}
.tabs li.active, .tabs li.active a{
 /*  background-color:#0024a6; */
  color:#fff ;
}
.tabs li.active:hover, .tabs li.active a:hover{
  color:#ffffff;
}
.tabs li a:hover,.tabs li:hover{
 /* background-color: #0024a6; */
  color:#ffffff;
}
.tabs-responsive{display:none;}
.accordions__group {
  display: flex;
  justify-content: center;
}
.accordion-container{
  width:100%;
  /*margin-bottom: 20px;*/
 /* background-color:#ffffff; */
}
/* Multi-correct helper text ("Select all correct answers:"). Sits above the
   answer options as its own block so it stays readable with long stems or
   multi-line options, and — being outside the option labels/inputs — is never
   obscured by answer-state styling before or after selection. */
.quiz-multi-select-hint {
  margin: 6px 0 12px;
  font-weight: 600;
  font-style: italic;
  line-height: 1.4;
  color: rgb(var(--color-dark));
  opacity: 0.85;
}
.accordion-title {
  position: relative;
  padding: 10px 20px
  cursor: pointer;
 /*  border-bottom: 1px #e2e2e2 solid; */
}
.quiz-container .accordion-title {
  position: relative;
  padding: 10px 20px 10px 0px;
  cursor: pointer;
 /*  border-bottom: 1px #e2e2e2 solid; */
}
.accordion-title p {
  margin:0px;
  padding-right:20px;
  margin-right: 20px;
}
.accordion-title {
  opacity: 0.7;
}
.quiz-container .accordion-title {
  opacity: 1;
}
.accordion-title.open {
  border-bottom: 1px #e2e2e2 solid;
  opacity: 1;
}
.accordion-title .toggle-icon {
  transition: .2s;
}
.accordion-title.open .toggle-icon {
  transform: rotate(-180deg);
  transition: .2s;
}
.accordion-title span.toggle-icon {
  position: absolute;
  top: 0px;
  right: 20px;
}
.accordion-content {
  padding: 20px 0 20px 0;
  overflow: hidden; /* updated to hidden */
}

@media screen and (max-width: 767px) {
  /*
  .lessons-index{
    display:none;
  }
  */
  .lessons-content{
    border:none;
    /*width:100%;*/
  }
  .tabs{
    display:none;
  }
  .tabs-responsive {
    display:block;
    height: auto;
    margin: 0 auto;
    padding-bottom: 0px;
    padding-right: 0px;
    padding-right: 0px !important;
    position: relative;
    padding-left: 0px !important;
    /* same global `ul { margin-left: 20px !important }` reset as `.tabs` above */
    margin-left: 0 !important;
    overflow: hidden;
    width:100%;
  }
  .tabs-responsive li:first-child:after{
    content:'';
    width:100%;
    height:100%;
    position:absolute;
    right:0;
    left:0px;
    top:0px;
    bottom:0px;
    display:inline-block;
  }
  .tabs-responsive li a {
    z-index: 2;
    background: transparent;
    text-decoration:none !important;
  }
  ul.tabs-responsive li:not(.init) {
    display: none ;
    border: none;
    border-bottom: none;
    list-style-type:none;
    padding: 10px 20px;
  }
  ul.tabs-responsive li:not(.init):hover, ul.tabs-responsive li.active:not(.init) {
    background: transparent;
    margin-left: 0px;
    width: 100%;
    background: transparent;
  }
  .tabs-responsive li.init{
    display:block;
    position:relative;
    list-style-type:none;
    padding: 20px !important;
  }
  .tabs-responsive li.init:focus{
    color:transparent;
  }
  .tabs-responsive li{
    background-image:none !important;
    list-style-image:none !important;
  }
  .tabs-responsive li.active{
    display:none !important;
  }
  .tabs-responsive li.active a{
    color:#fff !important;
    text-decoration:none !important;
  }
  .tabs-responsive li.init>.toggle-icon {
    /*display:flex;*/
  }
  a#submit { z-index: 1; }
  .row-fluid{display:block;}
  .row-fluid .span6{
    width:100%;
  }
  .tabs-responsive li.init{
    border-bottom:none;
  }
  .quiz-results-container{
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* progress bar */
.tabs{
  position: relative;
}
.tabs li:not(:last-child){
 border-left: 3px solid rgb(var(--color-secondary));
}

.tabs li:not(:last-child){
padding-bottom: 25px;
}
.tabs li strong:before {
  content: "";
  border: 2px solid rgb(var(--color-primary));
  width: 18px;
  height: 18px;
  border-radius: 50%;
  position: absolute;
  background-color: rgb(var(--color-light));
  /* -9px keeps the 18px node centred on the 3px timeline rail (was -5px for a 10px node) */
  margin-left: -9px;
  box-sizing: border-box;
}

.tabs li a {
  padding-left: 20px;
}
.tabs li.active strong::before{
  background-color: rgb(var(--color-primary));
  border-color: rgb(var(--color-primary));
  margin-left: -9px;
  /* soft halo so the current lesson reads as the focal node, like the prototype */
  box-shadow: 0 0 0 3px rgb(var(--color-primary), 0.2);
}
.tabs li {
  margin-left: 10px;
}

.tabs li.disabled {
  pointer-events: none;
  opacity: .5;
}

/* ── Lesson completion states ────────────────────────────────────────────────
   The timeline node drawn by `.tabs li strong:before` carries all three states,
   so no extra icon element is introduced:

     not completed  white node, primary-coloured ring, no check  (the default
                    `.tabs li strong:before` rule above already renders this)
     current        solid primary node, no check                 (`.active`)
     completed      secondary-coloured node + white check        (`.completed`)

   The check is painted as a background-image *inside* the existing 10px node
   rather than as a second pseudo-element: `strong:before` is absolutely
   positioned with no offsets, so it relies on its static position, and giving
   `strong` a containing block to anchor an `::after` to would shift the whole
   timeline. A data-URI keeps it to zero extra requests.
   ─────────────────────────────────────────────────────────────────────────── */
.tabs li.completed strong:before {
  background-color: rgb(var(--color-secondary));
  border-color: rgb(var(--color-secondary));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.4 4.7 8.6 9.5 3.6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

/* Current AND completed: the learner marks the lesson complete while still on
   it (they haven't advanced yet), so the node must show the checkmark to
   confirm the action — otherwise marking complete looks like it did nothing.
   We keep the primary colour + `.active` halo so it still reads as the current
   lesson, and paint the white check on top. */
.tabs li.active.completed strong::before {
  background-color: rgb(var(--color-primary));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.4 4.7 8.6 9.5 3.6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

/* Completed lessons stay navigable, so `.completed` must not fight `.disabled`
   (which dims and blocks pointer events). Anything marked complete has been
   reached, so re-enable it defensively. */
.tabs li.completed.disabled {
  pointer-events: auto;
  opacity: 1;
}

/* AC #2: don't convey completion by colour alone. module.js injects this label
   into completed lessons for screen readers only. */
.tabs li .lms-completed-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── In-lesson "Mark as complete / incomplete" toggle (AC #4) ─────────────── */
/* Hidden until module.js confirms an enrollment — an unenrolled visitor has
   nowhere to persist a toggle to. */
.lms-lesson-completion {
  display: none;
  margin-top: 20px;
}
.lms-lesson-completion.is-visible {
  display: flex;
  align-items: center;
  /* Right-aligned to sit in the same spot as the Next lesson button, so once
     the learner marks the lesson complete the mark-complete control hides and
     Next appears in its place (see syncCompletionToggles in module.js). */
  justify-content: flex-end;
}
/* Same shape, size and typography as the Next lesson button (.lms-next-chapter,
   below) but inverted: white fill with a primary border and label. The two
   controls occupy the same spot one after the other — mark complete, then
   advance — so they read as one control in two states, with white marking the
   step that is still pending. The `button` class on the markup supplies the
   theme's border-radius/font/spacing tokens; everything here is the colour
   inversion. Label only — no checkbox — so it mirrors the Next lesson button;
   the checkmark state lives on the TOC timeline node. */
.lms-toggle-completion {
  display: inline-flex;
  align-items: center;
  padding: var(--btn-spacing-y, 0.65em) var(--btn-spacing-x, 0.9rem);
  border: 1px solid rgb(var(--color-primary));
  border-radius: var(--btn-border-radius);
  background-color: #ffffff;
  /* !important for the same reason .lms-next-chapter needs it: theme link/button
     rules inside .tab_content otherwise win on the text colour. */
  color: rgb(var(--color-primary)) !important;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.lms-toggle-completion:hover,
.lms-toggle-completion:focus {
  background-color: rgb(var(--color-primary), 0.08);
  border-color: rgb(var(--color-primary));
}
.lms-toggle-completion:disabled {
  opacity: .6;
  cursor: default;
}
.accordion-content{
  position: relative;
}


/* pike compatibility */
.cta--area{
  text-align: end;
}

/* Filled primary (blue) so the Next lesson button reads as the highlighted
   next action once the learner has marked the lesson complete. */
.lms-next-chapter,
.lms-next-chapter:hover,
.lms-next-chapter:focus {
  color: #ffffff !important;
}
.lms-next-chapter {
  background-color: rgb(var(--color-primary));
  border: 1px solid rgb(var(--color-primary));
}
.lms-next-chapter:hover,
.lms-next-chapter:focus {
  background-color: rgb(var(--color-primary), 0.9);
  border-color: rgb(var(--color-primary), 0.9);
}

@media( max-width: 767px ){
  .lessons-index{
    width: 100%;
  }
}

.quiz {
  background: rgb(var(--color-secondary), 0.4);
  border-radius: 10px;
  padding: 40px 35px;
/*  max-height: 490px;
  overflow-y: auto; */
}

.quiz-form .accordion-container {
  /* background-color: #fff; */
  width: 100%;
  margin: 10px;
  border-radius: 10px;
}

.quiz-form  .accordion-container{
    margin: 10px 0px;
}

.content-chapter {
  margin-top: 12px;
}

.content-chapter ol {
  margin-left: 25px;
}

.check-answer {
  opacity: 1!important; /* updated to use native checkbox */

}


/* QUIZ UPDATE */
.accordion-content-lms {
  position: relative;
  overflow: auto;
  padding: 0px 0 0px 0px;
}

.quiz-indicator-container{
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
}

.quiz-indicator-btn{
  display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 40px;
}

.accordion-content-option{
  background-color: #fff;
  padding: 1px 15px;
  border-radius: 8px;
  margin-top: 30px;
}


.accordion-content-option [type=radio]:not(:checked)+span:before,
.accordion-content-option [type=radio]:checked+span:before
{
display:none;
}

.submit-container {
  text-align: -webkit-right;
    padding: 20px 0px;
  }

  .feature_image.hs-responsive-embed{
    min-height: 400px !important;
  }

  .accordion-content-option .check-answer {
    margin-top: 10px;
  }


  .submit-container .button--primary{
    color: #ffffff !important;
  }
  .quiz small{
    color: rgb(var(--color-dark));
    padding-top: 0px;
  }

  .quiz-container [type=radio]:checked+span:after {
    background-color: none;
    transform: scale(0);
}

/* updates on icons */
.lessons-index .tabs li strong {
  left: -1px;
  position: relative;
  top: -1px;
}
.lessons-index .tabs li:last-child strong {
  left: 1px;
  position: relative;
  top: -1px;
}

.quiz-results-container {
background-color: rgba(var(--color-white));
border-radius: var(--btn-border-radius);
padding: 30px;
display: flex;
align-items: center;
justify-content: flex-start;
}
.quiz-img-results {
  min-width: 40%;
}
.quiz-results-view{
  padding: 30px 0px;

}

.quiz-results-view .feedback{
  text-align: center;
  margin-top: 10px;
}

.quiz-results-view .feedback button{
  color:#fff
}

.quiz-fail h2{
color: #F70700 !important;
}
.quiz-approved h2{
  color:#3EC107 !important;
  }


/* pillar toc */

@media(max-width:767px){
.pillar-toc {
  border-radius: 5px;
  width: 100%;
  z-index: 999;
}


.pillar-toc__title {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}


.pillar-toc__links {
  background-color: var(--color-light);
  border-radius: 5px;
  bottom: 20px;
  list-style-type: none !important;
  max-width: 400px;
  overflow: auto;
  padding: 0 20px 44px;
  position: fixed;
  right: 0%;
  transform: scale(0);
  transform-origin: 100% 100%;
  transition: transform 0.3s, visibility 0s 0.3s;
  visibility: hidden;
  width: 100%;
  z-index: 999;
  height: 97%;
}

.pillar-toc__links.is-open {
  visibility: visible;
  transform: scale(1);
  transition: transform 0.3s, visibility 0s 0s;
}


.pillar-toc li {
  counter-increment: articles;
}

.pillar-toc__link {
  display: block;
  padding: 1.1em 1.1em 1.1em 4.3em;
  position: relative;
  text-decoration: none;
}


.pillar-toc__link::before, .pillar-toc__link::after {
  position: absolute;
}

.pillar-toc__link::before {
  /* article number */
  bottom: auto;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.2);
  color: var(--color-text-dark);
  content: counter(articles);
  height: 36px;
  left: 1.1em;
  line-height: 34px;
  opacity: .9;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  transition: color .3s, background-color .3s;
  width: 36px;
}

.pillar-toc__link::after {
  /* bottom separation - line */
  background-color: rgb(var(--color-dark));
  bottom: 0;
  content: '';
  left: 50%;
  height: 1px;
  opacity: .25;
  right: auto;
  transform: translateX(-50%);
  width: 90%;
}

.pillar-toc__link.read em {
  opacity: .7;
}

.pillar-toc__link.read::before {
  background-color: rgba(0,0,0,.15);
}

.pillar-toc__link.reading em {
  color: rgb(var(--color-primary));
}

.pillar-toc__link.reading svg {
  display: block;
}

.pillar-toc__link.reading::before {
  background-color: white;
  opacity: 1;
}

.pillar-toc li:last-of-type a::after {
  display: none;
}

.pillar-toc__link-text {
  color: rgb(var(--color-text-dark));
  display: block;
  font-size: 1rem;
  font-style: normal;
  line-height: 1.2;
  /* truncate text with ellipsis */
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color .3s;
  white-space: nowrap;
}

.pillar-toc b {
  font-size: 1.2rem;
  font-style: italic;
}

.pillar-toc svg {
  /* this is the filling circle around the article number */
  bottom: auto;
  display: none;
  left: 1.1em;
  position: absolute;
  stroke: rgb(var(--color-primary));
  top: 50%;
  transform: translateY(-50%);
}

.pillar-toc__toggler {
  bottom: 20px;
  height: 50px;
  font-family: var(--text-heading-font-family);
  font-size: 1.1rem;
  padding: 0 1.3rem;
  position: fixed;
  right: 5%;
  z-index: 9999;
}


.pillar-toc__toggler .hamburger-inner,
.pillar-toc__toggler .hamburger-inner::before,
.pillar-toc__toggler .hamburger-inner::after {
  background-color: currentColor;
}

.pillar-toc__links{
  background-color: var(--nav-submenu-color-bg);

}
  .accordion-content {
    padding: 10px 0 10px 20px;
    overflow: hidden;
}
}
@media (min-width:768px) {
  .pillar-toc__toggler {
    display: none;
  }
}

@keyframes border-pulsate {
  0%   { border-color: red }
  50% { border-color: rgba(0, 255, 255, 0); }
  100%   { border-color: red }
}

.pulsate-border {
border: 2px solid red;
animation: border-pulsate 1s infinite;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

.hint-reveal:hover {
  display: none;
}

.hint-reveal:hover + .hidden-hint {
  display: unset;
}

.hidden-hint {
  display: none;
}

.lms-audio-player {
  padding: 24px 0;
  text-align: center;
}

.lms-audio-element {
  width: 100%;
  max-width: 640px;
}