.container{
	width: auto;
}
.no-margin{
	margin: 0px !important;
}
.float-n{
	float: none !important;
}
.margin-5{
	margin: 5px !important;
}
.margin-bottom-20{
	margin-bottom: 20px !important;
}
.pad-10{
	padding: 10px;
}
.pad-20{
	padding: 20px;
}
.pad-lr-40{
	padding-left: 40px;
	padding-right: 40px;
}
.right-text{
	text-align: right !important;
}
.color-white{
	color: white !important;
}
.font-28-important{
	font-size: 28px !important;
}
.c-transparent a{
	background-color: transparent !important;
}
.height-7{
	height:7px;
}
.height-120{
	height: 120px !important;
}
.height-100{
	height: 100px !important;
}
.height-270{
	height: 270px !important;
}
.height-700{
	height: 700px !important;
}
.height-70{
	height: 70px !important;
}
.height-50{
	height: 50px !important;
}
.height-60{
	height: 60px !important;
}
.card-progress h4{
	font-size: 12px;
}
.card-progress h4 small{
	float: right;
}
.block .content{
	border: 0px !important;
	border-top: 2px solid #00778b !important;
	border-radius: 4px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
}

.block .content .block .content{
	border: 0px !important;
	border-radius: 0px !important;
	box-shadow: none !important;
}

.class-header{
	height: 135px;
	background: url('../images/class.jpg') repeat;
	position: relative;
}

.class-header:before {
    content: "";
    display: block;
	position: absolute;
    width: 100%;
    height: 135px;
    background: black; 
    opacity: 0.3;
}
.classroom-title{
	color: white;
	text-align: center;
	margin-top: 30px;
	position: relative;
}
.classroom-nav-bar{
	text-align: center;
}
.classroom-nav-tab{
	text-decoration: none !important;
	display: inline-block;
	color: white !important;
	height: 50px;
	line-height: 50px;
	cursor: pointer;
	font-weight: bold;
	margin: 0px 10px 0px 10px;
	font-size: 12px;
}
.classroom-nav-tab.active{
	border-bottom: 3px solid #F8C22B;
}
.classroom-container{
	margin-top: 20px;
	position: relative;
}
.header-lesson-toggle{
	cursor: pointer;
}
.class-icon-small{
	font-size: 20px;
}
.card .footer {
    color: #555;
    padding: 20px;
    position: relative;
    border-top: 2px solid rgba(204, 204, 204, 0.35);
}
.bg-eee{
	background: #eeeeee!important;
}
iframe{
	border: 0px;
}
.class-leaderboard iframe body{
	background: transparent;
}
.classboard{
	padding: 3px;
	background: white !important;
}
.class-leaderboard{
	height: 250px;
	overflow-y: auto;
}

.classboard table tbody tr{
    box-shadow: 0px 0px 2px grey;
    border: 0px;
	border-radius: 3px;
}

.classboard .modal-body{
	border: 1px solid #eee;
    border-radius: 3px;
}
#leaderboard-modal .modal-body{
	height: 275px;
}
.lesson-footer-btn{
	text-decoration: none;
	color: grey;
	cursor: pointer;
	border-right: 1px solid #c1c0c0;
	text-align: center;
	height: 50px;
	line-height: 50px;
	transition: all ease-in-out 0.4s;
	-webkit-transition: all ease-in-out 0.4s;
	-moz-transition: all ease-in-out 0.4s;
	-o-transition: all ease-in-out 0.4s;
}
.lesson-footer-btn:hover{
	background: grey;
	color: white;
}
.pad-0{
	padding: 0px !important;
}
.dropdown-menu ul.menu .menu-info h4 {
	max-width: 200px;
}
.minimize-sidebar-btn{
	float: left;
	margin-top: 10px;
	color: white !important;
	margin-right: 15px;
}
.moe-dropdown{
	border-bottom:1px solid white;
	padding: 10px 20px 10px 20px !important;
}
.panel-border-grey{
	border-radius: 5px !important;
	box-shadow: 0px 0px 3px #9a9999;
	-webkit-box-shadow: 0px 0px 3px #9a9999;
	-moz-box-shadow: 0px 0px 3px #9a9999;
	-o-box-shadow: 0px 0px 3px #9a9999;
}
.circle-img{
	border-radius: 100%;
	border: 3px solid #eee;
	
}

