#students thead.studentheader th {
	border: 0px;
}
#students th, td 
{
    text-align:center; 
    vertical-align:middle;	
}

/* .uploaded_tbl th, td  */
/* { */
    /* text-align:left;  */
    /* vertical-align:middle;	 */
/* } */

.checkall {
	background-color: #CDCDCD;
}

.note {
    visibility:hidden;
    cursor:pointer;
}
.fa-file-alt {
    color:red;
}

.strategies_outcomes {
	background-color:#555555;
	color:#ffffff;
	font-weight:bold;
	border: solid 1px #555555;
}

#students td:nth-child(1) {  
    text-align:left; 
    vertical-align:middle;	
}

#students td:nth-child(2) {  
    text-align:left; 
    vertical-align:middle;	
}

#students_desktop {
	table-layout: fixed;
    width: 100%;
	
}

.selectall {
	font-weight:normal;
	font-style:italic;
}

.ui-datepicker-trigger {
	margin-left:5px;
    vertical-align: middle;
}

.spinner {
	width: 50%;
	display:block;
	margin:auto;
}
.loadinggif {
	width: 25%;
	display:block;
	margin:auto;	
}

#checklist_container {
	display:none;
}

#orderby_container {
	float:left;	
}

#building_list_container {
	height:500px;
	overflow-y: auto;
	width:90%;
	border:solid 1px #d3d3d3;
	padding:10px;	
}

#btn_assign {
	margin-top: 15px;
	display:none;
}

#div_building_filter {
	float:left;margin-left:20px;
}

#students_mobile {
	display:none;
}
#students_desktop {
	display:block;
}

/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    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 */
}
/* NOT hidden by default */
.modal-on {
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    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/Box */
.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 10px;
    width: 175px; /* Could be more or less, depending on screen size */
	height: 175px;
	border-radius: 5px;
}

/* Case Notes CSS */
.cn-ta, .cn-ta-first {
    width: 100%;
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box;
    margin-bottom:1.5rem;    
}
.cn_modal, .hist_modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: scale(1.1);
    transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
    z-index: 5000;
}
.cn_modal-content{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 1.5rem 2rem;
    border-radius: 0.5rem;
    width: 75%;
    overflow:auto;
    max-height:calc(100vh - 100px);
    box-shadow: 0px 0px 30px #000000;
}
.hist_modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 1.5rem 2rem;
    border-radius: 0.5rem;
    width: 50%;
    overflow:auto;
    max-height:calc(100vh - 100px);
}
.cn_close-button, .hist_close-button {
    float: right;
    width: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    cursor: pointer;
    border-radius: 0.25rem;
    background-color: lightgray;
}
.cn_close-button:hover, .hist_close-button {
    background-color: darkgray;
}
.cn_show-modal, .hist_show-modal {
    opacity: 1;
    visibility: visible;
    transform: scale(1.0);
    transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
.modal-open {
    overflow: hidden;
}
.no-students-sticky {
    display:none;
}
.cn-services-divs {
    display:none;
}
.cn_students {
    font-style: italic;
    color: green;
}
.cn-no-menu {
    display:none;
}
.vis-item.vis-background.negative {
    background-color: #fff;
    z-index: -5000;
}
/* Case Notes-MOBILE CSS */
.cn-ta-m {
    width: 100%;
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box;
    margin-bottom:1.5rem;   
}
.cn-div-m {
    display: none;
}
.id-list {
    width:35%;
    height:300px;
}

@media screen and (max-width: 600px) {
.modal-m {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: scale(1.1);
    transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
}
.modal-content-m {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 1rem 1.5rem;
    width: 24rem;
    border-radius: 0.5rem;
}
.close-button-m {
    float: right;
    width: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    cursor: pointer;
    border-radius: 0.25rem;
    background-color: lightgray;
}
.close-button-m:hover {
    background-color: darkgray;
}
.show-modal-m {
    opacity: 1;
    visibility: visible;
    transform: scale(1.0);
    transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
}
.highlight {
    background-color: #00FFFF;
}

#tbl_edit_services tbody tr {
    cursor: pointer;
}

/* The Modal (background) */
.editmodal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    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/Box */
.editmodal-content {
    background-color: #fefefe;
    margin: 2% auto; /* 5% from the top and centered */
    padding: 20px;
    width: 40%;
	border-radius: 5px;
}
@media only screen and (max-width: 600px) {
    .editmodal-content {
        background-color: #fefefe;
        margin: 15% auto; /* 15% from the top and centered */
        padding: 10px;
        width: 95%;
        border-radius: 2px;
    }
    .chklbl {
        margin-left: 10px;
    }
}

/* The Close Button */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.ta_size {
    width:85%;
}

#tbl_edit_services thead th {
    text-align:center;
}
.dt-button:disabled {
    opacity: 0.4 !important;
}

