@font-face {
    font-family: 'Game';
    src: url("/static/font/joystix monospace.8bac89044941.otf") format('truetype');
    font-weight: bold;
    font-style: normal;
}

@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;700&display=swap');


html,
body{
width:100%;
overflow-x:hidden;
background-color: white;
}
#appbody{
    padding-top: 50px;
    min-height: 100vh;
}


.swiper-container {
    width: 100%;
    padding-top: 0px;
    padding-bottom: 20px;
    position: relative;
}

.goal-achieved {
    background: linear-gradient(90deg, #FFD700, #32CD32);
    color: #000000;
    padding: 10px;
    border-radius: 8px;
    font-weight: bold;
    text-align: center;
  }

.swiper-slide {
    display: flex !important;
    justify-content: center;
    align-items: center;
}
.swiper-pagination {
    position: absolute; /* Position it absolutely within the container */
    bottom: -17px !important; /* Change this value to adjust the position */
    left: 50%;
    transform: translateX(-50%); /* Center the pagination horizontally */
    z-index: 10; /* Ensure it appears above other elements */
}


.backbutton{
    width: 40px;
}
.zindex{
    z-index: 10000;

}
.note-modal{
    z-index: 10003;



}

.blur{
    -webkit-filter: blur(1px);
    -moz-filter: blur(1px);
    -o-filter: blur(1px);
    -ms-filter: blur(1px);
    filter: blur(1px);
}

.note-modal-content{
    top: 50%;
    transform: translate(0, -50%);
}

.chatimage{
    max-height: 70vh;

    max-width: 100%;

}
.chatqcm{
    background-color: whitesmoke;
}
.fade-in {
    -webkit-animation: fadeInOpacity 0.5s normal forwards; 
    -moz-animation:    fadeInOpacity 0.5s normal forwards;
    -o-animation:      fadeInOpacity 0.5s normal forwards;
    opacity: 1;
    animation-name: fadeInOpacity;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: 0.4s;
    background-color: #f9f9f9;


}

.zoomed {
    position: fixed !important;
    top: 30px !important;
    left: 0 !important;
    width: 90vw !important;
    height: 90vh !important;
    object-fit: contain !important;
    z-index: 10000000 !important;
    cursor: zoom-out !important;
}
.zoomable img{
    max-width: 100%;
    max-height: 100%;
    cursor: zoom-in;
    transition: transform 0.3s ease;
}
.close-button {
    display: none;
    position: fixed;
    top: 10px;
    right: 10px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    font-size: 16px;
    cursor: pointer;
    z-index: 10000002;
}
.zoom-in-button {
    display: none;
    position: fixed;
    top: 10px;
    left: 10px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    font-size: 16px;
    cursor: pointer;
    z-index: 10000002;
}

.zoom-out-button {
    display: none;
    position: fixed;
    top: 10px;
    left: 80px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    font-size: 16px;
    cursor: pointer;
    z-index: 10000002;
}

  

.btn-primary {
    background-color: rgb(49, 147, 197);
    border-color: rgb(49, 147, 197);
}

.btn-primary:hover {
    background-color: rgb(67, 191, 253);
    border-color:rgb(67, 191, 253);
}

form .form-group input[type="email"] {
    width: 100%; /* Make the input take the full width of its container */
    padding: 0.5rem; /* Add some padding for better appearance */
    font-size: 1rem; /* Adjust font size for readability */
    border-radius: 4px; /* Add border radius for a smoother look */
    border: 1px solid #ced4da; /* Define border color */
}

@keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

#chat-log{
    max-height: 65vh;  
    max-width: 100%;
    overflow: scroll; 
    overflow-wrap: break-word; 
    flex-direction: column-reverse;
}
#pushnotificationsdiv>div>span>.chatimage {
    max-height: 20vh;
}
.takken { font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;}
.link-grey { color: #aaa; } 
.link-grey:hover { color: #00913b; }
.fav{
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}
.feature {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 4rem;
    width: 4rem;
    font-size: 2rem;
  }
.stikyinfo{
    position: fixed;
    z-index: 2000;
    top: 46px;
    left: 0px;

}
.sourcefield{
    background-color: whitesmoke;
    border-radius: 15px;
    padding: 7px;
}
.coursfield{
    background-color: gray;
    border-radius: 15px;
}
.appbtn{
    font-size: 1.3rem;
}
.appbtn:active {
    font-size: 1.4rem;
    opacity: 50%;

}
.grade{
    font-size: 1rem;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif ;
}

.modulecard{
    border-radius: 7px;
    background-color:  #FFFFFF;
}
.background1{
    background-color:#F6F6F6;
    min-height: 100vh;
}
input[type=range]::-webkit-slider-thumb {
    background: black;
}
#resultsbar{
    position: absolute;
    top:110%;
    z-index: 2000;
}
.resultfield{
    border-radius: 15px;
    border: 1px solid #0E86D4;
}
.specific-question-feedback{
    display: none;
}
ul {
    list-style-position: outside;  
  }
#vt{
    font-family: 'VT323';
}
.scrollable-menu {
    height: auto;
    max-height: 60vh;
    overflow-x: hidden;
}
.center-button {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
.sessiondiv {

    height: 300px; /* Set the height of the container */
    overflow-y: scroll; /* Enable vertical scrolling */
    border: 1px solid #ccc;
}
*::after {
    content: none;
  }

.dropdown-menu.wider {
    min-width: 400px; /* Adjust the width as needed */
}



/* home page */

.circle-btn-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; /* Spacing between buttons */
}