.profile-avatar{
	border-radius: 100%;
	background: white;
	border: 3px solid #ddd;
	margin-top:10px;
}

.comment-avatar {
	margin-top:0;
}
.profile-info-btn{
	margin-top:10px;
}
.profile-info-btn i{
	padding: 10px;
	font-size: 20px;
	border-radius: 100%;
	background: #1f91f3;
	border: 3px solid white;
}
.bk-blue{
	background: #2c4e6a !important;
}
.donut-holder{
	margin-top: 10px;
}
.trophy-txt{
	margin-top: 20px;
	font-size: 60px !important;
}
.points-fnt{
	font-size: 30px;
	font-weight: bold;
}
.fnt-img{
	font-size: 70px !important;
	margin-top: 20px;
}
.gap_test_overlay{
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
}
.outer-body{
	position: relative;
}
.margin-top-20{
	margin-top: 20px;
}
.badgeImg{
	display: inline-block;
	width: 60px;
	margin-left: 10px;
}
.badge-tag{
	display: block;
	width: 100%;
	font-size: 9px;
	background: grey;
	color: white;
	padding: 5px;
	border-radius: 5px;
}
.min-height-150{
	min-height: 150px;
}
.pad-10-imp{
	padding-left: 10px !important;
	padding-right: 10px !important;
}
.bg-clear{
	background-color: transparent;
}
.classmate-msg{
	display: inline;
	margin: 0;
	padding: 0;
}
.class-discussion-msg{
	border-radius: 10px;
	color: white;
	padding: 10px;
}
.disc-btn{
	cursor: pointer;
}
.discussion-bubble{
	position: fixed;
	width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	top: 100%;
	left: 100%;
	margin-top: -80px;
	margin-left: -80px;
	border-radius: 100%;
	z-index: 100;
	cursor: pointer;
	box-shadow: 0px 0px 8px #504e4e;
}

.color-grey{
	color: #b2b3b5 !important;
}

@media only screen and (max-width: 768px){
	#recent-discussions{
		display: none;
		position: fixed;
		z-index: 90;
		top: 0px;
		left: 0px;
		height: 100%;
		width: 100%;
	}
	#recent-discussions .footer{
		margin: 20px;
		border-radius: 10px;
	}
}

#more-content{
	display: none;
}

.anouncement-color{
	background: #d3a411;
}

.quiz-color{
	background: #3c80f6;
}

.survey-color{
	background: #ba68c8;
}

.assignment-color{
	background: #00695c;
}


.white-txt{
	color: white !important;
}
.pad-20-imp{
	padding: 20px !important;
}
.block-item{
	cursor: pointer;
	display: inline-block;
	padding: 10px 10px;
	font-size: 20px !important;
}
#anouncement_block{
	box-shadow: none !important;
	border: 1px solid #0003 !important;
}
.pad-btn{
	padding: 10px 25px !important;
	font-size: 15px !important;
	box-shadow: none !important;
}

.add_comment_v1{
	cursor: pointer;
}
.add_comment_v2{
	display: none;
}
.t-back{
	background: transparent !important;
}
.comments-back{
	background: #eee;
}

.lbl-thin{
	
}