.formtitles {
    font-weight:bold;
    margin-right:10px;
}

#prepost_tbl td {
    border: solid 1px #000000;
    padding: 5px;
}
.jqspinner {
    width:10px;
}
.cn_div {
    display:none;
    margin-bottom:10px;
}
.ta-cn {
    width:100%;
    height:100px;
}
.ta-out {
    width:100%;
    height:100px;
}
#hourly_building {
    min-width:40%;
}
#select_edit_group {
    min-width:40%;
}
.starttime {
    width:auto;
}
.endtime {
    width:auto;
}
.edit_starttime {
    width:auto;
}
.edit_endtime {
    width:auto;
}
.pure-form select {
    padding-right:20px;
}
.tbl-header th {
    text-align: center;
}
.month-picker-open-button {
    height:30px;
    vertical-align: middle;
    margin-left:3px;
}
@media only screen and (max-width: 600px) {
    #hourly_building {
        width:100%;
    }
    #select_edit_group {
        width:100%;
    }
    .starttime {
        width:50%;
    }
    .endtime {
        width:50%;
    }
    .edit_starttime {
        width:50%;
    }
    .edit_endtime {
        width:50%;
    }
    .ta-cn {
        width:95%;
        height:100px;
    }
    .ta-out {
        width:95%;
        height:100px;
    }
    .pure-form label {
        display:inline;
        padding-left:4px;
    }
    .pure-form input[type=text] {
        display:inline;
    }
    .timetable table, .timetable thead, .timetable tbody, .timetable th, .timetable td, .timetable tr {
        display: block;
    }
    .timetable thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    .timetable tr { 
        border: 1px solid #ccc; 
        margin-top: 5px;
        margin-bottom: 5px;
    }
    .timetable td {
        border: none;
        position: relative;
        padding-left: 200px;
        margin-left: 150px;
    }
    .timetable td:before {
        position: absolute;
        left: 6px;
        padding-right: 40px;
        white-space: nowrap;
        margin-left: -150px;
        font-weight: bold;
    }
    .timetable td:nth-of-type(1):before { content: "Category of Service"; }
    .timetable td:nth-of-type(2):before { content: "Start Time"; }
    .timetable td:nth-of-type(3):before { content: "End Time"; }
    .timetable td:nth-of-type(4):before { content: "Duration (hours)";}
}

.tabs{
    width:98%;
    height:auto;
    display:none;
}

/* tab list item */
.tabs .tabs-list{
    list-style:none;
    margin:0px;
    padding:0px;
}
.tabs .tabs-list li{
    float:left;
    margin-right:2px;
    padding:10px 5px;
    text-align: center;
    background-color:#aaaaaa;
    display:none;
}
.tabs .tabs-list li:hover{
    cursor:pointer;
}
.tabs .tabs-list li a{
    text-decoration: none;
    color:white;
}