/* Circular Buttons */
.btn-circle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 150px; /* Diameter of the button */
    height: 150px; /* Diameter of the button */
    font-size: 1rem; /* Text size */
    color: black; /* Default text color */
    background-color: white; /* Default background color */
    border: 1px solid #00000059;
    border-radius: 15%; /* Make it a circle */
    box-shadow: 0px 6px 15px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

/* Hover Effect for Buttons */
.btn-circle:hover {
    transform: scale(1.1); /* Slight zoom on hover */
    background-color: black; /* Invert: black background */
    color: white; /* Invert: white text */
    box-shadow: 0px 6px 15px rgba(0, 0, 0, 0.2); /* Add shadow */
}


/* fire progress bar */

.card_show_data {
    width: 100%;
    height: 180px;
   margin: 0px 10px;
    background-color: #fff;
     border-radius: 8px;
   box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 20px;
    border: 1px solid #00000059;
  }

.card-title_show_data {
 font-size: 24px;
  color: #222;
    font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
    text-align: center;
 margin-bottom:10px;  /* Space between text and others */

}

.card-label_show_data {
   margin-top: 10px;
  font-size: 18px;
   color: #333;
    font-family: 'Roboto Condensed', sans-serif;
   font-weight: 700;
    text-align: center;
}

.motivation-quote_show_data {
   margin-top: 5px;
   font-size: 15px;
   color: #555;
  font-family: 'Roboto Condensed', sans-serif;
   font-weight: 400;
     text-align: center;
}

.progress-container_show_data {
 width: 100%;
  height: 20px;
   background-color: #eee;
     border-radius: 10px;
    position: relative;
     margin: 10px auto;
}

.progress-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #333; /* Adjust text color as needed */
    font-weight: bold;
    z-index: 1; /* Ensure it appears above the progress bar */
}
.progress-text-zero {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #333; /* Adjust text color as needed */
    font-weight: bold;
    z-index: 1; /* Ensure it appears above the progress bar */
}

.progress-bar_show_data {
 height: 100%;
 background-color: #4caf50;
 width: 20%;
 border-radius: 10px 0 0 0;
 transition: width 0.5s ease-out;
 position: relative;
 box-sizing: border-box;
}
.progress-bar_show_data_zero {
    height: 100%;
     background-color: #4caf50;
    width: 20%;
    border-radius: 10px 10px 10px 0;
      transition: width 0.5s ease-out;
      box-sizing: border-box;
   }
.progress-bar_show_data::after {
 content: "🔥";
 position: absolute;
top: 50%;
 right: -20px;
    transform: translateY(-50%);
 font-size: 30px;
  opacity: 0;
 transition:  opacity 0.2s ease-in;
}

