/* Importing Google fonts - Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
}

.containerxxx {
  padding: 1px;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  opacity: 1;
  
  
}

.container .quiz-box {
  
 background: #fff;
  border-radius: 8px;
  border-color: #7fd4e9;
  border-width: 1px;
  border-style: groove;
 
}

.cont{
margin: 0px; 
padding: 0px; 
}
/* Quiz Configuration Stylings */
.question-progress-container {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px;
  margin-top: 20px;
  margin-left: 50px;
  margin-right: 50px;
  margin-bottom: 5px;
  justify-content: left;
  border-radius: 6px;
  border-color: #1997b7;
  border-style: solid;
  border-width: 2px;
}

.btnResult-container{
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px;
  margin-top: 20px;
  margin-left: 50px;
  margin-right: 50px;
  margin-bottom: 5px;
  justify-content: left;
  border-radius: 6px;
  border-color: #349312;
  border-style: solid;
  border-width: 2px;
}
.legend-container {
  margin-left: 50px;
  
  gap: 6px;
  
  justify-content: left;
  
}



.question-option{
  padding: 5px;
  font-size: 1.1rem;
  color: #898787;
  cursor: pointer;
  font-weight: 500;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #C6C6C6;
  transition: 0.3s ease;
  width: 35px;
  height: 35px;
  
}
.question-progress-container button.active,
.legend-container button.active{
  color:#1997b7;
  border-color: #1997b7;
  background: white;
  border-width: 2px;
  text-decoration: solid;
}
.question-progress-container button.answered,
.legend-container button.answered{
  color:white;
  border-color: #1bce66;
  background: #1bce66;
  border-width: 2px;
  text-decoration: solid;
  
}

.question-progress-container button.review,
.legend-container button.review{
  color:white;
  
  border-color: #e5d93a;
  background: #e5d93a;
  border-width: 2px;
  text-decoration: solid;
  
}
.question-progress-container button:hover,
.quiz-content .answer-option:hover {
  background: #1997b7;
  border-color: #1997b7;
   color:white;
}

.question-progress-container {
  margin-top: 30px;
}