input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  margin: 13.8px 0;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 8.4px;
  cursor: pointer;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0px 0px 1px rgba(13, 13, 13, 0.15);
  background: rgba(51, 51, 51, 0.18);
  border-radius: 1.3px;
  border: 0.2px solid rgba(1, 1, 1, 0);
}
input[type=range]::-webkit-slider-thumb {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px rgba(13, 13, 13, 0);
  border: 0px solid rgba(0, 0, 0, 0);
  height: 36px;
  width: 16px;
  border-radius: 3px;
  background: #ff1e58;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -14px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: rgba(64, 64, 64, 0.18);
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 8.4px;
  cursor: pointer;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0px 0px 1px rgba(13, 13, 13, 0.15);
  background: rgba(51, 51, 51, 0.18);
  border-radius: 1.3px;
  border: 0.2px solid rgba(1, 1, 1, 0);
}
input[type=range]::-moz-range-thumb {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px rgba(13, 13, 13, 0);
  border: 0px solid rgba(0, 0, 0, 0);
  height: 36px;
  width: 16px;
  border-radius: 3px;
  background: #ff1e58;
  cursor: pointer;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 8.4px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: rgba(38, 38, 38, 0.18);
  border: 0.2px solid rgba(1, 1, 1, 0);
  border-radius: 2.6px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0px 0px 1px rgba(13, 13, 13, 0.15);
}
input[type=range]::-ms-fill-upper {
  background: rgba(51, 51, 51, 0.18);
  border: 0.2px solid rgba(1, 1, 1, 0);
  border-radius: 2.6px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0px 0px 1px rgba(13, 13, 13, 0.15);
}
input[type=range]::-ms-thumb {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px rgba(13, 13, 13, 0);
  border: 0px solid rgba(0, 0, 0, 0);
  height: 36px;
  width: 16px;
  border-radius: 3px;
  background: #ff1e58;
  cursor: pointer;
  height: 8.4px;
}
input[type=range]:focus::-ms-fill-lower {
  background: rgba(51, 51, 51, 0.18);
}
input[type=range]:focus::-ms-fill-upper {
  background: rgba(64, 64, 64, 0.18);
}

.assignment_right_box{
	border-left: .1rem solid #0000001f;
	padding-left:10px;
}

.assignment_num{
	font-size: 3.4rem;
	color: #0000008c;
}
.assignment_text{
	font-size: 1.2rem;
	color: #0000008c;
}

.assignment_title{
	font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
	text-decoration: none;
}

.upload-assignment_btn, .start_test_btn, .assignment_submitted{
	border-radius: 5px;
	background: #dfdfdf;
	padding: 10px 20px;
	color: black;
	border: 0px;
	margin: 5px;
}

.assignment_submitted{
	background:#1f91f3;
	color: white;
}

.assignment_block{
	background: #f6f6f6;
	border: .1rem solid #0000001f;
	height: 70px;
}

.assignment_block .fa{
	line-height: 70px;
}
.width-20{
	width: 100px;
	display: inline-block;
}
.stream-topic{
	padding: 10px 10px !important;
	border-radius: 5px;
}

.stream-topic .clickable{
	cursor:pointer;
}

.stream-topic .header-dropdown{
	top: 8px !important;
	right: 5px !important;
}



#youtube_modal a {
    color: #666;
    text-decoration: none;
}

#youtube_modal #container {
    width: 740px;
    background: #fff;
    margin: auto;
}

#youtube_modal .clearfix {
    clear:both;
}

#youtube_modal header {
    padding: 30px 20px;
    background: #f4f4f4;
}

#youtube_modal section {
    padding: 30px 20px 20px 20px;
}

#youtube_modal #search-form {
    display: block;
    margin-bottom: 15px;
}

#youtube_modal .fieldcontainer {
    display: block;
    position: relative;
    width: 90%;
    margin: 0 auto;
}
#youtube_modal .search-field {
    background: white;
	height: 40px;
	border: 1px solid #4d90fe;
	width: 100%;
}

#youtube_modal #results li {
    padding: 10px 0;
    border-bottom: 1px dotted #ccc;
    list-style: none;
    overflow: auto;
}
#youtube_modal #results{
	max-height: 500px;
	overflow-y: auto;
}
#youtube_modal .list-left {
    float: left;
    width: 20%;
}
#youtube_modal .list-left img {
    width: 100%;
    padding: 3px;
    border: 1px solid #ccc;
}
#youtube_modal .list-right {
    float: right;
    width: 78%;
}
#youtube_modal .list-right h3 {
    margin: 0;
	font-size: 15px;
}
#youtube_modal .list-right p {
    margin: 0;
	font-size: 10px;
}

#youtube_modal .cTitle {
    color: #dd2826;
}

#youtube_modal .button-container {
    margin-top: 25px;
    
}