.progress-bar_show_data.fire-trigger {
  background-color: #ff9800;
}

.progress-bar_show_data.fire-trigger::after{
    opacity: 1;
}
.payment-page {
    padding: 40px 0;
}

.payment-method-card {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: box-shadow 0.3s ease-in-out;
    text-align: center;
    border: 1px solid #eee;
}

.payment-method-card:hover {
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.payment-method-header {
  display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
.payment-method-header h3 {
    margin-left: 10px;
}


.payment-method-card i {
    color: #3498db;
}
.payment-method-card .btn {
    width: 100%;
}
.payment-logo {
    height: 50px; /* Adjust as needed */
    margin-right: 10px; /* Optional: Add some space between the logo and text */
}
.payment-details {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    margin-top: 10px;
}

.payment-details.show {
    max-height: 500px;
    padding: 10px 0;
    border-top: 1px solid #eee;
}

/* receipt page */

/* General Transaction Container */
.transaction-container {
    padding: 20px;
    font-size: 1.1rem;
    background-color: #f8f9fa; /* light grey */
}

.transaction-header {
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.transaction-id{
    font-size: 1.2em
}
.transaction-type {
    font-size: 1em; /* Slightly larger than before */
    font-weight: bold; /* Make it bold */
    color: #6c757d; /* muted grey, still */
}

.transaction-status {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.status-label {
    font-weight: bold;
    margin-right: 5px;
    min-width: 120px
}

.status-value {
    font-weight: normal;
    border-radius: 5px;
    padding: 2px 5px;
}

/* Specific Status Colors */
.approved {
    background-color: #d4edda; /* light green */
    color: #155724; /* dark green */
}
.pending {
    background-color: #fff3cd; /* light yellow */
    color: #856404; /* dark yellow */
}

.rejected {
    background-color: #f8d7da; /* light red */
    color: #721c24; /* dark red */
}

/* View Receipt Link */

.view-receipt-link {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.transaction-actions {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

/* share qcm */
.shareqcm-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1060;
}

.shareqcm-div {
     background-color: white;
     padding: 20px;
     border-radius: 10px;
     text-align: center;
     width: 400px;
     max-width: 95%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: 1px solid #ddd;
}

/* Blur Background Style */
.shareqcm-background {
    background-color: rgba(0, 0, 0, 0.1); /* Semi-transparent Black color */
    backdrop-filter: blur(5px); /* Apply the blur */
    border: 1px solid #ddd;
    border-radius: 6px;
}

.shareqcm-div {
    background-color: #f9f9f9; /* Light gray background */
    padding: 25px; /* Increased padding */
    border-radius: 12px; /* Slightly more rounded corners */
    text-align: left; /* Align text to the left */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1); /* Softer shadow */
    border: none; /* Removed border */
    transition: box-shadow 0.3s ease; /* Smooth transition for hover effect */
}

.shareqcm-div:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); /* Slightly larger shadow on hover */
}

.share-options {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Increased gap */
    margin-top: 20px;
}

.share-section {
    padding: 15px; /* Increased padding */
    border: 1px solid #e0e0e0; /* Light border */
    border-radius: 8px; /* Rounded corners */
    background-color: #fff; /* White background for sections */
    display: flex;
    align-items: center;
    justify-content: space-between; /* Added for spacing */
}

.share-section h4 {
    margin-bottom: 0; /* Removed margin */
    font-size: 1.1em; /* Slightly larger font size */
    color: #333;
    display: flex; /* Ensure icon and text are inline */
    align-items: center;
    gap: 8px;
}

.share-section h4 i {
    font-size: 1.2em; /* Slightly larger icon */
    color: #666;
}

.share-button {
    margin-left: 10px; /* Maintain some space from icon */
    padding: 8px 16px;
    border-radius: 6px;
    border: 1px solid #007bff; /* Primary button color */
    color: #007bff;
    background-color: transparent;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.share-button:hover {
     background-color: #007bff;
    color: white; /* Change background on hover */
    cursor: pointer;
}



.contacts-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
    margin-top: 10px;
}

.contact {
    display: flex;
    align-items: center;
    gap: 12px; /* Increased gap */
    padding: 8px 10px; /* Added horizontal padding */
    border-bottom: 1px solid #f0f0f0;
}

.contact:last-child {
    border-bottom: none; /* Remove border from last contact */
}

.contact-image {
    width: 34px; /* Slightly bigger */
    height: 34px;
    border-radius: 50%;
}

.contact span {
    flex: 1; /* Allow username to grow to available space */
    font-size: 0.95em;
    color: #333;
}

.contact .share-icon , .share-section .share-icon {
     font-size: 1.5em; /* Slightly smaller icon */
    margin-left: 5px;
    cursor: pointer;
    color: #111111; /*  gray color */
    transition: color 0.3s ease; /* Transition for hover effect */
}

.contact .share-icon:hover , .share-section .share-icon:hover {
    color: #007bff; /* Change color on hover */
}
.direct-messages-section{
    display: flex;
    flex-direction: column;
}



@media all and (min-width:0px) and (max-width: 992px) {
    .d-rel{
        display: absolute;
        margin-left: -50px;
    }
    .noti{
        width: 90vw;
    }
    #chat-log {
        width: 90vw;
    }
}
@media all and (min-width:992px)  {
    .d-rel{
        display: absolute;
        margin-left: -30px;
    }
    .noti{
        width: 700px;
    }
    #chat-log {
        width: 50vw;
    }
}


