html,
body {
    height: 100%;
    display: flex;
    flex-direction: column;
}

html,
body,
p,
ul,
li {
    margin: 0 !important;
    padding: 0 !important;
}

img {
    max-width: 100%;
}

a {
    text-decoration: none !important;
}

ul,
li {
    list-style: none;
}

.centered {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(-50%);
}

span {
    font-weight: 500;
}

.active {
    display: block !important;
}

tr.active-row {
    background: #adadad !important;
}

/* Campus modal: keep description textarea from growing too tall */
#add_campus_model textarea#description {
    max-height: 180px;
    overflow-y: auto;
    resize: vertical;
}

/* Class Room modal: keep description textarea from growing too tall */
#add_classroom_model textarea#description {
    max-height: 180px;
    overflow-y: auto;
    resize: vertical;
}

/* Class Rooms / Campuses: toolbar — flex row, even gaps, primary Add aligned end on md+ */
.classroom-filters-toolbar,
.campus-filters-toolbar {
    margin-bottom: 0.5rem;
}

/* Hide number input spinners (Chrome/Safari/Edge + Firefox) */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.classroom-filters-toolbar .classroom-filters-search,
.campus-filters-toolbar .campus-filters-search {
    min-width: min(100%, 12rem);
    max-width: 20rem;
    flex: 1 1 12rem;
    height: 38px;
}

.classroom-filters-toolbar .btn,
.campus-filters-toolbar .btn {
    white-space: nowrap;
}

@media (max-width: 767.98px) {

    .classroom-filters-toolbar .get-readers,
    .campus-filters-toolbar .campus-add-btn {
        width: 100%;
    }
}

/*#student-details{ display: none;}*/
/*#student_form{ width: 70%; }*/
#student-submit {
    display: block;
    margin: auto;
}

.contact-details .student-info-outer-layout {
    position: relative;
}

#container-form-details-of-student,
#container-form-add-student {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 15px;
    border: solid 1px #ccc;
    padding: 10px;
    margin: 25px 0;
    border-radius: 5px;
    border-bottom: solid 2px #ccc;
    border-right: solid 1px #ccc;
    border-top: solid 1px #ccc;
    background: #fff;
    padding-top: 25px !important;
}

#student-details {
    background: rgb(209, 209, 209);
    background: linear-gradient(180deg, rgba(209, 209, 209, 1) 0%, rgba(242, 242, 242, 1) 100%);
}

.confirm-class-delete,
#confirm-student-delete {
    border: solid 1px #ccc;
    padding: 20px;
}

#add-student {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.add-user-container label {
    display: inline-block;
}

.add-user a#add-user {
    display: flex;
    align-items: flex-end;
    width: 100%
}

/*#add-student-form {
    display: flex;
    align-items: flex-start;
    width: 100%;
    flex-direction: column;
}*/
#add-student-form {
    display: block;
    border: solid 1px #ccc;
    width: 100%;
    border-radius: 5px;
}

#add-student-form #submit-students,
#add-student-form #confirm-submit-students {
    margin-left: 15px;
}

#add-student-form .list-students-container {
    width: 100%;
}

#add-student-form input[type="submit"],
#add-student-form button {
    margin: 10px 0;
}

#assigned-students {
    /* width: 86.5%; */
}

#assigned-student-wrapper {
    padding: 0 !important;
}

.attendance a#attendance,
.class a#classes,
.installer a#installer,
.add-user a#add-user,
.student a#students {
    color: #0a58ca !important;
}

table#antenna,
#suggested-use table {
    width: 100%;
}

#suggested-use table img {
    max-width: 95%;
}

#suggested-use table tr:first-child {
    border-bottom: solid 1px #ccc;
}

table#antenna tr:first-child {
    background: #ccc;
    text-align: left;
}

#suggested-use table td {
    width: 50%;
    padding-right: 25px;
}

table#antenna tr:first-child {
    background: #ccc;
    text-align: center;
}

table#antenna td {
    text-align: center;
}

.attendance #content {
    display: none;
}

.border-0 {
    border: 0;
}

.block {
    display: block !important;
}

#class-details {
    flex-direction: column;
}

#class-details div:first-child {
    display: flex;
    align-items: center;
}

#class-info-list {
    width: 100%;
}

/* Class page: wide edit row stays inside main column (flex shrink + horizontal scroll if needed) */
.class-reader#content-wrapper {
    flex: 1 1 0%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.class-reader #class-details {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