#youtube_modal .paging-button {
    background: #f4f4f4;
    padding: 0 13px;
    border: #ccc 1px solid;
    border-radius: 5px;
    color: #333;
    margin: 10px;
    cursor: pointer;
}


.utube_hidden_player{
	border: 5px solid #1f91f3;
	padding: 5px;
}

.card .body .utube_hidden_player{
	border: 5px solid #eeee;
	cursor: pointer;
	transition: all ease-in-out 0.4s;
}

.card .body .utube_hidden_player:hover{
	background: #eeee;
}

.utube_hidden_player img{
	width: 100%;
}

.utube_hidden_player h3{
	font-size: 15px;
}

.utube_hidden_player a{
	cursor: pointer;
}

.card .body .utube_hidden_player a{
	display: none;
}
.utube_iframe{
	display: none;
}

.visible_in_player{
	display: none;
}

.paynow_overlay{
	position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    color: white;
    text-align: center;
    z-index: 1;
    padding-top: 80px;
}

.study_group_overlay{
	position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    color: white;
    text-align: center;
    z-index: 1;
    padding-top: 80px;
}

.no_classes{
	position: relative;
}

.no_classes_left{
	background: white;
	position: absolute;
	margin-top: 150px;
	left: 0px;
	width: 300px;
	height: calc(100vh - 150px);
	z-index: 2;
	box-shadow: 0px 3px 3px #0003;
}

.no_classes_right{
	position: relative;
	margin-left: 300px;
	padding-left: 20px;
}

@media only screen and (max-width: 768px){
	.no_classes_left{
		display: none;
	}
	.no_classes_right{
		margin-left: 0px;
	}
}
.email-popup{
	position: fixed;
	top: 0px;
	width: 100%;
	z-index:13;
	background: #514d4d;
	height: 30px;
	font-size: 12px;
	line-height: 30px;
	padding: 0px;
}

.email-popup a{
	color: white;
	font-weight: bold;
}

.email-popup-nav{
	top: 30px;
	transition: all ease-in-out 0.4s;
}
.credit-balance-container{
	padding: 40px;
	border: 5px solid #ddd;
	border-radius: 100%;
	display: inline-block;
	background: white;
	margin-bottom: 30px;
}

.price_card{
    margin: -20px !important;
}

.credits_txt{
	margin: -20px !important;
}

.pad-40-imp{
	padding: 40px !important;
}
.credit_btn{
	cursor: pointer;
	transition: all ease-in-out 0.4s;
}

.credit_btn:hover{
	background-color: #7ca0b1 !important;
}

#study_group_toggle, #classroom_toggle{
	cursor: pointer;
}

.classroom-box .list-group-item{
	border: 0px !important;
}

.user_balance_head{
	/*padding: 10px 20px !important;*/
    border-radius: 5px;
	transition: all ease-in-out 0.4s;
	background: transparent;
	border: 1px solid white;
}

.user_balance_head:hover{
	transform: rotateY(360deg);
}

.streams .item .card:hover {
	cursor: pointer;
}

.course-options {
	margin-top: 10px;
}

.course-options a {
	margin-right: 10px;
}

.accordion {
  margin: 1rem 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e5e5e5;
}

.accordion-item {
  border-bottom: 1px solid #e5e5e5;
}

/* Thumb */
.accordion-thumb {
  margin: 0;
  padding: .8rem 0;
  cursor: pointer;
  font-weight: normal;
  width:100%;
}

.accordion-thumb div {
	width:90%;
	margin-left: 20px;
}