/* qcm in chat */
.qcm-card {
    background-color: #eef2ff;
    border-radius: 12px;
     padding: 5px 10px 5px 10px;
     margin-top: 6px;
     margin-bottom: 16px;
     border: 2px solid #dde0fe;
     position: relative;
  }


  .qcm-sender {
    font-size: 0.9em; /* Slightly smaller font for sender info */
    color: #5f5f5f; /* Gray color for sender info */
    margin-bottom: 0px;
    margin-left: 5px; /* Space below sender info */
    margin-top: -25px;
    text-align: left;
 }
 .qcm-sender > span {
    font-weight: bold; /* Bolden the user name */
 }



  .qcm-icon {
      position: absolute;
      top: 5px;
      right: 8px;
      font-size: 1.4em;
      color: #495057;
  }
   .qcm-question {
     font-size: 1.1em;
      font-weight: 600;
      margin-bottom: 11px;
      color: #212529;
    }
  .qcm-option {
     margin-bottom: 8px;
     font-size: 1.0em;
      line-height: 1.5;
       color: #495057;
   }
 .qcm-option::first-letter {
      text-transform: uppercase;
      font-weight: bold;
      color:#212529;
 }

 .qcm-option.correct {
       background-color: #e7f8e7;
         padding-left: 5px;
       border-radius: 6px;
   }

  .qcm-option.correct::before {
       content: "✓ ";
       color: #28a745;
       font-weight: bold;
   }


   .show-answer-container {
    text-align: right;
}

.show-answer-button {
    display: inline-block; /* Remove padding */
    background-color: transparent; /* Remove background color */
    color: #595bf9; /* Keep the blue color */
    text-decoration: none; /* Remove underline by default */
    cursor: pointer;
    border: none; /* Remove border */
    transition: color 0.3s ease; /* Transition for color change */
    font-size: 1em;
}

.show-answer-button:hover {
    color: #0056b3; /* Slightly darker blue on hover */
    text-decoration: underline;  /* Add underline on hover */
}

.show-answer-button:active {
  transform: none;
  box-shadow: none;
}

.show-answer-button.revealed {
    color: #6c757d; /* Gray color for revealed state */
    cursor: default;
    pointer-events: none;
    text-decoration: none; /* Remove underline when revealed */
}

   /* Example styles for long texts handling */
   .qcm-question {
     overflow-wrap: break-word;
       max-width: 100%;
       margin-right: 30px;
       margin-top: 5px;
  }

  /* Responsive adjustments */
  @media (max-width: 768px) {
      .chat-container {
          padding: 15px;
           border-radius: 10px;
       }
     .qcm-card {
        padding: 5px 10px 5px 10px;
       }
      .qcm-icon {
         top: 5px;
         right: 10px;
       }
       .qcm-sender {
        margin-top: -25px;
       }
    
  }