/* Quiz Container Stylings */
.quiz-container {
  width: 100%;
  margin: auto;
}
.quiz-container .quiz-header {
  display: flex;
  padding: 5px 5px;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.09);
}
.quiz-header .quiz-title {
  font-size: 1.1rem;
  font-weight: 600;
}
.quiz-header .quiz-timer {
  display: flex;
  width:120px;
  color: #fff;
  gap: 5px;
  align-items: center;
  background: #32313C;
  border-radius: 6px;
  padding: 5px 5px;
  font-weight: 500;
  transition: 0.2s ease;
}
.quiz-header .quiz-timer span {
  font-size: 1.4rem;
}
.quiz-container .quiz-content {
  padding: 5px 5px 5px;
 
}
.quiz-content .question-text {
  font-size: 1.2rem;
  font-weight: 600;
}
.quiz-content .buttonrow {
    display: flex;
      justify-content: space-between;
      padding: 10px;
      background-color: green;
  }

  
 .quiz-content {
    padding: 1rem;
    border-radius: 10px;
  }

  
  .question-text {
    font-size: 1rem;
    margin-top: 0.5rem;
  }

  @media (max-width: 768px) {
    .question-text {
      font-size: 1rem;
    }
      .answer-option {
  width: 90%;
  margin: 0;
  font-size: 0.9rem;
    }
  }


  @media (max-width: 480px) {
     .btnResult-container{
  gap: 3px;
  padding: 5px;
  margin-top: 5px;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  border-radius: 3px;
  border-width: 1px;
}
   .quiz-container .quiz-footer  {
width: 98%;
}

    .quiz-footer .btnSub{
  height: 22px;  
  padding: 2px; 
  font-size:0.7rem;
   
}
   .quiz-footer .btnNav{
      height: 22px;  
      border-radius: 10px;
      padding: 5px; 
      font-size:0.7rem;
    }
    .question-option{
      padding: 1px;
      font-size: 0.9rem;
      font-weight: 500;
      border-radius: 3px;
      width: 25px;
      height: 25px;
      
    }
    .quiz-content .question-text {
      font-size: 0.9rem;
    }
    .quiz-header .quiz-title {
  font-size: 0.8rem;
  font-weight: 600;
}
   .quiz-content .answer-options .answer-option {
      width: 97%;
  margin: 2;
    padding: 3px 3px 3px 3px;
   font-size: 0.75rem;
  border-radius: 3px;
  padding: 3px 3px;
  border: 1px solid #79afbd;
  
}
.quiz-content .answer-options .answer-option span {
  display: block;
  flex-shrink: 0;
  margin: -2px -2px -2px 4px;
  font-size: 0.8rem;
}
    .quiz-header .quiz-timer {
      width:90px;
      gap: 2px;
      border-radius: 3px;
      padding: 2px 2px;
      font-size: 0.8rem;
      font-weight: 500;
      
}
    .question-progress-container {
  max-width: 99%;
  gap: 3px;
  padding: 2px;
  margin: auto;
  border-radius: 3px;
  border-width: 1px;
}
    .cont{
      margin: 3px; 
      padding: 2px; 
      }
     .quiz-content .img-responsive {
      max-width: 95%;
    }
    .quiz-container .quiz-content  {
      max-width: 100%;
    }
     .card {
      max-width: 98%;
      
      border-radius: 6px;
      box-shadow: 0 10px 20px rgba(0,0,0,0.1);
      padding: 10px;
      
    }
    .cont .interpre {
      max-width: 98%;
      margin: 0 auto;
      margin-top: 5px;
      margin-bottom: 5px;
      background: white;
      border-radius: 6px;
      box-shadow: 0 6px 10px rgba(0,0,0,0.1);
      padding: 2px;
      text-align: center;
      font-size: 0.8rem;
    }
    .card .score {
      font-size: 30px;
      
    }
    h2{
      font-size: 1.1rem;
    }

    .quiz-footer .incorrect {
      height: 25px;
  width: 95%;
  border-radius: 3px;
  padding: 4px 5px;
  background: #F8D7DA;
  color: #721C24;
  font-size: 0.75rem;
}
.quiz-footer .correct {
  height: 25px;
  width: 95%;
  border: 1px solid #B7E1C1;
  border-radius: 3px;
  padding: 4px 5px;
  background: #D4EDDA;
  color: #155724;
  font-size: 0.75rem;
}
.bb .btnAff {
  height: 25px;
  
  font-size: 0.8rem;
}
.quiz-container .quiz-footer  {
width: 100%;
font-size: 0.9rem;
}
.test_results .interpre {
      max-width: 100%;
      margin: 0 auto;
      margin-top: 10px;
      margin-bottom: 10px;
      background: white;
      border-radius: 8px;
      box-shadow: 0 10px 20px rgba(0,0,0,0.1);
      padding: 2px;
      text-align: center;
      font-size: 0.8rem;
    }
  }
.quiz-content .answer-options {
  list-style: none;
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-direction: column;
}
.quiz-content .answer-option {
  width: 80%;
  margin: auto;
  display: flex;
  cursor: pointer;
  align-items: center;
  font-size: 0.9rem;
  border-radius: 6px;
  padding: 6px 6px;
  border: 1px solid #79afbd;
  color: #0b5568;
  background: white;
  justify-content: space-between;
  transition: 0.3s ease;
}
.quiz-content .answer-option span {
  display: block;
  flex-shrink: 0;
  margin: -4px -3px -4px 12px;
  font-size: 0.9rem;
}
.quiz-content .answer-option.correct {
  border-color: #B7E1C1;
  background: #D4EDDA;
  color: #155724;
}
.quiz-content .answer-option.correct span {
  color: #16AE56;
}
.quiz-content .answer-option.incorrect {
  border-color: #F4BEC3;
  background: #F8D7DA;
  color: #721C24;
}
.btnIncorrect {
  width: 35px;
  height: 35px;
  border: 1px solid #F4BEC3;
  border-radius: 2px;
  padding: 2px 2px;
  background: #F8D7DA;
  color: #721C24;
}
.incorrect {
  width: 100%;
  border: 1px solid #F4BEC3;
  border-radius: 6px;
  padding: 8px 10px;
  background: #F8D7DA;
  color: #721C24;
}
.correct {
  width: 100%;
  border: 1px solid #B7E1C1;
  border-radius: 6px;
  padding: 8px 10px;
  background: #D4EDDA;
  color: #155724;
}
.btnCorrect {
  width: 35px;
  height: 35px;
  border: 1px solid #B7E1C1;
  border-radius: 2px;
  padding: 2px 2px;
  background: #D4EDDA;
  color: #155724;
}
.quiz-content .answer-option.selected {
  border-color: #0d718a;
  background: #a4eaf2;
  color: #0b6176;
  font-weight: bolder;
}
.quiz-content .answer-option.incorrect span {
  color: #F23723;
}
.btnAff {
  height: 35px;
  
  font-size: 1rem;
}