.accordion-thumb::before {
  content: '';
  display: inline-block;
  height: 7px;
  width: 7px;
  margin-right: 1rem;
  margin-left: .5rem;
  vertical-align: middle;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  transition: -webkit-transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

.accordion-thumb.lessons-thumb::before {
	margin: auto auto !important;
	border-right: 2px solid;
  	border-bottom: 2px solid;
}

.accordion-description {
  margin: 0;
  padding-bottom: .8rem;
  margin-left:50px;
}

/* Panel */
.accordion-panel {
  margin: 0;
  padding-bottom: .8rem;
  display: none;
}

/* Active */
.accordion-item.is-active .accordion-thumb::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/* General page styling */
/*html {*/
/*  font-family: sans-serif;*/
/*  font-size: 14px;*/
/*  color: #444;*/
/*}*/

/*body {*/
/*  line-height: 1.5;*/
/*  margin: 0 auto;*/
/*  max-width: 500px;*/
/*}*/

/*h1 {*/
/*  font-family: serif;*/
/*  margin-top: 15%;*/
/*}*/

.cursor-hover:hover {
	cursor: pointer;
}

/*
*******************************************
The following changes are temporary.
These will be used in Demo to bahamas team.
These changes affect the navbar to allow the 
lms to remain consistent with the navbar
design on OpenEMIS
*******************************************
*/
#myApps .body .menu{
	padding: 20px;
} 
#apps-dropdown-item{
	display: block;
	text-decoration: none;
	color: black;
	text-align: center;
	width: 86px;
	display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 12px 2px 5px;
}

#apps-dropdown-item:hover{
	background-color: #EDEDED;
    transition: all 0.8s ease;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

#apps-dropdown-item img, #apps-dropdown-item span{
	display: block !important;
	text-align: center;
	margin: 0 auto;
}

#myApps .dropdown-menu{
	margin-top: 20px !important;
}

.footer {
   /*position: fixed;*/
   left: 0;
   bottom: 0;
   width: 100%;
   /*background-color: red; This is conflicting with sessions card footer on stream page*/
   color: white;
   text-align: center;
}

.min-vh-85{
	min-height: 85vh;
}

div.modal div.modal-dialog div.modal-content div.modal-header {
  /*flex-direction: row-reverse !important;
  flex-flow: row !important;*/
}
div.modal div.modal-dialog div.modal-content div.modal-header .close {
  color: #FFF !important;
}

.modal .modal-content .modal-body {
	padding: 15px 0 !important;
}

.navbar {
	margin-bottom: 0 !important;
	border-radius: 0 !important;
}
.navbar .navbar-nav a {
	padding: 0 8px !important;
}
.ef-unit-tree .ef-entry-head span.ef-entry-name {
	
}
#main_content {
	margin-top: 0;
}

.body_ctg_content {
	background: #FFF;
}
.body_ctg_content .box_ctg_content .ef-block {
	box-shadow: none;
}
.body_ctg_content #main_content {
	margin-top: 0;
}

.breadcrumb {
	background-color: #FFF !important;
}

.selectize-input {
	border: 1px solid #ccc !important;
    padding: 6px 10px !important;
}

.ls-closed .bars:after,
.ls-closed .bars:before {
 	top: 15px;
 }
 
 .btn-regular {
 	height: 34px;
 	margin-right: 15px !important;
 }
 
 #form_classmate_pager {
 	margin: 0;
 	padding: 0;
 }
 
 #session_properties_modal div.modal-header,
 #session_modal div.modal-header {
  flex-direction: row-reverse !important;
  flex-flow: row-reverse !important;
}

.box_ctg_grades #courseGradesTable th.ef-grades-learner-col,
.box_ctg_grades #courseGradesTable td.ef-grades-learner-col {
	width: 100%;
}
.table-overflow-none .table-responsive {
    overflow: hidden;
}

html.popup .breadcrumb-x.custom {
	display: none !important;
}
.breadcrumb > li + li:before {
	padding: 0 5px;
    color: #ccc;
    content: "/ ";
}
.breadcrumb-x .container {
	justify-content: start;
    padding-top: 15px;
}

#training_event_properties_form div.form-group:nth-of-type(2),
#training_event_properties_form div.form-group:nth-of-type(3),
#training_event_properties_form div.form-group:nth-of-type(4),
#training_event_properties_form div.form-group:nth-of-type(5),
#training_event_properties_form div.form-group:nth-of-type(6)
{
	display: none;
}

#welcome-tour-add-lesson-icon.throbber-container {
	display: none !important;
}

.ef-content-block .ef-unit-tree .ef-entry-head {
	display: block;
}

#session_properties_modal iframe {
	height: 500px;
}