/* Tab content section */
.tabs .tab{
    display:none;
    width:98%;
    min-height:250px;
    height:auto;
    padding:20px 15px;
    background-color:#f0f0f0;
    color:darkslategray;
    clear:both;
}
.tabs .tab h5{
    font-weight:normal;
    padding:5px;
}
.tabs .tab p{
    line-height:20px;
    letter-spacing: 1px;
}
.tabs-edit{
    width:98%;
    height:auto;
    display:none;
}

/* tab list item */
.tabs-edit .tabs-list-edit{
    list-style:none;
    margin:0px;
    padding:0px;
}
.tabs-edit .tabs-list-edit li{
    float:left;
    margin-right:2px;
    padding:10px 5px;
    text-align: center;
    background-color:#aaaaaa;

}
.tabs-edit .tabs-list-edit li:hover{
    cursor:pointer;
}
.tabs-edit .tabs-list-edit li a{
    text-decoration: none;
    color:white;
}

/* Tab content section */
.tabs-edit .tab{
    display:none;
    width:98%;
    min-height:250px;
    height:auto;
    padding:20px 15px;
    background-color:#f0f0f0;
    color:darkslategray;
    clear:both;
}
.tabs-edit .tab h5{
    font-weight:normal;
    padding:5px;
}
.tabs-edit .tab p{
    line-height:20px;
    letter-spacing: 1px;
}
.tabs-edit .tabs-list-edit li.active{
    background-color:#f0f0f0 !important;
    color:black !important;
    display:none;
}



/* When active state */
.active{
    display:block !important;
}
.tabs .tabs-list li.active{
    background-color:#f0f0f0 !important;
    color:black !important;
    display:none;
}
.active a{
    color:black !important;
}

/* media query */
@media screen and (max-width:360px){
    .tabs{
        margin:0;
        width:96%;
    }
    .tabs .tabs-list li{
        width:80px;
    }
}
    
.numberCircle {
    border-radius: 50%;
    line-height: 20px;
    width: 20px;
    height: 20px;
    padding: 4px;
    background: #E51013;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font: 12px Arial, sans-serif;
    margin-left: 5px;
    margin-right: 5px;
    display:inline-block;
    /* display:none; */
}

.schlyrstats {
	font-size: 24pt;
	font-weight: bold;
	color: #831617;
}

#class_roster_table td {
    text-align: left;
}
#class_roster_table {
    margin: 0px !important;
}
.smallCell
{
    width: 200px;
    white-space: nowrap;
}
.report-div {
    display: none;
}
.fa-circle-plus {
    vertical-align: middle;
    margin-left: 5px;
    color: #999999;
}
.fa-circle-minus {
    vertical-align: middle;
    margin-left: 5px;
    color: #999999;
}
.ui-datepicker {
    z-index: 9999 !important;
}
.time-slot {
    width: 100px;
}
.total-time {
    margin-left:5px;
    font-size:21px;
    color:green;
    font-weight:bold;
}
.grid-container {
    display: grid;
    align-items: baseline;
    grid-template-columns: max-content max-content max-content min-content;
}
.grid-item {
    margin-right: 10px;
}
#time_slot_table {
    width: 100%;
    border-collapse: collapse;
}
#time_slot_table thead tr {
    background-color: #dcdcdc;
}
#time_slot_table td {
    width: auto;
    padding: 5px 5px 5px 5px;
}
#time_slot_table th {
    width: auto;
    padding: 5px 5px 5px 5px;
}
.cat-time {
    font-weight: bold;
}
.fa-circle-xmark {
    color: red;
}
.roster_attachment {
    color:#000000;
}
.authorize-upload {
    display: none;
}
.open-time-chart {
    cursor:pointer;
}
.add_time {
    text-decoration: none;
    color: #737373;
    font-weight: bold;
}
.cat-time {
    font-weight: bold;
}
.time-notes {
    width: 100%;
}
.checkbox-div {
    margin: 0px 0px 20px 0px; 
    height: 200px; 
    border: solid 1px #CBD5E0; 
    overflow: auto;
    padding: 10px;
    width: auto;
}
.chkall {
    cursor: pointer;
    color: blue;
    text-decoration: underline;
}
.card-parent {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 80px;
}
.card {
    border: solid 1px #000000;
    padding: 40px;
    min-width: 250px;
    min-height: 142px;
    font-family: Arial, Helvetica, sans-serif;
}
.card-text {
    font-weight: 700;
    font-size: 22px;
}
@media print {
    .pagebreak {
        page-break-before: always;
    }
}
.img-center {
    margin: 0 auto;
}
.btn {
    border: none;
    color: #ffffff;
    padding: 7px 14px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 3px;
  }