.class-reader #class-info-list {
    overflow-x: auto;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#class-info-list tr td.class-id,
#class-info-list tr td.assign-id,
#class-info-list tr td.startdate-id,
#class-info-list tr td.enddate-id,
#class-info-list tr td.starttime-id,
#class-info-list tr td.endtime-id,
#class-info-list tr.td.dow-id,
#class-info-list tr td.classroom-id,
#class-info-list tr td.teacher-id,
#class-info-list tr td.session-id {
    cursor: pointer;
}

#class-info-list table {
    width: 100%;
}

#class-info-list th {
    background: #ccc;
    text-align: center;
}

#class-info-list tr:hover {
    background: #ccc;
}

#class-info-list td {
    text-align: center;
    padding: 3px;
}

#class-list {
    width: 50%;
}

#class-list a {
    color: #333;
    transition: .25s ease color;
}

#class-list a:hover {
    color: #555;
    transition: .25s ease color;
}

#classroom {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 25px;
}


#classroom-id {
    float: right;
}

#classroom span {
    margin-right: 15px;
}

select[name="classroom"],
select[name="teacher"],
select[name="session"] {
    width: auto !important;
    display: inline-flex;
    margin-right: 15px;
}

/* Class grid row edit: readable date/time fields; avoid forcing page-wide overflow */
#class_form td.startdate-id,
#class_form td.enddate-id,
#class_form td.starttime-id,
#class_form td.endtime-id {
    vertical-align: middle;
    padding: 0.5rem 0.45rem;
    min-width: 0;
}

#class_form td.startdate-id input[type="date"],
#class_form td.enddate-id input[type="date"],
#class_form td.starttime-id input[type="time"],
#class_form td.endtime-id input[type="time"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0.45rem 0.5rem;
    text-align: start;
    box-sizing: border-box;
    margin: 0;
}

#class_form td.startdate-id input[type="date"]::-webkit-calendar-picker-indicator,
#class_form td.enddate-id input[type="date"]::-webkit-calendar-picker-indicator,
#class_form td.starttime-id input[type="time"]::-webkit-calendar-picker-indicator,
#class_form td.endtime-id input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    margin-inline-start: 0.15rem;
    margin-inline-end: 0;
    opacity: 0.9;
}

#class_form td.classroom-id,
#class_form td.teacher-id,
#class_form td.session-id {
    vertical-align: middle;
    padding: 0.5rem 0.45rem;
    min-width: 0;
}

#class_form td.classroom-id .form-select,
#class_form td.teacher-id .form-select,
#class_form td.session-id .form-select {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
}

#class-reader {
    margin-top: 25px;
}

#class-details,
#class-reader #classroom,
#class-reader #reader {
    display: flex;
    justify-content: flex-start;
}

.class-reader label {
    font-weight: 700;
}

#buzzer-state,
#send-interval-inner-container,
#class-dropdown {
    display: flex;
    align-items: center;
}

.add-user-container label,
.add-user-container input[type="submit"] {
    margin-top: 15px;
}

#attendance-container {
    flex-basis: 40%;
}

#content-wrapper {
    flex-direction: column;
    padding: 25px 20px 0 20px;
}

#content {
    justify-content: space-between;
    margin: 20px 0;
    display: none;
}

#content>div {
    width: auto;
}

#content select {
    width: 450px;
}

.content-panel-title-and-number {
    display: none;
}

.container {
    padding: 0 20px;
}

.even {
    background: #fff;
}

.edit {
    display: block;
    padding-top: 3px !important;
    border: 0 !important;
}

.odd {
    background: #e6e6e6;
}

#fac-container {
    display: flex;
    justify-content: start;
    align-items: center;
}

#fac-list .padding-right-15 .save-class-icon {
    display: none;
}

#fac-list .active_save .save-class-icon {
    display: inline;
}

#fac-container #find-a-class,
#class-area-name {
    flex-basis: 40%;
}

.class-reader input {
    margin: 0 15px;
    margin-top: 5px !important;
}

.find-student {
    flex-basis: 30% !important;
    margin-left: 10px;
    margin-right: 10px;
}

#find-a-student {
    flex-basis: 50%;
}

.font-weight-400 {
    font-weight: 400 !important;
}

.font-weight-500 {
    font-weight: 500;
}