.bootbox.modal .bootbox-body,
.bootbox.modal .bootbox-close-button {
	padding: 0 15px;
}

#ef-available-sessions-area {
	padding: 0 20px;
}

@media only screen and (min-width: 768px) {
	.event-pc{
		display: block;
	}
	.event-mobile{
		display: none !important;
	}
}

@media only screen and (max-width: 767px){
	.event-pc{
		display: none !important;
	}
	.event-mobile{
		display: block;
	}
	
	.content .container-fluid {
		margin-left: auto !important; 
	    margin-right: auto !important;
	}
}

@media only screen and (max-width: 330px){
	.badge-width{
		width: 125px;
	}
}

#dt_processing {
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #999;
    opacity: 0.4;
    z-index: 2;
    text-align: center;
    color: white;
    font-size: 20px;
    padding-top: 12px;
}
#attendanceTable_processing {
	display: none !important;
}

#attendanceTable .badge-1 {
	background: green;
}
#attendanceTable .badge-2, #attendanceTable .badge-3 {
	background: red;
}
#attendanceTable .badge-4 {
	background: #ff9600;
}

@media only screen and (max-width: 360px){
	div.ef-content.ef-constrain-images {
    	padding: 0px !important; 
	}
}

#ef-clone-course-selectized-courses strong {
	display: none;
}
#ef-clone-course-selectized-courses:after {
	content: "Classes";
}

.btn-group > .btn-sm.dropdown-toggle {
	height: 30px !important;
}

.box_ctg_reports {
	margin-top: 18px;
}

table.dataTable thead .sorting, 
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc, 
table.dataTable thead .sorting_asc_disabled, 
table.dataTable thead .sorting_desc_disabled {
    background-position: center left !important;
    padding-left: 25px;
}

.fc-event-danger {
	background: #dc3545 !important;
    border: 1px solid #dc3545 !important;
}
.fc-event-warning {
	background: #ffc107 !important;
	border: 1px solid #ffc107 !important;
}
.fc-event-primary {
	background: #007bff !important;
	border: 1px solid #007bff !important;
}
.fc-event-success {
	background: #28a745 !important;
	border: 1px solid #28a745 !important;
}

.fa-trash-1:before {
    content: "\f1f8";
}

.alert-info-announcement {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
}

.btn-group-lg .dropdown-toggle {
	height: 37.33px;
}
/*fix for period select filter area*/
.period_wrap .niceSelect > span.current, .niceSelect.open ul.list {
	white-space:break-spaces;
}

/* AJAX Tab Loader Styles */
.class-dashboard-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 8px;
}

.class-dashboard-tab-btn {
    position: relative;
    background: none;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 120px;
    justify-content: center;
}

.class-dashboard-tab-btn:hover {
    background-color: #f3f4f6;
    color: #374151;
}

.class-dashboard-tab-btn.active {
    background-color: #3b82f6;
    color: white;
}

.class-dashboard-tab-btn.active:hover {
    background-color: #2563eb;
}

.tab-text {
    display: inline-block;
}

.tab-spinner {
    display: none;
}

.tab-spinner .spinner {
    animation: spin 1s linear infinite;
    width: 16px;
    height: 16px;
}

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

.tab-content-container {
    min-height: 200px;
    padding: 20px 0;
}

.tab-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.loading-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: #6b7280;
    font-size: 14px;
}

.tab-error {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    text-align: center;
    color: #dc2626;
    font-size: 14px;
}

.tab-error p {
    margin: 0;
    padding: 16px;
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    max-width: 400px;
}

/* Responsive adjustments */
@media only screen and (max-width: 768px) {
    .class-dashboard-tabs {
        flex-wrap: wrap;
        gap: 4px;
    }
    
    .class-dashboard-tab-btn {
        padding: 8px 12px;
        font-size: 13px;
        min-width: auto;
        flex: 1;
        min-width: 100px;
    }
}

/* Dashboard Content Styles */
.dashboard-content {
    padding: 20px;
}

.dashboard-header {
    margin-bottom: 30px;
}

.dashboard-header h2 {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
}