.danger {
    background-color: #ffffff;
    color: #f44336;
    border: solid 1px #f44336;
}
.danger:hover {
    background: #da190b;
    color: #ffffff;
}
.button-warning {
	background: #B35600; /* this is an orange */
    color: #ffffff;
}
.button-warning:hover {
    background: #8f4500;
    color: #ffffff;
}

.ok-flex-container {
    display: flex;
    justify-content: space-between; /* or center, flex-start, etc. */
    gap: 1rem; /* optional spacing between divs */
}
.left-box {
    flex: 1;
    padding: 20px;
    text-align: left; /* Left-align content */
}
.right-box {
    flex: 1;
    padding: 20px;
    text-align: left; /* Center content */
    border-left: 1px solid #ebebeb;
}
.camp-btn {
  display: inline-block;
  padding: 0.25em 0.5em;
  font-size: 1rem;
  font-family: inherit;
  color: #333;
  background-color: #e0e0e0; /* light gray */
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.camp-btn:hover {
  background-color: #bdbdbd; /* darker gray on hover */
  border-color: #aaa;
}
.camp-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(160, 160, 160, 0.5);
}
.camp-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

#template_btn {
    text-transform: uppercase;
}
.required-txt {
    font-size: smaller;
    font-style: italic;
}

/* Accessibility overrides */
.pure-form input[readonly], .pure-form select[readonly], .pure-form textarea[readonly]{
    color: #000 !important;
}

.ms-options-wrap > button, .ms-options-wrap > button:focus {
    color: #000;
}

.attendance-sheet-details-container p {
    margin: 0 !important;
}

#attendance-sheet-details {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 15px;
}

.attendance-sheet-details-container {
    display: grid;
    grid-template-columns: 25% 75%;
}

#attendance-sheet-details-cats {
    display: flex;
    gap: 8px;
}

#class_roster_table {
    width: 100%;
}

#class_roster_table th {
    text-align: left;
}

.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    margin: -1px;
    padding: 0;
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

/* Base table styling */
#class_roster_table {
  border-collapse: collapse;
  width: 100%;
  font-family: Arial, sans-serif;
  font-size: 14px;
}

/* Borders & cell padding */
/* #class_roster_table th,
#class_roster_table td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  text-align: left;
} */

/* Header row */
#class_roster_table th {
  background-color: #E6E6E6; /* Light gray, print-friendly */
  color: #000;
  font-weight: bold;
}

/* Row striping (screen defaults) */
#class_roster_table tr:nth-child(odd) {
  background-color: #FFFFFF; /* White */
}
#class_roster_table tr:nth-child(even) {
  background-color: #F9F9F9; /* Light gray */
}

/* Hover highlight (screen only) */
@media screen {
  #class_roster_table tr:hover {
    background-color: #E0F0FF; /* Soft blue highlight */
  }
}

/* Print overrides */
@media print {
  #class_roster_table {
    font-size: 12px; /* Slightly smaller for print */
  }

  #class_roster_table th {
    background-color: #F2F2F2 !important; /* Ensure header stands out */
    -webkit-print-color-adjust: exact;    /* Make sure browsers print the background */
    print-color-adjust: exact;
  }

  #class_roster_table tr:nth-child(even) {
    background-color: #F5F5F5 !important; /* Slightly darker gray for printers */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