.footer {
    background-color: #f0f0f0;
    position: fixed;
    padding: 10px 10px 0px 10px;
    bottom: 0;
    width: 100%;
    height: 40px;
}

.footer p {
    text-align: center;
}

select[name="installed-antenna-drop-down"] {
    width: 300px;
}

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

#install-info {
    padding: 10px 0;
}

#installed-antenna-inner-container>div {}

.installer .sub-masthead {
    display: block;
}

input[name="set-received-ip"] {
    width: 100px;
}

input[name="rx"],
input[name="tx"],
input[name="send-interval"] {
    width: 45px;
    text-align: center;
}

.list-of-classes {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.list-of-classes:hover {
    background: #ccc;

}

#list-container {
    flex-basis: 100%;
}

#logo {
    width: auto;
}

#logo img {
    width: 120px;
}

#left-nav h4 a,
a #school-name {
    color: #000 !important;
    transition: color .1s linear .1s;
}

#left-nav h4 a:hover,
a #school-name:hover {
    color: #0d6efd !important;
    transition: color .1s linear .1s;
}

#left-nav {
    width: 250px;
    border-bottom: solid 2px #ccc;
    border-right: solid 1px #ccc;
    border-top: solid 1px #ccc;
    background: rgb(209, 209, 209);
    background: linear-gradient(180deg, rgba(209, 209, 209, 1) 0%, rgba(242, 242, 242, 1) 100%);
    height: auto;
    border-radius: 5px;
    margin-top: 25px;
    margin-left: 25px;
    padding-top: 25px;
}

#left-nav h4 {
    text-align: center;
    line-height: .5;
    margin-bottom: 25px;
    text-shadow: -1px -1px white, 1px 1px #333
}

#left-nav ul li {
    border-bottom: solid 2px #ccc;
    border-top: solid 1px #fff;
    padding: 10px 0 !important;
}

#left-nav ul li i {
    padding-left: 25px;
    padding-right: 5px;
    width: 50px;
}

#left-nav ul li a {
    text-decoration: none;
    padding-left: 3px;
    color: #000;
    transition: color .1s linear .1s;
    display: block;
}

#left-nav ul li a:hover {
    color: #0a58ca !important;
    transition: color .1s linear .1s;
}

#lc-container {
    border: solid 1px #ccc;
    height: 200px;
    overflow-y: scroll;
}

.list-students-container {
    display: flex;
    justify-content: start;
}

#list-students-wrapper {
    flex-basis: 100%;
    padding: 0 !important;
}

.list-student-name {
    flex-basis: 53%;
}

#login-container {
    background: rgb(209, 209, 209);
    background: linear-gradient(180deg, rgba(209, 209, 209, 1) 0%, rgba(242, 242, 242, 1) 100%);
    padding: 10px 25px;
    border: solid 1px #ccc;
    border-radius: 3px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#login-container label,
#login-container input[type="password"],
#login-container input[type="text"],
#login-container input[type="submit"] {
    display: block !important;
    color: #333;
}

#login-container label {
    font-weight: bold;
}

#login-container input[type="submit"] {
    color: #fff;
}

#login-container input:not([type="checkbox"]):not([type="radio"]),
#login-container submit {
    padding-bottom: 5px;
    margin-bottom: 10px;
}

#login-container .form-check-input {
    margin-bottom: 0;
    padding-bottom: 0;
}

a#logout {
    color: #333;
    font-weight: 500;
}

#bottom-section-container,
#content,
#content-wrapper,
#class_form .teacher,
#detailed-reader-info-container,
.flex,
#installed-transactions-container,
#info-container,
#list-container,
#menu ul,
#masthead,
#rx,
#recent-transactions-inner-container,
#second,
#student-class-details,
#whereabouts,
#wrapper {
    display: flex;
}

.margin-all-25 {
    margin: 25px;
}

.margin-left-0 {
    margin-left: 0 !important;
}

.margin-left-5 {
    margin-left: 5px;
}

.margin-right-5 {
    margin-right: 5px;
}

.margin-right-15 {
    margin-right: 15px;
}

.margin-right-25 {
    margin-right: 25px;
}

.margin-right-50 {
    margin-right: 50px;
}

.margin-right-300 {
    margin-right: 300px;
}

.margin-top-5 {
    margin-top: 5px;
}

.margin-top-n-9 {
    margin-top: -9px !important;
}

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