.dashboard-subtitle {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.dashboard-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.stat-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.2s ease;
}

.stat-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.stat-icon {
    color: #3b82f6;
    flex-shrink: 0;
}

.stat-content h3 {
    margin: 0 0 4px 0;
    font-size: 28px;
    font-weight: 700;
    color: #1f2937;
}

.stat-content p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.dashboard-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.dashboard-section h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.activity-list {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
}

.activity-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f3f4f6;
}

.activity-item:last-child {
    border-bottom: none;
}

.activity-icon {
    color: #3b82f6;
    flex-shrink: 0;
}

.activity-content p {
    margin: 0 0 4px 0;
    font-size: 14px;
    color: #1f2937;
}

.activity-time {
    font-size: 12px;
    color: #6b7280;
}

.quick-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.quick-action-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: #374151;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.quick-action-btn:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

/* Stream Content Styles */
.stream-content {
    padding: 20px;
}

.stream-header {
    margin-bottom: 30px;
}

.stream-header h2 {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
}

.stream-subtitle {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.empty-course-message {
    text-align: center;
    padding: 60px 20px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.empty-icon {
    color: #9ca3af;
    margin-bottom: 16px;
}

.empty-course-message h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: #374151;
}

.empty-course-message p {
    margin: 0 0 20px 0;
    color: #6b7280;
}

.course-content-tree {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lesson-section {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}

.lesson-header {
    padding: 20px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.lesson-header h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.lesson-description {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.content-items {
    padding: 20px;
}

.content-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 12px;
    transition: all 0.2s ease;
}

.content-item:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

.content-icon {
    color: #3b82f6;
    flex-shrink: 0;
}

.content-info {
    flex: 1;
}

.content-info h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 500;
    color: #1f2937;
}

.content-info p {
    margin: 0 0 4px 0;
    color: #6b7280;
    font-size: 14px;
}

.due-date {
    font-size: 12px;
    color: #dc2626;
    font-weight: 500;
}

.content-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.status-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.status-badge.completed {
    background: #dcfce7;
    color: #166534;
}

.status-badge.in-progress {
    background: #fef3c7;
    color: #92400e;
}

.status-badge.not-started {
    background: #f3f4f6;
    color: #6b7280;
}

.content-btn {
    padding: 6px 12px;
    background: #3b82f6;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.content-btn:hover {
    background: #2563eb;
}

/* Classmates Content Styles */
.classmates-content {
    padding: 20px;
}

.classmates-header {
    margin-bottom: 30px;
}

.classmates-header h2 {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
}

.classmates-subtitle {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.classmates-filters {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
    padding: 16px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filter-group label {
    font-size: 12px;
    font-weight: 500;
    color: #374151;
}

.classmates-stats {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.stat-item {
    text-align: center;
    padding: 16px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    min-width: 120px;
}

.stat-number {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #3b82f6;
    margin-bottom: 4px;
}

.stat-label {
    font-size: 12px;
    color: #6b7280;
}

.teachers-section,
.students-section {
    margin-bottom: 30px;
}

.teachers-section h3,
.students-section h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.teachers-list,
.students-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.teacher-card,
.student-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.2s ease;
}

.teacher-card:hover,
.student-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.teacher-avatar,
.student-avatar {
    flex-shrink: 0;
}

.teacher-avatar img,
.student-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
}

.teacher-info,
.student-info {
    flex: 1;
}

.teacher-info h4,
.student-info h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
}

.teacher-role,
.student-school,
.student-grade,
.teacher-email,
.student-email {
    margin: 0 0 2px 0;
    font-size: 12px;
    color: #6b7280;
}

.student-actions {
    flex-shrink: 0;
}

.pagination-container {
    margin-top: 24px;
    display: flex;
    justify-content: center;
}

.pagination {
    display: flex;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.page-item .page-link {
    padding: 8px 12px;
    border: 1px solid #e5e7eb;
    color: #374151;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.page-item .page-link:hover {
    background: #f3f4f6;
}

.page-item.active .page-link {
    background: #3b82f6;
    color: white;
    border-color: #3b82f6;
}

.no-students-message {
    text-align: center;
    padding: 60px 20px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

/* Skills Content Styles */
.skills-content {
    padding: 20px;
}

.skills-header {
    margin-bottom: 30px;
}

.skills-header h2 {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
}

.skills-subtitle {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.skills-overview {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.skills-progress h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.progress-overview {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
}

.skill-progress-item {
    margin-bottom: 16px;
}

.skill-progress-item:last-child {
    margin-bottom: 0;
}

.skill-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.skill-info h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
}

.progress-percentage {
    font-size: 12px;
    font-weight: 600;
    color: #3b82f6;
}

.progress-bar {
    height: 8px;
    background: #f3f4f6;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: #3b82f6;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.skills-summary {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.summary-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

.summary-card h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
}

.summary-value {
    font-size: 24px;
    font-weight: 700;
    color: #3b82f6;
}

.competencies-section h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.competencies-list {
    display: grid;
    gap: 16px;
}

.competency-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    transition: all 0.2s ease;
}

.competency-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.competency-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.competency-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
}

.competency-level {
    padding: 4px 8px;
    background: #f3f4f6;
    color: #6b7280;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.competency-description {
    margin: 0 0 12px 0;
    color: #6b7280;
    font-size: 14px;
}

.competency-skills h5 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.skills-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.skill-tag {
    padding: 4px 8px;
    background: #f3f4f6;
    color: #374151;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.competency-actions {
    margin-top: 16px;
}

.learning-path-section h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.learning-path {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}

.path-step {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.2s ease;
}

.path-step:last-child {
    border-bottom: none;
}

.path-step:hover {
    background: #f9fafb;
}

.path-step.completed {
    background: #f0fdf4;
}

.path-step.current {
    background: #fef3c7;
}

.step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #3b82f6;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    flex-shrink: 0;
}

.path-step.completed .step-number {
    background: #10b981;
}

.path-step.current .step-number {
    background: #f59e0b;
}

.step-content {
    flex: 1;
}

.step-content h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
}

.step-content p {
    margin: 0 0 4px 0;
    color: #6b7280;
    font-size: 14px;
}

.step-time {
    font-size: 12px;
    color: #9ca3af;
}

.step-status {
    flex-shrink: 0;
    color: #10b981;
}

.path-step.current .step-status {
    color: #f59e0b;
}

.path-step.upcoming .step-status {
    color: #9ca3af;
}

/* Reports Content Styles */
.reports-content {
    padding: 20px;
}

.reports-header {
    margin-bottom: 30px;
}

.reports-header h2 {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
}

.reports-subtitle {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.reports-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.report-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.report-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.report-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.report-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
}

.report-icon {
    color: #3b82f6;
}

.report-content {
    padding: 20px;
}

.attendance-stats,
.grade-stats,
.analytics-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 16px;
}

