.academic-section .form-check {
    display: inline-block;
}

.mark_distribution {
    margin-top: .5rem !important;
}
.mark_distribution_p {
    margin-top: 10px !important;
}

.modal-backdrop {
    z-index: 19;
}


/* button hold  */
.button-hold-container {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .button-hold {
    --color: #f6f8ff;
    --background: #2b3044;
    --icon: var(--color);
    --progress-border: #646b8c;
    --progress-active: #fff;
    --progress-success: #5c86ff;
    --tick-stroke: var(--progress-active);
    --shadow: rgba(0, 9, 61, 0.2);
    width: 125px;
    height: 125px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    border: 0;
    outline: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    -webkit-backface-visibility: hidden;
    -webkit-appearance: none;
    transition: transform 0.3s, box-shadow 0.3s;
    transform: scale(var(--scale, 1)) translateZ(0);
    color: var(--color);
  
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .button-holdton:focus,
  .button-holdton:active,
  .button-hold:focus-visible {
    border: none;
    outline: none;
  }
  
  .button-hold>div {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .button-hold:focus {
    outline: none;
    border: none;
  }
  
  .button-hold>div:before {
    content: url('../images/touch-screen-white.png');
    position: absolute;
    transform: scale(var(--background-scale, 1));
    z-index: 1;
    width: 40px;
  }
  
  .button-hold>div svg {
    display: block;
  }
  
  .button-hold>div svg.icon,
  .button-hold>div svg.tick {
    position: absolute;
  }
  
  .button-hold>div svg.icon {
    width: 8px;
    height: 8px;
    left: 6px;
    top: 6px;
    fill: var(--icon);
    z-index: 1;
    transition: opacity 0.2s, transform 0.2s;
    opacity: var(--icon-opacity, 1);
    transform: translateY(var(--icon-y, 0)) scale(var(--icon-scale, 1));
  }
  
  .button-hold>div svg.progress,
  .button-hold>div svg.tick {
    fill: none;
  }
  
  .button-hold>div svg.progress {
    width: 125px;
    height: 125px;
    background: var(--primary-color);
    border-radius: 50%;
    transform: rotate(-180deg) scale(var(--progress-scale, 1));
    transition: transform 0.5s ease;
  }
  
  .button-hold>div svg.progress circle {
    stroke-dashoffset: 1;
    stroke-dasharray: var(--progress-array, 0) 52;
    stroke-width: 16;
    stroke: var(--progress-active);
    transition: stroke-dasharray var(--duration) linear;
  }
  
  .button-hold>div svg.tick {
    width: 125px;
    height: 125px;
    left: 15px;
    top: 10px;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke: var(--tick-stroke);
    transition: stroke 0.3s ease 0.7s;
  }
  
  .button-hold>div svg.tick polyline {
    stroke-dasharray: 18 18 18;
    stroke-dashoffset: var(--tick-offset, 18);
    transition: stroke-dashoffset 0.4s ease 0.7s;
  }
  
  .button-hold:focus:not(.process),
  .button-hold:hover:not(.process) {
    --shadow-y: 8px;
    --shadow-blur: 16px;
  }
  
  .button-hold:active:not(.success) {
    --scale: 0.96;
    --shadow-y: 4px;
    --shadow-blur: 8px;
  }
  
  .button-hold.process,
  .button-hold.success {
    --progress-array: 52;
    --icon-y: -4px;
    --icon-scale: 0.6;
    --icon-opacity: 0;
  }
  
  .button-hold.success {
    --progress-border: none;
    --progress-scale: 0.11;
    --tick-stroke: var(--progress-success);
    --background-scale: 0;
    --tick-offset: 36;
  }
  
  .button-hold.success>div svg.progress {
    -webkit-animation: tick 0.3s linear forwards 0.4s;
    animation: tick 0.3s linear forwards 0.4s;
  }

  button.attendance_btn {
    color: #939aa6;
    font-size: 28px;
}

textarea.form-control, textarea.ot_textarea, textarea.ot_input {
  background-color: #F9F9F9 !important;
  border-color: #e6e6e6 !important;
  color: #5E6278 !important;
  transition: color 0.2s ease;
  padding: 10px 16px;
  border-radius: 8px;
  color: var(--ot-text-title);
  min-height: 120px;
}

.note-modal-backdrop {
  display: inline-table !important;
}
  
.search_suggestion {
  background: #fff;
  border-radius: 0.475rem;
  width: 310px !important;
  box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02);
  position: absolute;
  top: 0;
  left: 0;
  padding: 8px 20px;
  top: 100%;
  border: 1px solid #e5e5e5;
}

.search_suggestion li {
  list-style: none;
}

.search_suggestion .suggestion_link {
  font-size: 14px;
  font-weight: 400;
  color: #6f767e;
  padding: 6px 0;
  display: block;
  transition: .3s;
}

.search_suggestion .suggestion_link:hover {
  color: #5b58ff;
}
.dark-theme .search-field {
  color: #e5e5e5;
}
.dark-theme .search_suggestion {
  background: #2B2D35;
  box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02);
  border: 1px solid #757B8C;
}

.dark-theme .search_suggestion .suggestion_link {
  color: #757B8C;
}

.dark-theme .search_suggestion .suggestion_link:hover {
  color: #e5e5e5;
}

.question_header {
  line-height: 20px;
  color: #33383f;
  font-weight: 400;
}


input.form-check-input {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1px solid #ccc;
  background-color: #ffffff;
  margin-top: 0;
}

input.form-check-input:checked {
  background: #314cad;
  background-repeat: no-repeat;
  background-position: center;
}


.id-card-visibility {
  display: inline;
}

.download_print_btns {
  display: flex;
  align-items: center;
  justify-content: start;
  grid-gap: 12px;
  background: #F3F3F3;
  padding: 20px;
  flex-wrap: wrap;
}

.preview_box_wrapper .preview_box.print-view {
  border-radius: 12px;
  background: #ffffff;
  min-height: 656px;
  padding: 20px;
  display: flex;
  grid-gap: 30px;
  justify-content: center;
  align-items: center;
}

.table-content.table-basic .table.sms-mail .tbody tr td {
  white-space: inherit !important;
  width: 300px;
}

/* mine */


    .dashboard-bg {
        position: relative;
        min-height: 100vh;
        width: 100%;
        background: linear-gradient(45deg, #6a11cb, #2575fc);
    }

/* Default */
.bg-default {
    background: linear-gradient(45deg, #6a11cb, #2575fc);
}

/* Overrides */
.bg-colour1 {
    background: linear-gradient(45deg, #3c32ffdf, #4ca3ffcc);
}

.bg-colour2 {
    background: linear-gradient(45deg, #D7892E, #FD975E);
}

.bg-colour3 {
    background: linear-gradient(45deg, #392C7D, #3269DF);
}

.bg-colour4 {
    background: linear-gradient(45deg, #EE47DD, #594CEB);
}

.bg-colour5 {
    background: linear-gradient(45deg, #8959A8, #E06B6B);
}

.bg-colour6 {
    background: linear-gradient(45deg, #0F5F7A, #11998E);
}

.bg-colour7{
  background: linear-gradient(45deg, #c00543, #ff1198);
}

.bg-decorations {
  position: fixed;   /* 🔥 key fix */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: clip;
  z-index: 0;
  pointer-events: none; /* don't block clicks */
}

.circle {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.circle1 {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -60px;
  background: rgba(255, 255, 255, 0.25);
}

.circle2 {
  width: 160px;
  height: 160px;
  top: 120px;
  left: -80px;
  background: rgba(255, 255, 255, 0.18);
}

.circle3 {
  width: 120px;
  height: 120px;
  top: 320px;
  right: -40px;
  background: rgba(255, 255, 255, 0.15);
}

.circle4 {
  width: 180px;
  height: 180px;
  bottom: -100px;
  left: -50px;
  background: rgba(255, 255, 255, 0.12);
}

.circle5 {
  width: 80px;
  height: 80px;
  bottom: -280px;
  right: -100px;
  background: rgba(255, 255, 255, 0.18);
}

/* Ensure content stays above background */
.auth-container {
  position: relative;
  z-index: 1;
}

.ot-input{
  background-color: #ffffffbf !important;
  border:none;
}

.custom-icon{
  font-size: 22px;
}

.header{            
  backdrop-filter: blur(4px) !important;
}

/* Learning outcome row */
.lo-item {
    cursor: default;
}

/* Text wrapping */
.lo-text {
    white-space: normal;
    word-break: break-word;
}

/* Eye icon */
.lo-eye {
    cursor: pointer;
}

.lo-eye i {
    font-size: 1.25rem;
}

.blink-error {
    animation: blinkRed 1s linear infinite;
}

jmexpander {
    width: 15px !important;
    height: 15px !important;
    line-height: 12px !important;
    font-size: 20px !important;
    border-style: none !important;
}

.flashcard-wrapper {
    perspective: 1200px;
}

.flashcard {
    width: 600px;
    min-height: 250px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s ease;
}

/* Flip only the parent */
.flashcard.is-flipped {
    transform: rotateY(180deg);
}

/* Card faces */
.flashcard-face {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 1.5rem;
    text-align: center;

    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; /* Safari fix */
}

/* Front = normal */
.flashcard-front {
    cursor: pointer;
    transform: rotateY(0deg);
}

/* Back = rotated */
.flashcard-back {
    transform: rotateY(180deg);
}

.flashcard.nav-animating {
    opacity: 0;
    transform: translateZ(0); /* keeps text sharp */
    transition: opacity 0.25s ease;
}

.flashcard-face {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.flash-note {
    animation: flash 1s infinite;
}

@keyframes flash {
    0%   { opacity: 1; }
    50%  { opacity: 0.2; }
    100% { opacity: 1; }
}