.margin-top-25-i {
    margin-top: 25px !important;
}

.margin-special-5-15 {
    margin: 5px 15px 5px 15px !important;
}

.margin-left-10 {
    margin-left: 10px;
}

.margin-left-50 {
    margin-left: 50px;
}

.margin-left-100 {
    margin-left: 100px;
}

.margin-right-10 {
    margin-right: 10px;
}

.margin-bottom-5 {
    margin-bottom: 5px;
}

.margin-bottom-10 {
    margin-bottom: 10px;
}

.margin-bottom-15 {
    margin-bottom: 15px;
}

.margin-bottom-25 {
    margin-bottom: 25px;
}

.margin-top-25 {
    margin-top: 25px;
}

.margin-top-15 {
    margin-top: 15px;
}

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

.width-100-percent {
    width: 100% !important;
}

.width-25-percent {
    width: 25% !important;
}

#masthead {
    width: 100%;
    justify-content: space-between;
    align-items: center;
    background: rgb(209, 209, 209);
    background: linear-gradient(180deg, rgba(209, 209, 209, 1) 0%, rgba(242, 242, 242, 1) 100%);
    border-bottom: solid 1px #ccc;
    color: #333;
    height: 145px;
    padding: 5px 25px;
}

#main {
    overflow: auto;
    padding: 25px;
}

#masthead #menu ul li {
    list-style: none;
}

#masthead a#login {
    color: #000;
}

#message,
.edit {
    display: block;
}

.show-only-this-button {
    display: block !important;
}

/*#student-info{width: 50% !important;}*/

/*#add-contacts,*/
#msg .update-contact-link,
.hide-the-image,
#campuse_dropdown,
#container-form-client-email,
#add-contacts-button,
#confirm-submit-students,
.do-not-show,
.confirm-class-delete,
#confirm-student-delete,
#add-student,
#student-class-details,
#student-info-list,
#student-contact-info-list-update,
#student-contact-info-list,
.update {
    display: none;
}

.confirm-class-delete {
    width: 50%;
}

.ns-center {
    text-align: center;
}

.ns-button {
    border: solid 1px #ccc;
    text-align: center;
    padding: 5px 0;
    box-shadow: 2px 2px 2px rgb(0 0 0 / 50%);
    width: 170px;
    cursor: pointer;
    font-weight: 500;
}

.ns-center-button {
    text-align: center !important;
    display: block;
    display: block !important;
    margin: auto;
    margin-top: 10px;
}

.parent-info {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
}

.parent-info td {
    padding-top: 10px;
}

.parent-info td:first-child,
.parent-info td:nth-child(2) {
    background: #ccc;
    text-align: right;
}

.parent-info td:first-child {
    padding-left: 5px;
}

.parent-info .student-info-outer-layout {
    border: solid 1px #ccc;
    border-radius: 5px;
    width: 100%;
    padding: 5px;
    background: #fff;
}

#container-form-client-email {
    position: absolute;
    width: 50%;
    padding: 25px 35px;
    background: rgba(0, 0, 0, .8);
    border: solid 1px #fff;
    color: #fff;
    z-index: 9;
    border-radius: 5px;
}

.contact-details {
    max-width: 100%;
    position: relative;
    display: flex;
    border: solid 1px #777;
    border-radius: 5px;
}

.client-email,
.parent-info .twilio-button {
    color: #fff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.client-email:hover,
.parent-info .twilio-button:hover {
    color: #fff;
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

.client-email,
.twilio-button {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.parent-info tr {
    border-bottom: solid 1px #c4c4c4;
}

.padding-right-5 {
    padding-right: 5px;
}

.padding-left-5 {
    padding-left: 5px;
}

.padding-top-bottom-5 {
    padding: 5px 0;
}

.padding-left-10 {
    padding-left: 10px;
}

.padding-right-10 {
    padding-right: 10px;
}

.padding-right-15 {
    padding-right: 15px;
}

.padding-right-15a {
    padding-right: 0;
}

.padding-left-15 {
    padding-left: 15px;
}

.padding-right-50 {
    padding-right: 50px;
}

.pad-15-top-bottom {
    padding: 5px 0;
}

.red {
    color: red;
}

.red-background {
    background: red;
}

.green-background {
    background: green;
}

.yellow-background {
    background: yellow;
}

#refresh-transactions {
    display: none;
}

.remove-container {
    display: none !important;
}

#reader span {
    margin-right: 20px;
}

.require-cg-value {
    border: solid 1px red !important;
    padding-top: 7px !important;
}

#rx {
    justify-content: start;
    align-items: center;
}