.strength-areas,
.improvement-areas {
    margin-top: 16px;
}

.strength-areas h4,
.improvement-areas h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.areas-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.area-tag {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.area-tag.strength {
    background: #dcfce7;
    color: #166534;
}

.area-tag.improvement {
    background: #fef3c7;
    color: #92400e;
}

.detailed-reports h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.reports-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.report-item {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.2s ease;
}

.report-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.report-item h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
}

.report-item p {
    margin: 0 0 16px 0;
    color: #6b7280;
    font-size: 14px;
}

.export-section h3 {
    margin: 0 0 16px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}

.export-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.export-options .btn {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Responsive adjustments for content */
@media only screen and (max-width: 768px) {
    .dashboard-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .dashboard-sections {
        grid-template-columns: 1fr;
    }
    
    .skills-overview {
        grid-template-columns: 1fr;
    }
    
    .reports-overview {
        grid-template-columns: 1fr;
    }
    
    .reports-grid {
        grid-template-columns: 1fr;
    }
    
    .teachers-list,
    .students-list {
        grid-template-columns: 1fr;
    }
    
    .classmates-filters {
        flex-direction: column;
        gap: 12px;
    }
    
    .classmates-stats {
        flex-direction: column;
        gap: 12px;
    }
    
    .export-options {
        flex-direction: column;
    }
}