.quiz-footer  {
width: 80%;
}
.quiz-container .quiz-footer button:hover {
  color:black;
}
.btnNav{
  height: 30px;  
  margin: 5px; 
  padding: 5px; 
  font-size:0.8rem;
   border-radius: 15px;
}
.btnSub{
  background-color: black;
  height: 30px;  
  margin: 5px; 
  padding: 5px; 
  font-size:0.9rem;
   
}

/* Media query code for mobile screens */



/*mise en page image et audio video */
    .audio-player {
  width: 80%;
  height: 35px;
  max-width: 100%;
  margin: auto;
  padding: 1px;
  text-align: center;
}
 

audio {
  width: 80%;
  height: 30px;
  outline: none;
  margin: auto;
}

   /*affichage score */
    .card {
      max-width: 600px;
      margin: 0 auto;
      background: white;
      border-radius: 16px;
      box-shadow: 0 10px 20px rgba(0,0,0,0.1);
      padding: 30px;
      text-align: center;
    }
    .interpre {
      max-width: 90%;
      margin: 0 auto;
      margin-top: 20px;
      margin-bottom: 20px;
      background: white;
      border-radius: 16px;
      box-shadow: 0 10px 20px rgba(0,0,0,0.1);
      padding: 30px;
      text-align: center;
    }

    .card h2 {
      color: #004080;
      margin-bottom: 10px;
    }

    .score {
      font-size: 48px;
      font-weight: bold;
      color: #0275d8;
    }

    .subtitle {
      font-size: 20px;
      color: #777;
      margin-bottom: 30px;
    }

    .level-badge {
      display: inline-block;
      padding: 8px 16px;
      font-size: 16px;
      border-radius: 30px;
      color: #fff;
      font-weight: bold;
      margin: 10px 0;
    }

    .B2 {
      background-color: #0275d8;
    }

    .progress-container {
      background-color: #e6e9ec;
      border-radius: 30px;
      overflow: hidden;
      height: 25px;
      margin: 20px 0;
    }


    .progress-bar {
      height: 100%;
      width: 65%; /* adjust this % based on the score */
      background: linear-gradient(90deg, #00aaff, #004080);
      transition: width 0.4s ease;
    }

    .details {
      margin-top: 20px;
      font-size: 16px;
      color: #333;
    }

    .details span {
      font-weight: bold;
    }


    /*tableau des resultat tcf NCLC */

      .table-container {
      width: 80%;
      margin: 0 auto;
      overflow-x: auto;
      box-shadow: 0 0 10px rgba(0,0,0,0.1);
      background: white;
      border-radius: 6px;
    }

    table {
      width: 100%;
      min-width: 600px;
      border-collapse: collapse;
    }

    th, td {
      border: 1px solid #dee2e6;
      padding: 8px 10px;
      text-align: center;
      font-size: 13px;
    }

    th {
      background-color: #004080;
      color: white;
    }

    tr:nth-child(even) {
      background-color: #f2f2f2;
    }

    @media (max-width: 768px) {
      .table-container {
        width: 95%;
      }
      th, td {
        font-size: 12px;
        padding: 6px 8px;
      }
    }

     h2 {
      text-align: center;
      color: #004080;
      font-size: 20px;
      margin-bottom: 10px;
    }

    /* rendre image responsive */  
    .img-responsive {
    max-width: 60%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

 .buttonrow {
    display: flex;
      justify-content: space-between;
      padding: 10px;
      background-color: green;
  }

  