.save-class-icon {
    display: none;
}

#second {
    align-items: center;
}

.separator {
    padding: 0 15px !important;
}

select[name="session"] {
    width: 700px;
}

select[name="hub-reader-dropdown"] {
    display: none;
}

select[name="session-dropdown"] {
    margin-right: 25px;
}

#school-name {
    margin-left: 25px;
    font-weight: 800;
    font-size: 25px;
}

#session-container {
    align-items: center;
    font-weight: bold;
}

#session-container {
    display: flex;
    align-items: center;
}

.set-block {
    display: block !important;
}

.set-center {
    text-align: center;
}

.status .form-select {
    display: inline-block !important;
    width: auto;
    margin-right: 15px;
}

#msg #student-contact-form {
    margin-top: 25px;
    border: solid 1px #ccc;
    padding: 10px;
    border-radius: 5px;
}

#student-contact-form {
    display: flex;
    gap: 15px;
}

#student-class-details {
    flex-direction: column;
    width: 35%;
}

#student-class-details>div:first-child {
    display: flex;
    align-items: center;
}

.teacher {
    align-items: center;
    justify-content: center;
}

.title-of-list {
    background: #ccc;
    display: flex;
    padding-left: 15px;
    font-weight: 700;
}

td.top-level {
    border-right: solid 1px #ccc !important;
}

td.teacher td select {
    margin-top: -5px !important;
}

tr.odd,
tr.even {
    border-top: solid 1px #ccc !important;
}

#total-registered {}

#student-details {
    position: relative;
    margin-top: 25px;
}

#student-details #find-a-student {
    flex-basis: 50%;
}

#student-middle-initial {
    width: 55px;
}

#teacher {
    width: 100%;
}

#twilio-message-container {
    display: none;
    padding: 25px 35px;
    background: rgba(0, 0, 0, .8);
    border: solid 1px #fff;
    width: 50%;
    position: absolute;
    z-index: 9;
}

#twilio-message-container textarea#message {
    height: auto !important;
    max-height: 180px !important;
    overflow-y: auto;
    resize: vertical;
}

.close_email_form,
.close_twilio_form {
    border: solid 1px #000;
    position: absolute;
    left: 98%;
    top: -10px;
    width: 25px;
    height: 25px;
    background: #fff;
    padding: 5px;
    border-radius: 50%;
}

.close_email_form a,
.close_twilio_form a {
    position: absolute;
    left: 25%;
    top: 0;
    font-weight: bold;
    color: #000 !important;
}

#twilio-message-container small,
#twilio-message-container div {
    color: #fff;
    display: block;
}

#twilio-message-container span {
    font-weight: normal !important;
}

#twilio-msg-overlay {
    display: none;
    background: rgba(0, 0, 0, .5);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
}

.sub-masthead {
    border-bottom: solid 1px #ccc;
    padding-bottom: 5px;
}

.sub-masthead-top {
    display: none;
    justify-content: space-between;
}

.sub-masthead-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#submit-students {
    height: 38px;
}

#assigned-student-wrapper,
#class-details,
#list-students-wrapper,
#suggested-use,
#student-details,
#student-class-details,
#detailed-reader-info-container,
#installed-antenna-container,
#recent-transactions-container {
    border: solid 1px #ccc;
    padding: 10px 15px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px;
}

#student_form {
    width: 100%;
}

#student-name,
.content-panel-title-and-number {
    border: solid 1px #777;
    border-bottom: 0;
    width: 250px;
    height: 35px;
    padding-left: 5px;
    background: #ccc;
    background: rgb(209, 209, 209);
    background: linear-gradient(180deg, rgba(209, 209, 209, 1) 0%, rgba(242, 242, 242, 1) 100%);
    color: #333;
    font-weight: bold;
    border-top-right-radius: 5px;
}

.underline {
    border-bottom: solid 1px #ccc;
    padding-bottom: 5px;
}

#whereabouts {
    justify-content: space-between;
    color: red;
    margin-bottom: 10px;
}

.width-100 {
    width: 100% !important;
}

#wrapper {
    min-height: 100%;
}

#whereabouts+p {
    font-weight: 500;
}

