.fs-12 {
    font-size: 12px;
}

.fs-14 {
  font-size: 14px;
}

/* Modal Pop Up CSS STARTS*/
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1021; /* 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 {
    position: relative;
    margin: auto;
    padding: 0;
    /*border: 1px solid #888;*/
    width: 50%;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
  }
  
  @-webkit-keyframes animatetop {
    from {top:-300px; opacity:0} 
    to {top:0; opacity:1}
  }
  
  @keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
  }
  
  .close {
    color: white;
    float: right;
    font-size: 28px;
    font-weight: bold;
  }
  
  .close:hover,
  .close:focus {
    color: #f77e7e;
    text-decoration: none;
    cursor: pointer;
  }
  
  .modal-header {
    padding: 2px 16px;
    background-color: rgb(73,24,96);
    color: white;
    min-height: 45px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  
  .modal-body {
    padding: 16px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background-color: #fefefe;
  }
  
  .modal-footer {
    padding: 2px 16px;
    background-color: rgb(73,24,96);
    color: white;
  }
  
  .modal {
    font-family: Arial, Helvetica, sans-serif;
  }
  
  .modal-header h2 {
    color: white !important;
    display: block;
    font-size: 20px;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 35px; /* Only right margin for close button */
    margin-left: 8px;
  }

  .modal-header h2 i{
    margin-left: 8px;
  }

.link-icon {
    color: white;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s ease;
    display: inline-block;
}

.link-icon:hover,
.link-icon:focus {
    color: #eb8787;
    text-decoration: none;
}

.modal table {
    width: 100%
}
  /* Modal Pop Up CSS ENDS*/

/* CSS for the loader STARTS*/
#loader {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.7);
	z-index: 9999;
	display: none;
}

@-webkit-keyframes spin {
	from {
		-webkit-transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

#loader::after {
	content: '';
	display: block;
	position: absolute;
	left: 48%;
	top: 40%;
	width: 40px;
	height: 40px;
	background-image: url("/../public_component/view/img/icon-ring.svg");
	-webkit-animation: spin .8s linear infinite;
	animation: spin .8s linear infinite;
}

/* CSS for the loader ENDS*/

/* CSS for the local small loader (next to a button for ex) ENDS*/
.local-loader {
  border: 4px solid #f3f3f3;
  border-top: 4px solid  rgb(73,24,96);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: localspin 2s linear infinite;
  display: none;
}

@keyframes localspin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.opacity-50 {
  opacity: 0.5;
}


.switch-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.switch {
    position: relative;
    display: inline-block;
    width: 45px;
    height: 44%;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 15px;
    width: 15px;
    left: 2px;
    bottom: 5px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: #4d1e5a;
}

input:checked + .slider:before {
    transform: translateX(26px);
}

@media (max-width: 768px) {
    .switch-container {
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }

    .switch {
        margin-bottom: 1rem;
    }

    .label {
        margin-top: 0.5rem;
        text-align: center;
    }
}

/*Notification Toast CSS STARTS*/
.toast {
	width:25%;
	-moz-border-radius: 3px 3px 3px 3px;
	-webkit-border-radius: 3px 3px 3px 3px;
	border-radius: 3px 3px 3px 3px;
	position: fixed;
	top: 20%;
	left: 40%;
	font-size: 15px;
	padding:10px;
	-webkit-box-shadow: 0px 0px 245pxpx -1px rgba(56, 56, 56, 1);
	-moz-box-shadow: 0px 0px 5px -1px rgba(56, 56, 56, 1);
	box-shadow: 0px 0px 5px -1px rgba(56, 56, 56, 1);
	background-position: 15px center;
	background-repeat: no-repeat;
	opacity: 1;
	padding: 15px 15px 15px 20px;
	color: #ffffff;
	font-weight: 600;
	z-index: 10000;
  }
  
  .close-button {
	cursor: pointer;
	display: inline-block;
	position: absolute;
	right: -5px;
	top: -10px;
	background: black;
	padding: 0px 5px 0px 5px;
	border-radius: 50%;
  }
  
  .toast i {
	margin-right: 10px;
  }
  .toast-error {
	background-color: #bd362ff7;
  }
  .toast-success {
	background-color: #51a351f0; 
  }

  .toast-info {
	background-color: #2f96b4f2;
  }

  .toast-warning {
	background-color: #f89406e6;
  }
  /* Notification Toast CSS ENDS */

  /* Color Classes for session feedback icons */
  .smile-icon {
    color: green;
  }

  .meh-icon {
    color: #FFC107;
  }

  .frown-icon {
    color: red;
  }

  .text-orange {
    color: orange !important;
  }

  .vertical-align-top {
    vertical-align: top !important;
  }

  .color-black {
    color: black !important;
  }

  .session-type-icon {
    width: 30px;
    height: 30px;
    vertical-align: middle;
    display: inline-block;
  }

  .oral-test-icon-container {
    position: relative;
    display: inline-block;
  }

  .oral-test-icon-overlay {
    position: absolute;
    top: 8px;
    right: 2px;
    font-size: 0.7em;
    color: white;
    z-index: 1;
  }

  .courselist-test-and-exam-icons-container {
    display: flex;
    gap: 5px;
  }