.icon-style {
    text-decoration: none;
    padding-left: 3px;
    color: #000;
    transition: color .1s linear .1s;
    display: block;
}

.icon-style:hover {
    cursor: pointer
}

.txt-center {
    text-align: center;
}

.loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(16, 16, 16, 0.5);
    display: none;
    z-index: 9999;
}

.loader {
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid #000000;
    width: 30px;
    height: 30px;
    -webkit-animation: spin 2s linear infinite;
    /* Safari */
    animation: spin 2s linear infinite;
    position: relative;

    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 70px;
    width: 70px;
}

#forgot-password :hover {
    cursor: pointer
}

#back-to-login :hover {
    cursor: pointer;
    color: #0d6efd;
}

#back-to-login {
    color: #0d6efd;
}

.btn-secondary {
    background-color: #403a3f;
}

.truncate-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 40ch;
    /* Display only the first 15 characters */
    cursor: pointer;
    /* Set cursor to pointer to indicate hoverability */
}

.truncate-text:hover {
    max-width: none;
    /* Display the entire text on hover */
}

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

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

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

    100% {
        transform: rotate(360deg);
    }
}

@media (max-width: 800px) {
    #masthead {
        flex-direction: column;
        height: auto;
    }

    #logo-img {
        max-width: 30%;
    }

    #menu {
        margin: 15px 0;
    }

    #container-form-details-of-student,
    #container-form-add-student {
        flex-direction: column;
    }
}

@media (max-width: 890px) {

    .add-user-container,
    #content select,
    #student-name,
    .content-panel-title-and-number {
        width: 100% !important;
    }

    #bottom-section-container {
        flex-direction: column;
    }

    #install-info .margin-left-100 {
        margin-left: 0px;
    }

    #installed-antenna-container {
        width: auto;
        margin-left: 0 !important;
        margin-top: 15px;
    }

    #id-of-reader>span {
        float: left;
        margin-right: 0;
        margin-left: 0 !important;
    }

    #id-of-reader #classroom-id {
        float: unset !important;
    }

    #hubReader {
        margin-bottom: 10px;
    }

    #last-received-time-label {
        margin-left: 0 !important;
        display: inline-block;
    }

    #container-form-add-student {
        flex-direction: column;
    }

    #left-nav {
        width: 95%;
        height: 100%;
        margin: 15px auto;
        display: block;
    }

    #list-container {
        flex-direction: column;
    }

    .margin-right-300 {
        margin-right: 0;
        margin: 25px 0;
    }

    #reader,
    #class-reader #classroom,
    #session-container {
        flex-direction: column;
        align-items: normal;
    }

    #reader button.margin-left-10,
    #reader button.margin-right-10 {
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 10px;
    }

    #attendance-button {
        margin-left: 0 !important;
    }

    #class-reader #reader {
        align-items: unset;
    }

    #session-container .btn-group {
        margin-top: 15px;
    }

    #wrapper {
        flex-direction: column;
    }
}

@media (max-width: 1170px) {
    #list-container {
        flex-direction: column;
    }

    #absent-container {
        margin-top: 25px;
    }
}

@media (min-width: 890px) {
    .add-user-container {
        width: 40%;
    }

    #add-student-contacts {
        width: 50%;
    }

    #content-wrapper {
        width: 80%;
    }
}

@media (min-width: 1024px) {
    #left-nav h4 {
        padding-left: 25px;
        text-align: left;
    }
}

@media (max-width: 1060px) {
    #content {
        flex-direction: column;
    }

    #attendance-container,
    #absent-container {
        margin-bottom: 15px;
    }

    .ns-center-button {
        display: unset !important;
    }

}

@media (max-width: 1180px) {
    #student-class-details>div:first-child {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    #student-class-details #find-a-student {
        margin: 5px 0 !important;
    }

    #find-student-button {
        width: 100%;
    }
}

@media (max-width: 1310px) {
    .contact-details {
        flex-direction: column;
        max-width: 100%;

    }

    #twilio-message-container,
    #container-form-client-email {
        width: 100%;
    }

    .contact-details .student-info-outer-layout {
        max-width: 94%;
    }
}

@media (max-width: 1610px) {
    .sub-masthead-bottom {
        flex-direction: column;
        justify-content: start;
        align-items: start;
    }

    #session-container {
        margin: 15px 0;
    }
}