.modal.show {
    background: #00000070;
}

.modal-content .modal-footer {
    background: #f9f9f9;
    padding: 10px;
    padding-top: 9px !important;
    border-top: 1px solid  #ccc;
}

button.modal-btn {
    padding: 10px;
    font-size: 11px;
    text-transform: uppercase;
    line-height: 12px;
    padding-left: 15px;
    padding-right: 15px;
}

.modal-body {
    border-top: 1px solid #ff3636;
}

.modal-content .modal-header {
    padding: 20px;
    font-size: 12px;
    text-transform: uppercase;
    background: #313740;
    color: #fff;
}

/* sidebar */

.theme-black .sidebar .menu .list li.active{
    border-left: 5px solid #ffcf25;
    border-radius: 0;
    background: #3b4759;
}

div#leftsidebar {
    padding: 0 !important;
}
#leftsidebar ul.list{
    padding: 0px;
}

/* -------------------- */

div#map {
    width: 100%;
    height: 60vh;
    margin-bottom: 10px;
    border-radius: 0.55rem;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    margin-top: 10px;
}

.btn-disabled {
    cursor: default;
    background-color: #ccc !important;
    color: #646464 !important;
}
.btn-disabled:hover{
    box-shadow: none !important;
    color: #646464 !important;
    cursor: default !important;
}


/* map style container */

#mapStyleContainer {
    position: absolute;
    top: 10px;
    right: 60px;
    z-index: 4;
    width: 115px;
    overflow: hidden;
    height: auto;
    display: none;
    min-height: 40px;
}

#mapStyleContainer button {
    /* width: 100%; */
    /* display: block; */
    position: absolute;
    top: -1px;
    left: -1px;
    /* padding: 0; */
    margin: 1px;
}

div#layerSelectionContainer {
    z-index: 2;
}

.style-content {
    background: #fff;
    min-height: 200px;
    width: 100%;
    /* position: absolute; */
    margin-top: 20px;
    z-index: 5;
    border-radius: 5px;
    display: none;
}

#mapStyleContainer button {
    position: absolute;
}

.style-content {
    padding-top: 18px;
}

.map-style-row {
    /* padding: 5px; */
    border-top: 1px solid #f3f3f3;
    /* margin: 5px; */
    background: #ffffff;
    padding: 5px;
    font-size: 14px;
    font-weight: 500;
    color: #3e3e3e;
    padding-left: 10px;
}

.map-style-row.selected {
    background: #464646 !important;
    padding: 5px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    padding-left: 10px;
}
.map-style-row:hover {
    cursor: pointer;
    background: #f5f5f5;
}

.style-content {
    overflow: hidden;
    padding-bottom: 5px;
}

div#mapContainer {
    position: relative;
}

button#mapStyleBtn {
    font-size: 13px;
    line-height: 18px;
}

/* ---------------- */

/* modal form */
.form-container {
    font-size: 0.9rem;
    /* border-bottom: 1px solid #ccc; */
    margin-bottom: 30px;
}

.form-section-title {
    font-size: 1rem;
    border-bottom: 1px solid #ebe4e4;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: bold;
    color: #313740;
}

.form-container .bootstrap-select {
    border: none;
    padding: 0;
}

.form-container .bootstrap-select button {
    display: none;
}

.form-container input {
    font-size: 0.9rem;
    border-radius: 0.5rem;
    line-height: 1.5rem;
}

.form-container input:focus {
    font-size: 1rem !important;
}

.form-container label {
    margin-bottom: 0;
    font-size: 12px;
}

.form-container .form-group {
    margin-bottom: 5px;
}

.form-container select {
    border-radius: 0.5rem;
    font-size: 0.9rem;
}

.form-container select:focus {
    font-size: 0.9rem !important;
}

select.simple-select {
    border-radius: 0.5rem;
    font-size: 0.9rem;
}

select.simple-select:focus {
    font-size: 0.9rem !important;
}

.form-time-selector .bootstrap-select {
    float: left;
    display: block;
    width: 140px;
    margin-right: 10px;
}

#addStudentModal .form-time-selector .bootstrap-select {
    float: left;
    display: block;
    width: 174px;
    margin-right: 10px;
}


.form-time-selector {
    overflow: hidden;
}

/* ------------- */


.infowindow-title {
    font-size: 20px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 7px;
    margin-bottom: 7px;
}

.infowindow-label {
    text-transform: uppercase;
    font-size: 11px;
}

.infowindow-value {
    font-weight: bold;
    color: #636363;
}

.infowindow-row {
    margin-bottom: 5px;
}

.infowindow-cname {
    font-size: 0.8vw;
    color: #ef6c00;
    border-left: 5px solid #ef6c00;
    font-weight: bold;
    padding-left: 0.2vw;
}

.infowindow-comment {
    font-size: 14px;
    margin-top: 3px;
}

.infowindow-cname.type-school {
    margin-bottom: 10px;
}

.infowindow-address {
    font-size: 0.8vw;
    max-width: 10vw;
}

.infowindow-city {
    font-size: 0.7vw;
}

.infowindow-postal_code {
    font-size: 0.7vw;
}

/* map item details */
.map-item-details {
    position: absolute;
    bottom: 15px;
    right: 10px;
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    /* width: 100%; */
    max-width: 300px;
    min-width: 250px;
    display: none;
}

.map-item-header {
    background: #313740;
    padding: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ffcf25;
}

.map-item-type {
    color: #959597;
    font-size: 11px;
    text-transform: uppercase;
    line-height: 12px;
}

.map-item-title {
    color: #fff;
    /* border-left: 2px solid #fff; */
    font-size: 20px;
    font-weight: 100;
    line-height: 30px;
}

.map-item-body {
    padding: 15px;
}

.map-item-detail-label {
    font-size: 12px;
    font-weight: bold;
    line-height: 12px;
    color: #4a4a4a;
}

.map-item-detail-value {
    font-size: 16px;
    margin-bottom: 6px;
}

.map-item-footer {
    background: #f5f5f5;
    border-top: 1px solid #ccc;
    padding: 5px;
}

.map-item-footer button {
    float: right;
    margin-left: 5px;
    font-size: 12px;
    padding: 10px;
    padding-left: 15px;
    padding-right: 15px;
    min-width: 75px;
    border-radius: 5px;
}

.map-item-footer {
    overflow: hidden;
}

.map-item-close-btn {
    color: #fff;
    position: absolute;
    right: 10px;
    top: 19px;
    background: #5f6266;
    padding: 5px;
    padding-top: 0;
    border-radius: 3px;
    padding-bottom: 5px;
}

.map-item-close-btn:hover {
    background: #ccc;
    color: #313740;
    cursor: pointer;
}

.map-item-detail-value {
    line-height: 18px;
    margin-bottom: 12px;
    font-weight: bold;
}

table.table {
    border: 1px solid #dbdbdb;
    /* border-radius: 3px; */
    /* overflow: hidden; */
}

table.clickable tr.selected-grid-row {
    background: #2085cc!important;
    color: #ffffff;
    cursor: default;
    box-shadow: 0px 0px 5px -1px #000 inset;
}

table.clickable tr {
    cursor: pointer;
}

.footer-delete-btn{
    width: calc(25% - 10px); padding: 5px !important; float: left !important; min-width:0 !important;
}

.footer-delete-btn i{
    font-size: 23px; vertical-align: -3px; color: #ffffff;padding: 0px;
}

.footer-delete-btn i {
    color: #ff3636;
}

.footer-delete-btn {
    background: none;
    border: 1px solid #f55 !important;
}

.footer-delete-btn:hover i {
    color: #fff;
}

#confirmModal .modal-body {
    line-height: 1.4 !important;
    padding-bottom: 30px;
    text-align: center;
}

#alertModal .modal-body {
    line-height: 1.4 !important;
    padding-bottom: 30px;
    text-align: center;
}


.upload-file-template {
    text-align: center;
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 30px;
    margin-top: 30px;
}

div#uploadSchoolModal .form-container {
    margin-bottom: 10px;
}

.form-file-upload-instruction {
    text-align: center;
    font-size: 13px;
    margin-bottom: 15px;
    margin-top: 0px;
}

.upload-file-template a {
    color: #939393;
    font-weight: bold;
}

.upload-file-template a:hover {
    color: #1f5bb5;
}

div#mapStyleContainer {
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 5px;
}

.table-container {
    max-height: calc(40vh - 185px);;
    overflow: auto;
    min-height: 120px;
}

.layer-selector-container {
    display: none;
}

.map-layer-selector {
    position: absolute;
    bottom: 36px;
    left: 56px;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    display: none;
}

.search-container-data{
    opacity: 0;
}

.layer-selector-icon {
    padding: 10px;
    font-size: 0px;
    color: #666;
}

.layer-selector-icon:hover {
    background: #cce4f9;
    color: #145c9d;
    cursor: pointer;
}


.layer-item-row {
    overflow: hidden;
    /* min-width: 200px; */
    margin-bottom: 5px;
}

.layer-item-input {
    float: left;
    margin-right: 9px;
}

.layer-item-icon {
    float: left;
    margin-right: 4px;
}

.layer-item-label {
    float: left;
    font-size: 12px;
    /* text-transform: uppercase; */
    line-height: 20px;
}

.layer-selector-body {
    padding: 20px;
    padding-bottom: 5px;
}

.layer-selector-footer {
    padding: 2px;
    background: #e7e7e7;
    border-top: 1px solid #ccc;
    padding-right: 4px;
    padding-left: 4px;
}

button#layerHideBtn {
    width: calc(100% - 3px) !important;
    font-size: 12px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.layer-item-row:hover {
    cursor: pointer;
    color: #0075ff;
}

.search-result-container {
    position: absolute;
    top: 40px;
    background: #fff;
    left: 15px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    z-index: 5;
    width: 330px;
    /* padding: 10px; */
    /* padding-left: 10px; */
    /* padding-right: 10px; */
    padding-top: 10px;
    padding-bottom: 10px;
    display: none;
}

.result-row {
    overflow: hidden;
    padding: 2px;
    padding-left: 20px;
    padding-right: 20px;
}

.result-id {
    display: none;
}

.result-type {
    float: right;
    font-size: 12px;
    line-height: 26px;
    text-transform: capitalize;
}

.result-text {
    font-size: 13px;
    line-height: 25px;
}

.result-row:hover {
    cursor: pointer;
    background: #3b4759;
    color: #fff;
}

.result-row.no-result-row {
    text-align: center;
    color: #ccc;
}

.result-row.no-result-row:hover {
    cursor: default;
    background: #fff;
    color: #ccc;
}

.grid-buttons {
    width: 100px;
    overflow: hidden;
    padding-right: 10px;
}

.grid-buttons .button-row {
    float: right;
    /* max-width: 20px; */
    overflow: hidden;
    background: #e1e1e1;
    margin: 1px;
    padding: 1px;
    line-height: 0;
    border-radius: 3px;
    margin-right: 10px;
}

.button-row.button-red {
    background: #ff7a7a;
    /* color: #ccc; */
}

.button-row.button-red i {
    color: #b14c4c !important;
}

.button-row.button-blue {
    background: #7ac8ff;
    /* color: #ccc; */
}

.button-row.button-blue i {
    color: #4c70b1 !important;
}

.button-row:hover {
    cursor: pointer;
    background: #ccc;
}

.button-row:hover i {
    color: #313740 !important;
}

.assignment-visibility-btn {
    background: #313740;
    color: #fff;
    padding: 2px;
    text-align: center;
    margin: 10px;
    margin-top: 0px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 20px;
    /* padding-top: 2px; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border: 1px solid #313740;
}

.assignment-visibility-btn:hover {
    cursor: pointer;
    background: #686868;
    color: #fff;
}

.assignment-body {
    display: none;
}

.assignment-edit-button {
    background: #313740;
    color: #fff;
    padding: 2px;
    text-align: center;
    margin: 10px;
    margin-top: 0px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 20px;
    /* padding-top: 2px; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border: 1px solid #313740;
}

.assignment-shift-tab {
    overflow: hidden;
    margin-bottom: 3px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.assignemnt-shift-tab-item {
    float: left;
    text-align: center;
    width: 50%;
    background: #f5f5f5;
    color: #adadad;
    padding: 5px;
    font-weight: 100;
}

.assignment-shift-tab {
    border-bottom: 1px solid #cfcfcf;
}

.assignemnt-shift-tab-item.active {
    background: #313740 !important;
    color: #fff !important;
    cursor: default !important;
    font-weight: bold;
}

.assignemnt-shift-tab-item:hover {
    cursor: pointer;
    color: #313740;
    background: #d7d7d7;
}

.assignment-data {
    padding: 10px;
}

.assignemnt-row {
    font-size: 14px;
    border-left: 3px solid #313740;
    padding-left: 5px;
    margin-bottom: 4px;
}

.assignemnt-row:hover {
    border-left: 5px solid #f1c423;
    cursor: pointer;
    color: #786211;
    font-weight: bold;
}

.assignment-data {
    min-height: 120px;
}

.assignment-edit-button:hover {
    cursor: pointer;
    background: #686868;
    color: #fff;
}


.assignment-cancel-button {
    background: #fff;
    color: #d74141;
    padding: 2px;
    text-align: center;
    margin: 10px;
    margin-top: 0px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 20px;
    /* padding-top: 2px; */
    /* box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%); */
    border: 1px solid #ffa1a1;
    margin-bottom: 5px;
}

.assignment-save-button {
    background: #f1c423;
    color: #313740;
    padding: 2px;
    text-align: center;
    margin: 10px;
    margin-top: 0px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 20px;
    /* padding-top: 2px; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border: 1px solid #d7ae1d;
}

.assignment-cancel-button:hover {
    background: #ef6666;
    color: #fff;
    cursor: pointer;
    border:1px solid #d74141;
}

.assignment-save-button:hover {
    background: #ffd130;
    cursor: pointer;
}

.assignment-save-button.disabled-button {
    background: #ccc;
    border-color: #ccc;
    color: #959393;
    box-shadow: none;
}

.assignment-cancel-button.disabled-button {
    background: #fff;
    border-color: #ccc;
    color: #959393;
    box-shadow: none;
}

h2.main-header span {
    /* font-size: 17px; */
    font-weight: 100;
    color: #959595;
}

.sub-header {
    font-size: 11px;
    color: #7a7a7a;
}

.sub-header span {
    color: #ccc;
    font-size: 13px;
    line-height: 13px;
}

.grid-header-buttons {
    display: block;
    width: 100%;
    overflow: hidden;
}

.header-container {
    overflow: hidden;
    margin-bottom: 3px;
}

.header-icon {
    float: left;
}

.header-text {
    float: left;
    border-left: 3px solid;
    margin-left: 5px;
    padding-left: 10px;
}

h2.main-header {
    margin-bottom: 0px;
    font-weight: bold;
}

.header-icon i {
    font-size: 40px;
}

.sub-header {
    line-height: 16px;
}

h2.main-header span {
    font-size: 14px;
    border-left: 1px solid #ccc;
    padding-left: 6px;
    color: #6e6d6d;
    font-weight: 100;
}

#routeDetails .assignment-data {
    min-height: 0;
    border-top: 1px solid #ccc;
    max-height: 135px;
    overflow-y: auto;
}

.assignment-data-title {
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 5px;
    color: #313740;
    font-weight: bold;
    font-size: 12px;
    border-top: 1px solid #ededed;
    padding-top: 10px;
}

.map-item-detail-timings {
    overflow: hidden;
}

.map-item-detail-arrival {
    float: left;
    text-align: left;
}

.map-item-detail-departure {
    float: right;
    text-align: right;
}

.sl-content p span {
    font-weight: bold;
    color: #1e1e1e;
}

.sl-content p {
    /* font-size: 16px !important; */
    color: #565656 !important;
}

.sl-content .text-muted {
    color: #adadad !important;
    font-size: 12px;
    padding-top: 4px;
}

.body.activities {
    padding: 29px;
    max-height: 400px;
    overflow-y: auto;
}

.sl-content p {
    line-height: 18px;
}

.sl-item.object-type-schools:after {
    background: #a6e044 !important;
    border-color: #7fb12c !important;
}

.sl-item.object-type-students:after {
    background: #ffb406 !important;
    border-color: #db9a05 !important;
}

.sl-item.object-type-busstops:after {
    background: #2ca8ff !important;
    border-color: #2389d1 !important;
}

.sl-item.object-type-busses:after {
    background: #ffde4f !important;
    border-color: #dfc244 !important;
}

.morning-depots {
    overflow: hidden;
}

.afternoon-depots {
    overflow: hidden;
}

.morning-depots .form-group {
    width: calc(50% - 5px);
    float: left;
}

.afternoon-depots .form-group {
    width: calc(50% - 5px);
    float: left;
}

.form-group.end-depot {
    margin-left: 10px;
}

.form-group.end-depot label {
    display: block;
    text-align: right;
    margin-top: 4px;
}

#confirmModal .modal-body span {
    font-size: 12px;
    color: #ff3636;
    max-width: 85% !important;
    display: block;
    margin: 0 auto;
    margin-top: 20px;
}

.sl-item.object-type-routes:after {
    background: #49c5b6 !important;
    border-color: #38ad9f !important;
}
.map-item-detail-details {
    overflow: hidden;
}



.route-stop-assignment-body {
    padding: 0px;
    padding-top: 10px;
    padding-bottom: 20px;
}

.route-stop-assignment-row {
    overflow: hidden;
    /* margin-bottom: 4px; */
    /* background: #313740; */
    font-size: 12px;
    line-height: 24px;
    padding-top: 4px;
    padding-bottom: 4px;
    color: #818181;
}

.route-stop-assignment-row-text {
    float: left;
    padding-left: 12px;
}

.route-stop-assignment-row-action {
    float: right;
    background: #ff888a;
    padding: 2px;
    /* padding-bottom: 3px; */
    /* padding-top: 3px; */
    display: block;
    border-radius: 3px;
    margin-right: 6px;
}

.route-stop-assignment-row-action i {
    display: block;
    color: #ff0004;
}

.route-stop-assignment-footer {
    padding: 4px;
    background: #e3e3e3;
    border-top: 1px solid #ccc;
}

.route-stop-assignment-footer button {
    font-size: 12px;
    padding: 5px;
    width: calc(100% - 3px) !important;
}

.route-stop-assignment-row.added-stop {
    background: #d8ffd7;
    color: #18ce0f;
}

.route-stop-assignment-row.removed-stop {
    background: #e7e7e7;
    text-decoration: line-through;
    color: #ff0004;
}

.route-stop-assignment-row.removed-stop .route-stop-assignment-row-text {
    text-decoration: line-through;
}

.route-stop-assignment-row.removed-stop .route-stop-assignment-row-action {
    background: #ebc2c2;
    /* color: #ccc; */
}

.route-stop-assignment-row.removed-stop .route-stop-assignment-row-action i {
    color: #eb9696;
}

.route-stop-assignment-row-action.add-button {
    background: #64b960 !important;
    display: none;
}

.route-stop-assignment-row-action.add-button i {
    color: #2c8b27 !important;
}

.route-stop-assignment-row.removed-stop .add-button {display: block;}

.route-stop-assignment-row.removed-stop .remove-button {display: none;}

.route-stop-assignment-row-text {
    max-width: 70%;
    white-space: nowrap;
    overflow: hidden !important;
    text-overflow: ellipsis;
}

.route-stop-assignment-body {
    max-height: 250px;
    overflow-y: auto;
}


.routeinfowindow-title {
    font-size: 15px;
    border-left: 5px solid #ccc;
    padding-bottom: 0px;
    border-bottom: none;
    padding-left: 5px;
    font-weight: bold;
}

.routeinfowindow-title.routeinfowindow-type-assigned{
    border-left: 5px solid #17cd0e;
}

.routeinfowindow-title {
    white-space: nowrap;
    overflow: hidden !important;
    text-overflow: ellipsis;
}

.routeinfowindow-body {
    margin-top: 6px;
    padding-bottom: 72px;
    max-height: 70px;
}

.routeinfowindow-footer {
    position: absolute;
    background: #ccc;
    width: 100%;
    left: 0;
    bottom: 0;
    text-align: center;
    padding: 0;
}

.routeinfowindow-row-padding {
    min-height: 20px;
}

.routeinfowindow-button.routeinfowindow-remove-btn {
    background: #ff0004;
    padding: 5px;
    color: #fff;
}

.routeinfowindow-button.routeinfowindow-add-btn {
    padding: 5px;
    background: #18ce0f;
    color: #045000;
}

.routeinfowindow-title.routeinfowindow-type-unassigned {
    border-left: 5px solid #ff0004;
}

.routeinfowindow-button:hover {
    cursor: pointer;
}

.route-stop-assignment-row-action {
    cursor: pointer;
}

.grid-student-address {
    font-size: 12px;
}

.grid-student-route {
    overflow: hidden;
    width: 100%;
    position: relative;
    font-size: 14px;
    font-weight: bold;
}

.grid-student-stop {
    width: 100%;
}

.grid-student-bus {
    float: left;
    text-align: right;
    width: 50%;
    padding-right: 10px;
}

.grid-student-time {
    float: right;
    text-align: left;
    width: calc(50% - 0px);
    border-left: 1px solid #ccc;
    /* margin-left: 10px; */
    padding-left: 10px;
}

.max-distance-range label {
    display: block;
    text-align: center;
}

input#studentWalkDistance {
    display: block;
    width: 100%;
}

.max-distance-range {
    max-width: 60%;
    margin: 0 auto;
    margin-top: 30px;
}

div#walkDistanceOutput {
    text-align: center;
    color: #0075ff;
    font-weight: bold;
    font-size: 14px;
}

div#walkDistanceOutput span {
    color: #838383;
    font-weight: 100;
    font-size: 10px;
    margin-left: 2px;
}

input#addStudentWalkDistance {
    display: block;
    width: 100%;
}

div#addStudentWalkDistanceOutput {
    text-align: center;
    color: #0075ff;
    font-weight: bold;
    font-size: 14px;
}

div#addStudentWalkDistanceOutput span {
    color: #838383;
    font-weight: 100;
    font-size: 10px;
    margin-left: 2px;
}

li.price-sub-heading {
    border-bottom: 1px solid #ccc;
    font-weight: bold;
}

li.enterprise-price {
    padding: 13px !important;
    border: none !important;
}

li.enterprise-price.bold {
    font-weight: bold;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}


ul.pricing.body.active {
    background: #313740;
    color: #fff;
}

.pricing.body li span {
    margin-right: 5px;
}

ul.pricing.body.active li {
    border-color: #545c68 !important;
}

.pricing.body.active li:nth-last-child(2) span {
    margin-right: 0px;
}

span.active-plan {
    color: #ffc57b;
    margin-top: 10px;
    margin-bottom: 10px;
    display: block;
    font-size: 20px;
}

section.content.home {
    padding-left: 5px;
    padding-right: 0px;
}

.block-header {
    padding-bottom: 0px;
    padding-top: 0px;
    margin-bottom: -5px;
}

.row.clearfix.bottom-grid {
    margin-right: 0px;
    margin-left: 0px;
}

.grid-header-buttons button {
    font-size: 11px;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 20px;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.bottom-grid .body {
    padding-left: 10px;
    padding-top: 10px !important;
    padding-right: 10px;
    padding-bottom: 10px;
}

.bottom-grid .card .body{
    min-height: calc(40vh - 100px);
}

.grid-header-buttons {
    margin-bottom: 5px;
}

.bottom-grid .table {
    margin-bottom: 0px !important;
}

.bottom-grid .card {
    margin-bottom: 10px;
}


li.active .sidebar-icon-container .active-icon {
    display: block;
}

.sidebar-icon-container .active-icon {
    display: none;
}

.sidebar-icon-container .inactive-icon {
    display: block;
}

li.active .sidebar-icon-container .inactive-icon {
    display: none;
}

.sidebar-icon-container {
    float: left;
    min-width: 25px;
    height: 20px;
}

.sidebar-icon-container img {
    height: 20px;
    position: absolute;
    top: 13px;
    left: 15px;
}

ul.list li:hover .sidebar-icon-container .active-icon {
    display: block;
}

ul.list li:hover .sidebar-icon-container .inactive-icon {
    display: none;
}

li.active .sidebar-icon-container {
    margin-left: -5px;
}

li.active .active-icon img {
    left: 10px;
}

i.sidebar-home-icon {
    color: #a6a6a6 !important;
}

li:hover i.sidebar-home-icon {
    color: #ffcf25 !important;
}

.header-icon img {
    height: 40px;
    margin-right: 2px;
}

.shift-data {
    background: #2085cc30 !important;
}

.shift-row {
    overflow: hidden;
    padding: 2px;
    padding-left: 0px;
    padding-right: 10px;
}

.shift-detail-info {
    float: left;
}

.shift-detail-time {
    float: right;
    font-weight: bold;
}

span.shift-detail-id {
    line-height: 25px;
    font-size: 13px;
    display: inline-block;
    min-width: 50px;
    text-align: right;
    border-right: 1px solid #454d55;
    margin-right: 5px;
    border-left: 5px solid #454d55;
    padding-left: 5px;
    padding-right: 5px;
}

span.shift-detail-name {
    font-weight: bold;
    font-size: 15px;
    line-height: 25px;
    display: inline-block;
    min-width: 200px;
    text-align: left;
}

span.shift-detail-type {
    display: inline-block;
    line-height: 25px;
    font-size: 13px;
    border-left: 1px solid #454d55;
    margin-left: 10px;
    padding-left: 10px;
}

span.shift-time-postfix {
    font-size: 12px;
    font-weight: normal;
}

.shift-row:hover {
    background: #313740 !important;
    color: #fff;
    /* border-color: #ccc !important; */
}

.shift-row:hover span.shift-detail-type {
    border-color: #fff;
}

.shift-row:hover span.shift-detail-id {
    border-color: #2085CA;
    border-right: 1px solid #fff;
}

span.shift-show-btn {
    font-size: 12px;
    background: #5c6772;
    padding: 2px;
    border-radius: 5px;
    display: inline-block;
    color: #fff;
    border-color: #4b545d;
    padding-right: 5px;
    padding-left: 5px;
    min-width: 50px;
    cursor: pointer;
}

span.shift-hide-btn {
    font-size: 12px;
    background: none;
    padding: 2px;
    border-radius: 5px;
    display: inline-block;
    color: #fff;
    border-color: #4b545d;
    padding-right: 5px;
    padding-left: 5px;
    border: 1px solid #4b545d;
    color: #4b545d;
    min-width: 50px;
    cursor: pointer;
}

.add-school-shift {
    overflow: hidden;
    border-bottom: 1px solid #d1c28e;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.add-shift-btn {
    float: right;
    color: #fff;
    background: #18ce0f;
    font-size: 12px;
    padding: 4px;
    padding-right: 10px;
    padding-left: 10px;
    border-radius: 4px;
    text-transform: uppercase;
}

.modal-footer .btn.btn-success.modal-btn {border: 1px solid #18ce0f;padding-left: 20px;padding-right: 20px;}

.modal-footer .btn.btn-success.modal-btn.btn-disabled {
    border: 1px solid #cccccc;
}

.shift-toggle span {
    float: right;
}

span.shift-show-btn.material-icons {
    font-size: 22px;
    padding: 0px;
    /* padding-left: 0px; */
    min-width: 28px;
    margin-top: 2px;
    margin-left: 5px;
    border-radius: 4px;
}

span.shift-hide-btn.material-icons {
    font-size: 22px;
    padding: 0px;
    /* padding-left: 0px; */
    min-width: 28px;
    margin-top: 2px;
    margin-left: 5px;
    border-radius: 4px;
}

select#schoolShiftSelect {
    border-radius: 0;
}

select#studentShiftSelect {
    border-radius: 0;
}

.add-shift-btn {
    cursor: pointer;
    border: 1px solid #18ce0f;
}

.add-shift-btn:hover {
    background: #18ce0f;
    border: 1px solid #1abb12;
    color: #aaf3a7;
}

.add-shift-btn {
    cursor: pointer;
    border: 1px solid #18ce0f;
}

.add-shift-btn:hover {
    background: #18ce0f;
    border: 1px solid #1abb12;
    color: #aaf3a7;
}

span.shift-show-btn.material-icons:hover {
    color: #212528;
    background: #4f5760;
}

span.shift-hide-btn.material-icons:hover {
    color: #212528;
    background: #4f5760;
}

span.shift-time-postfix {
    border-right: 1px solid;
    padding-right: 5px;
    margin-right: 15px;
}


span.delete-shift-btn i {position: absolute;left: 0;top: 0;}

span.delete-shift-btn {

    margin-left: 5px;
    display: inline-block;
    position: relative;
    min-height: 15px;
    min-width: 30px;
}

.shift-row:hover span.delete-shift-btn i {
    color: #fff;
}

span.auto-assign-shift-btn i {position: absolute;left: 0;top: 0;}

span.auto-assign-shift-btn {

    margin-left: 0px;
    display: inline-block;
    position: relative;
    min-height: 15px;
    min-width: 30px;
}

.shift-row:hover span.auto-assign-shift-btn i {
    color: #fff;
}

.delete-shift-container {
    float: right;
    height: 30px;
    margin-top: -2px;
    margin-bottom: -2px;
    width: 30px;
    padding-top: 2px;
}

.auto-assign-container {
    float: right;
    float: right;
    height: 30px;
    margin-top: -2px;
    margin-bottom: -2px;
    width: 30px;
    padding-left: 5px;
    padding-top: 1px;
}

.delete-shift-container:hover {
    background: #ff3636;
    cursor: pointer;
}

.auto-assign-container:hover {
    background: #367cff;
    cursor: pointer;
}

.auto-assign-container:hover i {
    color: #204791 !important;
}

.delete-shift-container:hover i {
    color: #b32525 !important;
}

div#autoAssignWalkDistanceOutput {
    text-align: center;
    color: #0075ff;
    font-weight: bold;
    font-size: 14px;
}

div#autoAssignWalkDistanceOutput span {
    color: #838383;
    font-weight: 100;
    font-size: 10px;
    margin-left: 2px;
}

input#autoAssignStudentWalkDistance {
    display: block;
    width: 100%;
}

.report-bus {
    border-left: 5px solid;
    padding-left: 5px;
    font-weight: bold;
    font-size: 18px;
    line-height: 18px;
}

.report-bus span {
    font-weight: 100;
    margin-right: 5px;
    font-size: 12px;
    line-height: 12px;
    display: block;
}

.report-content {
    background: #313740;
    color: #fff;
    padding: 10px;
    margin-top: 10px;
    border-radius: 5px;
    overflow: hidden;
}

.report-bus-data {
    float: left;
    width: 33%;
    text-align: center;
}

.report-timing-data {
    float: left;
    width: 33%;
}

.report-stats-data {
    float: right;
    overflow: hidden;
    text-align: center;
    width: 30%;
}

span.report-data-label {
    font-size: 10px;
    text-transform: uppercase;
    display: block;
}

.report-capacity {
    float: left;
    width: 20%;
}

.report-fill-level {
    float: left;
    width: 20%;
}

.report-students {
    float: left;
    /* margin-right: 5px; */
    width: 20%;
}

.report-start {
    width: 50%;
    float: left;
    text-align: right;
    padding-right: 10px;
}

.report-end {
    width: 50%;
    float: right;
    text-align: left;
    border-left: 1px solid #ccc;
    padding-left: 10px;
}

.report-distance {
    float: right;
    width: 20%;
}

.report-duration {
    float: right;
    width: 20%;
}


.report-stop-grid-header {
    overflow: hidden;
}

.grid-header-cell {
    float: left;
    width: 20%;
    text-align: center;
}

.report-stop-grid {
    margin-top: 20px;
    width: 80%;
    margin: 0 auto;
    margin-top: 20px;
}

.report-stop-grid-body {
    overflow: hidden;
}

.grid-body-cell {
    float: left;
    float: left;
    width: 20%;
    text-align: center;
}


.report-body-students {
    display: none;
}

.report-body {
    margin-top: 90px;
    border-radius: 5px;
    overflow: hidden;
    background: #3b4759;
    color: #fff;
    min-height: 5px;
}

.report-header {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0px;
    padding: 10px;
}

.report-content {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}


.report-stop-grid-header {
    background: #313740;
    padding: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
}

.report-stop-grid-body {
    padding: 5px;
    font-size: 13px;
}

.report-stop-grid {
    background: #4f5c6e;
    margin-bottom: 20px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    overflow: hidden;
}

.report-stop-grid-header {
    border-bottom: 1px solid #ccc;
}

.report-stop-grid-body:hover {
    background: #3f4a58;
}

.show-report-btn {
    background: #313740;
    font-size: 11px;
    padding: 3px;
    border-radius: 2px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
}

.report-stop-grid {
    padding-bottom: 5px;
}

.report-bus {
    float: left;
}

.report-title {
    overflow: hidden;
}

.report-body-stop{
    display: none;
}

.report-detail-btn {
    background: #c1c6cf;
    font-size: 12px;
    border-radius: 3px;
    padding: 5px;
    padding-right: 10px;
    padding-left: 10px;
    cursor: pointer;
    color: #313740;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.report-details {
    float: right;
}


.report-body-students {
    background: #3f4a58;
    padding: 10px;
    border-top: 1px solid #333e4c;
    border-bottom: 1px solid #333e4c;
}

.no-student-block {
    text-align: center;
    font-size: 12px;
    padding: 10px;
    color: #707d8f;
}

.student-block {
    float: left;
    width: 24%;
    background: #545f6c;
    margin-right: 10px;
    border-radius: 3px;
    /* padding: 5px; */
}

.report-body-students {
    overflow: hidden;
}

.block-student-name {
    padding: 10px;
    border-bottom: 1px solid #3f4a58;
    font-size: 14px;
    font-weight: bold;
}

.block-student-name span {
    font-size: 11px;
    font-weight: 100;
    margin-right: 5px;
}

.block-student-detail {
    overflow: hidden;
    text-align: center;
    margin-top: 10px;
}

.block-student-prenum {
    float: left;
    width: 31%;
}

.block-student-grade {
    float: left;
    width: 31%;
}

.block-student-gender {
    float: left;
    width: 31%;
}

span.block-detail-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 100;
}

.block-student-address {
    border-top: 1px solid #697789;
    margin-top: 10px;
    padding: 5px;
    text-align: center;
    font-size: 12px;
    background: #384350;
}

.block-student-address span {
    display: none;
}

.customBox-end {
    background: #eb9f9f94;
    /* border: 2px solid #9f3d2a; */
    position: absolute;
    width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    border-radius: 50%;
    margin-top: -11px;
    margin-left: -8px;
    font-weight: bold;
    font-size: 10px;
    cursor: pointer;
}

.customBox-school {
    background: #92f14c94;
    /* border: 2px solid #9f3d2a; */
    position: absolute;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border-radius: 50%;
    margin-top: -23px;
    margin-left: -17px;
    font-weight: bold;
    font-size: 20px;
    cursor: pointer;
}

.customBox-stop {
    background: #69b3e78a;
    /* border: 2px solid #9f3d2a; */
    position: absolute;
    width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    border-radius: 50%;
    margin-top: -11px;
    margin-left: -8px;
    font-weight: bold;
    font-size: 10px;
    cursor: pointer;
}

.customBox-start {
    background: #92f14c94;
    /* border: 2px solid #9f3d2a; */
    position: absolute;
    width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    border-radius: 50%;
    margin-top: -11px;
    margin-left: -8px;
    font-weight: bold;
    font-size: 10px;
    cursor: pointer;
}

.upload-modal-instruction {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    line-height: 20px;
    font-size: 14px;
}

.modal-steps {
    padding-top: 30px;
    padding-bottom: 30px;
}

.assignment-cancel-button {
    width: calc(50% - 15px);
    display: inline-block;
    margin-right: 2px;
}

.assignment-save-button {
    width: calc(50% - 15px);
    display: inline-block;
    margin-left: 2px;
}

.weather-image img {
    width: 100% !important;
}

.city .weather-image {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 100px;
    height: 100px;
}

.weather .days li {
    width: calc(17% - 3px)  !important;
}

.days h5 {
    margin-bottom: 0px;
}

.days .weather-image {
    border-radius: 10px;
    /* border: 1px solid #ccc; */
    width: 60px;
    height: 60px;
    margin-left: 14px;
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 20%);
    margin-top: 2px;
    margin-bottom: 4px;
}

span.degrees {
    font-size: 16px;
}

div#calendar {
   box-shadow: 0 10px 50px -20px #858585;
}

#calendar .calendar-sidebar {
    background: #3b4759;
    box-shadow: 5px 0 18px -3px #3b4759;
}

#calendar li.month.active-month {
    background-color: #ffcf25 !important;
    color: #3b4759;
}

#calendar th[colspan="7"] {
    color: #3b4759;
}

#calendar .calendar-sidebar > .month-list > .calendar-months > li:hover {
    background-color: #4d5a6e;
}

.table-responsive.social_media_table.alert-table .social_icon {
    color: #313740;
}

.table-responsive.social_media_table.alert-table .social_icon i {
    font-size: 35px;
}

textarea.text-container {
    width: 100%;
    border-radius: 3px;
    padding: 10px;
}

.form-day-selector {
    overflow: hidden;
}

.form-day-selector .shift-day {
    float: left;
    /* background: #ccc; */
    margin: 3px;
    min-width: 58px;
    text-align: center;
    font-size: 12px;
    padding: 2px;
    border-radius: 4px;
    border: 1px solid #d6d9dd;
    color: #8b8f95;
}

.form-day-selector .shift-day.active-day {
    background: #313740;
    color: #fff;
    border: 1px solid #313740;
}

.form-day-selector .shift-day:hover {
    color: #313740;
    border: 1px solid #313740;
    cursor: pointer;
}

.form-day-selector .shift-day.active-day:hover {
    color: #fff;
}

.form-day-edit-selector {
    overflow: hidden;
}

.form-day-edit-selector .shift-day {
    float: left;
    /* background: #ccc; */
    margin: 3px;
    min-width: 58px;
    text-align: center;
    font-size: 12px;
    padding: 2px;
    border-radius: 4px;
    border: 1px solid #d6d9dd;
    color: #8b8f95;
}

.form-day-edit-selector .shift-day.active-day {
    background: #313740;
    color: #fff;
    border: 1px solid #313740;
}

.form-day-edit-selector .shift-day:hover {
    color: #313740;
    border: 1px solid #313740;
    cursor: pointer;
}

.form-day-edit-selector .shift-day.active-day:hover {
    color: #fff;
}

.edit-shift-container {
    float: right;
    height: 30px;
    margin-top: -2px;
    margin-bottom: -2px;
    width: 30px;
    padding-top: 2px;
    overflow: hidden;
}

span.edit-shift-btn {
    margin-left: 5px;
    display: inline-block;
    position: relative;
    min-height: 15px;
    min-width: 30px;
}

span.edit-shift-btn i {
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
}

.auto-assign-container {
    overflow: hidden;
}

.delete-shift-container {
    overflow: hidden;
}

.edit-shift-container:hover {
    background: #ffb236;
    cursor: pointer;
}

.edit-shift-container:hover i {
    color: #8f631c !important;
}

span.shift-detail-days {
    margin-right: 10px;
    font-size: 14px;
    font-weight: 400;
}

span.shift-detail-days span {
    font-size: 14px;
    color: #b9ac81;
}


.header-box {
    float: left;
    width: 20%;
}

.box-container {
    overflow: hidden;
    background: #fff;
    margin: 18px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.box-left {
    float: left;
    min-width: 95px;
    text-align: center;
}

.box-icon img {
    height: 46px;
}

.box-icon {
    padding: 17px;
}

.box-right {
    float: right;
    width: calc(100% - 104px);
    text-align: center;
    padding: 8px;
    color: #a6a6a6;
}

.box-value {
    font-size: 45px;
    line-height: 45px;
    font-weight: bold;
    color: #7c7c7c;
}

.box-label {
    font-size: 12px;
    text-transform: uppercase;
}

.header-box.schools .box-icon {
    background: #d8ff94;
    border-right: 2px solid #9ed73e;
}

.header-box.students .box-icon {
    background: #ffe7af;
    border-right: 2px solid #ffb406;
}

.header-box.stops .box-icon {
    background: #cae9ff;
    border-right: 2px solid #2ca8ff;
}

.header-box.busses .box-icon {
    background: #fff4c6;
    border-right: 2px solid #ffde4f;
}

.header-box.routes .box-icon {
    background: #d2fffa;
    border-right: 2px solid #49c5b6;
}

.card .header {
    padding: 10px 0;
}

.card {
    margin-bottom: 5px;
}

.calendar-inner {
    padding: 20px 15px !important;
}

td.calendar-day {
    padding: 0px !important;
}

.calendar-year {
    display: none;
}

.month-list {
    padding-top: 20px;
}

.calendar-events {
    padding: 20px 40px !important;
}


.box-container {
    margin-top: 10px;
}

span.quota-used-count {
    font-weight: bold;
    font-size: 20px;
    margin-right: 3px;
    line-height: 20px;
}

.card.quota .text-muted {
    margin-bottom: 2px;
}

.card.social table {
    border: none;
}

.card.social .social_icon i {
    font-size: 35px;
    color: #313740;
}

.card.social table {
    border: none;
}

.card.social .social_icon i {
    font-size: 35px;
    color: #313740;
}

a.btn-sm.btn-primary.btn-simple.fb-link:hover {
    background: #007bb5;
    color: #fff;
    border: 1px solid #04577e;
}

a.btn-sm.btn-primary.btn-simple.twiter-link:hover {
    background: #55acee;
    color: #fff;
    border: 1px solid #3483bf;
}

li.month {
    padding: 5px 30px !important;
}

tr.calendar-body .calendar-day .day{
    padding:0px !important;
    width: 52px !important;
    height: 52px !important;
    line-height: 52px !important;
}

.access-code-container {
    text-align: right;
    padding-right: 10px;
    border-right: 3px solid;
}

.access-code-label {
    font-size: 11px;
    line-height: 11px;
}

.access-code-value {
    font-size: 25px;
    font-weight: bold;
    line-height: 33px;
}

.parent-details-left {
    float: left;
}

.parent-details-right {
    float: right;
}

.parent-row-header {
    overflow: hidden;
}

.parent-name {
    font-size: 16px;
    font-weight: bold;
    line-height: 24px;
}

.parent-name span {
    font-weight: 100;
    margin-right: 5px;
}

.parent-contact {
    font-size: 12px;
    /* padding-left: 22px; */
    /* border-top: 1px solid #ccc; */
}

.parent-contact span {
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

.parent-details-right {
    overflow: hidden;
}

.parent-tab {
    float: right;
    padding: 10px;
    background: #ededed;
    padding-top: 11px;
}

.parent-tab.students:hover {
    background: #ffeec8;
    cursor: pointer;
}
.parent-tab.students.active {
    background: #f7cd6f;
}

.parent-tab.secondary:hover {
    background: #eecafd;
    cursor: pointer;
}
.parent-tab.secondary.active {
    background: #d06afc;
}

.parent-tab.emergency:hover {
    background: #ffc9c9;
    cursor: pointer;
}

.parent-tab.emergency.active {
    background: #f86868;
}

.parent-tab.addresses:hover {
    background: #c7dbff;
    cursor: pointer;
}

.parent-tab.addresses.active {
    background: #699af7;
}

.parent-details-left {
    overflow: hidden;
}

.parent-id {
    float: left;
    font-size: 13px;
    font-weight: 100;
    border-right: 1px solid #ccc;
    margin-right: 5px;
    padding-right: 5px;
    min-width: 40px;
    line-height: 42px;
    text-align: center;
}

.parent-info {
    float: left;
}

.parent-contact {
    line-height: 14px;
}

.parent-info {
    margin-top: 3px;
}

.parent-name {
    line-height: 20px;
}

.parent-row {
    background: #f7f7f7;
    border-bottom: 1px solid #ccc;
}

.parent-tab-details {
    display: none;
}

.parent-tab-details.active {
    display: block;
}

.parent-tab.secondary.active {
    color: #fff;
}

.parent-tab.emergency.active {
    color: #fff;
}

.parent-tab.addresses.active {
    color: #fff;
}

.parent-tab-details.active {
    padding: 20px;
}

.parent-tab-details.students.active {
    background: #f9efd9;
}

.parent-tab-details.addresses.active {
    background: #e4edff;
}

.parent-tab-details.emergency.active {
    background: #ffeded;
}

.parent-tab-details.secondary.active {
    background: #faedff;
}

.parent-grid {
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow: hidden;
    border-bottom: none;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.parent-tab-details.active {
    box-shadow: 0px 1px 5px -3px #000 inset;
}

li.sm_menu_btm.parents.active .material-icons{
    color:#cc55fd !important;
}

li.sm_menu_btm.parents .material-icons{
    color:#A6A6A6;
}

.bottom-grid .card .body.request-header {
    min-height: 50px;
}

.body.request-header {
    padding: 0px !important;
    overflow: hidden;
}

.request-tab {
    float: left;
    padding: 15px;
}

.request-data {
    display: none;
}

.request-data.active {
    display: block;
}

.request-tab.pending.active {
    background: #ffc782;
    /* cursor: default; */
    color: #8d6431;
}

.request-tab:hover {
    cursor: pointer;
    /* font-weight: bold; */
    color: #000;
}

.request-tab.active {
    cursor: default;
    font-weight: normal;
}

.request-tab.approved.active {
    background: #5696cd;
    color: #d6ecff;
}

.request-tab {
    color: #9b9b9b;
    font-weight: bold;
}

.request-tab.declined.active {
    background: #f96d6d;
    color: #9f3838;
}

.request-tab.processed.active {
    background: #4bd75c;
    color: #2c8f38;
}

.request-date {
    overflow: hidden;
}

.request-date-value {
    float: left;
}

.request-date-info {
    float: right;
}

.request-date {
    /* background: #ccc; */
    padding: 8px;
}

.request-row {
    overflow: hidden;
}

.request-id {
    float: left;
}

.request-parent-details {
    float: left;
}

.request-student-details {
    float: left;
}

.request-type-info {
    float: left;
}

.request-address-info {
    float: left;
}

.request-input {
    float: right;
}

.request-list {
    display: none;
}

.request-detail-row {
    /* padding: 8px; */
    border-bottom: 1px solid #ccc;
}

.request-data {
    border: 1px solid #ccc;
    border-bottom: none;
    border-radius: 5px;
    overflow: hidden;
}

.request-detail-row:hover {
    background: #ededed;
    cursor: pointer;
}

.request-detail-row.active {
    background: #3b4759;
}

.request-detail-row.active .request-date {
    color: #fff;
}

.request-detail-row.active .request-list {
    display: block;
    background: #f3f8ff;
    padding: 10px;
    box-shadow: 0px 1px 5px -3px #000 inset;
}


.request-parent-details {
    /* overflow: hidden; */
    margin-top: 5px;
    margin-right: 30px;
}

.request-parent-info {
    overflow: hidden;
    font-size: 12px;
}

.request-parent-email {
    float: left;
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

.request-parent-contact {
    float: left;
}

.request-student-info {
    overflow: hidden;
    font-size: 12px;
}

.request-student-school {
    float: left;
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

.request-student-grade {
    float: left;
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

.request-student-permnum {
    float: left;
    margin-right: 5px;
}

.request-row {
    background: #fff;
    border-left: 5px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.request-id {
    line-height: 35px;
    padding: 0px;
    border-right: 1px solid #3b4759;
    margin-left: 10px;
    padding-right: 10px;
    margin-right: 5px;
    margin-top: 3px;
}



.request-parent-name {
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
}


.request-student-name {
    /* font-weight: bold; */
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
}

.request-student-details {
    margin-top: 5px;
    margin-right: 30px;
}

.request-type-info {
    margin-right: 30px;
    margin-top: 5px;
}

.request-type-value {
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
}

.request-address-value {
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
}

.request-address-city {
    font-size: 12px;
}

.request-shift {
    font-size: 12px;
}



.request-list-details {
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.request-address-info {
    margin-top: 5px;
}

.request-input {
    overflow: hidden;
}
.request-approve:hover{
    background: #42c364cc;
    cursor:pointer;
    color: #0c7025;
}
.request-approve {
    float: left;
    padding: 12px;
    font-size: 12px;
    /* text-transform: unset; */
}
.request-decline:hover{
    background: #c35442cc;
    cursor:pointer;
    color: #8b3324;
}
.request-decline {
    float: left;
    padding: 12px;
    font-size: 12px;
}
.request-row:hover {
    background: #f1f1f1;
    border-left: 5px solid #3b4759;
}

.request-type-info {
    overflow: hidden;
    line-height: 30px;
    min-width: 10%;
}

.request-type-value {
    display: inline-block;
    text-transform: capitalize;
}

.request-shift {
    display: inline;
}

.request-parent-details {
    min-width: 20%;
}

.request-student-details {
    min-width: 15%;
}

.request-grid-message {
    min-height: calc(100vh - 180px);
    line-height: calc(100vh - 180px);
    text-align: center;
    border-bottom: 1px solid #ccc;
}

.request-process {
    float: left;
    padding: 12px;
    font-size: 12px;
}

.request-reset {
    float: left;
    padding: 12px;
    font-size: 12px;
}

.request-process:hover {
    background: #42c364cc;
    cursor: pointer;
    color: #0c7025;
}

.request-reset:hover {
    background: #c35442cc;
    cursor: pointer;
    color: #8b3324;
}

.process-request-btn.btn.btn-success {
    padding: 10px;
}

li.no-data-message {
    color: #fff;
    font-size: 12px;
    margin-left: 0px;
    border-left: 5px solid #d93a3a;
    /* padding-left: 10px; */
    color: #d93a3a;
    line-height: 45px;
    background: #f7c0c0;
    font-weight: bold;
    text-align: center;
}

.no-activity-message {
    text-align: center;
    color: #b1b0b0;
    font-size: 15px;
}


.parent-student-grid .table-container {
    max-height: calc(100vh - 170px);
}

.parent-student-grid .table-container thead th {
    background: #3b4759;
    color: #ffffff;
    border-bottom: 3px solid #bf24ff;
}

.parent-student-grid .table-container thead {
    border: 1px solid #313740;
}

.student-grid-btn {
    background: #3b475921;
    border-radius: 4px;
    font-size: 13px;
    padding: 3px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    color: #3b4759;
    cursor: pointer;
    /* text-transform: uppercase; */
}

.student-grid-btn:hover {
    background: #3b4759;
    color: #fff;
}

span.cell-secondary-info {
    font-size: 14px;
    font-weight: normal;
    padding-left: 5px;
    margin-left: 5px;
    border-left: 1px solid #ccc;
}

td.unregisted-parent {
    text-align: left;
    font-size: 12px;
    text-transform: uppercase;
    color: #afacac;
}

td.parent-status {
    text-transform: uppercase;
    font-size: 12px;
    background: #ccc;
}

td.parent-status.status-unregistered {
    background: #f3caca;
    color: #9b5555;
}

td.parent-status.status-new {
    background: #c6e2ed;
    color: #327f9d;
}

td.parent-status.status-disabled {
    background: #707070;
    color: #c7c7c7;
}

td.parent-status.status-active {
    background: #87dca5;
    color: #207d41;
}

td.parent-status.status-invited {
    background: #ffdc5d;
    color: #725d10;
}

.student-search-container {
    float: left;
    width: 30%;
    margin: 6px;
    /* border: 1px solid #ccc; */
    border-radius: 5px;
    overflow: hidden;
}

.student-search-icon {
    float: left;
    padding: 8px;
}

.student-search-input {
    float: left;
    padding: 7px;
    width: calc(100% - 30px);
    position: relative;
}

.input-clear-button {
    display: none;
}

input#studentSearchInput {
    width: 100%;
    border: none;
}

.student-count-container {
    float: left;
}

.parent-filter-container {
    float: right;
    width: 30%;
    position: relative;
}

.parent-filter-container.form-container {
    margin-bottom: 0px !important;
}

.filter-select-container {
    float: right;
    width: 70%;
    max-width: 200px;
}

.filter-label {
    float: right;
    text-align: right;
}

.filter-select-container .parent-status-filter {
    width: 100%;
}

select#parentStatusFilter {
    padding: 14px;
    border: 1px solid #aca9a9;
    /* margin-right: 4px; */
    /* margin-top: 4px; */
}

.filter-label {
    line-height: 30px;
    border-right: 1px solid #ccc;
    margin-right: 10px;
    padding-right: 10px;
    margin-top: 10px;
}

.student-count-container {
    width: 39%;
    text-align: center;
}

.student-count-detail {
    max-width: 70px;
    margin: 0 auto;
    border-top: 3px solid #bf24ff;
}

.student-count-value {
    font-weight: bold;
    font-size: 26px;
    line-height: 30px;
}

.student-count-label {
    font-size: 10px;
    line-height: 12px;
    text-transform:uppercase;
}

.parent-student-grid .table-container {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-shadow: 0px 1px 5px -3px #000 inset;
    min-height: 0;
}

.parent-student-grid tbody tr {
    display:none;
}

.parent-student-grid tbody tr.student-search {
    display: table-row;
}

.parent-student-grid tbody tr.disabled-row {
    background: #e3e3e3;
    color: #acacac;
}

.invited-parent-text {
    font-size: 11px;
    text-transform: uppercase;
    color: #a8a8a8;
}

#confirmInviteModal .modal-body {
    font-size: 13px;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
}

#confirmInviteModal .modal-body span {
    font-weight: bold;
    font-size: 14px;
    color: #bf24ff;
    display: block;
}

.request-parent-details {
    margin-top: 9px;
    /* margin-bottom: 10px; */
}

.request-id {
    margin-top: 10px;
    min-width: 40px;
    text-align: center;
}

.request-student-details {
    margin-top: 10px;
}

.request-type-info {
    margin-top: 10px;
}

.request-address-info {
    margin-top: 10px;
}

.request-approve {
    padding: 18px;
}

.request-decline {
    padding: 18px;
}

.request-parent-name {
    line-height: 19px;
}

.process-request-btn.btn.btn-success {
    /* margin: 0 auto; */
    display: block;
    width: 140px;
    margin-right: 0;
    margin-left: auto;
}

.request-reset {
    padding: 18px;
}

.request-approve.processing {
    background: #f2f2f2 !important;
    color: #a8a8a8 !important;
}

.request-decline.processing {
    background: #f2f2f2 !important;
    color: #a8a8a8 !important;
}

.request-reset.processing {
    background: #f2f2f2 !important;
    color: #a8a8a8 !important;
}

.request-student-info {
    line-height: 12px;
    margin-top: 5px;
}

.request-address-city {
    margin-top: 2px;
}

.request-type-info {
    margin-top: 12px;
}

div#approveRequestModal .modal-dialog {
    width: 90%;
    max-width: 1000px;
}



/* approve request modal */
.approve-container {
    overflow: hidden;
}

.approve-map-column {
    float: left;
    width: calc(60% - 5px);
    min-height: 400px;
    position: relative;
    padding-bottom: 10px;
}

.approve-route-column {
    float: left;
    width: 40%;
    padding-top: 10px;
}

div#approveMap {
    width: calc(100% - 5px);
    height: 400px;
    background: #f3f3f3;
    border-radius: 5px;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,0.2);
    margin-top: 5px;
    margin-left: 5px;
}

.route-stop-details {
    display: none;
}

.route-details {
    border-radius: 0px 3px 3px 0px;
    padding-left: 10px;
    border-left: 2px solid #ccc;
}

.route-detail-container.active .route-details {
    background: #f3f3f3;
    border-left: #ccc0 2px solid;
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.2);
}

.route-detail-container.active .route-stop-details {
    /*display: block;*/
    background: #cccccc1c;
    border-radius: 0px 0px 5px 0px;
}

.route-detail-container {
    margin-bottom: 5px;
}

.route-stop-row {
    padding-left: 10px;
    font-size: 13px;
}


.route-details {
    overflow: hidden;
}

.route-details-left {
    float: left;
}

.route-details-right {
    float: right;
}

.route-detail-distance {
    float: left;
    width: 100%;
    background: #f3f3f3;
    font-size: 12px;
    text-align: center;
    border-radius: 3px;
}

.route-detail-bus {
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
}

.route-detail-bus span {
    font-size: 11px;
    font-weight: lighter;
    line-height: 15px;
    /* margin-top: 50px; */
    display: inline-block;
    margin-right: 4px;
}

.route-detail-driver {
    font-size: 12px;
}

.route-detail-driver span {
    border-left: 1px solid #ccc;
    margin-left: 5px;
    padding-left: 5px;
}

.route-detail-driver span.driver-name {
    border-left: 0px;
    padding-left: 0px;
    margin-left: 0px;
    font-weight: bold;
}

.route-detail-count.available {
    font-size: 14px;
    line-height: 14px;
}

.route-detail-count-label {
    font-size: 12px;
    text-align: center;
    line-height: 12px;
}

.route-detail-count-value {
    font-weight: bold;
    line-height: 22px;
    border-top: 1px solid #ccc;
    margin-top: 3px;
}

.route-detail-count-value span {
    font-weight: lighter;
    font-size: 12px;
}

.route-detail-container {
    margin-bottom: 10px;
}

.route-detail-distance span {
    font-weight: bold;
}

.route-detail-bus {
    overflow: hidden;
}

.route-detail-busname {
    float: left;
    font-size: 20px;
    font-weight: 400;
    line-height: 21px;
    border-right: 1px solid #ccc;
    margin-right: 5px;
    padding-right: 5px;
}

.route-detail-busdetail {
    float: left;
    font-size: 11px;
    font-weight: lighter;
    line-height: 12px;
}

.route-details {
    padding-right: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.route-detail-count-label {
    margin-top: 5px;
}

.route-detail-container.active .route-detail-distance {
    background: #00000014 !important;
    color: #222 !important;
}

.route-detail-container:hover {
    box-shadow: 1px 1px 3px 0px rgba(0,0,0,0.2);
    cursor: pointer;
    background: #f2f2f2;
    border-radius: 0px 5px 5px 0px;
}

.route-stop-container {
    border-top: 1px solid #ccc;
    margin-top: -1px;
    padding-top: 10px;
}

.route-stop-row:hover {
    background: #0000000a;
    border-left: 3px solid #0000001c;
    cursor: pointer;
}

.route-detail-container:hover .route-detail-distance {
    background: #e7e7e7;
    color: #222;
}

.route-detail-distance {
    padding-top: 2px;
}

.route-detail-container.active {
    display: block !important;
    border-radius: 0px 5px 5px 0px;
    box-shadow: 1px 1px 3px 0px rgba(0,0,0,0.2);
}

.route-detail-container.active .route-details {
    display: none;
}

.route-stop-details {
    padding: 10px;
}

.route-detail-container.active .route-stop-details {
    display: block;
}

.rooute-stop-header {
    overflow: hidden;
}

.route-detail-container.active:hover {
    cursor: default;
    background: #fff;
    /* border-radius: 0px 5px 5px 0px; */
}

.approve-route-column.active .route-detail-container {
    display: none;
}

.route-stop-details {
    position: relative;
}

.route-detail-back {
    color: #7a7a7a;
    position: absolute;
    right: 0;
    top: -36px;
    border: 1px solid #ccc;
    background: #fff;
    /* z-index: 0; */
    border-radius: 3px;
    padding: 3px;
    font-size: 11px;
    text-transform: uppercase;
    padding-right: 6px;
    padding-left: 6px;
    box-shadow: 0px 0px 1px 0px rgba(0,0,0,0.2);
}

.route-stop-details {
    margin-top: 30px;
}

.route-detail-back span {
    border-right: 1px solid #ccc;
    padding-right: 3px;
    margin-right: 3px;
}

.route-detail-back:hover {
    box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.2);
    cursor: pointer;
    color: #3f3f3f;
    background: #e7e7e7de;
}

.route-stop-row {
    overflow: hidden;
}

.stop-address {
    float: left;
}

.stop-distance {
    float: right;
    padding-right: 10px;
    font-size: 11px;
    font-weight: bold;
    line-height: 24px;
}

.stop-distance span {
    font-weight: normal;
    margin-left: 2px;
}

.route-stop-row.active {
    border-left: 3px solid #00000082;
    background: #00000017;
}

div#confirmSelfRequestModal .modal-body {
    font-size: 13px;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
}

span.appove-request-type {
    font-weight: bold;
    text-transform: capitalize;
    color: #bf24ff;
}

span.approve-request-student-name {
    font-weight: bold;
    color: #bf24ff;
}

.request-loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    height: 100vh;
    width: 100%;
    background: #000000cf;
    text-align: center;
    padding-top: 30vh;
}

.route-loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    height: 100vh;
    width: 100%;
    background: #000000cf;
    text-align: center;
    padding-top: 30vh;
}

.loading-heading {
    color: #fff;
    font-weight: 100;
    font-size: 22px;
}

.loading-subheading {
    color: #ececec;
    font-size: 16px;
    /* margin-top: 100px; */
    display: inline-block;
    border-bottom: 1px solid #e98888;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.loading-notice {
    max-width: 50%;
    margin: 0 auto;
    font-size: 14px;
    color: #f36363;
}

.loading-notice span {
    font-weight: bold;
}

.loading-spinner {
    padding-top: 50px;
    padding-bottom: 50px;
}

.loading-spinner .spinner-border {
    color: #fff;
}


.process-request-confirm {
    background: #18ce0f;
}

.process-request-confirm:hover {
    background: #16aa0e;
}

.expired-request-heading {
    text-align: center;
    line-height: 44px;
    border-bottom: 2px solid #e12121;
    background: #ffdcdc;
    color: #f04646;
    /* font-weight: bold; */
}

.request-expired {
    line-height: 55px;
    min-width: 120px;
    text-align: center;
    /* background: #ccc; */
    color: #db8080;
    border-right: 7px solid;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
}

.request-row:hover .request-expired {
    background: #db8080;
    cursor: default;
    color: #fff;
    border-color: #bd4e4e;
}

.request-tab.pending span {
    color: #ffc782;
}

.request-tab.pending.active span {
    color: #8d6431;
}

.request-tab.approved span {
    color: #5696cd;
}

.request-tab.approved.active span {
    color: #d6ecff;
}

.request-tab.declined span {
    color: #f96d6d;
}

.request-tab.declined.active span {
    color: #9f3838;
}

.request-tab.processed span {
    color: #4bd75c;
}

.request-tab.processed.active span {
    color: #2c8f38;
}

.header-inputs {
    text-align: right;
    font-size: 12px;
    /* border-right: 4px solid #49c5b6; */
}

.header-inputs span {
    border-left: 1px solid #ccc;
    padding-left: 10px;
    margin-left: 10px;
}

.day-tab-selector {
    overflow: hidden;
    border-bottom: 3px solid #4B545D;
}

.day-tab {
    float: left;
    text-align: center;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 14px;
    padding-top: 5px;
    color: #979797;
    margin: 2px;
    margin-bottom: 0;
}

.day-tab-value {
    font-size: 15px;
    font-weight: bold;
}

.day-tab-date-value {
    font-size: 11px;
    line-height: 12px;
}

.day-tab.active {
    background: #ccc;
    border-radius: 5px 5px 0px 0px;
    background: #4B545D;
    color: #fff !important;
    cursor: default !important;
    box-shadow: 0px 3px 4px 0 rgb(0 0 0 / 80%);
}

.day-tab:hover {
    color: #000;
    cursor: pointer;
}

.route-loading .loading-subheading {
    font-size: 13px;
    border-bottom: 1px solid #494949;
}

span.shift-class {
    font-size: 12px;
    background: #ccc;
    padding: 2px;
    margin-left: 10px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 12px;
    line-height: 15px;
    display: inline-block;
}

span.shift-class.default {
    background: #4B545D;
    color: #fff;
}

span.shift-class.regular {
    background: #4B545D;
    color: #fff;
}

span.shift-detail-type {
    min-width: 58px;
}

span.shift-class.special {
    background: #ffcf25;
    color: #3e3e3e;
}

.shift-row.active-no {
    color: #b7b7b7;
    /* background: #ede2bb; */
}

.shift-row.active-no:hover {
    background: #d1d1d0 !important;
}

.shift-row.active-no .shift-class.special {
    background: #b7b7b7;
    color: #7d7a7a;
}

.shift-row.active-no .shift-detail-id {
    border-color: #ccc !important;
}

.shift-row.active-no .shift-detail-type {
    border-color: #ccc !important;
}


.shift-row.active-no:hover span.auto-assign-shift-btn i {
    color: #b7b7b7;
}

.shift-row.active-no:hover span.delete-shift-btn i {
    color: #b7b7b7;
}

.enable-shift-container {
    float: right;
    height: 33px;
    margin-top: -5px;
    margin-bottom: -2px;
    width: 45px;
    padding-left: 5px;
    padding-top: 1px;
    /* display: none; */
    font-size: 25px;
    margin-right: -10px;
    padding-right: 5px;
}

.enable-shift-container:hover {
    background: #867575;
    cursor: pointer;
}

.delete-shift-container {
    border-left: 1px solid #5b5b5b;
}

.default-shift-na-container {
    float: right;
    height: 30px;
    margin-top: -2px;
    margin-bottom: -2px;
    width: 30px;
    padding-top: 2px;
    overflow: hidden;
    width: 75px;
    border-left: 1px solid #5b5b5b;
    margin-right: -10px;
    color: #dd7c7c;
}

.route-detail-shiftdetail {
    float: left;
    font-size: 11px;
    font-weight: lighter;
    line-height: 12px;
    border-left: 1px solid #ccc;
    padding-left: 5px;
    margin-left: 5px;
}

.route-detail-shfit-name {
    line-height: 22px;
    font-size: 14px;
}

li.sm_menu_btm.drivers.active .material-icons {
    color: #cc55fd !important;
}

li.sm_menu_btm.drivers .material-icons {
    color: #A6A6A6;
}

button#addBusDriverInitBtn {
    font-size: 12px;
    float: right;
}

.grid-header-container {
    overflow: hidden;
}

.day-tab-selector {
    float: left;
}

.school-selector {
    float: right;
    padding-right: 7px;
    border-right: 5px solid #49c5b6;
    margin-top: -3px;
}

.school-selector .form-container {
    margin-bottom: 0px;
}

.school-selector .form-group {
    margin-bottom: 0px;
}

select#schoolSelector {
    padding: 4px;
    padding-left: 10px;
    padding-right: 10px;
}

.school-selector-label {
    font-size: 12px;
    text-align: right;
    font-weight: bold;
}

.calendar-date-selector {
    float: left;
    position: relative;
}

.date-selector-button {
    font-size: 31px;
    padding-right: 15px;
    color: #77828c;
    border-bottom: 3px solid #4B545D;
    padding-left: 15px;
}

input#routeCalendarDateSelector {
    position: absolute;
    width: 100%;
    height: 47px;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
}

.calendar-date-selector:hover .date-selector-button {
    color: #4B545D;
}

.sub-header span {
    font-size: 12px;
    border-left: 1px solid #ccc;
    margin-left: 5px;
    padding-left: 5px;
    color: #848383;
}

.sub-header {
    font-size: 12px;
    font-weight: bold;
}

.sub-header span {
    font-weight: 100;
}

.grid-header-buttons {
    float: right;
    width: auto;
    padding-top: 5px;
}

.grid-header-buttons span {
    border-left: 1px solid #ccc;
    padding-left: 5px;
}

table.table thead.thead-dark th {
    position: sticky;
    top: 0; /* Don't forget this, required for the stickiness */
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);
    z-index: 2;
}

.grid-header-buttons-block button {
    font-size: 12px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-top: 2px !important;
    margin-bottom: 6px !important;
    height: 35px;
    line-height: 20px;
}
select#schoolSelector {
    background: #fff;
}

/* calendar CSS Fix */
#calendar .calendar-sidebar {
    position: relative;
    width: auto;
}
#calendar .month-list {
    padding-top: 0;
    padding-top: 10px;
    padding-bottom: 15px;
}

#calendar .calendar-inner {
    margin-left: 0px;
    height: 100%;
    position: absolute;
    margin-left: 135px;
    max-width: initial;
    width: auto;
}

#calendar .calendar-events {
    position: relative;
    float: left;
    margin: 0;
    margin-left: 400px;
    width: calc(100% - 540px);
}

.event-container > .event-icon > div.event-bullet-route,
.event-indicator > .type-bullet > div.type-route {
    background-color: #49c5b6 !important;
}

.event-container > .event-icon > div.event-bullet-request,
.event-indicator > .type-bullet > div.type-request {
    background-color: #cc55fd !important;
}

#calendar .calendar-events {
    max-height: 433px;
    overflow-y: auto;
}

#calendar .event-header {
    position: sticky;
    top: 0px;
    left: 0;
    margin-left: -15px;
    margin-right: -30px;
    margin-top: 0px;
    padding-top: 12px;
    background: #fbfbfb;
    z-index: 1;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

#calendar .calendar-events {
    padding-top: 0px !important;
}

#calendar .event-header p {
    margin-bottom: 0px;
}

#calendar .event-list {
    padding-top: 20px;
}

#calendar .event-indicator > .type-bullet {
    padding: 1px;
}

.event-change-type {
    font-weight: bold;
    font-size: 15px;
}

.event-secondary-data {
    font-size: 13px;
}

.event-request-status {
    background: #fff;
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 3px;
    font-size: 12px;
    position: absolute;
    top: 10px;
    left: 130px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.event-request-status.status-processed {
    background: #4bd75c;
    color: #2c8f38;
}

.event-request-status.status-approved {
    background: #5696cd;
    color: #d6ecff;
}

.event-request-status.status-pending {
    background: #ffc782;
    /* cursor: default; */
    color: #8d6431;
}

.event-request-status.status-declined {
    background: #f96d6d;
    color: #9f3838;
}


span.event-student-name {
    font-weight: bold;
    border-right: 1px solid #ccc;
    padding-right: 5px;
    margin-right: 5px;
}

.event-shift-name {
    font-weight: bold;
    font-size: 15px;
}

span.event-school-name {
    font-weight: bold;
    border-right: 1px solid #ccc;
    padding-right: 5px;
    margin-right: 5px;
}

p.event-desc {
    display: none;
}

p.event-title {
    font-size: 18px !important;
}

.event-info {
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

.event-icon {
    padding-top: 10px !important;
    padding-bottom: 30px !important;
}

.event-container:hover {
    cursor: default;
}

/* report pages css fixes */
.student-list-header {
    overflow: hidden;
}

.student-list-header-item.item-left {
    float: left;
}

.student-list-header-item.item-right {
    float: right;
    text-align: right;
}

.student-list-header-item {
    min-width: 100px;
}

.student-list-body {
    overflow: hidden;
}

.student-list-body-item.item-left {
    float: left;
}

.student-list-body-item.item-right {
    float: right;
    text-align: right;
}

.student-list-body-item {
    min-width: 100px;
}

.student-list-container .student-name-item {
    width: 200px;
}

.report-body-students {
    background: #3b4759bd;
}

.student-list-header {
    font-weight: bold;
    padding: 5px;
    border-bottom: 2px solid #5c697b;
    margin-bottom: 6px;
}

.report-stop-grid {
    width: 95%;
}

.student-list-body {
    padding-top: 2px;
    padding-bottom: 2px;
    color: #a5b3c6;
}

.student-list-body:hover {
    background: #00000026;
    color: #fff;
}

.student-list-body-item span {
    font-size: 11px;
    background: #ffffffa6;
    border-radius: 3px;
    margin-right: 6px;
    padding: 2px;
    color: #3f4c5e;
    padding-right: 4px;
}

.student-list-body:hover .student-list-body-item span {
    background: #fff;
}

.report-stop-grid-body {
    font-size: 16px;
}

.report-body-students {
    box-shadow: 0px 1px 5px -3px #000000ab inset;
}

.route-stop-assignment-row:hover {
    cursor: default;
    color: #000;
}

/* route -summary */
div#processSummaryModal .modal-dialog {
    width: 90% !important;
    max-width: 1000px;
}

.summary-message-primary {
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    line-height: 17px;
}

.summary-message-secondary {
    text-align: center;
    font-size: 14px;
}

.route-summary-container {
    overflow: hidden;
}

.summary-container-header {
    overflow: hidden;
}

.summary-container-column {
    float: left;
}

.summary-container-row {
    overflow: hidden;
}

.summary-container-column.bus-column {
    width: 100px;
}

.summary-container-column.start-column {
    width: 100px;
}

.summary-container-column.end-column {
    width: 100px;
}

.summary-container-column.time-column {
    width: 80px;
}

.summary-container-column.affected-column {
    width: 160px;
}

.summary-container-column.affected-column {
    overflow: hidden;
    position: relative;
}

.affected-stops {
    width: 50%;
    float: left;
}

.affected-students {
    float: right;
    width: 50%;
}

.summary-container-column.request-column {
    width: 160px;
}

.summary-container-column.request-column {
    overflow: hidden;
}

.affected-label {
    font-size: 12px;
    text-align: center;
    line-height: 12px;
}

.affected-value {
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    line-height: 20px;
}

.summary-container-header {
    text-align: center;
}

.summary-container-body {
    text-align: center;
}

.summary-container-column.shift-column {
    width: 100px;
}

.route-summary-container {
    background: #f6f6f6;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    margin-bottom: 20px;
}

.summary-container-header {
    background: #313740;
    color: #fff;
    font-size: 14px;
    line-height: 40px;
    border-bottom: 2px solid #bf24ff;
}

.summary-message-secondary {
    margin-bottom: 20px;
}

.summary-container-row {
    font-size: 14px;
    /* min-height: 40px; */
    /* display: inline-block; */
    /* vertical-align: middle; */
    line-height: 40px;
    border-bottom: 1px solid #ccc;
}

.affected-stops {
    margin-top: 5px;
}

.affected-students {
    margin-top: 5px;
}

.summary-container-column.request-column span {
    background: #313740;
    border-radius: 3px;
    padding: 2px;
    font-size: 11px;
    padding-left: 5px;
    padding-right: 5px;
    color: #f6f6f6;
}

span.self-self {
    background: #a773a4 !important;
    cursor: default;
}

span.self-change {
    background: #608dbb !important;
    cursor: default;
}

.summary-container-row.discarded {
    background: #ffcbc7;
    color: #bd8181;
}

.discarded span.self-change {
    background: #b4c1cf !important;
    color: #608dbb;
}

.discarded span.self-self {
    background: #d8b5d6 !important;
    color: #a773a4;
}

.summary-container-row.discarded {
    border-bottom: 1px solid #e1a4a4;
}

.affected-value span {
    font-weight: 100;
    margin-left: 2px;
}

.summary-loading-indicator {
    font-size: 14px;
    line-height: 150px;
    color: #b0b0b0;
}
.rejected-icon{
    display: none;
}
.discarded .rejected-icon{
    display: block;
}

.discarded .selected-icon{
    display: none;
}

.selected-icon {
    font-size: 30px;
    color: #57a95a;
}

.rejected-icon {
    font-size: 30px;
    /* color: #57a95a; */
}

.summary-container-column.route-column {
    width: 60px;
    border-right:1px solid #ccc;
}

.summary-container-header .summary-container-column.route-column{
    border-right:1px solid #42474e;
}

.summary-container-row.discarded .summary-container-column.route-column{
    border-right:1px solid #ebbebe;
}

.summary-container-column.selection-column {
    width: 90px;
}

.summary-message-secondary {
    color: #d65b5b;
}

.closing-message {
    font-size: 12px;
    border-right: 1px solid #d7952a;
    padding-right: 10px;
    margin-right: 10px !important;
    color: #d7952a;
}

.summary-container-row .summary-container-column.route-column {
    color: #b3b3b3;
    font-size: 12px;
}

.summary-container-row.discarded .summary-container-column.route-column {
    color: #d99b9b;
}


.selected-icon:hover {
    cursor: pointer;
    /* background: #ccc; */
    color: #187a1d;
}

.rejected-icon:hover {
    cursor: pointer;
    /* background: #ccc; */
    color: #9d5b5b;
}

.summary-container-column.start-column span {
    font-size: 9px;
    /* font-weight: bold; */
    margin-left: 1px;
}

.summary-container-column.end-column span {
    font-size: 9px;
    /* font-weight: bold; */
    margin-left: 1px;
}

.summary-container-column.time-column span {
    font-size: 10px;
    margin-left: 1px;
}

div#confirmSummaryChangeModal .modal-body {
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    font-size: 14px;
}

span.event-parent {
    font-weight: bold;
    border-left: 2px solid #cc55fd;
    padding-left: 5px;
    margin-left: 5px;
    color: #cc55fd;
}

.request-number-title {
    font-size: 11px;
    line-height: 14px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 5px;
    font-weight: bold;
    text-align: left;
    text-transform: uppercase;
}

.request-number-details {
    font-size: 14px;
    line-height: 14px;
}

.request-number-parent {
    font-size: 13px;
    line-height: 15px;
    text-align: left;
    border-left: 3px solid #cc55fd;
    margin-bottom: 3px;
    padding-left: 3px;
    font-weight: bold;
}

.request-number-student {
    font-size: 13px;
    line-height: 15px;
    text-align: left;
    border-left: 3px solid #ffb406;
    margin-bottom: 3px;
    padding-left: 3px;
}

.request-number-address {
    font-size: 12px;
    line-height: 15px;
    text-align: left;
    border-left: 3px solid #2ca8ff;
    padding-left: 3px;
}

div#processSummaryModal .modal-title span {
    border-right: 4px solid #bf24ff;
    margin-left: 5px;
    padding-right: 10px;
    color: #d0d2d6;
    float: right;
    font-size: 17px;
    line-height: 28px;
}

#processSummaryModal h5.modal-title {
    width: 100%;
}

div#confirmProcessRequestModal .modal-title span {
    border-right: 4px solid #bf24ff;
    margin-left: 5px;
    padding-right: 10px;
    color: #d0d2d6;
    float: right;
    font-size: 17px;
    line-height: 28px;
}

#confirmProcessRequestModal h5.modal-title {
    width: 100%;
}

.form-three-part .form-group {
    float: left;
    width: 32%;
    margin-right: 5px;
}

.form-three-part {
    overflow: hidden;
    padding-left: 3px;
    margin-bottom: 10px;
}

h5.modal-title.send-message-title span {
    border-right: 4px solid #bf24ff;
    margin-left: 5px;
    padding-right: 10px;
    color: #d0d2d6;
    float: right;
    font-size: 15px;
    line-height: 28px;
    text-transform: none;
}

h5.modal-title.send-message-title .sender-name {
    float: left;
    border-right: initial;
    font-size: 20px;
}

h5.modal-title.send-message-title {
    width: 100%;
}

.confirm-process-message-primary {
    font-size: 18px;
    text-align: center;
    border-bottom: 1px solid #ccc;
    max-width: 70%;
    margin: 0 auto;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.confirm-process-message-secondary {
    font-size: 14px;
    width: 85%;
    text-align: center;
    margin: 0 auto;
}

div#confirmProcessRequestModal .modal-dialog {
    width: 90%;
    max-width: 600px;
}

.confirm-process-message-default {
    font-size: 13px;
    text-align: center;
    margin-top: 10px;
    color: #bf24ff;
    margin-bottom: 20px;
}


input#parentSendMessageInput {
    width: 100% !important;
    padding-right: 40px;
}

input#driverSendMessageInput {
    width: 100% !important;
    padding-right: 40px;
}

.form-container.send-message-container {
    width: 100%;
    margin: 0px;
}

.send-message-btn {
    position: absolute;
    top: 0;
    right: 0;
    /* background: #ccc; */
    padding: 10px;
    border-radius: 0px 8px 8px 0px;
    padding-left: 15px;
    padding-right: 15px;
}

.send-message-btn:hover {
    background: #49515e;
    color: #e5ecf6;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
}

.message-list {
    font-size: 14px;
}

.message-text-container {
    /* float: left; */
    overflow: hidden;
    padding: 2px;
}

.message-text {
    float: left;
    background: #ccc;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    font-size: 13px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.message-time {
    font-size: 11px;
    color: #ccc;
    line-height: 16px;
}

.message-time {
    float: left;
    border-left: 1px solid #ededed;
    margin-left: 5px;
    line-height: 16px;
    padding-left: 5px;
    opacity: 0;
    margin-top: 4px;
    color: #8a8a8a;
    transition: all 0.2s ease-in-out;
}

.message-text-container:hover .message-time {
    opacity: 1;
    transition: all 0.2s ease-in-out;
}

.message-to .message-text {
    float: right;
    background: #535b66;
    color: #fff;
}

.message-to .message-time {
    float: right;
    border-right: 1px solid #ededed;
    margin-right: 5px;
    /* line-height: 16px; */
    padding-right: 5px;
    border-left: none;
}

.message-from .message-text {
    background: #2474ff;
    color: #fff;
}

div#parentMessageModal .modal-header {
    padding-top: 15px;
    padding-bottom: 15px;
}


div#parentMessageModal .modal-body {
    max-height: 300px;
    overflow-y: auto;
    min-height: 300px;
}

div#userMessageModal .modal-header {
    padding-top: 15px;
    padding-bottom: 15px;
}


div#userMessageModal .modal-body {
    max-height: 300px;
    overflow-y: auto;
    min-height: 300px;
}

div#adminMessageModal .modal-header {
    padding-top: 15px;
    padding-bottom: 15px;
}


div#adminMessageModal .modal-body {
    max-height: 300px;
    overflow-y: auto;
    min-height: 300px;
}

div#driverMessageModal .modal-header {
    padding-top: 15px;
    padding-bottom: 15px;
}


div#driverMessageModal .modal-body {
    max-height: 300px;
    overflow-y: auto;
    min-height: 300px;
}


.portal-messages-loading {
    text-align: center;
    line-height: 200px;
    color: #ccc;
}

.form-container.send-message-container.disabled-container .send-message-btn {
    color: #ccc !important;
    background: none !important;
    cursor: not-allowed;
}


span.close-modal-btn {
    border-right: none !important;
    margin-right: -10px;
    padding-left: 10px;
    background: #3c434e;
    margin-left: 0px !important;
    border-radius: 0px 3px 3px 0px;
}

span.close-modal-btn:hover {
    background: #b8494b;
    color: #8e1213!important;
    cursor: pointer;
}

span.send-message-init-btn {
    padding-left: 5px;
    cursor: pointer;
    color: #3b4759;
}

.route-grid .route-requested {
    background: #f4d8ff !important;
}

.route-grid .route-requested:hover {
    background: #ecc1fc !important;
}

table.clickable tr.selected-grid-row.route-requested {
    background: #b183c4 !important;
}

.route-edit-disabled {
    max-width: 210px;
    text-align: center;
    font-size: 15px;
    margin: 0 auto;
    line-height: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #cb9494;
}

.customBox-selected {
    background: #c2a503c2
    
}

.assignment-row-hover {
    border-left: 5px solid #f1c423;
    cursor: pointer;
    color: #786211;
    font-weight: bold;
}

.customBox-stop.customBox-assigned-stop {
    background: #86cd5c8a;
}
.customBox-stop.customBox-assigned-stop.customBox-edit-stop-hover{
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-top: -38px;
    margin-left: -15px;
}

span.not-available-value {
    color: #ccc;
    font-weight: bold;
    font-size: 13px;
    text-align: center;
}

.page-details {
    overflow: hidden;
    float: left;
}

.global-header-search {
    float: left;
    margin-left: 10px;
    border-left: 1px solid #e1e1e1;
    padding-left: 50px;
}

.global-header-search input {
    width: 340px !important;
}

.upload-file-instruction {
    text-align: center;
    line-height: 19px;
}

.upload-file-template-link {
    text-align: center;
    padding-top: 12px;
}

.upload-file-template-link a {
    background: #2493e1;
    padding: 8px;
    margin-top: 10px;
    color: #fff !important;
    font-size: 13px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    border-radius: 3px;
    padding-left: 15px;
    padding-right: 15px;
}

.upload-file-template-link a:hover {
    background: #1675b7;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.5);
    color: #93caf0 !important;
}

.student-infowindow-header {
    border-left: 4px solid #ccc;
    padding-left: 5px;
}

.student-infowindow-school {
    font-size: 12px;
}

.student-infowindow-school span {
    border-right: 1px solid #ccc;
    margin-right: 5px;
    padding-right: 5px;
}

.student-infowindow-name {
    font-size: 15px;
    font-weight: bold;
}

.student-infowindow-address {
    min-width: 180px;
    font-size: 12px;
    padding-bottom: 5px;
}

.student-infowindow-header.type-assigned {
    border-color: #64a33e;
}

.student-infowindow-header.type-assigned .student-infowindow-name {
    color: #64a33e;
}

.student-infowindow-header.type-unassigned {
    border-color: #5c707f;
}

.student-infowindow-header.type-unassigned .student-infowindow-name {
    color: #5c707f;
}

.student-infowindow-header.type-unallocated {
    border-color: #d45248;
}

.student-infowindow-header.type-unallocated .student-infowindow-name {
    color: #d45248;
}

span.student-map-address-pick {
    color: #3595e8;
    border-left: 1px solid #ccc;
    padding-left: 5px;
}

.select-address-overlay {
    position: absolute;
    height: calc(100vh - 585px);
    background: #2b2f36f2;
    width: 100%;
    color: #fff;
    border-radius: 5px;
    z-index: 100;
    min-height: 185px;
    text-align: center;
    font-size: 18px;
    display: none;
    padding-top: 50px;
}

span.student-map-address-pick:hover {
    cursor: pointer;
    font-weight: bold;
}

.student-address-pick-container {
    display: block;
    overflow: hidden;
    /* background: #ccc; */
    position: absolute;
    bottom: 4px;
    left: 0;
    /* right: 0; */
    width: 100%;
}

.picker-button-container {
    margin: 0 auto;
    width: 200px;
    background: #fff;
    border-radius: 5px;
    padding: 5px;
    padding-bottom: 2px;
    padding-top: 2px;
}

.picker-button-container button {
    width: calc(50% - 5px);
}

.address-infowindow {
    max-width: 180px;
    border-left: 5px solid #ffcf25;
    padding-left: 5px;
}

.select-address-overlay-instruction-secondary {
    font-size: 15px;
    margin-bottom: 10px;
}

.address-infowindow-address {
    font-size: 14px;
    font-weight: bold;
}

.address-infowindow-city {
    font-size: 14px;
}

.address-infowindow-pincode {
    font-size: 11px;
    color: #303030;
    font-weight: 100;
}

.upload-progress-container {
    background: #000000d6;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    padding-top: 40vh;
}

.progress-bar-container {
    width: 300px;
    margin: 0 auto;
    display: block;
    background: #ffffff2e;
    height: 20px;
    border-radius: 4px;
    border: 1px solid #3379c1;
}

.progress-bar-indicator {
    background: #3379c1;
    height: 18px;
    border-radius: 3px;
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.3);
}

.progress-percent {
    text-align: center;
    color: #e1e1e1;
    font-size: 12px;
    margin-top: 10px;
    font-weight: 100;
}

.progress-percent span {
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    margin-right: 2px;
}

.progress-count {
    text-align: center;
    color: #ababab;
    border-top: 1px solid #767676;
    max-width: 180px;
    margin: 0 auto;
    margin-top: 10px;
    padding-top: 10px;
    font-size: 14px;
}

.progress-count-label {
    text-align: center;
    color: #fff;
    font-size: 13px;
}

span.progress-count-processed {
    font-size: 20px;
    color: #fff;
}

span.progress-count-total {
    font-size: 20px;
    color: #fff;
}

.table-container {
    overflow-x: hidden;
}

.table-container table {
    margin-top: 0px !important;
}

.table-container .dataTables_info {
    font-size: 12px;
    margin-left: 5px;
}

.table-container li.paginate_button.page-item.active {
    box-shadow: none;
}

.table-container .pagination .page-item .page-link {
    border-radius: 5px !important;
    height: 25px;
    line-height: 25px;
    margin-top: 5px;
    background: #efefef;
}

.table-container .pagination .page-item.active .page-link {
    background: #4b545d;
}

.table-container .pagination .page-item .page-link:hover {
    background: #cbcbcb;
}

.table-container .paginate_button.page-item.next a {
    font-size: 12px;
}

.table-container .paginate_button.page-item.previous a {
    font-size: 12px;
}

.table-container .paginate_button.page-item.next.disabled a {
    background: #efefef;
    color: #b1b1b1;
}

.table-container .paginate_button.page-item.previous.disabled a {
    background: #efefef;
    color: #b1b1b1;
}

table#studentPageGrid {
    margin-top: 0px !important;
}

.parent-student-grid table.dataTable {
    margin-top: 0px !important;
}

.parent-grid-loader {
    position: absolute;
    top: 0;
    left: 0;
    background: #000000c2;
    color: #fff;
    z-index: 100;
    width: 100%;
    border-radius: 5px;
    height: calc(100vh - 150px);
    padding-top: 200px;
    text-align: center;
}

.student-hover-infowindow-name {
    font-weight: bold;
    font-size: 16px;
}

.student-hover-infowindow {
    padding-left: 3px;
}


.student-hover-infowindow-school {
    font-size: 12px;
    font-weight: bold;
}

.student-hover-infowindow-address {
    max-width: 150px;
    font-size: 12px;
    color: #363636;
    line-height: 14px;
    border-top: 1px solid #e9e9e9;
    margin-top: 5px;
    padding-top: 5px;
    margin-right: -15px;
}

.assignemnt-row.assignment-removed {
    color: #d44;
    border-color: #d44;
    text-decoration: line-through;
}

.new-data .assignemnt-row {
    color: #158d1e;
    border-color: #158d1e;
}



#stopDetails .assignemnt-row {
    position: relative;
}

.assignment-triggers {
    position: absolute;
    /* display: block !important; */
    right: 0;
    top: 0;
    font-size: 16px;
}

.assignment-triggers .trigger-element {
    float: left;
}

.db-data .assignemnt-row .remove-trigger{
    display:block;
}

.db-data .assignemnt-row .add-trigger{
    display:none;
}

.db-data .assignemnt-row.assignment-removed .remove-trigger{
    display:none;
}

.db-data .assignemnt-row.assignment-removed .add-trigger{
    display:block;
}


.trigger-element.remove-trigger {
    color: #a7a7a7;
}

.assignemnt-row:hover .trigger-element.remove-trigger {
    color: #ff7777;
}

.assignemnt-row:hover .trigger-element.remove-trigger:hover {
    color: #d83737;
}

.trigger-element.add-trigger {
    color: #a7a7a7;
}

.assignemnt-row:hover .trigger-element.add-trigger {
    color: #60d179;
}

.assignemnt-row:hover .trigger-element.add-trigger:hover {
    color: #32b125;
}

.new-data .assignment-triggers {
    display: block !important;
}

.map-layer-selector {
    z-index: 1;
}
.map-legend-box {
    position: absolute;
    bottom: 80px;
    left: 56px;
    z-index: 0;
    /* background: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%); */
}

.legend-box-icon {
    padding: 7px;
    font-size: 15px;
    color: #666;
    padding-left: 12px;
    padding-right: 12px;
    /* padding-top: 8px; */
    padding-bottom: 6px;
    padding-top: 8px;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.legend-box-container {
    display: none;
}

.legend-box-icon:hover {
    background: #cce4f9;
    color: #145c9d;
    cursor: pointer;
}

.map-legend-box.open .legend-box-container {
    display: block;
    position: absolute;
    background: #fff;
    border-radius: 3px;
    padding: 7px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    bottom: -43px;
    left: 45px;
    min-height: 200px;
    border-left: 5px solid #2e7cc1;
}

button#legendHideBtn {
    width: calc(100% - 3px) !important;
    font-size: 12px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.open .legend-box-icon {
    background: #2e7cc1;
    color: #ffffff;
    cursor: pointer;
    padding-right: 19px;
}

.legend-row {
    overflow: hidden;
    min-width: 156px;
    min-width: 200px;
    border-bottom: 1px solid #ebebeb;
    padding-top: 5px;
}

.legend-icon {
    float: left;
}

.legend-icon img {
    width: 30px;
}

.legend-desc {
    float: left;
    font-size: 12px;
    width: calc(100% - 30px);
    padding-left: 5px;
    margin-bottom: 7px;
    border-left: 2px solid #ebebeb;
    margin-top: 0px;
    font-size: 11px;
    font-weight: bold;
    color: #464646;
}

.legend-desc span {
    display: block;
    font-weight: normal;
    font-size: 10px;
    line-height: 10px;
}

.legend-title {
    margin-bottom: 10px;
    font-weight: bold;
    color: #2e7cc1;
}

.legend-group {
    display: none;
}

.legend-group.active {
    display: block;
}

#routesBottomGrid table{
    padding-top: 0px !important;
    margin-top: 0px !important;
    border-top: 0px !important;
}
.request-tab.active {
    background: #2e7cc1;
    color: #ffffff;
}

.request-tab.account.active {
    background: #2e7cc1;
    color: #ffffff;
}

.request-tab.configuration.active {
    background: #2e7cc1;
    color: #ffffff;
}

.request-tab.subscription.active {
    background: #2e7cc1;
    color: #ffffff;
}

.request-tab.transactions.active {
    background: #2e7cc1;
    color: #ffffff;
}

li.subscriptions.active .material-icons {
    color: #cc55fd !important;
}

li.account.active .material-icons {
    color: #cc55fd !important;
}

.access-code-value span {
    font-weight: normal;
    margin-left: 5px;
    font-size: 15px;
    line-height: 15px;
}

.request-data.subscription {
    border: none;
}

.card-detail-title {
    font-size: 16px;
    border-left: 4px solid #bf24ff;
    padding-left: 5px;
    line-height: 16px;
    margin-bottom: 5px;
}

.card-detail-name {
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;
}

.card-detail-box {
    margin-bottom: 19px;
    padding: 10px;
}

.card-detail-items {
    max-width: 240px;
}

.card-detail-item-name {
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
}

.card-detail-item-description {
    font-size: 12px;
    margin-bottom: 5px;
}

.current-subscription-container {
    float: left;
    width: 300px;
    border-right: 1px solid #ccc;
    padding-right: 10px;
    margin-right: 10px;
}

.update-subscription-container {
    float: left;
    width: calc(100% - 310px);
}

.update-stats-screen {
    text-align: center;
    padding-top: 60px;
}

.subscription-remaining {
    font-size: 17px;
}

span.subscription-days {
    font-weight: bold;
    color: #df2e2e;
}

span.days-label {
    font-size: 12px;
    padding-left: 2px;
}

.subscription-transaction-note {
    font-size: 12px;
    color: #a9a9a9;
}

.subscription-update-btn {
    background: #2e7cc1;
    max-width: 200px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 3px;
    cursor: pointer;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.subscription-update-text {
    font-size: 13px;
}

.subscription-update-btn:hover {
    background: #226cad;
    color: #99cbf7;
}

.current-subscription-container {
    padding: 15px;
    margin-top: 20px;
}

.update-subscription-container .update-stats-screen {
    display: block;
}

.update-subscription-container .update-checkout-screen {
    display: none;
}

.update-subscription-container.checkout-plans .update-stats-screen {
    display: none;
}

.update-subscription-container.checkout-plans .update-checkout-screen {
    display: block;
}

.update-subscription-container.checkout-addons .update-stats-screen {
    display: none;
}

.update-subscription-container.checkout-addons .update-checkout-screen {
    display: block;
}

.update-subscription-container.checkout-plans .update-checkout-screen .checkout-plan-container{
    display:block;
}

.update-subscription-container.checkout-plans .update-checkout-screen .checkout-addon-container{
    display:none;
}

.update-subscription-container.checkout-addons .update-checkout-screen .checkout-plan-container{
    display:none;
}

.update-subscription-container.checkout-addons .update-checkout-screen .checkout-addon-container{
    display:block;
}


.plan-container {
    overflow: hidden;
    width: 60%;
    margin: 0 auto;
    position: relative;
}

.plan-item {
    float: left;
    text-align: center;
    width: 31%;
    background: #ccc;
    margin: 5px;
    border-radius: 3px;
    padding: 10px;
}

.plan-name {
    font-size: 20px;
}

.plan-description {
    font-size: 12px;
    margin-bottom: 21px;
}

.plan-item-label {
    font-size: 12px;
}

.plan-item-value {
    font-size: 15px;
    font-weight: bold;
}

.plan-item {
    padding: 0px;
    padding-top: 10px;
}

.plan-cost {
    background: #8b7474;
    padding: 10px;
    margin-top: 20px;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
}

.plan-cost span {
    font-size: 12px;
    font-weight: normal;
    /* line-height: 12px; */
    margin-right: 2px;
}


.plan-item {
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.4);
    overflow: hidden;
    border-radius: 5px;
    background: #f3f9ff;
}

.plan-name {
    color: #2e7cc1;
    font-weight: bold;
}

.plan-description {
    border-bottom: 1px solid #dff0ff;
    padding-bottom: 10px;
}

.plan-cost {
    background: #2e7cc1;
    border-top: 3px solid #7ac0fd;
}

.checkout-container-title {
    text-align: center;
    font-size: 15px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.plan-item:hover {
    cursor: pointer;
    background: #e5f1fd;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.plan-item:hover .plan-description {
    border-bottom: 1px solid #c2e0fb;
}


.plan-item:hover {
    cursor: pointer;
    background: #e5f1fd;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.plan-item:hover .plan-description {
    border-bottom: 1px solid #c2e0fb;
}

.plan-item.active {
    background: #fffdf6;
    border:1px solid #e9b31b;
}

.plan-item.active .plan-cost {
    background: #ffd45c;
    color: #000;
    border-top: 3px solid #e9b31b;
}

.plan-item.active .plan-name {
    color: #e9b31b;
}

.plan-item.active .plan-description {
    border-bottom: 1px solid #fff4d5;
}

.checkout-plans-button{
    background: #2ec1a6;
    max-width: 200px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 3px;
    cursor: pointer;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.checkout-plans-button:hover {
    background: #22ada7;
    color: #99f7ee;
}

.checkout-footer-note {
    width: 400px;
    margin: 0 auto;
    text-align: center;
    border-top: 1px solid #ccc;
    margin-top: 50px;
    padding-top: 20px;
}

.checkout-plans-button {
    text-align: center;
}


.addon-container {
    overflow: hidden;
    width: 60%;
    margin: 0 auto;
    position: relative;
}

.checkout-back-button {
    text-align: center;
    width: 100px;
    margin: 0 auto;
}

.checkout-process-button {
    background: #2ec1a6;
    max-width: 200px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 3px;
    cursor: pointer;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 10px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    text-align: center;
}

.checkout-process-button:hover {
    background: #22ada7;
    color: #99f7ee;
}

.checkout-back-button:hover {
    font-weight: bold;
    cursor: pointer;
}


.addon-item {
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.4);
    overflow: hidden;
    border-radius: 5px;
    background: #f3f9ff;
    padding: 0px;
    padding-top: 10px;
    float: left;
    text-align: center;
    width: 32%;
    /* background: #ccc; */
    margin: 5px;
    /* border-radius: 3px; */
    /* padding: 10px; */
}

.addon-name {
    color: #2e7cc1;
    font-size: 20px;
    font-weight: bold;
    padding-top: 15px;
}

.addon-description {
    /* border-bottom: 1px solid #dff0ff; */
    padding-bottom: 10px;
    font-size: 12px;
    margin-bottom: 21px;
    padding: 22px;
    padding-top: 10px;
}

.addon-currency {
    display: none;
}

.addon-cost {
    /* background: #8b7474; */
    padding: 10px;
    margin-top: 20px;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    background: #2e7cc1;
    border-top: 3px solid #7ac0fd;
}

.addon-cost span {
    font-size: 12px;
    font-weight: normal;
    /* line-height: 12px; */
    margin-right: 2px;
}

.addon-item.active {
    background: #fffdf6 !important;
    border: 1px solid #e9b31b;
}

.addon-item.active .addon-cost {
    background: #ffd45c;
    color: #000;
    border-top: 3px solid #e9b31b;
}

.addon-item.active .addon-name {
    color: #e9b31b;
}

.addon-item:hover{
    cursor: pointer;
    background: #e5f1fd;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.checkout-process-button.disabled {
    background: #ccc;
    box-shadow: none;
    color: #767676;
}

.plan-item.current {
    cursor: default;
    background: #f3f9ff;
    box-shadow: none;
    border: 1px solid #2e7cc1;
}

.plan-item.current .plan-name {
    color: #2e7cc1;
}

.plan-item.current .plan-cost {
    font-weight: normal;
}

.addon-status-selected{
    display: none;
}

.addon-status-active{
    display: none;
}

.plan-status-active{
    display: none;
}

.plan-status-selected{
    display: none;
}


.plan-item.active .plan-status-selected{
    display: block;
}

.plan-item.current .plan-status-active{
    display: block;
}

.addon-item.active .addon-status-selected{
    display: block;
}

.addon-item.current .addon-status-active{
    display: block;
}


.plan-status-active {
    background: #3e8fd7;
    color: #fff;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 100%;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.plan-status-selected {
    background: #ffe9ab;
    color: #725607;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 100%;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.addon-status-active {
    background: #3e8fd7;
    color: #fff;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 100%;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.addon-status-selected {
    background: #ffe9ab;
    color: #725607;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 100%;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);
}

.addon-description {
    min-height: 86px;
}

.addon-container {
    min-height: 254px;
}

.checkout-selector-container {
    float: left;
    width: 75%;
}

.update-checkout-screen {
    overflow: hidden;
    position: relative;
}

.checkout-preview-container {
    float: left;
    min-height: 200px;
    width: 25%;
    border-left: 1px solid #e1e1e1;
    margin-top: 20px;
}

.checkout-preview-title {
    text-align: center;
}

.plan-container {
    width: 80%;
}

.addon-container {
    width: 80%;
}

.addon-item {
    width: 31%;
}

.checkout-preview-container {
    padding-left: 10px;
    padding-right: 10px;
    /* background: #f9f9f9; */
}

.checkout-preview-title {
    margin-bottom: 20px;
    font-weight: bold;
    color: #2e7cc1;
    /* background: #2e7cc1; */
    padding-top: 10px;
    padding-bottom: 10px;
}

.checkout-preview-item {
    overflow: hidden;
}

.checkout-preview-details {
    float: left;
    width: calc(100% - 100px);
}

.checkout-preview-price {
    float: right;
    width: 100px;
    text-align: right;
}

.checkout-total-preview {
    border-top: 1px solid #d9d9d9;
    margin-top: 10px;
    padding-top: 10px;
    overflow: hidden;
}

.heckout-preview-detail-title {
    font-size: 16px;
    font-weight: bold;
    color: #2e7cc1;
}

.heckout-preview-detail-description {
    font-size: 11px;
    margin-bottom: 10px;
}

span.preview-price-amount {
    font-size: 15px;
    font-weight: bold;
}

span.preview-price-currency {
    font-size: 12px;
    font-weight: normal;
}

.checkout-total-preview-label {
    text-align: right;
    font-size: 11px;
}

.checkout-total-preview-price {
    text-align: right;
}

span.checkout-total-preview-amount {
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;
}

tr.transaction-failed {
    background: #f5ebeb !important;
}

tr.transaction-paid {
    background: #effbf2 !important;
}


table#transactionPageGrid thead {
    background: #2e7cc1;
    color: #fff;
    box-shadow: 0 1px 2px 0px rgba(0,0,0,0.6);
    display: table-header-group;
    position:relative;
}

table#transactionPageGrid {
    border-radius: 5px !important;
    /* border: 2px solid #ccc; */
    /* overflow: hidden; */
    border: navajowhite;
}

.table-container.transaction-grid {
    border: 0px solid #ccc;
    overflow: hidden;
    border-radius: 5px;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,0.2);
    margin: 10px;
    max-height:calc(100vh - 190px);
}

tr.transaction-failed {
    color: #b33b3b;
}

tr.transaction-paid {
    color: #15a341;
}

table#transactionPageGrid {
    cursor: default;
}

td.transaction-id-cell span {
    font-size: 12px;
    border: 1px solid #e5e5e5;
    background: #ffffff8c;
    padding: 3px;
    border-radius: 3px;
    display: block;
    overflow: hidden;
}

td.transaction-id-cell {
    width: 100px;
    /* color: #000000d9; */
}

td.transaction-amount-cell {
    width: 150px;
    font-weight: bold;
}

td.transaction-status-cell {
    font-size: 13px;
    background: #0000000a;
    font-weight: bold;
    width: 100px;
}

td.transaction-time-cell {
    width: 300px;
}

td.transaction-detail-cell {
    text-align: right;
    padding-right: 20px;
}

.transaction-detail-btn {
    float: right;
    display: block;
    font-size: 13px;
    border: 1px solid #2e7cc1;
    padding: 2px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 4px;
    /* background: #2e7cc1; */
    color: #2e7cc1;
    cursor: pointer;
}

.transaction-detail-btn:hover {
    background: #2e7cc1;
    color: #fff;
    box-shadow: 0 1px 2px 0px rgba(0,0,0,0.3);
}

div#transactionDetailModal .checkout-preview-container {
    width: 100%;
    border-left: none;
    padding-top: 0px;
    margin-top: 0px;
}

.transaction-detail-loading {
    min-height: 200px;
    line-height: 200px;
    text-align: center;
    font-size: 17px;
    color: #ccc;
}

.card-detail-title {
    font-size: 13px;
    margin-bottom: 10px;
}

.card-detail-description {
    font-size: 13px;
    line-height: 15px;
    margin-top: 5px;
}

.card-detail-item-description {
    line-height: 16px;
    margin-top: 5px;
    margin-bottom: 12px;
}

.manage-settings-title {
    font-size: 17px;
    border-left: 4px solid #2e7cc1;
    padding-left: 10px;
    margin-left: 19px;
    color: #2e7cc1;
}

.manage-settings-section {
    /* font-size: 15px; */
    padding: 10px;
}

.manage-settings-form {
    max-width: 300px;
    /* background: #f7f7f7; */
    padding: 15px;
    border-radius: 5px;
    /* box-shadow: 0 1px 3px 0 rgba(0,0,0,0.2); */
    margin: 5px;
    padding-top: 10px;
}

.manage-settings-input input {
    width: 100%;
    border-radius: 5px;
    border: 1px solid #ededed;
    padding: 5px;
    font-size: 16px;
    padding-left: 10px;
    padding-right: 10px;
    color: #626262;
}

.manage-settings-label {
    font-size: 13px;
    color: #9b9b9b;
}

.manage-settings-item {
    margin-bottom: 10px;
}

.manage-settings-input input:focus {
    border: 1px solid #ccc;
    color: #2e7cc1;
    font-weight: bold;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.manage-settings-input input:focus::placeholder {
    color: #ccc;
    font-weight: normal;
}

.settings-update-btn {
    border: 1px solid #2e7cc1;
    background: #2e7cc1;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.settings-update-btn:hover {
    background: #1c63a1;
    cursor: pointer;
    color: #beccd9;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.3);
}

.settings-update-btn.disabled {
    background: #ccc;
    box-shadow: none;
    border-color: #c5c5c5;
    color: #8d8686;
}

.settings-update-btn-container {
    /* border-top: 1px solid #d1d1d1; */
    padding-top: 10px;
    margin-top: 15px;
}

.card-detail-name span {
    font-size: 12px;
    padding-left: 5px;
    color: #55b158;
}

tr.transaction-paid .transaction-status-cell {
    background: #a9e3b8;
}

tr.transaction-failed .transaction-status-cell {
    background: #f5a5a5;
}

.time-slider-container {
    background: #fff;
    margin-top: 15px;
    padding: 9px;
    /* box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%); */
    border-radius: 0.55rem;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.time-slider #timeSlider {
    width: 100%;
}

#timeSlider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
  margin-bottom:10px;
  border-radius:2px
}

#timeSlider:hover {
  opacity: 1;
}

#timeSlider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  background: #49c5b6;
  cursor: pointer;
  background: url(https://app.mybusrouting.com/html/assets/images/pointer-2.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

#timeSlider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #49c5b6;
  cursor: pointer;
  background: url(https://app.mybusrouting.com/html/assets/images/pointer-2.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.bubble {
    background: red;
    color: white;
    padding: 4px 12px;
    position: absolute;
    border-radius: 4px;
    left: 50%;
    transform: translateX(-50%);
  }
  .bubble::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 2px;
    background: red;
    top: -1px;
    left: 50%;
  }


  .date-selection-wrap.form-container {
    overflow: hidden;
}

.date-selection-container {
    float: left;
    margin-left: 1px;
}

.date-selection-container select {
    padding: 3px;
    border-color: #ccc;
}

.time-selection-note {
    text-align: center;
    border-bottom: 3px solid #49c5b6;
    margin: 0 auto;
    /* padding-bottom: 8px; */
    margin-bottom: -12px;
    color: #a19999;
    font-size: 12px;
    padding-bottom: 3px;
    margin-top: 7px;
    max-width: 300px;
}

.time-labels {
    text-align: center;
    max-width: 100px;
    margin: 0 auto;
    border-top: 4px solid #49c5b6;
    margin-top: -10px;
    font-weight: bold;
    color: #49c5b6;
    font-size: 20px;
}

.time-output span {
    font-weight: normal;
    font-size: 12px;
    margin-left: 2px;
}

.change-date-btn {
    float: left;
    padding: 0px;
    /* background: #ccc; */
    padding-left: 8px;
    padding-right: 8px;
    border-radius: 5px;
    margin-left: 5px;
    border: 2px solid #49c5b6;
    color: #49c5b6;
    -webkit-transition: .2s;
    transition: .2s;
}

.change-date-btn:hover {
    cursor: pointer;
    background: #49c5b6;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.change-date-btn.disabled {
    background: #ccc !important;
    border-color: #ccc !important;
    color: #959595 !important;
    box-shadow: none !important;
    cursor: progress;
}

.history-route-id {
    font-size: 20px;
    font-weight: bold;
}

.history-route-driver {
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

.history-route-student {
    border-left: 3px solid #49c5b6;
    padding-left: 5px;
    margin-bottom: 2px;
}

.history-route-updated {
    text-align: center;
    margin-top: 10px;
    border-top: 1px solid #ccc;
    padding-top: 3px;
    font-size: 11px;
    color: #979797;
}

.history-data-container {
    overflow: hidden;
    width: 100%;
    background: none;
    height: 8px;
    /* margin-left: 10px; */
    /* margin-right: 10px; */
    border-radius: 3px;
    margin-bottom: -9px;
}

.history-sider-data {
    float: left;
    width: 0.0694%;
    height: 10px;
    background: #49c5b6;
}

.history-sider-data.empty {
    background: none;
}

.history-route-legends {
    position: absolute;
    z-index: 1;
    bottom: 36px;
    left: 60px;
    background: #fff;
    /* border-radius: 3px; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 3px;
    /* padding: 10px; */
    overflow: hidden;
}

.history-legend-title {
    padding: 10px;
    font-size: 14px;
    padding-left: 30px;
    padding-right: 30px;
    background: #3b4759;
    color: #fff;
    border-bottom: 3px solid #49c5b6;
}

.history-route-legend-container-item {
    padding: 2px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 12px;
    font-weight: bold;
    color: #666;
    overflow: hidden;
    position: relative;
    line-height: 20px;
}

.history-route-legend-container {
    padding-top: 5px;
    padding-bottom: 5px;
}

.history-route-legend-name {
    float: left;
    width: 50px;
}

.history-route-legend-data {
    float: left;
    width: calc(100% - 50px);
    height: 5px;
    background: #ccc;
    margin-top: 7px;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 1px 1px 0 rgb(0 0 0 / 20%);
}

.history-route-legend-container-item:hover {
    background: #e3e3e3;
    cursor: pointer;
}

.history-route-legend-data-fill {
    height: 5px;
}

.history-route-legend-container-item.disabled {
    color: #ccc !important;
}

.history-route-legend-container-item.disabled .history-route-legend-data-fill {
    background: #d6d6d6 !important;
}

.history-route-legend-container-item.disabled .history-route-legend-name {
    text-decoration: line-through;
}

.history-stop-title {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: #3a4759;
    color: #fff;
    padding: 10px;
    border-bottom: 5px solid #49c5b6;
    /* font-weight: bold; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    font-weight: bold;
}

.history-route-student-container {
    margin-top: 38px;
    min-width: 100px;
}



.speed-control button {
    display: none;
}

.time-slider-container {
    float: left;
    width: calc(100% - 124px);
}

.history-range-container {
    overflow: hidden;
    padding: 2px;
}

.time-slider-control {
    overflow: hidden;
    padding-top: 13px;
    padding-bottom: 2px;
    float: left;
}

.play-pause-control {
    float: left;
    background: #fff;
    padding: 10px;
    border-radius: 0.55rem 0 0 0.55rem;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    margin: 2px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: 10px;
}

select#speed-input {
    /* FONT-VARIANT: JIS04; */
    background: #fff;
    border: #fff;
    font-size: 14px;
    padding: 12px;
    margin-top: 2px;
    margin-left: 0px;
    /* position: absolute; */
    /* z-index: -1; */
    border-radius: 0rem 0.55rem 0.55rem 0rem;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    padding-right: 0px;
}

.speed-control {
    float: left;
}

.play-pause-control:hover {
    background: #49c5b6;
    color: #277369;
    cursor: pointer;
}

.play-pause-control .play-btn {
    display: block;
}

.play-pause-control .pause-btn {
    display: none;
}

.play-pause-control.active .play-btn {
    display: none;
}

.play-pause-control.active .pause-btn {
    display: block;
}

.play-pause-control.active {
    background: #49c5b6;
    color: #277369;
    cursor: pointer;
}

.play-pause-control {
    padding-top: 14px;
    padding-bottom: 14px;
}

.play-pause-control {
    text-align: center;
    min-width: 42px;
}

a.simulation-setup-btn {
    display: block;
    background: #49c5b6;
    color: #277369 !important;
    text-align: center;
    font-weight: bold;
    font-size: 12px;
    padding: 3px;
    border-radius: 5px;
    border: 2px solid #49c5b6;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    transition: 0.2s;
}

a.simulation-setup-btn:hover {
    background: #3bafa1;
    cursor: pointer;
    border: 2px solid #35a597;
    box-shadow: none;
}

div#startSimulationModal .modal-body {
    padding: 0px;
}

div#startSimulationModal .modal-dialog {
    max-width: 800px;
}

.simulation-nav-tab {
    overflow: hidden;
}

.simulation-nav-item {
    float: left;
    width: 25%;
    font-size: 13px;
    line-height: 41px;
    padding: 0px;
    border-bottom: 1px solid #ccc;
    color: #ccc;
    text-align: center;
}

.simulation-nav-item.visited {
    border-bottom: 1px solid #313740;
}

.simulation-nav-item.active {
    color: #313740;
    border-bottom: 1px solid #313740;
    font-weight: bold;
}

.simulation-data{
    display:none;
}

.simulation-data.active{
    display:block;
}

#prevSimPageBtn{
    display: none;
}

.simulation-data-title {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 0px;
    font-size: 20px;
}

.simulation-data-content button {
    display: none;
}

.simulation-data-content {
    text-align: center;
}

select#simShiftType {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    min-width: 200px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.simulation-data {
    padding-bottom: 50px;
}

.sim-data-loading {
    margin-top: 50px;
    margin-bottom: 50px;
    color: #ccc;
    font-weight: 100;
}

div#simRouteData {
    overflow: hidden;
    padding: 20px;
}

.sim-route-box {
    float: left;
    width: 25%;
}

.sim-route-box-data {
    margin: 8px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}
.sim-route-box-title {
    font-size: 14px;
}

.sim-route-box-title span {
    /* font-size: 12px; */
    border-left: 1px solid;
    margin-left: 5px;
    padding-left: 5px;
}

.sim-route-box-data {
    overflow: hidden;
}

.sim-route-box-title {
    padding-top: 5px;
    padding-bottom: 5px;
}

.sim-route-box-school {
    font-weight: bold;
    font-size: 15px;
    line-height: 15px;
    padding-top: 10px;
}

.sim-route-box-shift {
    font-size: 12px;
    line-height: 19px;
}

.sim-route-box-students {
    font-size: 12px;
    border-top: 1px solid #ccc;
    line-height: 27px;
}

.sim-route-box-stats {
    overflow: hidden;
}

.sim-route-duration {
    float: left;
    width: 50%;
}

.sim-route-distance {
    float: left;
    width: 50%;
}

.sim-route-box-stats {
    font-size: 12px;
    background: #f1f1f1;
    border-top: 1px solid #ccc;
    margin-top: 8px;
    font-weight: bold;
}

.sim-route-box-stats span {
    font-size: 11px;
    margin-left: 1px;
    font-weight: 100;
}


.sim-route-box-data {
    transition: 0.2s;
    border: 1px solid #cccccc;
    box-sizing: border-box;
}

.sim-route-box-data:hover {
    cursor: pointer;
    box-shadow: none;
    border: 1px solid #ccc;
    background: #e2e8f1;
}

.sim-route-box-data:hover .sim-route-box-title {
    background: #313740bf !important;
    color: #fff !important;
    border-bottom: 2px solid #ff3636bf !important;
}

.sim-route-box-data:hover .sim-route-box-stats {
    background: #313740bf;
    color: #fff;
}

.sim-route-box-data.active {
    cursor: pointer;
    box-shadow: none;
    border: 1px solid #ccc;
    background: #e2e8f1;
}

.sim-route-box-data.active .sim-route-box-title {
    background: #313740 !important;
    color: #fff !important;
    border-bottom: 2px solid #ff3636 !important;
}

.sim-route-box-data.active .sim-route-box-stats {
    background: #313740;
    color: #fff;
}

div#simStudentData {
    padding: 20px;
}

.sim-student-box {
    float: left;
    width: 25%;
}

.sim-student-box-data {
    /* margin: 10px; */
    margin: 8px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.sim-student-premnum {
    font-size: 10px;
    text-align: left;
    line-height: 10px;
    color: #9b9b9b;
}

.sim-student-name {
    font-size: 13px;
    text-align: left;
    line-height: 13px;
}

.sim-student-row {
    margin: 8px;
    border-left: 3px solid #ccc;
    padding-left: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    margin-top: 6px;
    margin-bottom: 6px;
}

.sim-student-box-container {
    padding-top: 5px;
    padding-bottom: 5px;
    height: 180px;
    overflow-y: auto;
}

.sim-student-box-footer {
    border-top: 1px solid #ccc;
    padding-top: 5px;
    padding-bottom: 5px;
    box-shadow: 0 -1px 3px 0 rgb(0 0 0 / 20%);
}

.sim-student-box-footer-school {
    font-size: 14px;
    font-weight: bold;
    line-height: 14px;
}

.sim-student-box-footer-shift {
    font-size: 10px;
    line-height: 13px;
}

span.last-name {
    font-weight: bold;
    margin-left: 2px;
}

span.first-name {
    font-weight: 100;
}

span.student-gender {
    margin-left: 3px;
    font-size: 10px;
}

.sim-sudent-box-title {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 40%);
}

.sim-sudent-box-title {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 14px;
}

.sim-sudent-box-title span {
    border-left: 1px solid;
    margin-left: 5px;
    padding-left: 5px;
}

select#simShiftType {
    margin-top: 50px;
    margin-bottom: 30px;
}

.sim-student-row:hover {
    cursor: pointer;
    background: #f1f1f1;
}

.sim-student-row.removed {
    border-color: #cfcfcf !important;
    color: #cfcfcf;
}

.sim-student-row.removed .sim-student-premnum {
    color: #cfcfcf;
}

.sim-student-row.removed .sim-student-name {
    text-decoration: line-through;
}

div#simStudentData {
    overflow: hidden;
}

.simulation-data-sub-title {
    font-size: 12px;
    text-align: center;
    color: #b95454;
}

div#simConfigData {
    padding-top: 25px;
    padding-bottom: 25px;
}

div#simConfigData input {
    margin-top: 10px;
}

a.other-shift-btn {
    color: #49c5b6;
    font-weight: bold;
}

.manage-settings-item-description {
    font-size: 11px;
    color: #e18585;
    padding-left: 5px;
    margin-bottom: 18px;
}

.request-data.routes {
    max-width: 500px;
    width: 90%;
    padding: 30px;
}

div#restrictionControl {
    position: absolute;
    z-index: 1;
    width: 250px;
    bottom: 25px;
    right: 10px;
    /* background: #fff; */
}

.restriction-type-data {
    display: none;
    padding: 10px;
}

.restriction-type-data.active {
    display: block;
}

.restriction-type-container {
    background: #fff;
    /* padding: 10px; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 5px;
    overflow: hidden;
    padding-bottom: 20px;
}

.restriction-control-footer {
    background: #f1f1f1;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 59%);
    margin-top: -10px;
}

.restriction-type-nav {
    overflow: hidden;
}

.restriction-type-nav-item {
    float: left;
    width: 50%;
    overflow: hidden;
    position: relative;
    padding-top: 10px;
    padding-bottom: 0px;
    background: #e3e3e3;
    color: #b1b1b1;
    /* -webkit-box-shadow: 0 0 1px 3px #000 inset; */
    -moz-box-shadow: 0px -1px 4px 0px #0000002b inset;
    box-shadow: 0px -1px 4px 0px #0000002b inset;
}

.restriction-type-nav-item-icon {
    float: left;
    width: 30px;
    text-align: center;
    font-size: 30px;
    margin-top: -8px;
    margin-left: 10px;
    margin-right: 5px;
}

.restriction-type-nav-item-text {
    float: left;
}

.restriction-type-nav-item-subheading {
    font-size: 11px;
    line-height: 11px;
}

.restriction-type-nav-item-heading {
    font-weight: bold;
}

.restriction-instruction {
    font-size: 12px;
}

.restriction-type-nav-item.active {
    background: #fff;
    color: #585858;
    box-shadow: none;
}

.custom-basic-btn {
    width: 100%;
    background: #2e7cc1;
    padding: 5px;
    margin-top: 5px;
    border-radius: 5px;
    text-align: center;
    box-shadow: 0 1px 1px 0 rgb(0 0 0 / 20%);
    color: #fff;
}

.custom-basic-btn:hover {
    cursor: pointer;
    box-shadow: none;
}

.clear-item-drawing-btn {
    font-size: 11px;
    background: #ebebeb;
    color: #000;
}

.footer-clear-all-drawings {
    font-size: 11px;
    background: #e7cfcf;
    color: #d92b2b;
}

.form-check.autosave-container {
    text-align: center;
    font-size: 12px;
    line-height: 21px;
    margin-bottom: 9px;
}

.restriction-type-nav-item.active {
    cursor: default;
}

.restriction-type-nav-item {
    cursor: pointer;
}

span.primary-instruction {
    text-align: center;
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: #42a522;
    margin-top: 10px;
}


span.secondary-instruction {
    text-align: center;
    display: block;
    font-size: 11px;
    color: #b36e6e;
    margin-bottom: 10px;
}

.request-data.road-restrictions {
    max-width: 500px;
    width: 90%;
    padding: 40px;
}

.settings-update-btn.btn-disabled {
    border-color: #ccc;
    box-shadow: none;
    color: #938b8b !important;
}

.restriction-infowindow-footer {
    overflow: hidden;
    width: 150px;
    margin: 0px;
}

.infowindow-footer-btn {
    float: left;
    width: calc(50% - 2px);
    text-align: center;
    background: #ccc;
    padding: 5px;
    margin: 1px;
    border-radius: 3px;
    box-shadow: 0 1px 1px 0 rgb(0 0 0 / 20%);
}

.infowindow-footer-btn.cancel-delete-btn {
    background: #afbac5;
    color: #2e2e2e;
}

.infowindow-footer-btn.confirm-delete-btn {
    background: #db6868;
    color: #fff;
}

.infowindow-footer-btn.confirm-delete-btn:hover {
    cursor: pointer;
    background: #b95858;
}

.infowindow-footer-btn.cancel-delete-btn:hover {
    cursor: pointer;
    background: #939ea9;
}

.disability-list {
    max-width: 400px;
    width: 80%;
    margin-top: 50px;
}

.disability-id {
    float: left;
}

.disability-name {
    float: left;
    min-width: 150px;
    padding-left: 5px;
}

.disability-load-time {
    float: right;
}

.disability-id {
    background: #e8f4ff;
    line-height: 40px;
    padding-left: 10px;
    padding-right: 10px;
    border-right: 3px solid #2e7cc1;
    border-radius: 5px 0px 0px 5px;
    margin-right: 5px;
    min-width: 75px;
    text-align: right;
    font-size: 12px;
}
.disablity-name-code {
    font-size: 20px;
    line-height: 25px;
    font-weight: bold;
}

.disablity-name-desc {
    font-size: 12px;
    line-height: 12px;
}

.load-time-value {
    font-size: 16px;
    line-height: 16px;
    color: #2e7cc1;
    font-weight: bold;
}

.load-time-value span {
    font-size: 10px;
    margin-left: 2px;
}

.load-time-label {
    font-size: 11px;
    line-height: 11px;
    text-align: right;
}

.disablity-name-code {
    color: #2e7cc1;
    font-weight: bold;
    font-size: 18px;
}

.disability-load-time {
    padding-top: 5px;
    border-left: 1px solid #ccc;
    padding-left: 10px;
}


.disability-load-time {
    padding-right: 11px;
    padding-bottom: 5px;
}



.disablity-name-code {
    line-height: 20px;
    padding-top: 3px;
}


div#routeGenerationContainer {
    color: #616161;
    padding: 10px;
    margin-top: 20px;
    border-top: 1px solid #dfdfdf;
    text-align: center;
}

.check-icon .check-icon-row {
    display: none;
}

.check-correct .check-icon .correct-icon {display: inline-block;}
.check-loading .check-icon .loading-icon {display: inline-block;}
.check-warning .check-icon .warning-icon {display: inline-block;}
.check-incorrect .check-icon .incorrect-icon {display: inline-block;}

.generation-check-row {
    max-width: 400px;
    margin: 0 auto;
    overflow: hidden;
}

.check-icon {
    width: 100px;
    float: left;
    text-align: right;
    padding-right: 14px;
}

.check-text {
    width: calc(100% - 100px);
    float: left;
    text-align: left;
}

.check-icon-row {
    width: 25px;
    text-align: center;
}

.generation-check-row.check-correct {
    color: #0fab30;
}

.generation-check-row.check-loading {
    color: #b3b3b3;
}

.generation-check-row.check-incorrect {
    color: #d72c2c;
}

.generation-check-row.check-warning {
    color: #eb9842;
}

.check-icon-row {
    width: 25px;
    text-align: center;
}

.generation-check-row.check-incorrect {
    color: #d72c2c;
}

.generation-check-row.check-warning {
    color: #eb9842;
}

.generation-result {
    /* margin-top: 20px; */
    padding-top: 20px;
    border-top: 1px solid #ccc;
    max-width: 500px;
    margin: 0 auto;
    margin-top: 20px;
    display: none;
}

.generation-notice {
    font-size: 13px;
    margin-bottom: 5px;
    color: #7c7c7c;
}

button.generate-route-btn {
    background: #60aa2e;
    border: 1px solid #ccc;
    padding: 10px;
    font-size: 14px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 5px;
    color: #fff;
}

div#routeGenerationContainer {
    padding-top: 100px;
}

.student-infowindow-address {
    text-align: center;
    border-top: 1px solid #ccc;
    padding-top: 5px;
}
.map-layer-selector .layer-item-icon {
    display: none;
}

.search-type-selector {
    overflow: hidden;
}

.search-type-item {
    float: left;
    padding: 6px;
    background: #fff;
    padding-left: 10px;
    padding-right: 10px;
}

span.input-group-addon.search-type-selector-contianer {
    padding: 0px !important;
    overflow: hidden;
}

.search-type-item.active {
    background: #2e7cc1;
    color: #fff !important;
    cursor: default !important;
}

.search-type-item:hover {
    color: #2e7cc1;
    cursor: pointer;
}

input#addressSearchInput {
    border-radius: 30px 0px 0px 30px;
    border-right-width: 0px;
}

tr.unassigned-student {
    background: #f3b8b8 !important;
    color: #8b5151;
}

.student-grid tr.unassigned-student.selected-grid-row {
    background: #e37979 !important;
    color: #ffffff !important;
}

tr.unassigned-student:hover {
    background: #e29c9c !important;
    color: #8b5151 !important;
}


tr.partial-assigned-student {
    background: #ffe1bb !important;
    color: #a47c25 !important;
}

.student-grid tr.partial-assigned-student.selected-grid-row {
    background: #f3b362 !important;
    color: #6a3e11 !important;
}

tr.partial-assigned-student:hover {
    background: #f2c994 !important;
    color: #a47c25 !important;
}


tr.unassigned-stop {
    background: #f3b8b8 !important;
    color: #8b5151 !important;
}

.stop-grid tr.unassigned-stop.selected-grid-row {
    background: #e37979 !important;
    color: #ffffff !important;
}

tr.unassigned-stop:hover {
    background: #e29c9c !important;
    color: #8b5151 !important;
}

div#stopEditMapContainer {
    height: 200px;
}

.stop-edit-map {
    /* border-radius: 4px; */
    overflow: hidden;
    border-radius: 0.55rem;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

div#studentEditMapContainer {
    height: 200px;
}

.student-edit-map {
    /* border-radius: 4px; */
    overflow: hidden;
    border-radius: 0.55rem;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.add-infowindow-button {
    text-align: right;
}

.add-infowindow-button button {
    background: #c024ff !important;
}

.add-infowindow-button button:hover {
    background: #d264ff !important;
}

.add-infowindow-button button:active {
    background: #9c10d5 !important;
}

textarea#infowindowHtml {
    max-width: 100%;
    /* padding: 10px 10px 0 0; */
    resize: none;
    border: 1px solid #E3E3E3;
    border-bottom: 1px solid #E3E3E3;
    border-radius: 0.5rem;
    line-height: 2;
    font-size: 14px;
}

textarea#infowindowHtml:focus {
    font-size: 14px;
}

div#addInfowindowModal .modal-dialog {
    width: 80%;
    max-width: 800px;
}

textarea#editInfowindowHtml {
    max-width: 100%;
    /* padding: 10px 10px 0 0; */
    resize: none;
    border: 1px solid #E3E3E3;
    border-bottom: 1px solid #E3E3E3;
    border-radius: 0.5rem;
    line-height: 2;
    font-size: 14px;
}

textarea#editInfowindowHtml:focus {
    font-size: 14px;
}

div#editInfowindowModal .modal-dialog {
    width: 80%;
    max-width: 800px;
}

.info-float-right {
    float: right;
}
.info-float-left {
    float: left;
}

.infowindow-trigger-btn {
    background: #ccc;
    padding: 2px;
    padding-left: 7px;
    padding-right: 7px;
    margin-right: 5px;
    margin-top: 17px;
    border-radius: 0.4rem;
    background: #0000000f;
    transition: .3s;
    color: #9d9d9d;
}

.infowindow-trigger-btn:hover {
    cursor: pointer;
    background: #2ca8ff33;
    color: #2ca8ff;
}

div#infowindowModal .modal-header {
    background: #e3e3e3;
    color: #505050;
    padding: 12px;
    padding-left: 15px;
}

div#infowindowModal .modal-body {
    border-top: 1px solid #a9a9a9;
}

div#infowindowModal .modal-header .modal-title {
    font-size: 15px;
    line-height: 30px;
}

div#infowindowModal .modal-dialog {
    transition: .3s;
}

div#infowindowModal .modal-footer {
    background: #fff;
    margin-top: 0px;
    border-top: none;
}

div#infowindowModal .modal-dialog.infowindow-size-small{
    max-width: 400px;
}

div#infowindowModal .modal-dialog.infowindow-size-normal{
    max-width: 600px;
}

div#infowindowModal .modal-dialog.infowindow-size-large{
    max-width: 800px;
}

div#infowindowModal .infowindow-p {
    font-size: 1rem;
    line-height: 1.5rem;
}

.infowindow-close-btn {
    font-weight: bold;
    background: #ccc;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    font-size: 11px;
    background: #0000000f;
    transition: .3s;
}

.infowindow-close-btn:hover {
    cursor: pointer;
    background: #fb00002b;
    color: #d70000;
}

.header.dashboard-widget-title {
    overflow: hidden;
}

.header.dashboard-widget-title h2 {
    float: left;
    line-height: 25px;
}

.dashboard-widget-title .infowindow-trigger-btn {
    margin: 0 !important;
    margin-left: 10px !important;
}

.grid-btn-left {
    float: left;
    overflow: hidden;
    /* width: 50%; */
}

.grid-header-buttons-block {
    overflow: hidden;
}

.grid-btn-right {
    float: right;
    overflow: hidden;
}

input#globalSearchInput {
    border-radius: 1rem 0 0 1rem;
}

.search-container-data .infowindow-trigger-btn {
    position: absolute;
    left: -40px;
    top: -10px;
}

.modal-header-with-infowindow .infowindow-trigger-btn {
    margin: 0px;
    font-size: 16px;
}

.modal-content {
    border-radius: .3875rem !important;
}

.map-item-header {
    position: relative;
}

.map-item-header .infowindow-trigger-btn {
    position: absolute;
    right: 30px;
    top: 3px;
}
.map-item-close-btn{
    z-index: 1;
}

.assignment-edit-button-container {
    overflow: hidden;
}

.assignment-edit-button {
    float: left;
    width: calc(100% - 60px);
}

.assignment-edit-button-container .infowindow-trigger-btn {
    margin: 0;
    margin-right: 10px;
}

div#stopAssignmentMap {
    height: 400px;
}

div#editStopAssignmentModal .modal-dialog {
    max-width: 700px !important;
}

.change-assignment-shift-container {
    position: absolute;
    z-index: 2;
    background: #fff;
    right: 10px;
    top: 10px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 10px;
    padding: 2px;
}

.change-assignment-shift-selector.form-container {
    margin-bottom: 0px;
}

.change-assignment-shift-title {
    text-align: center;
    font-size: 12px;
    padding: 5px;
    padding-bottom: 2px;
    min-width: 169px;
}

.distance-to-stop-container {
    position: absolute;
    left: 12px;
    bottom: 15px;
    border-left: 5px solid #2ca8ff;
    padding-left: 5px;
}

.distance-to-stop-title {
    font-size: 11px;
    line-height: 16px;
}

.distance-to-stop-value {
    font-size: 19px;
    line-height: 19px;
    font-weight: bold;
}

span.distance-unit {
    font-size: 12px;
    margin-left: 2px;
}
.edit-student-assignment-btn {
    background: #313740;
    text-align: center;
    margin: 6px;
    border-radius: 4px;
    font-size: 13px;
    padding: 4px;
    color: #fff;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.edit-student-assignment-btn:hover {
    cursor: pointer;
    background: #474c54;
}

li.sm_menu_btm.help.active .material-icons{
    color: #2f7dc2 !important;
}

.infowindow-page-content {
    padding: 15px;
}

.infowindow-page-content .infowindow-section-header {
    font-size: 18px;
    display: inline-block;
    border-bottom: 1px solid #ddd;
    margin-bottom: 5px;
}

.infowindow-page-content .infowidow-section {
    margin-bottom: 18px;
}

.infowindow-p {
    margin-bottom: 5px;
}

.sync-map-container {
    position: absolute;
    top: 33px;
    right: 6px;
    background: #5fa1e6;
    padding: 0px;
    padding-left: 9px;
    padding-right: 9px;
    padding-top: 2px;
    border-radius: 0.3rem;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #fff;
    font-size: 15px;
}

.sync-map-container:hover {
    cursor: pointer;
    background: #5a90c9;
}

div#schoolEditMapContainer {
    height: 200px;
}

.copy-details {
    background: #ffffff1c;
    color: #92959b;
    text-align: center;
    font-size: 12px;
    margin-top: 5px;
    padding: 2px;
    border-radius: 4px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.copy-details:hover {
    cursor: pointer;
    background: #ffffff38;
    color: #b1b6bd;
}

.admin-login-image img {
    width: 220px;
    margin-bottom: 20px;
    margin-top: -100px;
}

.modal-body.manage-bus-modal-body {
    padding: 0;
}

.bus-management-nav {
    overflow: hidden;
}

.bus-management-nav-item {
    background: #efefef;
    text-transform: uppercase;
    font-size: 13px;
    padding: 5px;
    /* width: 50%; */
    /* text-align: center; */
    padding-left: 20px;
    padding-right: 20px;
    color: #979797;
    display: inline-block;
}

.bus-management-nav {
    border-bottom: 1px solid #ccc;
    background: #efefef;
}

.bus-management-nav-item.active {
    background: #fff;
    color: #313740;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.bus-management-nav-item:hover {
    cursor: pointer;
    color: #313740;
}
.bus-management-content-item .form-container{
    padding: 20px;
}
.bus-management-content-item {
    padding: 0px;
    display: none;
}

.bus-management-content-item.active {
    display: block;
}


.tab-content-list-row {
    overflow: hidden;
}

.tab-content-list-data {
    float: left;
}

.tab-content-list-actions {
    float: right;
}

.content-list-data-subheader {
    overflow: hidden;
}

.subheader-data {
    float: left;
    overflow: hidden;
}

.subheader-data-value {
    float: left;
}

.subheader-data-label {
    float: left;
}

.content-list-data-header {
    font-size: 18px;
}

.tab-content-list {
    padding: 0px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.content-list-data-header {
    line-height: 22px;
}

.subheader-data {
    margin-right: 5px;
    padding-right: 5px;
}

.content-list-data-subheader {
    font-size: 12px;
}

.subheader-data-value {
    font-weight: bold;
    margin-left: 2px;
}

.tab-content-list-data {
    border-left: 5px solid #e9e9e9;
    padding-left: 10px;
    padding-top: 5px;
}

.tab-content-list-actions {
    overflow: hidden;
    padding: 5px;
    padding-top: 8px;
    padding-right: 10px;
}

.tab-action-btn {
    float: right;
    /* background: #ccc; */
    margin-left: 5px;
    padding: 8px;
    padding-top: 0;
    padding-bottom: 0;
    width: 35px;
    text-align: center;
    border-radius: 4px;
    border: 1px solid #ccc;
    color: #6c6c6c;
    transition: .2s;
}

.tab-action-btn.delete {
    color: #e15b5b;
}

.tab-action-btn.edit {
    color: #2f68a3;
}

.tab-action-btn.edit:hover {
    background: #2f68a373;
    border-color: #7da2c6;
    color: #254566;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.tab-action-btn.delete:hover {
    background: #e15c5a85;
    border-color: #eb908f;
    color: #a93937;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.tab-content-list-row {
    /* margin-bottom: 7px; */
    padding: 5px;
    padding-left: 0px;
}

.tab-content-list-row:hover .tab-content-list-data {
    border-color: #313740;
}

.tab-content-list-row:hover {
    background: #f1f1f1;
}

.modal-close-btn {
    background: #cccccc1f;
    padding: 10px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 10px;
    border-radius: 3px;
    margin-top: 5px;
    transition: .2s;
}

.modal-close-btn:hover {
    background: #e34343;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

div#listBusDriverTab .content-list-data-header {
    font-size: 16px;
    font-weight: 500;
}

div#listBusDriverTab .content-list-data-header span {
    font-weight: 500;
}

div#listBusDriverTab .content-list-data-header span.driver-gender {
    font-size: 12px;
    /* line-height: 22px; */
    margin-left: 1px;
    font-weight:100
}

div#listBusDriverTab .subheader-data {
    color: #313740;
    /* font-weight: 400; */
}


.disability-add-container {
    float: left;
    width: 40%;
    border-right: 1px solid #ccc;
    padding-right: 50px;
    margin-right: 50px;
    padding: 40px;
    margin-top: 20px;
}

.disability-list {
    float: left;
    margin-top: 0px;
    width: 56%;
    max-width: 100%;
    padding: 40px;
    margin-top: 20px;
}

.disability-section-title {
    font-size: 17px;
    border-left: 5px solid #2e7cc1;
    padding-left: 10px;
    margin-bottom: 20px;
    font-weight: bold;
}

.add-disability-btn {
    text-align: right;
}

.add-disability-btn a {
    width: 100%;
}

.disability-row-data {
    border: 1px solid #dfdfdf;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 5px;
    background: #f9f9f9;
}

.disability-action-btn{
    float: right;
    margin-left: 5px;
    padding: 8px;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    border-radius: 4px;
    border: 1px solid #ccc;
    color: #6c6c6c;
    transition: .2s;
    height: 42px;
    width: 42px;
    font-size: 17px;
    line-height: 40px;
}

.disability-row-data {
    float: left;
    width: calc(100% - 100px);
}

.disability-row {
    overflow: hidden;
}

.disability-action {
    float: right;
    width: 100px;
}

.disability-action-btn.disability-edit {
    color: #2f68a3;
}

.disability-action-btn.disability-delete {
    color: #e15b5b;
}

.disability-action-btn.disability-delete:hover {
    background: #e15c5a85;
    border-color: #eb908f;
    color: #a93937;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.disability-action-btn.disability-edit:hover {
    background: #2f68a373;
    border-color: #7da2c6;
    color: #254566;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.disability-id {
    transition: .2s;
}

.disability-row:hover .disability-id {
    background: #518ec5;
    color: #fff;
}

.result-type {
    background: #00000029;
    margin-right: -14px;
    border-radius: 3px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 10px;
}

.gm-style iframe + div { border:none!important; }

.option-explain {
    font-size: 12px;
    margin-top: 10px;
    padding: 15px;
    padding-top: 0px;
}
.option-explain-row span {
    font-weight: bold;
}

.request-data.optimization {
    max-width: 500px;
    width: 90%;
    padding: 30px;
}

#addBusModal .form-time-selector select {
    float: left;
    display: block;
    width: 140px;
    margin-right: 10px;
}

#editBusModal .form-time-selector select {
    float: left;
    display: block;
    width: 140px;
    margin-right: 10px;
}

span.pre-data.red-data {
    margin-left: 2px;
    color: #dd3a3a;
    font-weight: 400;
}

span.pre-data.green-data {
    margin-left: 2px;
    color: #4fb94a;
    font-weight: 400;
}

span.pre-data.time-data {
    display: inline-block;
    font-size: 12px;
    line-height: 12px;
}

span.time-value {
    display: inline-block;
    font-weight: bold;
}

span.time-postfix {
    display: inline-block;
}

span.route-time {
    display: block;
    /* line-height: 5px; */
}

span.pre-data.time-data {
    display: block;
}

span.time-postfix {
    margin-left: 3px;
}


.vrp-call-container {
    overflow: hidden;
    background: #f3f3f3;
    margin: 5px;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
    padding-left: 0px;
    transition: 0.3s;
    margin-bottom: 10px;
}

.call-details {
    overflow: hidden;
    float: left;
    border-right: 1px solid #ccc;
    padding-right: 10px;
    width: calc(100% - 50px);
}

.call-id {
    float: left;
    font-size: 17px;
    line-height: 44px;
    border-left: 5px solid #ccc;
    padding-left: 5px;
    transition: 0.3s;
}

.call-time {
    float: right;
}

.call-time-header {
    overflow: hidden;
    margin-top: 5px;
}

.call-time-value {
    float: right;
    border-left: 1px solid #ccc;
    margin-left: 5px;
    padding-left: 5px;
    font-size: 12px;
    line-height: 15px;
}

.call-ago {
    float: right;
    font-size: 12px;
    line-height: 15px;
}

.call-ago span {
    margin-left: 2px;
}

.call-timestamp {
    font-size: 11px;
    color: #7a7a7a;
    text-align: center;
    border-top: 1px solid #dfdfdf;
    margin-top: 5px;
    padding-top: 2px;
}

.vrp-call-container:hover {
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.vrp-call-container:hover .call-id {
    border-left: 5px solid #49c5b6;
}

.vrp-calls {
    overflow-y: scroll;
    /* height: 60vh; */
    height: calc(100vh - 177px);
}

.vrp-detail-toggle {
    float: right;
}

.vrp-toggle-icon.less-icon {
    display: none;
}

.vrp-toggle-icon {
    background: #00000012;
    border: 1px solid #cccccc94;
    border-radius: 5px;
    width: 25px;
    text-align: center;
    height: 25px;
    margin-top: 7px;
    margin: 5px;
    transition: 0.3s;
    margin-top: 7px;
}

.vrp-toggle-icon:hover {
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    cursor: pointer;
    border: 1px solid #a0cdc7;
    background: #b2d7d2;
}

.vrp-detail-container{
    display: none;
}

.vrp-detail-header{
    overflow: hidden;
}

.vrp-toggle-icon.less-icon {
    padding-top: 2px;
}


.vrp-detail-container {
    margin: 10px;
    /* padding: 10px; */
    background: #ffffff;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    overflow: hidden;
}

.vrp-shit-type-nav {
    /* border-bottom: 1px solid #ededed; */
    overflow: hidden;
    /* padding: 5px; */
    background: #f3f3f3;
}

.vrp-shift-type-nav-item {
    float: left;
    padding: 10px;
    /* margin: 5px; */
    /* margin-bottom: 0px; */
    min-width: 150px;
    text-align: center;
    color: #939796;
    transition: 0.3s;
    border: 1px solid #ccc0;
    border-bottom: none;
}

.vrp-shift-type-nav-item.active {
    /* box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2); */
    color: #49c5b6 !important;
    font-weight: bold;
    background: #fff !important;
    border: 1px solid #ccc;
    border-radius: 5px 5px 0px 0px;
    border-bottom: none;
}

.vrp-shift-type-container {
    display: none;
    padding: 10px;
    border: 1px solid #ccc;
    border-top: none;
}

.vrp-shift-type-container.active {
    display: block;
}

.vrp-shift-type-nav-item.active:hover {
    cursor: default;
}

.vrp-shift-type-nav-item:hover {
    cursor: pointer;
    background: #ffffffdb;
    color: #49c5b6;
}

.vrp-school-header {
    overflow: hidden;
}

.vrp-school-header-name {
    float: left;
}

.vrp-school-header-name {
    font-size: 16px;
    border-left: 5px solid #49c5b6;
    padding-left: 5px;
}

.vrp-school-shifts {
    margin-bottom: 20px;
    margin-top: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    /* border-bottom: 1px; */
}

.vrp-school-shift-row {
    overflow: hidden;
    /* background: #ccc; */
    /* border: 1px solid #ccc; */
    padding: 10px;
    border-bottom: 1px solid #cccccc63;
}

.vrp-shift-heading {
    float: left;
    width: 250px;
    padding-top: 4px;
}

.vrp-shift-error-types {
    float: left;
    width: 500px;
}

.vrp-shift-error-details {
    float: right;
}

.vrp-shift-heading-primary {
    font-size: 15px;
    font-weight: bold;
    line-height: 20px;
}

.vrp-shift-heading-secondary {
    font-size: 13px;
}

.vrp-shift-heading-secondary span {
    /* background: #ed9999; */
    padding: 1px;
    font-size: 12px;
    font-weight: bold;
    color: #ed4747;
}

.error-type-chip {
    font-size: 11px;
    background: #e9333357;
    padding: 2px;
    display: inline-block;
    line-height: 17px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 5px;
    color: #9f4b4b;
    /* margin-right: 1px; */
    margin: 1px;
}

.vrp-shift-error-details a {
    background: #2c70a11c;
    color: #ccc;
    padding: 5px;
    font-size: 12px;
    margin-top: 8px;
    display: block;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid #2c70a114;
    color: #2c70a1;
    transition: 0.3s;
}

.vrp-shift-error-details a:hover {
    background: #2c70a1d9;
    color: #fff;
}

div#reportMap {
    height: 60vh;
}

#reportDetailModal .modal-dialog {
    max-width: 95%;
}

div#reportDetailModal .stop-edit-map {
    position: relative;
}

div#reportMapLoader {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 60vh;
    background: #000000c2;
    text-align: center;
    color: #fff;
    line-height: 60vh;
    font-size: 20px;
    font-weight: 100;
    display: none;
}

.analysis-container {
    margin-left: -40px;
    margin-right: -40px;
}









.route-error-infowindow {
    width: 300px;
}

.route-infowindow-nav {
    overflow: hidden;
    border-bottom: 1px solid #ccc;
    /* padding: 5px; */
    padding-bottom: 0px;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

.route-infowindow-nav-item {
    float: left;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    /* margin-right: 5px; */
    margin: 5px;
    margin-bottom: 0px;
    font-size: 15px;
    min-width: 80px;
    text-align: center;
}

.route-infowindow-nav-item.active {
    background: #ffffff75;
    border-radius: 5px 5px 0px 0px;
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 30%);
}

.route-infowindow-content {
    display: none;
}

.route-infowindow-content.active {
    display: block;
    padding: 10px;
}

.route-infowindow-label {
    font-size: 11px;
    font-weight: bold;
}

.route-infowindow-value {
    font-size: 15px;
}

.route-infowindow-row {
    margin-bottom: 5px;
}

.route-error-infowindow {
    margin: 0px;
}

.infowindow-loading {
    width: 300px;
    height: 150px;
    line-height: 150px;
    text-align: center;
    font-size: 15px;
    color: #919191;
}

.route-infowindow-nav-item:hover {
    font-weight: bold;
    cursor: pointer;
}

.stop-infowindow-header {
    background: #313740;
    color: #fff;
    padding: 10px;
    border-bottom: 2px solid #f13332;
}

.stop-infowindow-name {
    font-size: 16px;
    /* font-weight: bold; */
}

.stop-infowindow-address {
    font-size: 12px;
    color: #ccc;
}

.stop-infowindow-body {
    padding: 10px;
    overflow: hidden;
    max-width: 300px;
}

.stop-error-message {
    display: inline-block;
    background: #f7caca;
    margin: 2px;
    font-size: 12px;
    padding: 3px;
    border-radius: 3px;
    padding-left: 5px;
    padding-right: 5px;
}

.stop-infowindow-header {
    overflow: hidden;
}

.stop-infowindow-left {
    float: left;
}


.stop-infowindow-shift {
    text-align: center;
    background: #e9e9e9;
    border-top: 1px solid #ccc;
    padding: 5px;
}

.body.help-html {
    padding: 0px !important;
    /* overflow: hidden; */
}

.infowindow-page-content.help-html {
    padding: 0px;
    background: #415265;
    /* padding: 25px; */
}

.infowindow-page-content.help-html iframe {
    border: 0;
    width: 100%;
    height: calc(100vh - 86px);
    margin: 0 !important;
    /* padding: 0 !important; */
    overflow-y: auto;
    padding: 25px !important;
    padding-right: 0px !important;
}

.error-popup .modal-close-btn {
    position: absolute;
    right: 10px;
    top: 5px;
}

.add-popup .modal-close-btn {
    position: absolute;
    right: 15px;
    top: 15px;
}

.error-type-chip:hover {
    cursor: pointer;
    background: #e17371;
    color: #fff;
}

.stop-error-message:hover {
    cursor: pointer;
    background: #e17371;
    color: #fff;
    cursor: pointer;
}




.report-map-slider {
    position: relative;
}

.report-map-slider-action {
    position: absolute;
    z-index: 1;
    overflow: hidden;
    left: 5px;
    top: 5px;
    background: #fffffff2;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 0px 4px 0 inset rgb(0 0 0 / 40%);
}

.report-map-slider-action-item {
    float: left;
    /* background: #ccc; */
    margin: 1px;
    width: 30px;
    text-align: center;
    color: #858585;
    cursor: pointer;
    transition: .3s;
}

.report-map-slider-action-item.active {
    color: #f5f5f5;
    cursor: default;
}

.report-map-slider-action-chip{
    background: #454b54;
    border-radius: 5px;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 50%);
}

div#reportMap {
    width: 50%;
    float: left;
}

div#reportMapStops {
    width: 50%;
    height: 60vh;
    float: left;
    background: #ededed;
}

.report-map-slider-content {
    overflow: hidden;
    width: 200%;
}

.report-map-slider-action-chip {
    height: 33px;
    width: 50%;
    /* margin-left: 32px; */
}

.stop-error-title {
    text-align: center;
    /* margin-top: 20px; */
    font-weight: bold;
    width: 200px;
    margin: 0 auto;
    border-bottom: 3px solid #f13332;
    margin-top: 20px;
    padding-bottom: 10px;
}

.stop-error-list-container {
    width: 90%;
    margin: 0 auto;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    height: calc(60vh - 90px);
    overflow-y: auto;
}


.stop-error-row {
    overflow: hidden;
    padding: 4px;
    padding-left: 0px;
    padding-right: 10px;
}

.stop-error-name {
    float: left;
}

.stop-error-type {
    float: left;
}

.stop-error-students {
    float: left;
}

.stop-error-map {
    float: right;
}

.stop-error-stop-name {
    font-size: 16px;
    line-height: 16px;
    width: 200px;
}

.stop-error-stop-address {
    font-size: 13px;
}

.stop-error-list-container {
    padding-top: 10px;
    padding-bottom: 10px;
}

.stop-error-type {
    width: 400px;
}

.stop-error-type span {
    /* line-height: 15px; */
    float: left;
}

.stop-error-map a {
    background: #328fbbd6;
    text-decoration: none !important;
    color: #fff !important;
    font-size: 12px;
    padding: 5px;
    border-radius: 5px;
    line-height: 12px;
    padding-left: 10px;
    padding-right: 10px;
}

.stop-error-map a:hover {
    background: #328fbb;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}


a.view-students-btn {
    margin-left: 5px;
}

.stop-error-name {
    border-left: 5px solid #fff;
    padding-left: 10px;
}

.stop-error-row:hover .stop-error-name {
    /* background: #ccc; */
    border-color: #454b54;
}

.stop-error-row:hover {
    background: #ffeded;
}

.stop-error-name {
    margin-top: 5px;
}

.stop-error-stop-address {
    line-height: 20px;
    font-size: 12px;
}

.stop-error-map {
    padding-top: 5px;
}

div#stopStudentListModal .stop-error-title {
    width: 200px;
    margin-top: 20px;
    font-size: 13px;
    line-height: 13px;
}

div#stopStudentListModal .modal-body {
    padding: 0px;
    background: #ededed;
}

.stop-student-list-container {
    width: 90%;
    margin: 0 auto;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    /* height: calc(60vh - 90px); */
    overflow-y: auto;
    margin-bottom: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

div#stopStudentListModal .modal-dialog.error-popup {
    max-width: 550px;
}

.stop-student-row {
    overflow: hidden;
    padding-top: 5px;
    padding-bottom: 5px;
}

.stop-student-name {
    float: left;
    overflow: hidden;
    min-width: 180px;
    border-left: 5px solid #fff;
    padding-left: 5px;
}

.stop-student-disability {
    float: left;
}

.stop-student-school {
    float: right;
    padding-right: 10px;
    font-size: 14px;
    font-weight: bold;
}

.stop-student-name div {
    display: inline-block;
    font-size: 14px;
}

.stop-student-firstname {
    font-weight: bold;
}

.stop-student-gender {
    font-size: 12px !important;
}

.stop-student-row:hover {
    background: #efefef;
}

.stop-student-row:hover .stop-student-name {
    border-color: #313740;
}


.stop-student-disability {
    min-width: 100px;
    text-align: center;
    padding-top: 2px;
}

.disability-label {
    font-size: 11px;
    line-height: 11px;
}

.disability-value {
    font-size: 14px;
    line-height: 14px;
    font-weight: bold;
    margin-top: 2px;
}

div#reportDetailModal .modal-footer {
    display: block;
    padding: 0px !important;
}

.route-report-row {
    overflow: hidden;
    border-top: 1px solid #ededed;
    padding-bottom: 5px;
    padding-top: 5px;
    font-size: 14px;
}

.route-report-header {
    overflow: hidden;
    background: #454b54;
    color: #fff;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 14px;
}

.route-report-data {
    float: left;
    width: 130px;
    text-align: center;
}

.route-report-data.route-bus {text-align: left;padding-left: 20px;}

.route-report-grid {
    padding-bottom: 5px;
}

.route-report-data.route-students {
    width: 100px;
}

.route-report-data.route-capacity {
    width: 85px;
}

.route-report-data.route-start {
    width: 100px;
    margin-left: 20px;
}

.route-report-data.route-end {
    width: 100px;
    margin-right: 20px;
}

.route-report-data.route-distance {
    width: 130px;
}

.route-report-data.route-duration {
    width: 130px;
}


.route-report-data.route-bus {
    width: 100px;
}

.route-report-data.route-cost {
    width: 100px;
}

.route-report-data.route-visibility {
    float: right;
    width: 75px;
    overflow: hidden;
}

.route-report-data.route-download {
    float: right;
    width: 75px;
    overflow: hidden;
}

.route-report-data.route-visibility span.active {
    display: block;
}

.route-report-data.route-visibility span {
    display: none;
    float: left;
    background: #fff;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    margin: 5px;
    width: 25px;
    border-radius: 5px;
    font-size: 12px;
    line-height: 21px;
}

span.route-report-download {
    background: #fff;
    width: 25px;
    /* height: 22px; */
    border-radius: 5px;
    font-size: 12px;
    line-height: 21px;
    display: block;
    float: right;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    margin: 5px;
}

.route-report-data.route-action {
    width: 150px;
    float: right;
}

.route-report-data.route-visibility {
    padding-left: 0px;
}

.route-report-data.route-download {
    padding-right: 0px;
}

.route-report-row {
    line-height: 30px;
}

.route-report-header {
    position: absolute;
    width: 100%;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 50%);
    top: 0;
    left: 0;
}

.route-report-grid {
    padding-top: 30px;
    position: relative;
}

.route-report-grid-content {
    max-height: 25vh;
    overflow-y: auto;
}

span.route-report-download:hover {
    cursor: pointer;
    background: #f3f3f3;
}

.route-report-data.route-visibility span:hover {
    cursor: pointer;
    background: #f3f3f3;
}

.route-report-header .route-action span.active {
    display: inline;
    cursor: pointer;
}

.route-report-header .route-action span {display: none;margin-left: 5px;border-left: 1px solid #ccc;padding-left: 10px;}

.route-report-header .route-report-data.route-students {
    margin-left: 5px;
}

.route-report-row .route-report-data.route-students {
    border: 1px solid #00000014;
    background: #ffffff4c;
    line-height: 28px;
    border-radius: 5px;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 5%);
}

.route-report-row .route-report-data.route-students:hover {
    background: #ffffff8c;
    cursor: pointer;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 10%);
}

.route-report-row .route-report-data {
    line-height: 50px !important;
}

.route-report-row .route-report-data.route-start {
    line-height: 28px !important;
    margin-top: 5px;
}

.route-report-row .route-report-data.route-end {
    line-height: 28px !important;
    margin-top: 5px;
}

.route-report-row {
    border-bottom: 1px solid #ccc;
}

.stop-student-list-container {
    max-height: 50vh;
    overflow-y: auto;
}

div#stopStudentListModal .modal-body {
    border-radius: 0px 0px 5px 5px;
}

span.pre-data.cost-data {
    display: block;
    font-size: 12px;
    line-height: 12px;
}

.route-report-row .route-report-data.route-cost {
    line-height: 28px !important;
    margin-top: 5px;
}

.route-report-data.route-visibility {
    margin-top: 10px;
}

.route-report-data.route-download {
    margin-top: 10px;
}

.modal-report-btn {
    background: #cccccc1f;
    padding: 10px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 10px;
    border-radius: 3px;
    margin-top: 5px;
    transition: .2s;
    position: absolute;
    z-index:1;
    right: 50px;
}

.modal-report-btn:hover {
    background: #1875a1;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

div#reportMapStops {
    position: relative;
}

.modal-stop-btn {
    background: #00000024;
    padding: 10px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 10px;
    border-radius: 3px;
    margin-top: 5px;
    transition: .2s;
    position: absolute;
    z-index: 1;
    right: 50px;
    top: 10px;
    right: 10px;
    font-size: 14px;
}

.modal-stop-btn:hover{
    background: #1875a1;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    color: #fff;
}

.error-students {
    float: right;
}

.add-student-btn-container {
    float: left;
    padding-right: 10px;
    border-right: 1px solid #ccc;
    margin-right: 10px;
}

.add-student-btn-container button {
    margin-bottom: 0px !important;
    /* margin-top: 1px !important; */
}

.error-students label {
    font-size: 13px;
}

.error-students {
    padding-top: 5px;
    padding-bottom: 5px;
    border-right: 5px solid #ffb406;
    padding-right: 10px;
}

.grid-count-container {
    /* float: left; */
    display: inline;
    border-left: 1px solid #ccc;
    padding-left: 10px;
    font-size: 12px;
}

.grid-count-container span {
    font-weight: bold;
}

div#addSchoolNewModal .modal-steps {
    padding-top: 0px;
    padding-bottom: 0px;
}

.default-time-container {
    overflow: hidden;
}

.default-time-33 {
    float: left;
    width: 33%;
}

.default-time-25 {
    float: left;
    width: 25%;
}

div#addSchoolNewModal .modal-dialog {
    max-width: 800px;
}

.default-time-input .form-time-selector .bootstrap-select {
    width: 30% !important;
    float: left;
    /* width: 134px; */
    margin: 2px;
}

.default-time-label {
    text-align: center;
    font-weight: bold;
}

.default-time-33 .default-time-input.form-container {
    margin-bottom: 0px;
}

.default-time-title {
    /* line-height: 57px; */
    border-left: 5px solid #313740;
    padding-left: 10px;
    margin-top: 30px;
}

.shift-day-list {
    margin-top: 10px;
    border-top: 1px solid #ebebeb;
    padding-top: 10px;
}

.shift-day-checkbox-input {
    padding-left: 30px;
}

.form-check-input.day-shift-check {
    margin-top: 9px;
}

.shift-row .shift-name {
    float: left;
}

.shift-row .shift-days {
    float: right;
}

.shift-row .shift-time {
    float: right;
}

.shift-name span {
    margin-left: 5px;
    font-weight: bold;
}

.shift-row .shift-time {
    margin-left: 10px;
    border-left: 4px solid #4b545d;
    padding-left: 10px;
}

.shift-row.active-yes {
    padding-left: 10px;
}

.shift-data td {
    padding: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
}

span.shift-class.special.pickup {
    background: #14bd0b;
    color: #fff;
}

span.shift-class.special.dropoff {
    background: #2e7cc1;
    color: #fff;
}

span.shift-class {
    min-width: 85px;
}

span.shift-class.special.pickup {
    margin-right: 15px;
}

span.shift-class.special.dropoff {
    margin-right: 15px;
}

.shift-row .shift-time {
    line-height: 27px;
}


span.shift-day-pill {
    background: #fff;
    border-radius: 5px;
    margin-left: 3px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13px;
    color: #171718;
}

span.shift-day-pill.inactive-day {
    background: #db9898;
    text-decoration: line-through;
    color: #b12727;
}

div#editSchoolNewModal .modal-steps{
    padding-top: 0px;
    padding-bottom: 0px;
}


.default-time-50 {
    float: left;
    width: 50%;
    margin-top: 30px;
    border-top: 1px solid #f1f1f1;
    padding-top: 15px;
}

#addBusDepotModal .modal-dialog {
    max-width: 620px;
}

#editDepotModal .modal-dialog {
    max-width: 620px;
}

.default-time-50 .default-time-input.form-container {
    padding: 0px;
    margin: 0px;
}

.direction-arrow-toggle {
    position: absolute;
    z-index: 1;
    bottom: 20px;
    right: 10px;
    background: #f5f5f5;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
    font-size: 12px;
    padding: 9px;
    border-radius: 5px;
    border: 1px solid #ccc;
    transition: .3s all;
}

.direction-arrow-toggle label {
    margin-top: 3px;
}

.direction-arrow-toggle .form-group {
    margin-bottom: 3px;
}

.direction-arrow-toggle.active {
    background: #0075ff;
    color: #fff;
}

.gm-style-iw.gm-style-iw-c {
    padding: 0px !important;
}

.gm-style-iw-d {
    padding: 0px !important;
    margin: 0px !important;
    margin-bottom: -12px !important;
    margin-right: -18px !important;
}

.direction-infowindow {
    width: 100%;
    /* background: #ccc; */
    min-width: 160px;
}

.direction-marker-type {
    background: #4b545d;
    padding: 6px;
    color: #e9e9e9;
    /* border-bottom: 1px solid #000; */
    font-size: 11px;
    box-shadow: 0 1px 3px rgba(0,0,0,.35) !important;
}

.direction-marker-heading {
    font-weight: bold;
    font-size: 17px;
    margin: 5px;
    margin-bottom: 0px;
}

.direction-marker-address {
    padding-left: 5px;
    padding-bottom: 5px;
    /* box-shadow: 0 2px 3px rgba(0,0,0,.3) !important; */
}

.direction-marker-students {
    border-top: 1px solid #ccc;
    /* margin-top: 5px; */
    padding-top: 5px;
    padding-bottom: 10px;
    box-shadow: inset 0 2px 3px rgba(0,0,0,.1) !important;
    background: #f7f7f7;
}

.direction-marker-student-row {
    border-left: 3px solid #595a5a;
    margin-bottom: 2px;
    padding-left: 5px;
}

.row.clearfix.route-summary {
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 5px;
}

.report-summary-title {
    text-align: center;
    background: #48515a;
    font-size: 17px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #373e44;
    margin-bottom: 10px;
}

tr.student-data td {
    background: #e0e8e9;
}

.direction-student-row {
    overflow: hidden;
}

.direction-student-cell {
    float: left;
    padding-left: 10px;
    padding-right: 10px;
    /* min-width: 100px; */
    text-align: left;
}

.direction-student-cell.student-name {
    min-width: 200px;
}

.direction-student-cell.student-gender-name {
    min-width: 75px;
}

.direction-student-cell.student-disability-name {
    min-width: 100px;
}

.direction-student-cell.student-school-name {
    float: right;
    min-width: 150px;
    text-align: right;
}

.direction-student-cell.student-grade {
    float: right;
    min-width: 50px;
    text-align: center;
}

.direction-student-row.header {
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}

tr.detailed-data {
    display: none;
}


.direction-detail-toggle {
    background: #f5f5f5;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
    font-size: 12px;
    padding: 9px;
    border-radius: 5px;
    border: 1px solid #ccc;
    transition: .3s all;
    width: 200px;
}

.direction-detail-toggle label {
    margin-top: 3px;
}

.direction-detail-toggle .form-group {
    margin-bottom: 3px;
}

.direction-detail-toggle.active {
    background: #0075ff;
    color: #fff;
}

.direction-student-toggle {
    background: #f5f5f5;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
    font-size: 12px;
    padding: 9px;
    border-radius: 5px;
    border: 1px solid #ccc;
    transition: .3s all;
    width: 200px;
}

.direction-student-toggle label {
    margin-top: 3px;
}

.direction-student-toggle .form-group {
    margin-bottom: 3px;
}

.direction-student-toggle.active {
    background: #0075ff;
    color: #fff;
}

.loading-direction-infowindow {
    padding: 10px;
    padding-left: 30px;
    padding-right: 30px;
    /* background: #48515a; */
    color: #ccc;
}

.toggle-container {
    overflow: hidden;
}

.direction-detail-toggle {
    float: left;
}

.direction-student-toggle {
    float: left;
    margin-left: 10px;
    margin-bottom: 3px;
}

tr.student-data {
    display: none;
}

.direction-student-cell.student-parent-name {
    min-width: 150px;
    margin-left: 50px;
}

.direction-student-cell.student-parent-contact {
    min-width: 150px;
}

.customBox-direction {
    background: #69b3e78a;
    /* border: 2px solid #9f3d2a; */
    position: absolute;
    width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    border-radius: 50%;
    margin-top: -11px;
    margin-left: -8px;
    font-weight: bold;
    font-size: 10px;
    cursor: pointer;
}

.direction-infowindow-text {
    padding: 12px;
}

.served-contents {
    background: #e2e7ec;
    padding: 10px;
    font-size: 12px;
}

span.served-value {
    border-right: 1px solid #ccc;
    margin-right: 5px;
    padding-right: 2px;
}

span.served-label {
    font-weight: bold;
}

span.stop-distance-text {
    border-left: 1px solid #ccc;
    padding-left: 5px;
    font-size: 12px;
}

.shift-delete-action {
    float: right;
    margin-left: 10px;
    border-left: 1px solid #ccc;
    padding-left: 10px;
    min-width: 50px;
    text-align: center;
}

.shift-delete-container {
    font-size: 12px;
    border: 1px solid #ff3636;
    border-radius: 3px;
    padding: 3px;
    margin-top: 1px;
    color: #ff3636;
    transition: all .2s;
}

.shift-delete-container:hover {
    cursor: pointer;
    background: #ff3636;
    color: #fff;
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.17);
}

.shift-delete-action span {
    color: #b9b9b9;
    font-size: 13px;
    font-weight: bold;
}

tbody.table-text.route-grid.route-grid-styled td { box-shadow: inset 0 -1px 0 #0000001c; }


.request-data-sub-container {
    display: none;
}

.request-data-sub-container.active {
    display: block;
}

.request-data-sub-nav {
    overflow: hidden;
    height: 50px;
}

.request-data-sub-nav-item {
    float: left;
    padding: 10px;
    /* margin-right: 5px; */
    border-bottom: 1px solid #ccc;
    font-size: 13px;
    font-weight: bold;
    color: #9b9b9b;
    cursor: pointer;
}

.request-data-sub-nav-item.active {
    border-bottom: 5px solid;
    /* font-weight: bold; */
    color: #2e7cc1;
    cursor: default;
}

.request-data-sub-container {
    padding: 10px;
    width: 90%;
    max-width: 500px;
}

.no-route-container {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    height: 60vh;
    width: 100%;
    background: #313740cf;
    color: #fff;
    border-radius: 5px;
    line-height: 60vh;
    text-align: center;
    display: none;
}

.modal-stop-search {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 10px;
    /* padding: 2px; */
    background: #fff;
}

input#modalStopSearch {
    border-radius: 0.5rem;
    font-size: 0.9rem;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #E3E3E3;
    padding: .375rem .75rem;
    line-height: normal;
    margin: 2px;
}

.stop-search-row {
    border-left: 3px solid #e7e7e7;
    padding-left: 6px;
    margin-bottom: 2px;
    padding-bottom: 4px;
}

.stop-search-row-name {
    font-size: 16px;
    line-height: 20px;
    font-weight: bold;
    color: #5e5e5e;
}

.stop-search-row-address {
    font-size: 11px;
    line-height: 13px;
}

.stop-search-row:hover {
    background: #f3f3f3;
    border-left: 3px solid #177abf;
    cursor: pointer;
}

.stop-search-row:hover .stop-search-row-name {
    color: #313740;
}



.reverse-sync-map-container {
    position: absolute;
    bottom: 6px;
    left: 6px;
    background: #5fa1e6;
    padding: 0px;
    padding-left: 9px;
    padding-right: 9px;
    padding-top: 2px;
    border-radius: 0.3rem;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #fff;
    font-size: 15px;
}

.stop-edit-map {
    position: relative;
}

.reverse-sync-map-container:hover {
    cursor: pointer;
    background: #5a90c9;
}

div#schoolAddMapContainer {
    height: 200px;
}

div#stopAddMapContainer {
    height: 300px;
}

div#editBusDepotMapContainer {
    height: 200px;
}

div#addBusDepotMapContainer {
    height: 200px;
}

.routeinfowindow-title {
    padding-top: 10px;
    padding-bottom: 5px;
    padding-right: 20px;
}

.student-infowindow-header {
    padding-top: 10px;
    padding-bottom: 5px;
    padding-right: 20px;
}

div#routesBottomGrid th {
    padding-right: 10px;
}

div#routesBottomGrid th {
    padding-right: 10px;
}

span.school-student-list {
    background: #4b545d33;
    padding: 2px;
    font-size: 12px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 3px;
    margin-left: 10px;
    transition: all .2s;
}

span.school-student-list:hover {
    cursor: pointer;
    background: #4b545d;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.modal-dialog.error-popup.student-list-popup {
    max-width: 1000px;
}

.student-list-popup .stop-error-title {
    margin-top: 0px;
}

.student-list-popup .stop-student-list-container {
    margin: 0px;
    width: 100%;
}

.modal-dialog.error-popup.student-list-popup .modal-body {
    padding-top: 10px;
}

.sm-table-row {
    overflow: hidden;
}

.sm-table-column {
    display: inline-block;
    min-width: 50px;
}

.sm-table-column.sm-table-id {
    width: 70px;
}

.sm-table-column.sm-table-name {
    width: 150px;
}

.sm-table-column.sm-table-gender {width: 75px;}

.sm-table-column.sm-table-parent {
    width: 130px;
}

.sm-table-column.sm-table-contact {
    width: 130px;
}


.sm-table-column.sm-table-stop {
    float: right;
    width: 100px;
    text-align: right;
}

.sm-table-column.sm-table-school {
    float: right;
    text-align: right;
}

.sm-table-row {
    font-size: 13px;
}

.stop-student-list-container {
    background: #313740;
}

.student-m-table-header {
    color: #fff;
}

.student-m-table-body {
    background: #f3f3f3;
}

.sm-table-column {
    padding: 4px;
}

.sm-table-column.sm-table-arrival {
    padding-right: 10px;
}

.sm-table-column.sm-table-id {
    padding-left: 10px;
}

.student-m-table-body .sm-table-row:hover {
    background: #e3e3e3;
}

.student-m-table-body .sm-table-column.sm-table-id {
    font-size: 10px;
}

.copy-data-btn {
    background: #cccccc1f;
    padding: 10px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 10px;
    border-radius: 3px;
    margin-top: 5px;
    transition: .2s;
    position: absolute;
    right: 45px;
    top: 5px;
}

.copy-data-btn:hover {
    background: #2a699f;
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.sm-table-column.sm-table-arrival {
    float: right;
    padding-right: 10px;
    width: 100px;
    text-align: right;
}

.sm-table-column.sm-table-age {
    width: 70px;
    text-align: left;
}

.sm-table-column.sm-table-name span {
    font-weight: bold;
    font-size: 10px;
}

tbody.table-text.route-grid.route-grid-styled td a {
    color: inherit;
    background: #4b545d33;
    padding: 2px;
    font-size: 14px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 3px;
    margin-left: 10px;
    transition: all .2s;
}

tbody.table-text.route-grid.route-grid-styled td a:hover {
    cursor: pointer;
    background: #4b545d;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

span.bus-swap-init {
    background: #4b545d33;
    padding: 2px;
    font-size: 12px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 3px;
    margin-left: 10px;
    transition: all .2s;
    cursor: pointer;
    display: inline-block;
    margin-top: -17px;
}

.route-visibility-input {
    /* margin-bottom: 3px; */
    vertical-align: middle;
}

span.bus-swap-init:hover {
    cursor: pointer;
    background: #4b545d;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.disabled-route-row {
    background: #eee !important;
    color: #949494 !important;
}

tr.disabled-route-row .route-grid-first-column {
    border-color: #ccc !important;
}

.stop-student-list-container.form-container {
    background: #f9f9f9;
    padding: 0px;
    width: 90%;
    padding: 0px;
    margin: 0px auto;
    border-radius: 0.5rem;
}

.stop-student-list-container.form-container .form-group {
    margin-bottom: 0px;
}

.modal-dialog.error-popup.bus-swap-popup .modal-body {
    padding: 0px;
}

.bus-swap-footer {
    text-align: center;
    margin-top: 10px;
    background: #f1f1f1;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 0px 0px 5px 5px;
    border-top: 1px solid #d1d1d1;
    margin-top: 25px;
}

.modal-dialog.error-popup.bus-swap-popup {
    max-width: 350px;
}

.bus-swap-footer button {
    width: calc(50% - 20px);
    margin: 0px;
}

.auto-assign-student-container {
    overflow: hidden;
    /* padding-left: 5px; */
    /* padding-right: 4px; */
    padding: 5px;
}

button#autoAssignStudentBtn {
    width: 100%;
    padding: 3px;
    font-size: 11px;
    border: none;
    background: #0000000d;
    border: 1px solid #c1c1c1;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
    color: #727272;
    transition: all 0.2s;
}

button#autoAssignStudentBtn:hover {
    background: #4a4e54;
    color: #fff;
    border-color: #4a4e54;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.student-hover-infowindow {
    padding-top: 6px;
    padding-right: 20px;
    padding-bottom: 6px;
}


.day-tab-primary {
    overflow: hidden;
}

.tab-date-container {
    float: left;
}

.tab-stat-container {
    float: left;
    /* border-left: 1px solid #ccc; */
    margin-left: 4px;
    /* padding-bottom: 7px; */
    /* margin-top: 5px; */
}

.day-stat-count {
    border-top: 1px solid #e9e9e9;
    margin-top: 2px;
    padding-top: 2px;
    font-size: 11px;
    font-weight: bold;
}

.day-stat-count span {
    margin-left: 3px;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: bold;
    /* line-height: 10px; */
    /* display: inline-block; */
    /* margin-top: -27px; */
}

.day-stat-label {
    background: #4b545d33;
    padding: 2px;
    font-size: 10px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 3px;
    margin-left: 5px;
    transition: all .2s;
    /* margin-top: 10px; */
    padding-top: 6px;
    padding-bottom: 6px;
    /* background: #49c5b6; */
    /* color: #277369; */
    margin: 5px;
    margin-left: 5px;
}

.day-tab.active .day-stat-label {
    background: #49c5b6;
    color: #277369;
    font-weight: bold;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.day-tab:hover .day-stat-label {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.day-tab.active .day-stat-count {
    border-color: #ffffff1f;
}

span.no-mirror-label {
    background: #e541413b;
    padding: 2px;
    font-size: 12px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 3px;
    margin-left: 10px;
    transition: all .2s;
    color: #e31e1e;
}

span.bus-mirror-init {
    background: #4b545d33;
    padding: 2px;
    font-size: 12px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 3px;
    margin-left: 10px;
    transition: all .2s;
    cursor: pointer;
    display: inline-block;
    margin-top: -17px;
}

span.bus-mirror-init:hover {
    cursor: pointer;
    background: #49c5b6;
    color: #277369;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.color-picker-canvas {
    position: absolute;
    display: none;
    background: #f5f5f5d6;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    top: -208px;
    left: 125px;
    border: 1px solid #dbdbdb;
}

.color-picker-container {
    position: relative;
}

.form-three-part.with-address-sync {
    position: relative;
    padding-right: 35px;
}

.form-two-part .form-group {
    float: left;
    width: 49%;
    margin-right: 5px;
}

.stop-grid-container table.dataTable>thead>tr>th:not(.sorting_disabled), .stop-grid-container table.dataTable>thead>tr>td:not(.sorting_disabled){
    padding-right: 8px !important;
}

.bus-grid-container table.dataTable>thead>tr>th:not(.sorting_disabled), .bus-grid-container table.dataTable>thead>tr>td:not(.sorting_disabled){
    padding-right: 8px !important;
}

.reverse-sync-map-container:active {
    background: #4380bf;
}

.sync-map-container:active {
    background: #4380bf;
}

.student-details {
    float: right;
}

.report-student-btn {
    background: #c1c6cf;
    font-size: 12px;
    border-radius: 3px;
    padding: 5px;
    padding-right: 10px;
    padding-left: 10px;
    cursor: pointer;
    color: #313740;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    margin-right: 10px;
}

span.weekly-stats span {font-size: 12px;margin-left: 1px;}

span.weekly-stats.weekly-distance {
    border-left: 2px solid #0000001f;
    margin-left: 5px;
    padding-left: 5px;
}

span.weekly-stats.weekly-hours {
    min-width: 80px;
    text-align: right;
    display: inline-block;
}

span.weekly-stats.weekly-distance {
    min-width: 80px;
    text-align: left;
    display: inline-block;
}

.route-timeline-container {
    position: relative;
    background: #f5f5f5;
    height: 40px;
    border: 5px solid #e9e9e9;
    box-shadow: inset 0px 1px 3px 0 rgb(0 0 0 / 20%);
    margin-bottom: 60px;
    margin-top: 20px;
    background: rgb(141 223 213);
    border-color: rgb(141 223 213);
}

.route-slider {
    position: absolute;
    left: 0;
    top: 0;
    height: 30px;
    background: #625d5d;
    width: 100px;
    z-index: 10;
}

.time-item {
    position: absolute;
    width: 2px;
    height: 85px;
    top: -5px;
    z-index: 1;
    background: #f93535;
}

.time-label-container {
    position: relative;
    height: 85px;
}

.time-label {
    position: absolute;
    bottom: 0px;
    left: 1px;
    background: #feffec;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 0px 3px 3px 0px;
    padding-left: 10px;
    padding-bottom: 5px;
    padding-top: 2px;
    color: #313740;
    border: 1px solid #ccc;
}

span.primary {
    display: block;
    width: 90px;
    font-size: 13px;
    line-height: 20px;
    font-weight: bold;
}

span.secondary {
    display: block;
    width: 90px;
    font-size: 12px;
    line-height: 12px;
}

.time-item.end-time .time-label {
    left: initial;
    right: 1px;
    text-align: right;
    padding-right: 10px;
    padding-left: 0px;
    border-radius: 3px 0px 0px 3px;
}

.slider-stop-time {
    position: relative;
    height: 30px;
}



.route-label-container {
    position: absolute;
    left: 0;
    height: 85px;
    bottom: 0;
    width: 2px;
    background: #189343;
}

.route-school .route-label-container {
    position: absolute;
    left: 0;
    height: 120px;
    bottom: 0;
    width: 2px;
    background: #5d841c;
}

.route-label-container .time-label {
    bottom: initial;
    top: 0;
    right: 1px;
    left: initial;
}

.route-time-item.end-time .route-label-container .time-label {
    left: 1px;
    right: initial;
}

/*
div#routeEndDepot .route-label-container {
    left: initial;
    right: 0px;
}
*/

.route-time-item .time-label {
    border-radius: 3px 0px 0px 3px;
    text-align: right;
    padding-right: 10px;
    padding-left: 0;
}

.route-time-item.end-time .time-label {
    border-radius: 0px 3px 3px 0px;
    text-align: left;
    padding-right: 0px;
    padding-left: 10px;
}

.route-time-item .time-label .primary {
    width: 85px;
}
.route-time-item .time-label .secondary {
    width: 85px;
}

.route-time-item.end-time .time-label {
    text-align: left !important;
}

.school-time-label {
    background: #9ed73e;
    min-width: 95px;
    font-size: 12px;
    border: 1px solid #5d841c;
    margin-left: -44px;
    border-radius: 14px;
    overflow: hidden;
    font-size: 12px;
    padding-right: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    /* margin: 5px; */
}

.school-time-label span.primary-route-label {
    width: 25px;
    display: inline-block;
    background: #5d841c;
    height: 25px;
    text-align: center;
    border-radius: 50%;
    line-height: 25px;
    margin-right: 5px;
    margin-left: 1px;
    margin-top: 1px;
    margin-bottom: 1px;
    color: #fff;
    font-size: 12px;
}

span.secondary-route-label.secondary {
    display: initial;
    line-height: initial;
}

div#routeSlider:hover {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    cursor: pointer;
}

div#routeSlider:active {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    cursor: ew-resize;
}

.slider-label {
    margin-top: -25px;
    text-align: center;
    font-size: 12px;
    /* background: #ccc0; */
    font-weight: bold;
    margin-right: 5px;
    margin-left: 5px;
    line-height: 21px;
    border-radius: 4px;
    color: #fff;
}

div#editRouteMapContainer {
    height: 500px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.route-timeline-map {
    margin: -24px;
}

.route-edit-grid-timeline {
    position: absolute;
    top: 80px;
    left: 10px;
    width: calc(100% - 20px);
    background: #4b545de8;
    height: calc(40vh - 176px);
    z-index: 5;
    min-height: 135px;
    padding: 51px;
    display: none;
}

div#leftsidebar {
    z-index: 9;
}


.time-item.bottom-item .time-label {
    background: #ffffff;
    border-color: #e85c51;
    border: 0px;
    border-left: 1px solid #e85c51;
}

.time-item.bottom-item {
    background: #e85c51;
}

.time-item.bottom-item.end-item .time-label {
    border: 0px !important;
}

.time-item.bottom-item.end-time .time-label {
    border-left: 0px;
    border-right: 1px solid #e85c51;
}

.route-label-container.top-item {
    background: #fff;
    box-shadow: 0px 1px 3px 0 rgb(0 0 0 / 35%);
}

.route-label-container.top-item .time-label {
    background: #fffefe;
    border: 0px;
    border-right: 1px solid #fff;
    text-align: right;
}

.map-minimal-panel {
    display: none;
    position: absolute;
    right: 7px;
    /*left:7px;*/
    bottom: 7px;
    z-index: 20;
}

.map-panel-header {
    background: #4b545d;
    padding: 15px;
    border-radius: 15px;
    color: #fff;
    box-shadow: 0 2px 3px 0 rgb(0 0 0 / 40%);
}

.panel-route-info {
    overflow: hidden;
    min-width: 250px;
}

.route-info-left {
    float: left;
}

.route-info-right {
    float: right;
    text-align: right;
    font-size: 13px;
    font-weight: bold;
}

.route-info-bus {
    font-size: 18px;
    line-height: 22px;
}

.route-info-student {
    font-size: 12px;
    color: #ccc;
}

.route-info-right span {
    font-weight: lighter;
    font-size: 11px;
    margin-left: 2px;
}

.route-color {
    float: left;
    width: 40px;
    height: 40px;
    background: #e18fdb;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    margin-right: 5px;
}

.route-color {
    float: left;
    width: 40px;
    height: 40px;
    background: #e18fdb;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    margin-right: 5px;
    font-size: 11px;
}

.map-panel-body {
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 2px 10px 0 rgb(0 0 0 / 15%);
    margin-top: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.stop-list-primary-info {
    font-size: 14px;
}

.stop-list-secondary-info {
    font-size: 11px;
    overflow: hidden;
}

.list-info-time {
    float: left;
}

.stop-list-row {
    position: relative;
    padding-left: 50px;
    margin-left: -44px;
    transition: all .2s;
    padding-bottom: 5px;
    padding-top: 6px;
}

.stop-list-sequence {
    position: absolute;
    left: 14px;
    top: 12px;
    width: 26px;
    height: 26px;
    background: #4b545d;
    text-align: center;
    border-radius: 50%;
    line-height: 26px;
    font-size: 11px;
    color: #fff;
}

.stop-list-container {
    border-left: 1px solid #ccc;
    padding-left: 17px;
    margin-left: 25px;
}

.stop-list-row:hover {
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 20%);
    cursor: pointer;
    background: #f6f6f6;
}

.list-info-type {
    float: left;
    border-left: 0px;
    background: #0000001a;
    text-align: center;
    padding: 0;
    margin: 0;
    text-transform: uppercase;
    font-size: 8px;
    border-radius: 5px;
    padding: 2px;
    padding-left: 5px;
    padding-right: 5px;
    margin-left: 5px;
    margin-top: 0px;
}

.stop-list-row.stop-type-school .list-info-type {
    background: #9ed73e;
    color: #476711;
}


.stop-list-row.stop-type-depot .list-info-type {
    background: #cbc557;
    color: #6e500a;
}


.list-action-btn-container {
    position: absolute;
    top: 0;
    right: 0;
    /* background: #ccc; */
}

.list-action-btn {
    float: right;
    height: 49px;
    width: 49px;
    text-align: center;
    color: #d93d3d;
    transition: all 0.3s;
}

.list-action-btn.list-action-add {
    display: none;
}

.list-action-btn i {
    margin-top: 14px;
}

.list-action-btn.list-action-delete:hover {
    background: #d93d3d;
    color: #8d1313;
}

.stop-list-row.deleted-list-row .list-action-delete {
    display: none;
}

.stop-list-row.deleted-list-row .list-action-add {
    display: block;
}

.list-action-btn.list-action-add {
    color: #61a71e;
}

.list-action-btn.list-action-add:hover {
    background: #61a71e;
    color: #356209;
}

.stop-list-row.deleted-list-row {
    background: #f51c0d1c;
}

.stop-list-row.deleted-list-row .stop-list-primary-info {
    color: #d93d3d;
    text-decoration: line-through;
}


.map-panel-footer {
    background: #fff;
    padding: 10px;
    background: #fff;
    margin-top: -15px;
    border-top: 1px solid #ececec;
    border-radius: 0px 0px 15px 15px;
    box-shadow: 0 2px 10px 0 rgb(0 0 0 / 15%);
    overflow: hidden;
}

.pannel-body-title {
    border-bottom: 2px solid #cb2968;
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 20%);
    font-size: 16px;
    padding-left: 15px;
    margin-top: -15px;
    padding-bottom: 10px;
    background: #cb29681c;
    padding-top: 10px;
    border-radius: 15px 15px 0px 0px;
    color: #4b545d;
}

button.minimal-panel-button {
    border: 1px solid #ccc;
    border-radius: 7px;
    font-size: 13px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 30px;
    margin: 2px;
}

button.minimal-panel-button.minimal-btn-white {
    background: #fff;
    border-color: #babdc0;
}

button.minimal-panel-button.minimal-btn-action {
    color: #fff;
    background: #006ff1;
    border-color: #3d6a9e;
}

.map-panel-footer .minimal-panel-button {
    width: calc(50% - 7px);
}

.map-panel-footer button.minimal-panel-button.minimal-btn-white {
    float: left;
}

.map-panel-footer button.minimal-panel-button.minimal-btn-action {
    float: right;
}

button.minimal-panel-button:hover {
        box-shadow: 0 2px 10px 0 rgb(0 0 0 / 15%);
}

.panel-title-route {
    font-size: 18px;
    font-weight: bold;
}

.panel-title-capacity {
    font-size: 10px;
    color: #7f7f7f;
    line-height: 12px;
    font-weight: bold;
}

.panel-title-capacity span {
    font-size: 10px;
    font-weight: lighter;
}

.stop-list-scroll-container {
    max-height: calc(60vh - 315px);
    overflow-y: scroll;
}

.list-info-type {
    background: #fee08a;
    color: #aa780a;
}

.route-school.stop-click .route-label-container {
    height: 75px;
    z-index: 10;
    background: #fee08a;
}

.route-school.stop-click .route-label-container .school-time-label {
    background: #fee08a;
    border: 1px solid #b5851a;
    color: #7f5d11;
}

.route-school.stop-click .route-label-container .school-time-label .primary-route-label {
    background: #c69b35;
    color: #fee08a;
}

.route-time-item.route-school.stop-click {
    display: none;
}

.panel-direction-btn {
    float: right;
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 1;
    overflow: hidden;
    background: #00000014;
    padding: 5px;
    font-size: 12px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    transition: all .3s;
    margin: 0px;
}

.pannel-body-title {
    position: relative;
}

.panel-direction-label {
    float: left;
}

.panel-direction-icon {
    float: left;
    margin-left: 5px;
    font-size: 16px;
    margin-top: -3px;
    margin-right: -3px;
    margin-bottom: -3px;
    /* color: #4b545d; */
}

.panel-direction-btn:hover {
    cursor: pointer;
    background: #4b545d;
    color: #fff;
    box-shadow: 0 2px 3px 0 rgb(0 0 0 / 22%);
}

div#mirrorStartDepot .route-label-container {
    left: 0;
    z-index: 0;
}
div#mirrorEndDepot .route-label-container {
    left: initial;
    right: 0;
}
div#mirrorSlider {
    z-index: 5;
}

.school-error .school-time-label {
    background: #ea8888;
    border-color: #e34141;
}

.school-error .school-time-label .primary-route-label {
    background: #e34141;
}

.route-label-container.top-item.school-item.school-error {
    background: #d96565;
}

.new-stop-container .stop-list-sequence {
    font-size: 8px;
    background: #9ed73e;
    color: #4b545d;
    font-weight: bold;
}

.new-stop-container .stop-list-row {
    background: #9ed73e42;
}

.new-stop-container .stop-list-row:hover {
    background: #e5ffba;
}

.minimal-btn-action.btn-disabled {
    border-color: #ccc !important;
}
.disable-slider-container{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% + 2px);
    background: #4b545dd9;
    height: 30px;
    text-align: center;
    line-height: 30px;
    color: #ff1212;
}

.stop-list-row-new .list-info-time {
    display: none;
}

.stop-list-row-new .list-info-type {
    margin-left: 0px;
}

.slider-lock .disable-slider-container {
    display: block;
}

.tab-action-btn.unavailable {
    font-size: 11px;
    line-height: 30px;
    text-align: center;
    font-weight: bold;
}

.sim-route-box-school {
    display: none;
}

.sim-route-box-shift {
    display: none;
}

.sim-route-box-stats {
    margin-top: 0px;
    border-top: 0px;
}

.sim-student-box-footer {
    display: none;
}

.time-slider-control.sim-speed-control {
    position: absolute;
    top: 40px;
    right: 10px;
    display: none;
}

.time-slider-control.sim-speed-control select {
    width: 122px;
    /* padding-right: 10px !important; */
    text-align: center;
}

.shift-day-list .default-time-input.form-container {
    margin-bottom: 0px;
}


.bookmark-selector-icon:hover {
    background: #cce4f9;
    color: #145c9d;
    cursor: pointer;
}
.bookmark-selector {
    position: absolute;
    bottom: 36px;
    left: 101px;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    z-index: 1;
}

.bookmark-selector-icon {
    padding: 10px;
    font-size: 0px;
    color: #666;
}

.bookmark-selector-footer {
    padding: 2px;
    background: #e7e7e7;
    border-top: 1px solid #ccc;
    padding-right: 4px;
    padding-left: 4px;
}

button#bookmarkHideBtn {
    width: calc(100% - 3px) !important;
    font-size: 12px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.bookmark-item-row {
    min-width: 170px;
    overflow: hidden;
}

.bookmark-text {
    font-size: 12px;
    float: left;
    width: calc(100% - 30px);
    line-height: 30px;
    padding-left: 10px;
}

.bookmark-delete {
    float: right;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    color: #ff3636;
    transition: all .2s;
}

.bookmark-delete i {
    margin-top: 5px;
}

.bookmark-item-row:hover {
    background: #f3f3f3;
    cursor: pointer;
    font-weight: bold;
}

.bookmark-delete:hover {
    background: #ff3636;
    color: #0000004d;
}

.bookmark-title {
    background: #efefef;
    color: #313740;
    font-size: 12px;
    padding: 10px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-bottom: 1px solid #f1c26d;
}

.bookmark-item-container {
    padding-top: 10px;
    padding-bottom: 10px;
    max-height: 200px;
    overflow-y: auto;
}

span.add-bookmark {
    position: absolute;
    right: 5px;
    top: 5px;
    border-radius: 3px;
    width: 25px;
    height: 25px;
    text-align: center;
    background: #9ed73e61;
    color: #71ad0c;
    border: 1px solid #9ed73e;
    transition: all .2s;
}

span.add-bookmark i {
    margin-top: 1px;
    margin-top: 3px;
    font-size: 16px;
    font-weight: bold;
}

span.add-bookmark:hover {
    box-shadow: 0 0px 2px 0 rgb(0 0 0 / 20%);
    border-color: #91c141;
    cursor: pointer;
    background: #9ed73e;
    color: #649f00;
}

.no-bookmark-label {
    font-size: 12px;
    padding: 15px;
    min-width: 170px;
    text-align: center;
    color: #ccc;
}

div#addBookmarkModal .modal-footer button {
    width: 100%;
    display: block;
    font-size: 12px;
    padding: 10px;
}

div#addBookmarkModal .modal-dialog {
    max-width: 350px;
}

h5#addBookmarkTitle {
    font-size: 14px;
}

div#addBookmarkModal .form-container {
    margin-bottom: 0px;
}

.split-instruction {
    text-align: center;
    font-size: 12px;
    padding: 10px;
    color: #4b545d;
}

.stop-panel-student-list-container {
    position: fixed;
    right: 300px;
    width: 150px;
    background: #fff;
    z-index: -1;
    top: 10px;
}

.stop-list-students{
    display:none;
}

.stop-panel-student-list-container {
    padding: 10px;
    box-shadow: 0 2px 10px 0 rgb(0 0 0 / 15%);
    border-radius: 5px;
}

.stop-panel-student-list-title {
    font-size: 12px;
    border-bottom: 1px solid #ebebeb;
}

.stop-list-student-row.no-students {
    color: #ccc;
    margin: 10px;
    font-size: 12px;
    text-align: center;
    margin-bottom: 5px;
}

.stop-list-student-row {
    font-size: 13px;
    font-weight: bold;
}

.stop-panel-student-list-title {
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.stop-panel-student-list-title span.panel-close {
    float: right;
    /* background: #ccc; */
    width: 20px;
    text-align: center;
    border-radius: 3px;
    color: #4b545d;
    border: 1px solid #ebebeb;
    margin-top: -3px;
    transition: all .3s;
}

.stop-panel-student-list-title span.panel-close:hover {
    background: #d93d3da6;
    box-shadow: 0 2px 3px 0 rgb(0 0 0 / 15%);
    color: #810c37;
    border-color: #d93d3d47;
    cursor: pointer;
}

.stop-list-student-row {
    transition: all .2s;
    color: #707070;
    font-weight: normal;
}

.stop-list-student-row:hover {
    border-left: 5px solid #4b545d;
    /* background: #ccc; */
    padding-left: 5px;
    cursor: default;
    color: #4b545d;
    font-weight: bold;
}

div#uploadDistrictModal .form-file-upload-instruction {
    font-size: 14px;
    color: #eb8585;
}

.manage-settings-input.form-group.lookup-container {
    overflow: hidden;
}

.lookup-container .bootstrap-select {
    float: left;
    width: calc(100% - 50px);
}

.lookup-page-links {
    float: right;
    background: #fff;
    padding: 7px;
    font-size: 13px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    border: 1px solid #e3e3e3;
    /* margin: 10px; */
    transition: all 0.2s;
}

.lookup-page-links:hover {
    background: #2e7cc1;
    color: #fff;
    border-color: #2e7cc1;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .175) !important;
    cursor: pointer;
}

.unassigned-student span.not-available-value {
    color: #b45959;
}

table tr td span i.fa-exclamation-triangle {
    color: #ff3b3b;
    margin-left: 10px;
}

.form-two-part {
    position: relative;
    overflow: hidden;
    padding-left: 3px;
    margin-bottom: 10px;
}

.form-two-part .form-group {
    float: left;
    width: calc(50% - 5px);
}

.student-edit-map {
    margin-bottom: 15px;
    position: relative;
}

.draggable-stop {
    position: absolute;
    background: #fff;
    width: calc(100% + 20px);
    z-index: 3;
    box-shadow: 0 2px 8px 0 rgb(0 0 0 / 16%);
    left: 22px;
}

.blank-stop-list {
    display: block;
    background: #f3f3f3c7;
    height: 10px;
    margin-left: -44px;
    width: calc(100% + 44px);
    height: 48.95px;
    box-shadow: inset 0 0px 4px 0 rgb(0 0 0 / 14%);
}

.stop-list-container {
    position: relative;
}

.scroll-overlay {
    width: calc(100% + 20px);
    background: #ab474700;
    height: 100vh;
    z-index: 5;
    position: absolute;
    top: 0;
    left: -20px;
}

.stop-list-scroll-container {
    position: relative;
}

.highlight-list-stop{
    background:#ff4e4eeb !important;
}

.google-nav a.dropdown-item:hover {
    background: #a2d8ff;
    color: #0e6099;
}

.list-info-type {
    line-height: 10px;
}

.sidebar span.badge {
    font-size: 12px;
}

.stop-list-row-new .stop-list-sequence {
    font-size: 8px;
    background: #9ed73e;
    color: #4b545d;
    font-weight: bold;
}

.stop-list-row-new{
    background: #e5ffba;
}

.stop-list-row-new:hover {
    background: #e5ffba;
}

.stop-list-row-new .list-info-type {
    font-size: 8px;
    line-height: 10px;
    padding-top: 3px;
}



.gm-style-iw-chr {
    position: absolute;
    right: 5px;
    top: 5px;
}

.gm-style-iw-chr button span {
    width: 15px !important;
    height: 15px !important;
    margin: 0px !important;
}

.gm-style-iw-chr button {
    width: 15px !important;
    height: 15px !important;
}

.routeinfowindow-row {
    border-left: 5px solid #e7e7e7;
    padding-left: 5px;
    margin-bottom: 4px;
    padding-right: 20px;
}

.routeinfowindow-row:hover {
    border-left: 5px solid #9f9f9f;
    font-weight: 400;
}








.optimization-selector {
    max-width: 223px;
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
}

input#isOptimizedRoute {
    margin-top: 3px;
}

.optimization-selector .form-check {
    margin-bottom: 0px;
}

.optimization-note {
    color: #ff4e4e;
    font-weight: bold;
    margin-top: 0px;
    margin-bottom: 10px;
}

.optimization-selector .form-check input {
    cursor: pointer;
}

.optimization-selector .form-check label {
    cursor: pointer;
}


.stop-move-handle {
    float: left;
    height: 49px;
    width: 20px;
    text-align: center;
    padding-top: 14px;
    color: #ccc;
    transition: all .2s;
}

.stop-move-handle:hover {
    background: #ebebeb;
    color: #006ff1;
    cursor: grab;
}

.draggable-stop {
    cursor: grabbing !important;
}

.draggable-stop .stop-move-handle {
    background: #ebebeb;
    color: #006ff1;
    cursor: grabbing;
}

.scroll-overlay {
    cursor: grabbing;
}


.stop-day-assignments {
    margin: 10px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 15%);
    border: 1px solid #cdcdcd;
}

.stop-day-list {
    overflow: hidden;
}

.stop-day-row {
    float: left;
    font-size: 12px;
    width: 33px;
    text-align: center;
    background: #ffffff;
    padding: 2px;
    transition: all .2s;
}

.day-assignment-data {
    padding: 5px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    display: inline-block;
    width: 100%;
    border-bottom: 2px solid #2e7cc1;
    background: #fff;
}

.stop-day-row.selected-stop-day {
    background: #2e7cc1 !important;
    font-weight: bold;
    color: #fff !important;
    cursor: default !important;
}

/*
span.day-assignment-bus {
    font-size: 14px;
    font-weight: bold;
    color: #2e7cc1;
    display: inline-block;
}

span.day-assignment-time {
    font-size: 14px;
    display: inline-block;
    color: #2e7cc1;
    border-left: 1px solid #00000017;
    margin-left: 5px;
    padding-left: 5px;
}
*/

.stop-day-row:hover {
    background: #2e7cc121;
    cursor: pointer;
    color: #2d79bc;
}

div#stopDetails {
    z-index: 4;
}

.day-assignment-row {
    border-left: 5px solid #2e7cc1;
    margin-bottom: 5px;
    margin-left: -5px;
    padding-left: 5px;
}

#stopDetails .map-item-body {
    padding-bottom: 0px;
}

.stop-day-assignments {
    background: #f9f9f9;
}

.day-assignment-data {
    background: none;
    padding-top: 10px;
}

.day-assignment-details {
    font-size: 15px;
    line-height: 18px;
    font-weight: bold;
    padding-bottom: 5px;
}


span.day-assignment-time {
    border-left: 1px solid #ebebeb;
    margin-left: 3px;
    padding-left: 7px;
    font-weight: normal;
}

.day-assignment-school {
    padding-top: 5px;
    font-size: 12px;
    line-height: 17px;
    color: #4a4a4a;
}

.day-assignment-row:hover {
    background: #f1f1f1;
}

.day-assignment-row {
    margin-right: -5px;
}

.day-assignment-row:hover .day-assignment-school {
    color: #2e7cc1;
}

.day-assignment-row.no-details {
    font-size: 12px;
    text-align: center;
    border: none;
    color: #cd7272;
    line-height: 45px;
}

/* messages */
.message-page-container {
    overflow: hidden;
}

.message-page-user-list {
    float: left;
    width: 300px;
    height: calc(100vh - 160px);
    background: #f7f7f7;
}

.message-page-message-container {
    float: left;
    width: calc(100% - 300px);
    height: calc(100vh - 160px);
}

.body.message-page-body{
    height: calc(100vh - 160px); 
    overflow-y: auto; 
    padding: 0px !important;
}


.message-page-user-loading {
    text-align: center;
    line-height: calc(100vh - 160px);
    color: #cbcbcb;
}

.message-page-message-loading {
    text-align: center;
    line-height: calc(100vh - 160px);
    color: #ccc;
    font-size: 20px;
    font-weight: 100;
}


.message-page-user-row {
    padding: 10px;
    overflow: hidden;
}

.message-page-user-row-left {
    float: left;
}

.message-page-user-row-right {
    float: right;
}

.message-page-user-name {
    font-size: 16px;
    line-height: 16px;
}

.message-page-user-last-ts {
    font-size: 11px;
    color: #a1a0a0;
}

.message-page-user-last-ts span {
    margin-left: 2px;
    border-left: 1px solid #e9e9e9;
    padding-left: 3px;
}

.message-page-user-unread-count {
    background: #2e7cc1;
    color: #fff;
    font-size: 11px;
    height: 25px;
    width: 25px;
    text-align: center;
    line-height: 25px;
    border-radius: 50%;
}

.message-page-user-list {
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    overflow-y: auto;
}

.message-page-user-row:hover {
    cursor: pointer;
    background: #fff;
}

.message-page-user-name {
    color: #838383;
}

.message-page-user-row.selected {
    background: #2e7cc1;
}

.message-page-user-row.selected .message-page-user-name {
    color: #ffffff !important;
}

.message-page-user-row:hover .message-page-user-name {
    color: #535b66;
}

.message-page-user-row.selected .message-page-user-last-ts {
    color: #96c3eb;
}

.message-page-message-container .message-text {
    font-size: 15px;
    padding: 4px;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 2px;
}

.message-page-message-container .message-time {
    line-height: 22px;
}

.message-page-message-body {
    height: calc(100vh - 260px);
    overflow-y: auto;
    /* slim scroll */
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    border-bottom: 1px solid #dfdfdf;
    padding: 10px;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);
}

.message-page-container .send-message-container {
    margin-top: 45px;
    width: calc(100% - 20px);
    margin-left: 10px;
}


input#parentSendPageMessageInput {
    width: 100% !important;
    padding-right: 40px;
}


.parent-message-students {
    position: absolute;
    top: -32px;
    left: 0;
}

.message-page-container .send-message-container {
    position: relative;
}

.parent-message-student-title {
    float: left;
    border-right: 3px solid #2e7cc1;
    margin-right: 10px;
    padding-right: 5px;
}

.parent-message-student-data-container {
    float: left;
}

.parent-message-student-data {
    float: left;
    font-size: 13px;
    background: #fff;
    margin-right: 10px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    color: #2e7cc1;
    border: 1px solid #2e7cc1;
    transition: all .2s;
    position: relative;
}

.parent-message-student-data:hover {
    background: #2e7cc1;
    color: #fff;
    cursor: pointer;
}

.message-page-message-container {
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.15);
}

.parent-message-student-details {
    position: absolute;
    bottom: 0;
    left: 0;
    min-width: 200px;
    display: none;
}

.parent-message-student-data.active .parent-message-student-details {
    display: block;
}

.parent-message-student-data.active {
    background: #2e7cc1;
    color: #fff;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

.parent-message-student-data.active .parent-message-student-details {
    color: #2e7cc1;
    bottom: 21px;
    background: #ffffffed;
    border-bottom: 4px solid #2e7cc1;
    left: -1px;
    border-radius: 5px 5px 0px 0px;
    padding: 10px;
    min-width: 300px;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

.detail-header {
    font-size: 18px;
    line-height: 18px;
    font-weight: bold;
    border-bottom: 1px solid #ededed;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.detail-header span {
    font-size: 13px;
    /* display: inline-block; */
    /* line-height: 12px; */
    margin-left: 5px;
    font-weight: 100;
}

.detail-row-label {
    color: #919191;
    font-size: 11px;
    line-height: 12px;
}

.detail-row-value {
    font-size: 14px;
}

.detail-row {
    margin-bottom: 5px;
}

.detail-body {
    border-bottom: 1px solid #ededed;
    margin-bottom: 5px;
}

.detail-footer-row-label {
    font-size: 12px;
    font-weight: 100;
    line-height: 12px;
    color: #919191;
}

.detail-footer-row-value {
    font-size: 14px;
    font-weight: 600;
}

.detail-footer-row {
    margin-bottom: 5px;
}

span.message-student-close-btn {
    float: right;
    /* background: #ccc; */
    width: 20px;
    height: 20px;
    text-align: center;
    border-radius: 3px;
    font-weight: bold;
    color: #dd7171;
    transition: all .2s;
}

span.message-student-close-btn:hover {
    background: #dd7171;
    color: #fff;
}

.no-message-user-notice {
    padding-top: 30vh;
    text-align: center;
    font-size: 16px;
    color: #d78282;
}

.no-message-user-sub-notice {
    width: 70%;
    margin: 0 auto;
    font-size: 12px;
    text-align: center;
    margin-top: 5px;
    border-top: 1px solid #e7e7e7;
    padding-top: 5px;
    color: #898989;
}

li.messages.active i {
    color: #bf24ff !important;
}

span.route-zoom-icon i {
    font-size: 24px;
    position: absolute;
    top: 0px;
    left: 5px;
    color: #0000007d;
}

span.route-zoom-icon {
    position: relative;
}

.selected-grid-row span.route-zoom-icon i {
    color: #fffc;
}

span.route-zoom-icon i:hover{
    color: #000000b5;
}

.selected-grid-row span.route-zoom-icon i:hover {
    color: #fff;
}

span.route-zoom-icon i:hover {
    cursor: pointer;
}

#stopStudentListModal .stop-student-row {
    color: #fff;
    transition: all .2s;
}

#stopStudentListModal .stop-student-row:hover {
    color: #313740;
}

#reportMap .stop-infowindow-container .stop-infowindow-header {
    background: #ffd7d4;
}

#reportMap .stop-infowindow-container .stop-infowindow-address{
    color: #c14a49;
}

#reportMap .stop-infowindow-container .stop-infowindow-name{
    color: #ad2827;
    font-weight: bold;
}

.no-error-file-message {
    text-align: center;
    font-size: 13px;
    margin-top: 50px;
    margin-bottom: 60px;
    color: #c13c3c;
}

.dynamic-help-loading {
    text-align: center;
    color: #ccc;
    line-height: 200px;
}

.stop-list-students {
    max-height: 200px;
    overflow-y: auto;
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
}

div#listBusDepotTab .tab-content-list {
    max-height: 70vh;
    overflow-y:auto;
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
}

.edit-route-infowindow-secondary-title {
    font-size: 12px;
    font-weight: lighter;
    color: #7a7a7a;
}

.routeinfowindow-row span {
    /* font-weight: bold; */
    font-size: 11px;
    line-height: 13px;
}

.routeinfowindow-title {
    border-bottom: 1px solid #ccc;
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 10%);
}

.student-infowindow-header {
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 10%);
}

#routeabusImport .modal-sub-title {
    /* display: block; */
    /* float: left; */
    position: absolute;
    top: 45px;
    left: 20px;
    font-size: 11px;
    text-transform: initial;
}

#editUserSubscriptionModal .modal-sub-title {
    /* display: block; */
    /* float: left; */
    position: absolute;
    top: 45px;
    left: 20px;
    font-size: 11px;
    text-transform: initial;
}

.processing-row {
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    color: #296abb;
}

.processing-processed-row {
    text-align: center;
    font-size: 11px;
    color: #7c7c7c;
}

.processing-processed-row span {
    font-weight: bold;
    color: #313740;
}

td.dropdown-action .dropdown-toggle {
    padding: 5px 16px;
    background: #ccc;
    color: #3b4759;
    font-size: 13px;
    margin: 0px;
}

td.dropdown-action .dropdown {
    margin: 0px !important;
}

td.dropdown-action {
    padding: 0px !important;
}

td.dropdown-action .dropdown-menu .dropdown-item {
    /* border: 1px solid #ccc; */
    background: #3b4759d1;
    color: #fff;
    font-size: 12px;
}


td.dropdown-action .dropdown-menu .dropdown-item:hover {
    background: #3b4759;
}

td.plan-cell-name span {
    margin-left: 5px;
    font-size: 12px;
}

.plan-cell-id {
    text-align: center;
    width: 50px;
    padding: 0.5rem !important;
}

.plan-cell-name {
    text-align: left;
    padding: 0.5rem !important;
}

.plan-cell-status {
    padding: 0.5rem !important;
    width: 100px;
}

.plan-cell-period {
    padding: 0.5rem !important;
    width: 100px;
}

.plan-cell-students {
    padding: 0.5rem !important;
    width: 150px;
}

.plan-cell-price {
    padding: 0.5rem !important;
    width: 150px;
}

.student-search.inactive-plan {
    background: #ffe7e7;
    color: #cd8b8b;
}


.user-admin-grid.id {
    padding: 0.5rem !important;
}

.user-admin-grid.fullname {
    text-align: left;
    width: 250px;
}

.user-admin-grid {
    padding: 0.5rem !important;
}

.user-admin-grid.email {
    text-align: left;
}

.user-admin-grid.txn {
    font-weight: bold;
    text-align: left;
    width: 100px;
}

.user-admin-grid.txn span {
    font-weight: normal;
    font-size: 13px;
    color: #525252;
}

.user-admin-grid.days {
    width: 100px;
}

.user-admin-grid.plan {
    width: 100px;
}

.student-search.user-expired {
    background: #ffe9e9;
    color: #b50909;
}

.student-search.user-expired:hover {
    background: #f9d7d7;
    color: #b50909;
}

.subscription-expired-note {
    margin-top: 20px;
    border-top: 1px solid #e5e5e5;
    padding-top: 10px;
    font-size: 1rem;
    color: #e16e6e;
}

.subscription-expired-note span {
    /* color: #6e6e6e; */
    font-weight: bold;
}

.current-subscription-title {
    text-align: center;
    font-weight: bold;
    color: #313740;
    font-size: 1rem;
    line-height: 1.4rem;
}

.current-subscription-remaining-days {
    text-align: center;
    font-size: 0.8rem;
    line-height: 1rem;
}

.current-subscription-details {
    border-bottom: 1px solid #efefef;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

button#studentStopUnassignBtn {
    width: calc(100% - 2px);
    border-radius: 0.4rem;
    margin-bottom: 2px;
    /* border-top: 1px solid #ccc; */
}

#editStopAssignmentModal .change-assignment-shift-selector.form-container {
    border-bottom: 1px solid #f1f1f1;
    padding-bottom: 5px;
}

#addSchoolNewModal .modal-body {
    max-height: 73vh;
    /* overflow-y: scroll; */
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    overflow-y: auto;
}

a#viewReceiptBtn {
    text-decoration: none !important;
    color: #fff;
    padding: 10px;
    font-size: 11px;
    text-transform: uppercase;
    line-height: 14px;
    margin: 0px !important;
    padding-left: 20px;
    padding-right: 20px;
}

textarea#parentPushContent {
    font-size: 0.9rem;
    border-radius: 0.5rem;
    padding: 8px 15px 8px 15px;
    border-color: #e3e3e3;
    transition: all .3s;
}

textarea#parentPushContent:focus {
    border-color: #007f3c;
}

textarea#parentEmailContent {
    font-size: 0.9rem;
    border-radius: 0.5rem;
    padding: 8px 15px 8px 15px;
    border-color: #e3e3e3;
    transition: all .3s;
}

textarea#parentEmailContent:focus {
    border-color: #007f3c;
}

.selected-schools {
    overflow: hidden;
}

.selected-school-row {
    float: left;
    font-size: 0.7rem;
    background: #ccc;
    margin: 2px;
    line-height: 0.7rem;
    padding: 0.3rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    border-radius: 0.3rem;
    background: #1e98d3;
    color: #f7fdff;
}

span.modify-serving-school-btn {
    overflow: hidden;
    padding: 1px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 3px;
    background: #e9e9e9;
    color: #313740;
    font-size: 11px;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 10%);
    border: 1px solid #c7c7c7;
    transition: all .3s;
}

span.modify-serving-school-btn:hover {
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    background: #55585c;
    color: #fff;
    border-color: #55585c;
}

.map-item-details {
    z-index: 4;
}

.bus-selection-instruction {
    text-align: center;
    border-bottom: 1px solid #ededed;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.school-serving-list {
    padding-left: 20px;
}

div#editBusModal .modal-body {
    max-height: 70vh;
    overflow-y: auto;
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
}

.invited-parent-text span {
    text-transform: initial;
    font-size: 15px;
    color: #bf24ff;
    font-weight: bold;
    border-left: 1px solid #ccc;
    margin-left: 10px;
    padding-left: 10px;
    /* letter-spacing: 1px; */
}

.student-ring-container {
    overflow: hidden;
    margin-left: -20px;
    margin-right: -20px;
    background: #f5f5f5;
    margin-bottom: -5px;
    padding: 10px;
    border-top: 1px solid #ccc;
    padding-top: 5px;
    padding-bottom: 5px;
}

.student-ring-check-input {
    float: left;
    width: 22px;
}

.student-ring-check-label {
    float: left;
    font-size: 11px;
    line-height: 15px;
    max-width: 115px;
    color: #5e5e5e;
}

input#globalRings:hover {
    cursor: pointer;
}

.student-ring-check-label:hover {
    cursor: pointer;
    color: #000000;
}

.global-route-info-body {
    display: none;
}

.global-route-info-title {
    padding: 10px;
    min-width: 100px;
}

.global-route-info-primary {
    font-size: 18px;
}

.global-route-info-secondary {
    font-size: 12px;
}

.global-route-info-primary span {
    font-weight: bold;
    margin-right: 11px;
    font-size: 22px;
}

.global-route-info-title {
    padding-top: 5px;
}

.global-route-info-shift {
    text-align: center;
    font-size: 11px;
    color: #939393;
    border-top: 1px solid #ededed;
    margin-top: 5px;
    padding-top: 5px;
}

#sendPushNotificationModal h5.modal-title {
    text-transform: none;
}

.no-school-speciality-message {
    float: left;
    font-size: 0.7rem;
    background: #ccc;
    margin: 2px;
    line-height: 0.7rem;
    padding: 0.3rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    border-radius: 0.3rem;
    background: #ffcccc;
    color: #c10000;
    border: 1px solid #ffa6a6;
}

.no-school-speciality-message span {
    font-weight: bold;
}

span.student-status {
    font-size: 11px;
    background: #ccc;
    margin: 2px;
    line-height: 17px;
    padding: 0px;
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
    text-transform: uppercase;
    border-radius: 4px;
}

span.student-status.assignment.assigned {
    background: #48a901;
    color: #e1ffca;
}

span.student-status.routing.routed {
    background: #48a901;
    color: #e1ffca;
}

span.student-status.routing.unrouted {
    background: #ff3636;
    color: #ffffff;
}

span.student-status.routing.partial {
    background: #e19e20;
    color: #ffe2bc;
}

span.student-status.assignment.partial {
    background: #e19e20;
    color: #ffe2bc;
}

.add-stop-btn-container {
    float: left;
    padding-right: 10px;
    border-right: 1px solid #ccc;
    margin-right: 10px;
}

.error-stops {
    padding-top: 5px;
    padding-bottom: 5px;
    border-right: 5px solid #ffb406;
    padding-right: 10px;
    float: right;
}

label.form-check-label {
    font-size: 13px;
}

td.parent-status span {
    text-transform: none;
    font-weight: bold;
    margin-left: 5px;
    padding-left: 5px;
    border-left: 1px solid #d3b445;
    color: #bf24ff;
    font-size: 14px;
}

td.send-parent-app-msg.unavailable {
    background: #ffe2e2;
    color: #9b5555;
    font-size: 12px;
    text-transform: uppercase;
}

a.email-reverify-link {
    color: #055ab5 !important;
    font-weight: bold;
}

a.email-reverify-link:hover {
    color: #646464 !important;
    cursor: pointer;
}

.user-admin-grid.status {
    width: 50px;
}

td.user-admin-grid.status {
    font-size: 13px;
}

td.user-admin-grid.status span {
    color: #c024ff;
    font-weight: bold;
    font-size: 15px;
    margin-left: 3px;
    padding-left: 5px;
    border-left: 1px solid #e3e3e3;
}


#adminUserGrid td.dropdown-action .dropdown-menu .dropdown-item {
    background: #fff;
    color: #3b4759;
    font-weight: bold;
}

#adminUserGrid td.dropdown-action .dropdown-menu .dropdown-item:hover {
    background: #3b4759;
    color: #fff;
}

#parentStudentListGrid td.dropdown-action .dropdown-menu .dropdown-item {
    background: #fff;
    color: #3b4759;
    font-weight: bold;
}

#parentStudentListGrid td.dropdown-action .dropdown-menu .dropdown-item:hover {
    background: #3b4759;
    color: #fff;
}

td.dropdown-action.light-dropdown .dropdown-menu .dropdown-item {
    background: #fff;
    color: #3b4759;
    font-weight: bold;
}

td.dropdown-action.light-dropdown .dropdown-menu .dropdown-item:hover {
    background: #3b4759;
    color: #fff;
}

span.parent-student-copy-btn i {
    display: inline-block;
}

span.parent-student-copy-btn i.copy-loading {
    display: none;
}

span.parent-student-copy-btn.processing i {
    display: none;
}

span.parent-student-copy-btn.processing i.copy-loading {
    display: inline-block;
}

span.parent-student-copy-btn {
    background: #ffffff;
    padding: 0px;
    padding-left: 5px;
    padding-right: 5px;
    margin-right: 5px;
    border-radius: 3px;
    border: 1px solid #e1e1e1;
    font-size: 13px;
}

tr:hover span.parent-student-copy-btn:hover {
    cursor: pointer;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    background: #ffffff;
    color: #bf24ff;
}

tr:hover span.parent-student-copy-btn {
    background: #ffffff;
    color: #3b4759;
    border-color: #d5d5d5;
    overflow: hidden;
}

.parent-student-grid-name a {
    color: #bf24ff;
}

.parent-student-grid-name a:hover {
    color: #64008e;
}

span.parent-student-copy-btn.processing {
    background: #fff;
    box-shadow: none !important;
    color: #ccc !important;
    border-color: #ebebeb !important;
}

td.parent-status span:hover {
    cursor: pointer;
    color: #7f10ad;
}

td.parent-status span {
    display: inline-block;
}

#confirmReInviteModal .modal-body {
    font-size: 13px;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
}

#confirmReInviteModal .modal-body span {
    font-weight: bold;
    font-size: 14px;
    color: #bf24ff;
    display: block;
}

#confirmReInviteDriverModal .modal-body {
    font-size: 13px;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
}

#confirmReInviteDriverModal .modal-body span {
    font-weight: bold;
    font-size: 14px;
    color: #bf24ff;
    display: block;
}

th.parent-student-grid.action {
    width: 100px;
}

th.parent-student-grid {
    padding-right: 8px !important;
}

th.parent-student-grid.app-message {
    width: 150px;
}

.reset-parent-password-title {
    text-align: center;
    border-bottom: 1px solid #f1f1f1;
    font-size: 13px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.reset-parent-password-title span {
    font-weight: bold;
}

.reset-driver-password-title {
    text-align: center;
    border-bottom: 1px solid #f1f1f1;
    font-size: 13px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.reset-driver-password-title span {
    font-weight: bold;
}

.generate-password-btn.student-grid-btn {
    display: inline-block;
    margin-top: 5px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 11px;
}

.email-send-notice {
    text-align: center;
    font-size: 12px;
    color: #b33535;
}

label[for="newParentUpdatePassword"] span {
    font-size: 11px;
    color: #767676;
}

textarea#parentEmailInputContent {
    background: #fbfbfb;
    font-size: 12px;
    line-height: 17px;
}

label[for="newDriverUpdatePassword"] span {
    font-size: 11px;
    color: #767676;
}

textarea#driverEmailInputContent {
    background: #fbfbfb;
    font-size: 12px;
    line-height: 17px;
}


.parent-student-grid.parent-fullname {
    text-align: left;
}

.parent-student-grid.parent-address {
    text-align: left;
    font-size: 12px;
    width: 50px;
}

th.parent-student-grid.parent-address {
    font-size: 16px;
}

.parent-student-grid.parent-contact {
    font-size: 14px;
    text-align: center !important;
}

th.parent-student-grid.parent-contact {
    font-size: 16px;
    line-height: 24px;
}

.parent-student-grid.parent-email {
    font-size: 14px;
    text-align: left;
}

th.parent-student-grid.parent-email {
    font-size: 16px;
}

#mobileAppDetailsModal .modal-dialog {
    max-width: 70%;
}

.app-data-nav {
    overflow: hidden;
    height: 50px;
}

.app-data-nav-list {
    float: left;
    padding: 10px;
    border-bottom: 1px solid #ccc;
    font-size: 13px;
    font-weight: bold;
    color: #9b9b9b;
    cursor: pointer;
}

.app-data-nav-list.active {
    border-bottom: 5px solid;
    /* font-weight: bold; */
    color: #2e7cc1;
    cursor: default;
}

.app-data-nav-content {
    padding: 10px;
    display: none;
}

.app-data-nav-content.active {
    display: block;
}

.app-data-loading {
    text-align: left;
    line-height: 100px;
    color: #9a9a9a;
}

.custom-table-style th {
    padding-right: 8px !important;
}

.driver-list-grid.id {
    width: 50px;
}

.driver-list-grid.info {
    text-align: left;
    width: 200px;
}

td.driver-list-grid.info {
    font-weight: bold;
}

.driver-list-grid.contact {
    text-align: left;
}

.driver-list-grid.action {
    width: 50px;
}

#mobileAppDetailsModal .app-data-nav-content th {
    position: sticky;
    top: 0;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);
    z-index: 2;
    background: #3b4759;
    color: #ffffff;
    border-bottom: 3px solid #bf24ff;
    padding: 0.5rem !important;
    line-height: 20px;
}

#mobileAppDetailsModal td a {
    color: #bf24ff;
    text-decoration: none;
    font-weight: bold;
}

#mobileAppDetailsModal td a:hover {
    color: #64008e;
}



.small-cell {
    width: 50px;
}

.large-cell {
    width: 200px;
}

div#search-infowindow-content {
    padding: 10px;
}


.app-data-nav-content {
    padding: 0px;
}

#mobileAppDetailsModal .modal-body {
    padding-top: 0px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
}

#mobileAppDetailsModal .app-data-nav-content table {
    margin-top: -1px !important;
}

.app-data-nav-list.active {
    color: #bf24ff;
}

.profile-container {
    overflow: hidden;
}

.profile-image {
    float: left;
    max-width: 200px;
    border-radius: 10px;
    overflow: hidden;
    margin: 10px;
    box-shadow: 0px 1px 4px 0 rgba(0, 0, 0, 0.4);
}

.profile-data {
    float: left;
    padding-top: 20px;
    padding-left: 10px;
}

.profile-data-row-lable {
    font-size: 11px;
    line-height: 12px;
    color: #585858;
}

.profile-data-row-value {
    font-size: 17px;
    line-height: 20px;
    font-weight: bold;
    color: #313740;
}

.profile-data-row {
    margin-bottom: 10px;
}

#driverAppDetailsModal .modal-dialog {
    max-width: 50%;
}

#driverAppDetailsModal .modal-body {
    padding-top: 0px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
}

#driverAppDetailsModal .app-data-nav-content th {
    position: sticky;
    top: 0;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);
    z-index: 2;
    background: #3b4759;
    color: #ffffff;
    border-bottom: 3px solid #bf24ff;
    padding: 0.5rem !important;
    line-height: 20px;
}

#driverAppDetailsModal .app-data-nav-content table {
    margin-top: -1px !important;
}

#driverAppDetailsModal td a {
    color: #bf24ff;
    text-decoration: none;
    font-weight: bold;
}

#driverAppDetailsModal td a:hover {
    color: #64008e;
}

td.unavailable-cell {
    color: #c75e5e;
    font-size: 12px;
}

span.parent-modal-link {
    color: #cc55fd;
    font-weight: bold;
}

.selected-grid-row span.parent-modal-link {
    color: #ffde4f;
    font-weight: bold;
}

span.parent-modal-link:hover {
    color: #8b16b9;
}

.selected-grid-row span.parent-modal-link:hover {
    color: #c3b15c;
    cursor: pointer;
}

.map-detail-status-container span {
    font-size: 9px;
    line-height: 18px;
}

span.student-permnum {
    margin-right: 5px;
    padding-right: 5px;
    border-right: 1px solid #545454;
}

span.map-detail-status-container {
    margin-right: 20px;
}

#studentDetails span.map-detail-status-container {
    margin-right: 60px;
}

.quick-add-user-message {
    font-size: 12px;
    font-weight: bold;
    color: #e14d4d;
    max-width: 90%;
    text-align: center;
    margin: 0 auto;
    line-height: 18px;
}

.select-container-with-info {
    overflow: hidden;
}

.select-container-with-info .bootstrap-select {
    width: calc(100% - 40px);
}

.select-container-with-info .infowindow-trigger-btn {
    margin-top: 3px;
}


.captured-stop-loading {
    text-align: center;
    line-height: 200px;
    color: #ccc;
    font-size: 20px;
    font-weight: 100;
}

div#capturedStopModal .modal-dialog {
    max-width: 900px;
}

.captured-toggle-comment {
    position: relative;
    float: right;
}

.capture-stop-row {
    overflow: hidden;
}

.captured-stop-details {
    float: left;
    width: calc(100% - 50px);
    overflow: hidden;
}

.captured-stop-id {
    float: left;
    width: 50px;
    display: none;
}

.captured-stop-comment {
    /* float: left; */
    /* width: calc(100% - 50px); */
    font-size: 14px;
    font-weight: bold;
    line-height: 19px;
}

.captured-stop-ts {
    display: block;
    font-size: 12px;
}

.captured-container {
    /* background: #f1f1f1; */
    /* padding: 10px; */
    border-radius: 0.5rem;
    margin-bottom: 30px;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.capture-driver-container {
    padding: 10px;
    padding-bottom: 5px;
    background: #313740;
    color: #fff;
    border-bottom: 1px solid #ff3636;
}

.capture-stop-container {
    padding: 10px;
    /* padding-top: 5px; */
    /* border: 1px solid #e1e1e1; */
    border-radius: 0rem 0rem 0.5rem 0.5rem;
}

.capture-stop-container {
    padding-left: 0px;
    padding-right: 0px;
}

.capture-stop-row {
    padding-top: 5px;
    padding-left: 10px;
    padding-right: 10px;
}

.capture-stop-row:hover {
    background: #efefef;
}

.capture-driver-toggle {
    position: relative;
    float: right;
    overflow: hidden;
}

.capture-driver-container {
    overflow: hidden;
}

.capture-driver-name {
    float: left;
}

.capture-driver-toggle-label {
    float: left;
}

.capture-driver-toggle-input {
    float: left;
    margin-left: 10px;
    margin-right: 7px;
}

.captured-stop-comment span.captured-stop-label {
    font-weight: normal;
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #ccc;
}

.capture-marker-infowindow-driver {
    padding: 10px;
    padding-bottom: 0px;
    padding-right: 25px;
    font-size: 11px;
    color: #878787;
}

.capture-marker-infowindow-name {
    padding: 10px;
    padding-top: 0px;
    padding-bottom: 5px;
    /* border-bottom: 1px solid #dddddd; */
    font-size: 14px;
}

.capture-marker-infowindow-comment {
    padding: 10px;
    padding-top: 0px;
    padding-bottom: 5px;
    font-weight: bold;
    border-bottom: 1px solid #dddddd;
}

.clone-capture-stop-btn {
    margin: 10px;
    /* margin-top: 0px; */
    /* background: #ccc; */
    padding: 7px;
    border-radius: 0.4rem;
    padding-left: 10px;
    padding-right: 10px;
    background: #2e7cc1;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.clone-capture-stop-btn:hover {
    cursor: pointer;
    background: #2065a3;
}

.no-captured-stop-message {
    text-align: center;
    line-height: 200px;
    color: #cd5858;
}

.clone-capture-stop-btn {
    text-align: center;
}

.capture-marker-infowindow-comment {
    max-width: 200px;
}

div#globalImageModal .modal-body {
    padding: 0px;
}

div#globalImageModal .modal-footer {
    display: none;
}

.modal-image-container img {
    width: 100%;
}

div#globalImageModal .modal-title {
    display: none;
}

div#globalImageModal .modal-close-btn {
    margin-top: -5px;
    margin-right: -5px;
}

.routeabus-user-grid td.user-admin-grid {
    width: 50px !important;
    font-size:14px
}

.routeabus-user-grid td.user-admin-grid.id {
    width: 50px !important;
    font-size:12px
}

.routeabus-user-grid .user-admin-grid.role {
    display:none;
}


.routeabus-user-grid .user-admin-grid.vrp {
    text-align: left;
    white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 250px;
}

.routeabus-user-grid .user-admin-grid.email {
    text-align: left;
    white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 250px;
}

.routeabus-user-grid .user-admin-grid.fullname {
    text-align: left;
    white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 250px;
}

#appDataContent_requests td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.send-verification-check input {
    /* line-height: 29px; */
    margin-top: 9px;
    cursor: pointer;
}

.send-verification-check label {
    cursor: pointer;
    color: #424242;
}


/* vertical map buffer */
.map-buffer-scale-container {
    position: absolute;
    bottom: 80px;
    left: 11px;
    z-index: 1;
}



.scale-output-container {
    display: none;
}

.vertical-slider-container {
    display: none;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    margin-bottom: 5px;
    padding-top: 35px;
    padding-bottom: 5px;
    padding-left: 15px;
}
.map-buffer-scale-container.active .vertical-slider-container {
    display: block;
}

.map-buffer-scale-container.active .scale-output-container {
    display: block;
}

.slider-toggle-container {
    width: 39px;
    height: 36.5px;
    text-align: center;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    color: #666666;
    font-size: 22px;
    padding-top: 4px;
}

.slider-toggle-container:hover {
    background: #cce4f9;
    color: #145c9d;
    cursor: pointer;
}

.map-buffer-scale-container.active .slider-toggle-container{
    background: #2e7cc1;
    color: #ffffff;
    cursor: pointer;
}

.slider-box-item {
    width: 100%;
    height: 5px;
    border-top: 1px solid #efefef;
}

.slider-marker {
    position: absolute;
    left: -49px;
    bottom: 45px;
}

.slider-marker img {
    transform: rotate(270deg);
}

.vertical-slider-container {
    position: relative;
}

.scale-output-container {
    position: absolute;
    top: 0px;
    font-size: 11px;
    text-align: center;
    width: 40px;
    background: #547abb;
    color: #ffffff;
    font-weight: bold;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 20%);
    border-radius: 3px 3px 3px 3px;
    line-height: 22px;
}

.scale-output-container span {
    font-weight: normal;
    font-size: 9px;
    margin-left: 1px;
}

#bufferCircleInput {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 5px;
    background: #d3d3d300;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
    margin-bottom: 10px;
    border-radius: 2px;
    width: 120px;
    transform: rotate(270deg);
}

#bufferCircleInput:hover {
  opacity: 1;
}

#bufferCircleInput::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  background: #49c5b6;
  cursor: pointer;
  background: url(https://app.mybusrouting.com/html/assets/images/pointer-2.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

#bufferCircleInput::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #49c5b6;
  cursor: pointer;
  background: url(https://app.mybusrouting.com/html/assets/images/pointer-2.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

#bufferCircleInputNew {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 5px;
    background: #d3d3d300;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
    margin-bottom: 10px;
    border-radius: 2px;
    width: 120px;
    transform: rotate(270deg);
}

#bufferCircleInputNew:hover {
  opacity: 1;
}

#bufferCircleInputNew::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  background: #49c5b6;
  cursor: pointer;
  background: url(https://app.mybusrouting.com/html/assets/images/pointer-2.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

#bufferCircleInputNew::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #49c5b6;
  cursor: pointer;
  background: url(https://app.mybusrouting.com/html/assets/images/pointer-2.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.scale-output-container span {
    text-transform: capitalize;
    display: inline-block;
}

.measure-tool-switcher svg {
    width: 30px;
    height: 30px;
    fill: #666666;
    margin: 5px;
    margin-top: 2px;
    margin-bottom: 0px;
}

.measure-tool-switcher {
    position: absolute;
    top: -40px;
    background: #fff;
    color: #ffffff;
    cursor: pointer;
    width: 40px;
    height: 35px;
    /* padding: 0px; */
    border-radius: 3px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.measure-tool-switcher:hover {
    background: #cce4f9;
    color: #145c9d;
    cursor: pointer;
}

.measure-tool-switcher:hover svg {
     fill: #145c9d;
}

.distance-fill {
    position: absolute;
    bottom: 0;
    left: 0;
    /*background: #5481bb61;*/
    width: 100%;
    height: 5px;
    border-radius: 3px;
    z-index: 0;
    /*box-shadow: 0 0px 2px 0 rgb(0 0 0 / 30%);*/
    max-height: 140px;
    min-height: 5px;
    display: none;
}

.measure-tool-switcher.active {
    background: #547abb;
}

.measure-tool-switcher.active svg {
    fill: #fff;
}

.map-buffer-scale-container.active .measure-tool-switcher {
    display: block;
}

.measure-tool-switcher {
    display: none;
}

.distance-leg .leg-display-text {
    display: block;
    position: absolute;
    left: 45px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 30%);
    border-radius: 3px;
    padding: 6px;
    font-size: 11px;
    padding-top: 3px;
    padding-bottom: 3px;
    bottom: 0;
    font-weight: bold;
    background: #fff;
    color: #2e7cc1;
}

.distance-leg:hover .leg-display-text {
    z-index: 1;
    background: #2e7cc1;
    color: #fff;
}

.leg-display-text span {
    margin-left: 2px;
    font-weight: normal;
    font-size: 10px;
}

.distance-leg {
    background: #5481bb61;
    box-shadow: 0 0px 2px 0 rgb(0 0 0 / 30%);
    border-radius: 5px;
}

.distance-leg {
    position: absolute;
    width: 100%;
}

.distance-leg:hover {
    background: #5481bbc9;
}

.leg-display-text {
    font-size: 11px;
}



.stop-hover-infowindow {
    max-width: 150px;
    padding:10px;
}

.stop-hover-infowindow-name {
    font-size: 15px;
    font-weight: bold;
}

.stop-hover-infowindow-address {
    font-size: 13px;
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid #ccc;
}

.global-hover-infowindow {
    max-width: 150px;
    padding:10px;
}

.global-hover-infowindow-name {
    font-size: 15px;
    font-weight: bold;
}

.global-hover-infowindow-address {
    font-size: 13px;
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid #ccc;
}


.form-file-upload-instruction span {
    display: block;
    font-size: 12px;
    color: #df5959;
}

.overwrite {
    border-top: 1px solid #e7e7e7;
    margin-top: 15px;
    padding-top: 10px;
}

.overwrite-instruction {
    text-align: center;
    font-size: 13px;
    margin-bottom: 13px;
}

.overwrite .form-check {
    margin-left: 100px;
}

.overwrite .form-check label {
    font-size: 12px;
    color: #444444;
    /* line-height: 22px; */
}

.overwrite .form-check input {
    margin-top: 7px;
}


.delete-capture-stop-btn {
    padding: 3px;
    border-radius: 0.4rem;
    padding-left: 10px;
    padding-right: 10px;
    color: #c12e2e;
    text-align: center;
    margin-top: 4px;
}

.delete-capture-stop-btn:hover {
    font-weight: bold;
    cursor: pointer;
}

.clone-capture-stop-btn {
    margin-top: 3px;
}

div#studentAddMapContainer {
    height: 300px;
}

.add-modal-marker-toggle {
    position: absolute;
    z-index: 1;
    background: #fff;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    top: 5px;
    left: 5px;
    padding-left: 10px;
    padding-right: 10px;
    transition: all .5s;
}

input#addStudentMarkerToggle {
    margin-top: 7px;
}

input#addStopMarkerToggle {
    margin-top: 7px;
}

input#addSchoolMarkerToggle {
    margin-top: 7px;
}

input#addDepotMarkerToggle {
    margin-top: 7px;
}

.add-modal-marker-toggle label {
    font-size: 12px;
    color: #5e5e5e;
}

.add-modal-marker-toggle.active {
    background: #307ddf;
}

.add-modal-marker-toggle.active label {
    color: #fff;
}


.add-modal-hover-data {
    position: absolute;
    z-index: 1;
    top: 50px;
    left: 5px;
    background: #fff;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 20%);
    padding-top: 5px;
    padding-bottom: 5px;
    width: 125px;
    display: none;
}

.add-modal-hover-name {
    font-size: 12px;
    font-weight: bold;
    line-height: 15px;
    /* display: inline-block; */
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 3px;
    margin-bottom: 4px;
}

.add-modal-hover-address {
    font-size: 10px;
    line-height: 12px;
}


#editStopAssignmentModal .add-modal-hover-data {
    left: 10px;
    top: initial;
    bottom: 10px;
}

div#vrpLogDetailModal .modal-dialog {
    max-width: 900px;
}


span.pre-data.user-data {
    display: block;
    font-size: 12px;
    line-height: 12px;
    background: #00000012;
    padding: 5px;
    border-radius: 3px;
}

.route-report-data.route-start.wide-column {
    width: 120px;
}

.route-report-grid-content .route-report-data.route-start {
    margin-top: -2px;
}

span.pre-data.user-data:hover {
    background: #00000029;
    cursor: default;
}

span.pre-data.user-data.red-pre-data {
    background: #e79a9a82;
    color: #a51414;
}

span.pre-data.user-data.red-pre-data:hover {
    background: #e79a9ae3;
    color: #a51414;
}

span.pre-data.user-data.green-pre-data {
    background: #9ae7a482;
    color: #1c7828;
}

span.pre-data.user-data.green-pre-data:hover {
    background: #9ae7a4e3;
    color: #1c7828;
}

.no-report-routes-message {
    text-align: center;
    background: #ffffff;
    height: calc(100vh - 108px);
    min-height: 200px;
    line-height: calc(100vh - 208px);
    border-radius: 3px;
    /* margin-top: 50px; */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    font-weight: bold;
    color: #959595;
}

.global-hover-infowindow.measure-tool-infowindow {
    padding: 0px;
    border-top: 23px solid #2e7cc1;
    padding-left: 20px;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 15px;
    font-size: 17px;
    line-height: 17px;
    font-weight: bold;
}

.global-hover-infowindow.measure-tool-infowindow span {
    font-size: 12px;
    font-weight: normal;
    margin-left: 2px;
}

.cost-breakdown-container {
    position: absolute;
    background: #ffffff;
    width: 300px;
    left: -100px;
    bottom: 33px;
    z-index: 3;
    overflow: hidden;
    padding: 5px;
    border-radius: 3px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.cost-container {
    position: relative;
}

.cost-breakdown-column {
    float: left;
    width: 95px;
    padding: 0px;
    text-align: center;
    border-right: 1px solid #ccc;
}

.breakdown-column-label {
    font-size: 10px;
    line-height: 10px;
}

.breakdown-column-value {
    font-size: 20px;
    line-height: 20px;
}

.cost-breakdown-column:last-child {
    border-right: none;
}

.cost-container:hover .cost-breakdown-container {
    display: block;
}

.cost-breakdown-container {
    display: none;
}

.cost-container:hover {
    background: #ffffff70;
    border-radius: 4px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

td.user-admin-grid.last-login {
    font-size: 12px;
}

span.fuel-cost-unit {
    font-size: 12px;
    color: #3a3a3a;
}


/*timeline css */
.timeline-element {
    display: none;
    z-index: 1;
}

.timeline-route-container {
    width: 100%;
    height: 20px;
    margin-top: 40px;
}

.timeline-data-container {
    height: 100px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    margin-top: 50px;
}


.timeline-element.is-pole {
    display: block;
    position: absolute;
    background: #3d88d7;
    width: 10px;
    height: 100px;
    top: 0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    margin-left: -5px;
}

.timeline-element.is-pole:hover {
    box-shadow: 0px 1px 10px 1px rgba(0, 0, 0, 0.3);
    z-index: 10;
}

.timeline-element.is-pole:hover .item-content {
    display: block;
}

.item-content {
    position: relative;
    bottom: 0;
    left: 10px;
    height: 100px;
}

.item-subtitle {
    display: none;
}

.item-title {
    position: absolute;
    top: -34px;
    width: 100px;
    font-size: 12px;
    left: -55px;
    background: #fff;
    border: 1px solid #dfdfdf;
    display: inline-block;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.item-time {
    position: absolute;
    bottom: -30px;
    width: 60px;
    font-size: 11px;
    left: -35px;
    background: #fff;
    border: 1px solid #dfdfdf;
    display: inline-block;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}


.timeline-element.route-data.is-circle.is-green {
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 10px solid #61d16d;
    border-radius: 0px;
    top: 46px;
}

.timeline-element.user-data.is-circle.is-blue {
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: #6186d1;
    border-radius: 50%;
    top: 10px;
}

.timeline-element.user-data.is-circle.is-blue .item-content .item-title {
    top: -47px;
}

.timeline-element.user-data.is-circle.is-blue .item-content .item-time {
    top: 24px;
    bottom: initial;
}

.timeline-element.route-data.is-circle.is-green .item-content .item-title {
    top: 36px;
}

.timeline-element.route-data.is-circle.is-green .item-content .item-time {
    top: 65px;
    bottom: initial;
}

.timeline-element.route-data.is-circle.is-green .item-content {
    display: none;
}

.timeline-element.route-data.is-circle.is-green:hover .item-content {
    display: block;
}

.timeline-element.route-data.is-circle.is-green:hover {
    border-top: 10px solid #44a54e;
}

.timeline-element.is-pole.pole-size-four {
    height: 40px;
    top: 20px;
    z-index: 3;
    background: #ff4f4f;
    width: 6px;
    /* left: -3px; */
    margin-left: -3px;
}

.timeline-element.is-pole.pole-size-five {
    height: 40px;
    top: 20px;
    z-index: 3;
    background: #ff714f;
    width: 6px;
    /* left: -3px; */
    margin-left: -3px;
}

.route-report-data.route-report-timeline {
    float: right;
    width: 75px;
    overflow: hidden;
    margin-top: 10px;
}

span.route-report-timeline {
    background: #fff;
    width: 25px;
    /* height: 22px; */
    border-radius: 5px;
    font-size: 12px;
    line-height: 21px;
    display: block;
    float: right;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    margin: 5px;
}

.route-report-data.route-download {
    width: max-content;
}

span.route-report-timeline:hover {
    cursor: pointer;
    background: #f3f3f3;
}


.report-timeline-container {
    position: absolute;
    z-index: 3;
    background: #fffffff0;
    width: 100%;
    /* height: 139px; */
    height: 60vh;
}

.report-timeline-container{
    display: none;
}



.timeline-close-button {
    position: absolute;
    top: -40px;
    right: 0px;
    background: #ffc9c9;
    font-size: 12px;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 26px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    color: #661a1a;
}

.timeline-close-button span {
    border-right: 1px solid #0000003d;
    margin-right: 5px;
    padding-right: 5px;
    font-size: 15px;
    /* margin-top: -10px; */
    display: inline-block;
}

.timeline-close-button:hover {
    cursor: pointer;
    background: #ff8181;
}




/* timline css */

.timeline-data-container {
    height: 100px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    width: calc(100% - 175px);
    margin: 0 auto;
    margin-top: 50px;
}

.key-points, .route-lines, .school-lines-2, .timeline-start-point, .timeline-end-point, .timeline-title, .timeline-subtitle {
    display: none;
}

.timeline-section {
    position: absolute;
    height: 26px;
    top: 37px;
}

.timeline-section {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.timeline-section:hover, .timeline-section.active {
    z-index: 2;
    box-shadow: 0 1px 5px 0px rgba(0, 0, 0, 0.4);
}

.timeline-section:hover .timeline-title, .timeline-section.active .timeline-title {
    display: block;
}
.timeline-section:hover .timeline-subtitle, .timeline-section.active .timeline-subtitle {
    display: block;
}

.timeline-section:hover .timeline-title span, .timeline-section.active .timeline-title span {
    display: block;
    width: max-content;
    font-size: 12px;
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
    top: -28px;
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    margin-top: -33px;
    font-weight: bold;
}

.timeline-section:hover .timeline-subtitle span, .timeline-section.active .timeline-subtitle span {
    display: block;
    width: max-content;
    font-size: 12px;
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
    top: -28px;
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    margin-top: 36px;
    font-weight: bold;
}

.timeline-section:hover .timeline-end-point, .timeline-section.active .timeline-end-point {
    background: inherit !important;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.4);
}

.timeline-section:hover .timeline-start-point, .timeline-section.active .timeline-start-point {
    background: inherit !important;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.4);
}

.timeline-section:hover .timeline-start-point .timeline-point-title, .timeline-section.active .timeline-start-point .timeline-point-title {
    display: block;
    position: relative;
}

.timeline-section:hover .timeline-end-point .timeline-point-title, .timeline-section.active .timeline-end-point .timeline-point-title {
    display: block;
    position: relative;
}

.timeline-section:hover .timeline-start-point .timeline-point-time, .timeline-section.active .timeline-start-point .timeline-point-time {
    display: block;
    position: relative;
}

.timeline-section:hover .timeline-end-point .timeline-point-time, .timeline-section.active .timeline-end-point .timeline-point-time {
    display: block;
    position: relative;
}

.timeline-section .timeline-start-point {
    display: block;
    position: absolute;
    z-index: 3;
    width: 14px;
    height: 14px;
    background: #00000029 !important;
    border-radius: 50%;
    top: 6px;
    left: -7px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.timeline-section .timeline-end-point {
    display: block;
    position: absolute;
    z-index: 3;
    width: 14px;
    height: 14px;
    background: #00000029 !important;
    border-radius: 50%;
    top: 6px;
    right: -7px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}



.timeline-point-title {
    display: none;
}

.timeline-point-time {
    display: none;
}




.timeline-start-point .timeline-point-title span {
    position: absolute;
    width: max-content;
    text-align: right;
    top: -39px;
    right: 4px;
    font-size: 12px;
    padding: 5px;
    border-right: 4px solid;
    z-index: 1;
    background: #ffffffd6 !important;
    border-radius: 3px 0px 0px 3px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    font-weight: bold;
}



.timeline-end-point .timeline-point-title span {
    position: absolute;
    width: max-content;
    text-align: left;
    top: -39px;
    left: 5px;
    font-size: 12px;
    padding: 5px;
    border-left: 4px solid;
    z-index: 1;
    background: #ffffffd6 !important;
    border-radius: 0px 3px 3px 0px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    font-weight: bold;
}



.timeline-start-point .timeline-point-time span {
    position: absolute;
    width: max-content;
    text-align: right;
    top: -62px;
    right: 4px;
    padding: 4px;
    border-right: 4px solid;
    z-index: 1;
    background: #ffffff !important;
    border-radius: 3px 0px 0px 3px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    font-size: 11px;
}



.timeline-end-point .timeline-point-time span {
    position: absolute;
    width: max-content;
    text-align: left;
    top: -65px;
    left: 5px;
    padding: 5px;
    border-left: 4px solid;
    z-index: 1;
    background: #ffffff !important;
    border-radius: 0px 3px 3px 0px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    font-size: 11px;
}


.key-points {
    display: block;
}

.key-points {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}

.key-point-data {
    position: absolute;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #afafaf;
    margin-left: -10px;
    top: 63px;
}

.key-point-data .key-point-title {
    display: none;
    position: absolute;
    min-width: 100px;
    background: #fff;
    text-align: center;
    bottom: 28px;
    left: -52px;
    font-size: 12px;
    background: #fff;
    border: 1px solid #dfdfdf;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    line-height: 15px;
    font-size: 12px;
    font-weight:bold;
}

.key-point-data .key-point-time {
    display: none;
    position: absolute;
    width: 100px;
    background: #fff;
    text-align: center;
    top: 40px;
    left: -52px;
    font-size: 12px;
    background: #fff;
    border: 1px solid #dfdfdf;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    font-size: 11px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.key-point-icon {
    margin-top: 11px;
    width: 20px;
    height: 20px;
    font-size: 16px;
    margin-left: -10px;
    text-align: center;
    background: #f1f1f1;
    padding: 2px;
    padding-top: 4px;
    padding-bottom: 0px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.key-point-icon i {
    position: absolute !important;
    display: block;
    font-size: 14px;
    margin-left: 1px;
}

.key-point-data:hover .key-point-title {
    display: block;
    
}

.key-point-data:hover .key-point-time {
    display: block;
}



.key-line-segments {
    display: none;
}

.key-lines {
    width: 100%;
    position: relative;
}

.key-line-data {
    position: absolute;
    width: 10px;
    height: 16px;
    background: #a762f0cf;
    border-radius: 2px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4);
    top: 19px;
    margin-left: -5px;
}

.key-line-data:hover, .key-line-data.active {
    z-index: 1;
    background: #a762f0;
}

.key-line-title {
    display: none;
}

.key-line-time {
    display: none;
}

.key-line-segment-start-point {
    display: none;
}

.key-line-segment-end-point {
    display: none;
}

.key-line-segment-title {
    display: none;
}

.key-line-segment-subtitle {
    display: none;
}

.key-line-segment-section {
    position: absolute;
    height: 3px;
    top: 10px;
}


.key-line-segment-start-point {
    display: block;
    height: 14px;
    width: 2px;
    position: absolute;
    top: -6px;
    left: -1px;
}

.key-line-segment-end-point {
    display: block;
    height: 14px;
    width: 2px;
    position: absolute;
    top: -6px;
    right: -1px;
}

.key-line-segment-point-title {
    display: none;
}

.key-line-segment-point-time {
    display: none;
}

.key-line-data:hover .key-line-title, .key-line-data.active .key-line-title {
    display: block;
    position: absolute;
    right: 23px;
    text-align: right;
    width: max-content;
    font-size: 12px;
    background: #fff;
    top: -2px;
    border-right: 3px solid #ccc;
    padding-right: 10px;
    line-height: 16px;
}

.key-line-data:hover .key-line-time, .key-line-data.active .key-line-time {
    display: block;
    position: absolute;
    right: 23px;
    text-align: right;
    width: max-content;
    font-size: 12px;
    background: #fff;
    top: -16px;
    border-right: 3px solid #ccc;
    padding-right: 10px;
    font-weight: bold;
    line-height: 15px;
}

.key-points{
    z-index: 5;
}

/*timeline table */

.timeline-table {
    width: 60%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    display: none;
}

.table-start {
    float: left;
    width: calc(20% - 10px);
    text-align: right;
    background: #e9e9e9;
    padding-right: 10px;
    height: 55px;
}

.table-body {
    float: left;
    width: 60%;
    text-align: center;
    background: #9db361;
    height: 55px;
}

.body-duration {
    font-size: 16px;
    width: max-content;
    margin: 0 auto;
    border-top: 1px solid #0000003b;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 3px;
    padding-top: 3px;
}

.table-end {
    float: left;
    width: calc(20% - 10px);
    text-align: left;
    background: #ccc;
    padding-left: 10px;
    height: 55px;
}

.timeline-data-container {
    margin-bottom: 50px;
}

.start-title {
    font-size: 13px;
    margin-top: 10px;
}

.start-time {
    font-size: 17px;
}

.end-title {
    font-size: 13px;
    margin-top: 10px;
}

.end-time {
    font-size: 17px;
}

.body-title {
    font-weight: bold;
    font-size: 17px;
    margin-top: 5px;
}


.school-stops {
    width: 100%;
    position: relative;
}

.stop-point-data {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #ffffff6e;
    top: 45px;
    z-index: 2;
    border-radius: 50%;
    margin-left: -5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.stop-point-title {
    display: none;
}

.stop-point-time {
    display: none;
}

.stop-point-data:hover {
    background: #0a779d;
    z-index: 5;
}

.stop-point-data:hover .stop-point-title {
    display: block;
    position: absolute;
    min-width: 100px;
    left: -52px;
    text-align: center;
    width: max-content;
    font-size: 11px;
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
    top: -32px;
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    font-weight: bold;
    background: #e7f3f9;
    color: #40a4c6;
}
.stop-point-data:hover .stop-point-time {
    display: block;
    position: absolute;
    min-width: 100px;
    left: -52px;
    text-align: center;
    width: max-content;
    font-size: 11px;
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
    top: 22px;
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    font-weight: bold;
    background: #e7f3f9;
    color: #40a4c6;
}


.school-analysis {
    display: block;
    padding-top: 86px;
}



.analysis-container {
    background: #ccc;
    overflow: hidden;
    position: relative;
    display: block;
    min-height: 100px;
}

.analysis-column {
    float: left;
    width: 25%;
}

.analysis-container {
    margin-top: 50px;
}

.analysis-item {
    margin: 15px;
    margin-bottom: 20px;
}

.analysis-description {
    max-width: 70%;
    font-size: 13px;
    border-top: 1px solid #ccc;
    margin-top: 5px;
    padding-top: 5px;
}

.analysis-container {
    border-radius: 5px;
    background: #ededed;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.analysis-item.red-analysis-item .analysis-description {
    color: #e31414;
    font-weight: bold;
}

.analysis-item-data.red-analysis-item {
    color: #e31414;
    font-weight: bold;
}

.key-point-title span {
    display: block;
    font-size: 11px;
    font-weight: normal;
}

.key-line-title span {
    font-size: 11px;
    margin-left: 5px;
}


.analysis-description {
    display: none;
}

.analysis-item-title {
    border-bottom: 1px solid #ccc;
    width: max-content;
    padding-right: 20px;
    overflow: hidden;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.item-title-text {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
}

.item-status-icon {
    display: inline-block;
    margin-left: 5px;
    font-size: 15px;
    color: #3aa329;
}

.red-analysis-item .item-status-icon {
    color: #eb3737;
}

span.info-type {
    font-size: 12px;
    margin-left: 7px;
}

.school-lines {
    display: none;
}

.school-lines.active {
    display: block;
}


.analysis-item-data {
    font-size: 12px;
    line-height: 18px;
}

.orange-analysis-item .item-status-icon {
    color: #e99005;
}

.analysis-item-data.orange-analysis-item {
    font-weight:bold;
    color:#e99005;
}



.key-point-data.active .key-point-time, .key-point-data.active .key-point-title { display:block; }

.analysis-item-data.active {
    background: #ffcb55;
    padding: 5px;
    width: max-content;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin-top: -5px;
    margin-bottom: -5px;
    margin-left: -10px;
    z-index: 1;
    position: relative;
    cursor: pointer;
}

.analysis-item-data.hoverable:hover {
    background: #ffcb55;
    padding: 5px;
    width: max-content;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin-top: -5px;
    margin-bottom: -5px;
    margin-left: -10px;
    z-index: 1;
    position: relative;
    cursor: pointer;
}

.analysis-item-data {
    width: max-content;
}

.global-timeline-ruler {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 20px;
}

.global-ruler-section {
    height: 20px;
    display: block;
    float: left;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-right: 1px solid #efefef;
}

.global-ruler-section.ruler-highlight-section {
    border-right: 1px solid #c7c5c5;
}

.global-ruler-section span {
    display: none;
}


.global-ruler-section.ruler-highlight-section span {
    display: block;
    font-size: 10px;
    position: absolute;
    background: #ffffffba;
    border: 1px solid #ccc;
    margin-top: -11px;
    width: 60px;
    text-align: center;
    margin-left: -25px;
    border-radius: 5px;
}

.timeline-print-button {
    position: absolute;
    top: -40px;
    right: 78px;
    background: #61adff;
    font-size: 12px;
    border-radius: 5px;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 27px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    color: #2e2e2e;
    /* font-weight: bold; */
    text-transform: uppercase;
}

.timeline-print-button:hover {
    cursor: pointer;
    color: #fff;
}


.route-report-header .route-report-data.route-days {
    font-size: 14px;
    width: 200px;
    text-align: left;
    line-height: 20px;
    line-height: 20px !important;
    padding-top: initial;
}

.route-report-data.route-days {
    font-size: 12px;
    width: 200px;
    text-align: left;
    line-height: 20px !important;
    padding-top: 10px;
}


/* info header */

.analysis-item-data {
    width: auto;
}

.school-analysis {
    padding-top: 0px;
}

.report-timeline-header {
    padding-top: 140px;
    overflow: hidden;
    z-index: 1;
}

.basic-info-title {
    font-size: 29px;
    line-height: 29px;
}

.basic-info-subtitle {
    font-size: 13px;
    line-height: 24px;
}

.basic-info {
    float: left;
    max-width: 20%;
}

.secondary-info {
    float: left;
    max-width: 40%;
    border-left: 1px solid #ccc;
    padding-left: 10px;
    margin-left: 10px;
}

.secondary-info-label {
    font-size: 20px;
    line-height: 25px;
    border-bottom: 1px solid #e3e3e3;
    width: max-content;
    padding-right: 10px;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.secondary-info-value {
    font-size: 12px;
    line-height: 18px;
}

.analysis-container {
    margin-top: 20px;
}
.report-timeline-container{
    height: 70vh;
}

.basic-info {
    border-left: 10px solid;
    padding-left: 10px;
}

.report-timeline-header {
    margin-left: -35px;
}

.analysis-item-title {
    padding-bottom: 0px;
    margin-bottom: 5px;
}

.analysis-item {
    margin-bottom: 15px;
}

.basic-info-days {
    font-size: 12px;
    line-height: 15px;
    color: #545454;
    width: auto;
}

.basic-info-subtitle {
    font-weight: bold;
}

.stop-point-data:hover .stop-point-time {
    top: 20px;
    left: -42px;
}

.stop-point-data:hover .stop-point-title {
    top: -38px;
    left: -42px;
}



div#enablePolygonDrawingBtn span {
    display: block;
    font-size: 10px;
}

div#enablePolygonDrawingBtn {
    font-size: 13px;
    line-height: 13px;
    padding-top: 10px;
    padding-bottom: 10px;
}

div#enablePolygonDrawingBtn.active {
    background: #ffe6e6;
}

div#enableRectangleDrawingBtn span {
    display: block;
    font-size: 10px;
}

div#enableRectangleDrawingBtn {
    font-size: 13px;
    line-height: 13px;
    padding-top: 10px;
    padding-bottom: 10px;
}

div#enableRectangleDrawingBtn.active {
    background: #ffe6e6;
}


.message-read-status {
    display: none;
    float: right;
    position: absolute;
    right: -3px;
    bottom: -35px;
    color: #999999;
    transition: all 0.1s ease-in-out;
}

.message-to:last-child .message-read-status {
    display: block;
}

.message-to {
    position: relative;
}

.message-read-status span {
    font-size: 12px;
    margin-left: 5px;
}

span.status-text {
    border-right: 3px solid #ccc;
    padding-right: 5px;
    font-size: 13px;
    line-height: 19px;
    display: inline-block;
    padding-top: 13px;
    transition: all 0.1s ease-in-out;
}

span.read-status-timestamp {
    font-size: 11px;
    display: inline-block;
    position: absolute;
    width: max-content;
    right: 8px;
    bottom: 18px;
}

.message-read-status.read i {
    color: #2474ff;
}

.message-read-status.read .status-text {
    color: #2474ff;
    border-color: #fff;
}

span.read-status-timestamp {
    display:none;
}

span.status-text {
    padding-top:0px;
    border-right:3px solid #fff;
}

.message-read-status{
    bottom:-20px;
}



.message-read-status:hover span.read-status-timestamp{
    display: inline-block;
    cursor: pointer;
}
.message-read-status:hover span.status-text {
    padding-top: 13px;
    border-right: 3px solid #ccc;
}

.message-read-status.read:hover .status-text {
    color: #2474ff;
    border-color: #2474ff;
    cursor: pointer;
}

.message-read-status:hover{
    bottom: -35px;
}




/* overlaping marker infowindow */
.overlaping-marker-infowindow-title {
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.overlaping-marker-infowindow {
    padding: 10px;
}

.overlaping-student-row {
    margin-bottom: 2px;
    border-left: 5px solid #fff;
    padding-left: 5px;
    margin-left: -10px;
}

.overlaping-student-row:hover {
    cursor: pointer;
    border-color: #ebb742;
    font-weight: bold;
}

.overlaping-marker-infowindow-title {
    padding-right: 20px;
}

.overlaping-student-row.active {
    cursor: pointer;
    border-color: #4283eb;
    font-weight: bold;
}

div#alertModal .modal-body p span {
    display: block;
    font-size: 12px;
    color: #f15a5a;
    font-weight: bold;
    margin-top: 10px;
}

div#alertModal .modal-body p {
    font-size: 14px;
    margin-top: 10px;
}

.overlaping-message-container {
    position: absolute;
    z-index: 1;
    background: #fff;
    left: 10px;
    top: 10px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 3px;
    overflow: hidden;
    font-size: 12px;
}

.overlaping-message-title {
    padding: 10px;
    font-size: 13px;
    border-bottom: 1px solid #ff4b4b;
    background: #ffe6e6;
    color: #ff4b4b;
    font-weight: bold;
}

.overlaping-item {
    border-left: 5px solid #ff9090;
    margin-left: 10px;
    margin-bottom: 5px;
    padding-left: 5px;
    font-size: 12px;
}

.overlaping-item-container {
    padding-top: 10px;
    padding-bottom: 10px;
}

.overlaping-item span {
    background: #ff4b4b;
    width: max-content;
    display: inline-block;
    text-align: center;
    min-width: 25px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 18px;
    padding-left: 5px;
    padding-right: 5px;
    color: #ffffff;
    margin-left: 5px;
}
.overlaping-item {
    margin-right: 10px;
}

.help-video-container {
    /* float: right; */
    position: absolute;
    top: 10px;
    right: 10px;
}

.help-btn {
    overflow: hidden;
    background: #fff;
    padding: 10px;
    border-radius: 20px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.help-icon {
    float: left;
    width: 25px;
    text-align: center;
    height: 25px;
    background: #e7e7e7;
    border-radius: 50%;
    margin-right: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    line-height: 25px;
    font-size: 12px;
}

.help-text {
    float: right;
    margin-right: 10px;
}



a.export-messages-btn {
    overflow: hidden;
    background: #fff;
    padding: 6px;
    border-radius: 20px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    display: block;
    width: max-content;
    float: right;
    color: #33373f;
    margin-left: 10px;
    transition: all .3s;
}

.export-message-icon {
    float: left;
    width: 25px;
    text-align: center;
    height: 25px;
    background: #e7e7e7;
    border-radius: 50%;
    margin-right: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    line-height: 25px;
    font-size: 12px;
}

.export-message-text {
    float: right;
    margin-right: 10px;
    font-size: 12px;
    line-height: 24px;
}

a.export-messages-btn:hover {
    cursor: pointer;
    box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.2);
    background: #e4eeff;
    color: #547abb;
}

a.export-messages-btn:hover .export-message-icon {
    background: #547abb;
    color: #fff;
}

a.export-messages-btn:hover .export-message-text {
    font-weight: bold;
}









.export-message-container.chat-export {
    position: absolute;
    right: 0;
    top: -41px;
}

.export-message-container.chat-export .export-messages-btn {
    padding: 4px;
    border: 1px solid #2e7cc1;
    background: #f7f7f7;
}

.export-message-container.chat-export .export-messages-btn .export-message-text {
    line-height: 25px;
}

.export-message-container.chat-export .export-messages-btn .export-message-icon {background: #2e7cc1;color: #fff;}

.export-message-container.chat-export .export-messages-btn:hover {
    background: #e4eeff;
}








.dummy-stop-title {
    padding: 15px;
    border-bottom: 1px solid #e9e9e9;
    text-align: center;
    padding-right: 30px;
    padding-left: 30px;
    font-size: 12px;
}

.dummy-stop-action {
    overflow: hidden;
}

.action-btn {
    float: left;
    width: calc(50% - 7px);
    text-align: center;
    line-height: 31px;
    margin: 5px;
    border-radius: 5px;
}

.cancel-action.action-btn {
    background: #ffd9d9;
    margin-right: 2px;
}

.cancel-action.action-btn:hover{
    background: #fbbbbb;
    cursor: pointer;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.proceed-action.action-btn {
    background: #6da6f8;
    color: #fff;
    margin-left: 2px;
}
.proceed-action.action-btn:hover{
    background: #4893ff;
    cursor: pointer;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}



.dummy-panel-container {
    position: absolute;
    z-index: 1;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    font-size: 12px;
    left: 10px;
    top: 10px;
    /* padding: 10px; */
    color: #666666;
}

.dummy-panel-title {
    font-size: 11px;
    padding: 5px;
    /* border-bottom: 1px solid #e3e3e3; */
    min-width: 135px;
    text-align: center;
    background: #4B545D;
    color: #fff;
    /* font-weight: bold; */
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 37%);
}

.dummy-panel-row {
    overflow: hidden;
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
    border-bottom: 1px solid #efefef;
}

.dummy-panel-label {
    float: left;
}

.dummy-panel-toggle {
    float: right;
}

.dummy-panel-toggle .on {
    display: none;
}

.dummy-panel-toggle .off {
    display: block;
}

.dummy-panel-toggle.active .off {
    display: none;
}

.dummy-panel-toggle.active .on {
    display: block;
}

.dummy-panel-toggle i {
    font-size: 20px;
    color: #f39c9c;
}

.generate-routes-btn {
    background: #49c5b6;
    margin: 7px;
    text-align: center;
    padding: 3px;
    border-radius: 3px;
    color: #266a58;
    font-size: 11px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.dummy-panel-toggle i.on {
    color: #49c5b6;
}

.dummy-panel-toggle:hover {
    cursor: pointer;
}

.generate-routes-btn:hover {
    cursor: pointer;
    background: #3aa194;
    color: #fff;
}

#editSchoolNewModal .modal-body {
    max-height: 73vh;
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    overflow-y: auto;
}



.early-arrival-input input {
    float: left;
}

.early-arrival-input input[type='number'] {
    float: right;
    width: calc(100% - 18px);
}

.early-arrival-input {
    overflow: hidden;
    width: 90%;
}

.early-arrival-input input[type='checkbox'] {
    margin-top: 14px;
}





div#infoDrawer {
    position: fixed;
    width: 300px;
    height: 100vh;
    background: #ffffff94;
    top: 0;
    right: -300px;
    z-index: 4;
    box-shadow: 0px 1px 4px 0px rgb(0 0 0 / 10%);
}

textarea#emailContent {
    max-width: 100%;
    /* padding: 10px 10px 0 0; */
    resize: none;
    border: 1px solid #E3E3E3;
    border-bottom: 1px solid #E3E3E3;
    border-radius: 0.5rem;
    line-height: 2;
    font-size: 14px;
}

textarea#emailContent:focus {
    font-size: 14px;
}



.send-email-btn {
    position: relative;
    /* float: right; */
    overflow: hidden;
    height: 32px;
    width: max-content;
    float: right;
}

.send-button-text {
    float: right;
    margin-right: 34px;
    background: #ccc;
    line-height: 32px;
    padding-right: 10px;
    padding-left: 10px;
    border-radius: 8px 0px 0px 8px;
    font-size: 11px;
    background: #2196F3;
    color: #fff;
    font-weight: bold;
}

.send-email-btn .send-message-btn {
    padding: 5px;
    padding-right: 10px;
    padding-left: 10px;
    background: #2196F3;
    border-left: 1px solid #1d85d7;
    color: #fff;
}

.send-email-btn:hover .send-button-text {
    background: #1085e3;
}

.send-email-btn:hover .send-message-btn {
    background: #1085e3;
}
.send-email-btn:hover {
    cursor: pointer;
}

label#send-email-input-label {
    font-size: 12px;
    margin-bottom: 0px;
}

label#send-email-input-label {
    font-size: 12px;
    margin-bottom: 0px;
}

.send-email-btn.disabled .send-button-text {
    background: #ccc;
    color: #8b8b8b;
}

.send-email-btn.disabled .send-message-btn {
    background: #ccc;
    color: #8b8b8b;
    border-color: #bfbfbf;
}

.send-email-btn.disabled {
    cursor: wait;
}

textarea#emailContent {
    font-size: 12px;
    line-height: 15px;
}

textarea#emailContent:focus {
    font-size: 12px;
}


.send-message-trigger {
    display: inline-block;
    font-size: 13px;
    margin-right: 7px;
    border-right: 1px solid #ccc;
    padding-right: 10px;
    transition: all 0.1s;
}

.send-message-trigger:hover {
    cursor: pointer;
    color: #c024ff;
    font-size: 15px;
    margin-right: 15px;
    border-right: 3px solid;
}

.send-message-trigger {
    line-height: 17px;
}


.message-read-status {
    bottom: -24px;
}
span.read-status-timestamp {
    bottom: 17px;
}
span.status-text {
    font-size: 11px;
}
.message-read-status i {
    font-size: 12px;
}

span.read-status-timestamp {
    font-size: 10px;
}


.message-from-admin {
    overflow: hidden;
    padding: 5px;
    margin-top: 27px;
}

.message-to-admin-trigger {
    float: left;
    font-size: 21px;
    background: #ffffff;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 54px;
    border-radius: 50%;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.message-to-admin-text {
    background: #ccc;
    float: right;
    width: calc(100% - 60px);
    line-height: 22px;
    border-radius: 5px;
    font-size: 14px;
    padding: 13px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    border-radius: .55rem;
    background: #fff;
    color: #616161;
    font-weight: 400;
}

.message-to-admin-trigger:hover {
    cursor: pointer;
    background: #2e7cc1;
    color: #fff;
}

.message-to-admin-trigger {
    transition: all 0.2s;
}

b.clickable-bold:hover {
    cursor: pointer;
    color: #2e7cc1;
}

.message-to-admin-text.unread-message-text {
    display: none;
}

.message-from-admin.has-unread .message-to-admin-text {
    display: none;
}

.message-from-admin.has-unread .message-to-admin-text.unread-message-text {
    display: block;
}

.message-to-admin-text.unread-message-text {
    background: #f3cc23;
    color: #62520a;
}

.unread-message-count {
    position: absolute;
    width: 25px;
    left: 2px;
    text-align: center;
    font-size: 10px;
    bottom: -2px;
}

td.user-admin-grid.fullname {
    position: relative;
}



textarea#messageContent {
    max-width: 100%;
    /* padding: 10px 10px 0 0; */
    resize: none;
    border: 1px solid #E3E3E3;
    border-bottom: 1px solid #E3E3E3;
    border-radius: 0.5rem;
    font-size: 12px;
    line-height: 15px;
}

textarea#emailContent:focus {
    font-size: 12px;
}


th.user-admin-grid.txn.activity {
    text-align: center;
}

td.user-admin-grid.txn.activity {
    text-align: center;
    font-weight: normal;
    font-size: 12px;
    color: #616161;
}

button#userActivitySyncBtn.btn-disabled {
    cursor: wait !important;
    background-color: #ccc !important;
    color: #646464 !important;
}

.last-sync-container {float: right;margin-right: 10px;padding-top: 11px;}

button#userActivitySyncBtn {
    float: right;
}

.last-sync-label {
    font-size: 10px;
}

.last-sync-value {
    font-size: 12px;
    /* font-weight: bold; */
    line-height: 14px;
}

td.user-admin-grid a {
    color: #418bff;
}

td.user-admin-grid a:hover {
    color: #075295;
    font-weight: bold;
}

.student-search.is-invited {
    background: #bdffc3 !important;
    /* border-left: 5px solid #ccc !important; */
}

.student-search.is-invited:hover {
    background: #90ef99 !important;
}

.registered-check {
    display: inline;
    color: #1bb57d;
    font-size: 14px;
}

.email-send-check{
    display: inline;
    color: #298cf5;
    font-size: 14px;
}

select#userStatusFilter {
    padding: 14px;
    border: 1px solid #aca9a9;
}

.footer ul li a {
    color: inherit;
    padding: .5rem;
    font-size: .83em;
    text-transform: uppercase;
    text-decoration: none;
}

.term-of-use-link {
    position: absolute;
    width: 100%;
    text-align: center;
    top: -38px;
    font-size: 12px;
    /* color: #33373f; */
}

li.sidebar-user-section {
    position: relative;
}

.term-of-use-link a {
    color: #585f6c !important;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 11px;
}

.term-of-use-link a:hover {
    color: #bcbcbc !important;
}

/* bus page changes */

.disability-capacity-container input {
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #E3E3E3;
    padding: 8px 15px 8px 15px;
    width: 100px;
    text-align: center;
    transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.disability-capacity-container {
    margin-bottom: 5px;
}

.disability-capacity-container input:focus {
    border-color: #007f3c;
    background: #fff;
}

label.disability-capacity-label {
    padding-left: 10px;
}


/* rsm modal */

#rsmModal .modal-dialog {
    max-width: 1200px;
    width: 90%;
}


.rsm-route-title span {
    font-size: 11px;
    padding: 2px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 5px;
    display: inline-block;
    line-height: 12px;
    margin-right: 5px;
    font-weight: normal;
    /* margin-top: -10px; */
}

.rsm-route-title {
    font-weight: bold;
    font-size: 19px;
    /* border-bottom: 1px solid #ccc; */
}

.rsm-stop-container {
    background: #f2f2f2;
    margin-bottom: 5px;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

span.stop-type-indicator {
    text-transform: uppercase;
    font-size: 8px;
    background: #ccc;
    padding: 5px;
    display: inline-block;
    line-height: 7px;
    font-weight: normal;
    border-radius: 5px;
    margin-right: 5px;
}

.rsm-stop-title {
    font-size: 13px;
    /* line-height: 15px; */
    /* padding-top: 5px; */
    font-weight: bold;
}

.rsm-stop-subtitle {
    font-size: 11px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}

span.stop-type-indicator.stop {
    background: #3897d1;
}

span.stop-type-indicator.depot {
    background: #d5d025;
}

span.stop-type-indicator.school {
    background: #45cd15;
}

.rsm-student-row {
    border-left: 6px solid #ccc;
    margin-bottom: 5px;
    padding-left: 10px;
}

.rsm-student-row-title {
    font-size: 14px;
    line-height: 14px;
    font-weight: bold;
}

.rsm-student-row-subtitle {
    font-size: 11px;
}

/* clone shift */
.shift-to-clone {
    margin-bottom: 0;
    font-size: 12px;
}

.shift-to-clone-value {
    font-size: 15px;
    line-height: 15px;
    margin-bottom: 15px;
    font-weight: bold;
}

span.clone-shift-day-type {
    margin-left: 5px;
    padding-left: 5px;
    border-left: 2px solid #ccc;
}

span.clone-shift-day-schools {
    margin-left: 5px;
    padding-left: 5px;
    border-left: 2px solid #ccc;
}

.rsm-student-row-container {
    overflow: hidden;
}

.rsm-student-row-checkbox {
    float: left;
}

.rsm-student-row {
    float: left;
}





.rsm-student-row-subtitle {
    line-height: 11px;
    margin-top: 4px;
}

.rsm-student-row-checkbox {
    background: none !important;
    height: 29px;
    width: 29px;
    text-align: center;
    margin-right: 4px;
    border-radius: 3px;
}

.rsm-student-row-checkbox input:hover {
    cursor: pointer;
}

.rsm-body {
    max-height: 60vh;
    overflow-y: auto;
}

span.rsm-student-lastname {
    margin-left: 3px;
    font-weight: normal;
}

input#rsmNameSearch {
    padding: 8px 15px 8px 15px;
    font-size: 0.9rem;
    border-radius: 0.5rem;
    line-height: 1.5rem;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #E3E3E3;
    color: #2c2c2c;
    transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
    box-shadow: none;
    height: auto;
}

input#rsmNameSearch:focus {
    border-color: #007f3c;
    background: #fff;
    /* font-size: 16px; */
}

.rsm-student-search-container {
    padding-bottom: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    margin-left: -24px;
    margin-right: -25px;
    padding-left: 24px;
    margin-top: -14px;
}

.rsm-student-search-container {
    overflow: hidden;
}

input#rsmNameSearch {
    float: left;
}

.rsmNameSearch-label {
    float: left;
    border-left: 4px solid #d8d8d8;
    margin-top: 6px;
    margin-left: 5px;
    font-size: 12px;
    width: 200px;
    line-height: 16px;
    padding-left: 5px;
    color: #707070;
}

.rsm-footer {
    padding-bottom: 10px;
    box-shadow: 0 -4px 4px 0 rgba(0, 0, 0, 0.15);
    position: relative;
    margin-left: -24px;
    margin-right: -25px;
    padding-right: 24px;
    /* margin-top: -14px; */
    text-align: right;
    margin-bottom: -16px;
    padding-top: 10px;
}

div#rsmModal .modal-footer {
    display: none;
}

.rsm-footer button {
    min-width: 100px;
}

button#processRSMPageBtn i {
    display: none;
}

button#processRSMPageBtn.btn-disabled i {
    display: inline-block;
    margin-left: 10px;
}


.rsm-stop-title button {
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px 10px;
}

.rsm-stop-title {
    position: relative;
}

h5.modal-title.send-message-title .add-route-student-ttle {
    display: block;
    position: absolute;
    left: 20px;
    border-right: none;
    top: 15px;
    font-size: 18px;
    font-weight: bold;
}

h5.modal-title.send-message-title .add-route-student-subtitle {
    display: block;
    position: absolute;
    left: 20px;
    border-right: none;
    top: 34px;
    font-size: 12px;
    color: #878787;
}

#addRouteStudentModal .rsm-student-row-container {
    margin-left: -24px;
    margin-bottom: 0px;
    border-bottom: 1px solid #f0f0f0;
    padding-top: 7px;
    margin-right: -24px;
    padding-left: 10px;
    padding-right: 10px;
}

#addRouteStudentModal .rsm-student-row-container:hover {
    background: #f3f3f3;
}

#addRouteStudentModal .rsm-student-row-container:hover .rsm-student-row {
    border-left: 6px solid #659ec4;
}

#addRouteStudentModal .modal-body {
    padding-top: 5px;
}

#addRouteStudentModal .rsm-footer {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    padding-right: 10px;
}

.rsm-add-student-container {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: visible;
    margin-left: -24px;
    padding-left: 24px;
    margin-right: -24px;
    padding-right: 24px;
}

#addRouteStudentModal .modal-body {
    padding-bottom: 10px;
}

.no-students-to-add {
    line-height: 200px;
    text-align: center;
    color: #ccc;
}

.rsm-student-row-title {
    font-weight: normal;
}

span.rsm-student-firstname {
    font-weight: bold;
}

.target-edit-details {
    position: absolute;
    right: 52px;
    text-align: right;
    top: 17px;
    border-right: 5px solid #868686;
    padding-right: 10px;
    color: #d0d2d6;
}

.target-edit-day {
    font-size: 12px;
}

.target-edit-shift {
    font-size: 16px;
    font-weight: bold;
    line-height: 16px;
}

.rsm-student-container {
    display: none;
    border-top: 1px solid #ccc;
    padding-top: 10px;
}

.rsm-stop-subtitle {
    border-bottom: none;
    margin-bottom: 0px;
}

.rsm-stop-title button.toggle-rsm-student-visibility {
    right: 100px;
}

.rsm-stop-title button.toggle-rsm-student-visibility {
    background: none;
    color: #313740;
    border: 1px solid #313740;
}

.rsm-stop-title button.toggle-rsm-student-visibility:hover {
    background: #313740;
    color: #fff;
}


.add-stop-btn {
    display: none;
    position: absolute;
    right: 20px;
    top: 0;
}

.rsm-stop-container-enclosure-stop {
    position: relative;
    transition: all 0.3s;
}


.rsm-stop-container-enclosure-stop:hover {
    padding-top: 35px;
    padding-bottom: 35px;
}

.rsm-stop-container-enclosure-stop:hover .add-stop-btn {display: block;}


.add-stop-line-container {
    height: 40px;
    background: #ccc;
    width: 2px;
    position: absolute;
    top: -5px;
    right: 10px;
    z-index: 1;
}

.add-stop-icon-contaienr {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 3px;
}

.add-stop-btn.add-stop-after {
    position: absolute;
    right: 20px;
    top: initial;
    bottom: 30px;
}

.add-stop-icon-contaienr:hover {
    font-size: 21px;
    right: 1px;
    top: -4px;
    cursor: pointer;
    color: #1f9fec;
}

.add-stop-icon-contaienr {
    transition: all 0.2s;
}

.rsm-stop-container {
    margin-bottom: 0px;
}

.rsm-stop-container-enclosure-stop {
    margin-bottom: 5px;
}

.rsm-stop-container-enclosure-depot {
    margin-bottom: 5px;
}

.rsm-stop-container-enclosure-school {
    margin-bottom: 5px;
}

.rsm-route-title {
    border-top: 1px solid #ccc;
    margin-top: 15px;
    padding-bottom: 10px;
    padding-top: 5px;
}

.add-stop-icon-contaienr {
    padding-left: 10px;
}

.rsm-stop-subtitle i {
    font-size: 12px;
    margin-right: 4px;
    /* margin-left: 5px; */
    color:#535353
    
}

.rsm-stop-subtitle i.fa-solid.fa-clock {
    margin-left: 10px;
}
.rsm-stop-subtitle i.fa-solid.fa-user {
    margin-left: 10px;
}

.assignment-data {
    max-height: 200px;
    overflow-y: auto;
}


.rsa-add-stop-container {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: visible;
    margin-left: -24px;
    padding-left: 24px;
    margin-right: -24px;
    padding-right: 24px;
}

.rsa-stop-row-container {
    margin-left: -24px;
    margin-bottom: 0px;
    border-bottom: 1px solid #f0f0f0;
    padding-top: 7px;
    margin-right: -24px;
    padding-left: 10px;
    padding-right: 10px;
    overflow: hidden;
}

.rsa-stop-row-checkbox {
    background: none !important;
    height: 29px;
    width: 29px;
    text-align: center;
    margin-right: 4px;
    border-radius: 3px;
    float: left;
}

.rsa-stop-row {
    float: left;
    border-left: 6px solid #ccc;
    margin-bottom: 5px;
    padding-left: 10px;
}

.rsa-stop-row-title {
    font-weight: normal;
    font-size: 14px;
    line-height: 14px;
}

span.rsa-stop-firstname {
    font-weight: bold;
}

.rsa-stop-row-subtitle {
    line-height: 11px;
    margin-top: 4px;
    font-size: 11px;
}

#addRouteStopModal .modal-body {
    padding-top: 5px;
    padding-bottom: 10px;
}

.rsa-stop-row-container:hover {
    background: #f3f3f3;
}

.rsa-stop-row-container:hover .rsa-stop-row {
    border-left: 6px solid #659ec4;
}

.rsa-stop-row-checkbox input:hover {
    cursor: pointer;
}

.rsa-footer {
    padding-bottom: 10px;
    box-shadow: 0 -4px 4px 0 rgba(0, 0, 0, 0.15);
    position: relative;
    text-align: right;
    padding-top: 10px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    padding-right: 10px;
}

.rsm-stop-container.new-stop {
    background: #d3ffce;
}

.rsm-main-container {
    overflow: hidden;
}

.rsm-body {
    float: left;
    width: 50%;
}

.rsm-map-container {
    float: left;
    width: 50%;
    background: #ccc;
    height: 60vh;
    position: relative;
}

div#rsmMap {
    width: 100%;
    height: 60vh;
}







div#cloneShiftModalNew .modal-dialog {
    max-width: 450px;
}

.smc-title {
    display: none;
}



.shift-management-container {
    overflow: hidden;
    margin: -24px;
    margin-bottom: -15px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.smc-title {
    font-size: 13px;
    font-weight: 100;
    text-align: center;
    width: max-content;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 39px;
    font-weight: revert;
    text-transform: uppercase;
}

.smc-form-container {
    padding-right: 20px;
}


.smc-input-label {
    font-size: 12px;
}

.smc-input-container input {
    border-radius: 5px;
    font-size: 14px;
}

.smc-footer button {
    width: 100%;
    margin-top: 20px;
}

.smc-footer {
    position: relative;
}

.smc-shift-details {
    background: #f5f5f5;
    padding: 5px;
    font-size: 12px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    overflow: hidden;
}

.smcsd-title {
    font-size: 20px;
    padding-left: 10px;
    float: left;
    font-weight: bold;
}

.smcsd-subtitle {
    padding-left: 10px;
    overflow: hidden;
    float: right;
    margin-top: 8px;
}

.smcsd-subtitle-item {
    float: left;
    margin-right: 10px;
    font-size: 13px;
    color: #757575;
}















.global-modal-nav {
    overflow: hidden;
}

.global-modal-nav-item {
    background: #efefef;
    text-transform: uppercase;
    font-size: 13px;
    padding: 5px;
    /* width: 50%; */
    /* text-align: center; */
    padding-left: 20px;
    padding-right: 20px;
    color: #979797;
    display: inline-block;
}

.global-modal-nav {
    border-bottom: 1px solid #ccc;
    background: #efefef;
}

.global-modal-nav-item.active {
    background: #fff;
    color: #313740;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.global-modal-nav-item:hover {
    cursor: pointer;
    color: #313740;
}
.global-modal-content-item .form-container{
    padding: 20px;
}
.global-modal-content-item {
    padding: 0px;
    display: none;
}

.global-modal-content-item.active {
    display: block;
}


#cloneShiftModalNew .modal-body {
    padding: 0px;
}

.smc-form-container {
    padding: 0px;
}

.global-modal-content-item {
    padding: 15px;
    padding-bottom: 10px;
    padding-top: 20px;
}

#cloneShiftModalNew .target-edit-day {
    font-size: 10px;
}

#cloneShiftModalNew .target-edit-shift {
    font-size: 12px;
    line-height: 14px;
}

#cloneShiftModalNew .target-edit-details {
    top: 15px;
}

#cloneShiftModalNew .modal-header.modal-header-with-infowindow {
    padding: 15px;
}

#cloneShiftModalNew span.close-modal-btn {
    margin-right: 0px;
}

.student-stop-view-toggle-container {
    float: right;
    border-right: 1px solid #ccc;
    padding-right: 10px;
    margin-right: 10px;
    overflow: hidden;
    margin-top: 5px;
}

.student-stop-view-toggle {
    overflow: hidden;
}

.ssvt-item {
    float: left;
}


.ssvt-item {
    padding: 2px;
    width: 35px;
    text-align: center;
    color: #a2a2a2;
}

.student-stop-view-toggle {
    background: #e5e5e5;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.ssvt-item.active {
    background: #5392ec;
    border-radius: 5px;
    color: #fff;
}

.ssvt-item:hover {
    color: #5392ec;
    cursor: pointer;
}

.ssvt-item.active:hover {
    cursor: default;
    color: #fff;
}


.loading-student-stop-view {
    text-align: center;
    margin-top: 50px;
    color: #ccc;
    font-size: 18px;
    font-weight: 100;
}

.loading-student-stop-view span {
    display: block;
    font-size: 30px;
}

#studentPageStopGrid th::before {
    top: 11px;
    /* margin-top: 5px; */
}

.eta-seconds-container {
    background: #f5f5f5;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
    font-size: 12px;
    padding: 9px;
    border-radius: 5px;
    border: 1px solid #ccc;
    transition: .3s all;
    width: 200px;
    float: right;
}

input#showETASecondInput {
    margin-bottom: 0px !important;
}

.eta-seconds-container .form-group.form-check {
    margin-bottom: 0px;
}


.eta-seconds-container label {
    margin-top: 2px;
}

.eta-seconds-container .form-group {
    margin-bottom: 3px;
}


.eta-seconds-container.active {
    background: #0075ff;
    color: #fff;
}


.grid-header-buttons.with-icons {
    padding: 10px;
}

button.mange-route-icons {
    border-radius: 5px;
    border-color: #ccc !important;
}

button.mange-route-icons i {
    font-size: 20px;
}

button.mange-route-icons:hover {
    background: #49c5b6 !important;
    border-color: #49c5b6 !important;
    color: #277369;
}

button.mange-route-icons:hover i {
    color: #277369;
}

button.mange-route-icons:hover {
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%) !important;
}




.ssas-label {
    text-align: center;
}

.ssas-options-container {
    overflow: hidden;
    width: max-content;
    margin: 0 auto;
    padding: 20px;
}

.ssas-options {
    display: inline;
    background: #2CA8FF;
    padding: 10px;
    font-size: 12px;
    border-radius: 5px;
    color: #fff;
    padding-left: 20px;
    padding-right: 20px;
    margin: 9px;
}

.ssas-options:hover {
    cursor: pointer;
    background: #1e91e1;
    color: #eef8ff;
    box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.17);
}

.smc-shift-days-container {
    font-size: 10px;
    font-weight: 100;
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: 0px;
}

.smc-shift-days {
    float: left;
    background: #ffffff;
    padding: 0px;
    border-radius: 5px;
    padding-left: 5px;
    padding-right: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    margin: 2px;
}

.smc-row {
    margin-bottom: 10px;
}

.smc-shift-label {
    line-height: 41px;
}

.smc-shift-details {
    position: relative;
}

.smcsd-subtitle {
    margin-top: 0px;
}

.grid-header-buttons.with-icons {
    margin-top: 5px;
}

.smc-shift-details {
    width: calc(100% - 192px);
    float: left;
}

.smc-shift-action {
    float: left;
    overflow: hidden;
    margin-left: 10px;
    padding-top: 6px;
}

.smcsa-item {
    font-size: 20px;
    float: left;
    width: 50px;
    background: #ccc;
    border-radius: 7px;
    text-align: center;
    margin: 2px;
    line-height: 33px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

.smc-row {
    overflow: hidden;
    padding: 5px;
    margin-bottom: 0px;
}

#cloneShiftModal .modal-body {
    padding: 10px;
}

.form-container.save-as-existing-shift {
    margin-bottom: 0px;
}

.smcsa-item.smc-edit-shift {
    background: #ffde9d;
    border: 1px solid #ebcb8c;
}

.smcsa-item.smc-status-toggle {
    background: #53a8e9;
    border: 1px solid #3288ca;
    color: #08497c;
}

span.shift-selector {
    border: none;
    display: inline-block;
    background: #ffffff;
    padding-left: 0px;
    border-radius: 5px;
    margin: 2px;
    margin-top: 0px;
}

span.shift-selector-item {
    border: none;
}

span.shift-selector span {
    margin-left: 0px;
    padding-left: 0px;
    padding: 5px;
    line-height: 10px;
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
}

span.shift-selector-item.active {
    background: #6da6f8;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #ffffff;
    cursor: default;
}

span.shift-selector-item a {
    color: #adadad;
}

span.shift-selector-item a:hover {
    color: #6da6f8;
}


.week-day-selector {
    overflow: hidden;
}

.shift-day {
    float: left;
    width: 14%;
    padding: 2px;
}

.existing-shift {
    display: none;
}

.day-selection-notice {
    display: none;
}

.short-day-label {
    float: left;
    padding: 0px;
    border-radius: 5px;
    padding-left: 5px;
    padding-right: 5px;
    margin: 2px;
    font-size: 12px;
    width: 100%;
    text-align: center;
    border: 1px solid #ccc;
    color: #a9a9a9;
    line-height: 24px;
}

.shift-day.filled-slot .short-day-label {
    background: #6da6f8;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #fff;
    border: 1px solid #6da6f8;
}

.shift-day.filled-slot.selected-slot .short-day-label {
    background: #6da6f8;
    color: #fff;
    border: 1px solid #6da6f8;
}

.shift-day.empty-slot.selected-slot .short-day-label {
    background: #6da6f8;
    color: #fff;
    border: 1px solid #6da6f8;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    z-index: 2;
    position: relative;
}

.shift-day.filled-slot .short-day-label {
    background: #33373f;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #fff;
    border: 1px solid #33373f;
}

.shift-day.selected-slot .existing-shift {
    display: block;
    position: absolute;
    font-size: 10px;
    width: calc(100% - 4px);
    text-align: center;
    top: 27px;
    background: #ffbaba;
    z-index: 1;
    left: 4px;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #d42e2e;
    line-height: 24px;
}

.shift-day.selected-slot .day-selection-notice {
    display: block;
    position: absolute;
    font-size: 10px;
    width: calc(100% - 4px) !important;
    text-align: center;
    top: 49px;
    background: #d42e2e;
    z-index: 0;
    left: 4px;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #ffffff;
    line-height: 24px;
}

.shift-day.selected-slot .day-selection-notice {
    display: block;
    position: absolute;
    font-size: 10px;
    width: 100%;
    text-align: center;
}

.shift-day {
    position: relative;
}

.week-day-selector {
    padding-bottom: 40px;
}

.short-day-label {
    z-index: 2;
    position: relative;
}

.shift-day.selected-slot.empty-slot .existing-shift {
    color: #518d1b;
    background: #ecffdb;
}

.shift-day.selected-slot.empty-slot .day-selection-notice {
    color: #fff;
    background: #518d1b;
}

.shift-day.filled-slot.selected-slot:hover .short-day-label {
    cursor: pointer;
    color: #000000d9 !important;
}

.shift-day.filled-slot:hover .short-day-label {
    cursor: pointer;
    color: #ffffff6b !important;
}

.shift-day.empty-slot:hover .short-day-label {
    cursor: pointer;
    color: #000000d9 !important;
}


.week-day-selector {
    padding-bottom: 40px;
}

.shift-day.filled-slot .existing-shift {
    display: block;
    position: absolute;
    font-size: 10px;
    width: calc(100% - 4px);
    text-align: center;
    top: 27px;
    background: #f3f3f3;
    z-index: 1;
    left: 4px;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #35373e;
    line-height: 24px;
}

.shift-day.selected-slot.filled-slot .existing-shift{
    background: #ffbaba;
    color: #d42e2e;
}

.smcsa-item.smc-status-toggle.is-active-yes .fa-toggle-off {
    display: none;
}

.smcsa-item.smc-status-toggle.is-active-no .fa-toggle-on {
    display: none;
}

.smcsa-item.smc-status-toggle.is-active-no {
    background: #eeeeee;
    border: 1px solid #cfcfcf;
    color: #b1b1b1;
}

#cloneShiftModal .modal-dialog {
    max-width: 650px;
}

.smc-shift-details .smcsa-item {
    float: right;
    background: none !important;
    border: none !important;
    box-shadow: none;
    font-size: 30px;
    border-left: 1px solid #cccc !important;
    border-radius: 0px;
    padding-left: 5px;
    margin-left: 5px;
    line-height: 37px;
    width: 50px;
}

.smc-shift-days-container {
    right: 67px;
    bottom: 2px;
}

.smcsa-item {
    background: none;
    box-shadow: none;
    width: 40px;
    font-size: 17px;
}

.smc-shift-action-collection {
    overflow: hidden;
    background: #f2f2f2;
    border-radius: 15px;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 20%) inset;
    margin: 2px;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 1px;
    padding-right: 1px;
}

.smcsa-item.smc-edit-shift {
    border-radius: 10px;
}

.smc-shift-action {
    padding-top: 0px;
}

.smc-shift-action-collection .smcsa-item {
    line-height: 39px;
}

.smc-row.yes-smc-row .smc-shift-details {
    background: #53a8e9;
    border: 1px solid #3288ca;
    color: #08497c;
}

.smc-row.yes-smc-row .smc-shift-details .smcsd-subtitle-item {
    color: #08497c;
}

.smc-row.yes-smc-row .smc-shift-details .smcsa-item {
    border-left: 1px solid #08497c !important;
}

.smcsa-item.smc-edit-shift {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
}

.smcsa-item.smc-map-view {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
    background: #ffde9d;
    border: 1px solid #ebcb8c;
}

.smc-shift-action-collection .smcsa-item:hover {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
    background: #ffde9d;
    border: 1px solid #ebcb8c;
    cursor:pointer;
}

.smc-shift-action-collection .smcsa-item {
    border: 1px solid #ffffff00;
    transition: all 0.2s;
    border-radius: 0px;
    background: none;
    box-shadow: none;
}

.smcsa-item.smc-map-view {
    border-right: 1px solid #dedede;
    color: #606060;
}

.smc-shift-action-collection .smcsa-item.smc-map-view:hover {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
    background: #606060;
    border: 1px solid #606060;
    cursor:pointer;
    color:#fff;
}

.smcsa-item.smc-copy-shift {
    border-right: 1px solid #dedede;
     color: #606060;
}

.smc-shift-action-collection .smcsa-item.smc-copy-shift:hover {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
    background: #7295d2;
    border: 1px solid #7295d2;
    cursor:pointer;
    color:#fff;
}

.smcsa-item.smc-edit-shift {
    border-right: 1px solid #dedede;
     color: #606060;
}


.smc-shift-action-collection .smcsa-item.smc-edit-shift:hover {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
    background: #ffdb68;
    border: 1px solid #f2cc54;
    cursor: pointer;
    color: #a87132;
}


.smcsa-item.smc-delete-shift {
     color: #606060;
}

.smc-shift-action-collection .smcsa-item.smc-delete-shift:hover {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    border-radius: 13px;
    background: #cc3131;
    border: 1px solid #cc3131;
    cursor:pointer;
    color:#fff;
}

.smc-shift-action-collection {
    background: #f6f6f6;
}

.smc-shift-days.smcsd-is-active-no {
    background: #ffb6b6;
    color: #b80303;
    box-shadow: none;
}

.smcsa-item.smc-status-toggle i:hover {
    color: #3069b4;
    cursor: pointer;
}

.smc-row.no-smc-row .smc-shift-details {
    border: 1px solid #3288ca00;
}

.shift-day .existing-shift {
    height: 24px;
    overflow: hidden;
}


.enable-shift-day-selector {
    overflow: hidden;
    padding-bottom: 45px;
}

.enable-shift-instruction {
    text-align: center;
    width: max-content;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    margin-bottom: 23px;
    padding: 15px;
    font-size: 13px;
    padding-bottom: 5px;
    padding-top: 0px;
    color: #606060;
}


.shift-management-active-shifts {
    overflow: hidden;
    padding-bottom: 50px;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 10px;
}

.shift-management-instructions {
    text-align: center;
    width: max-content;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
    padding: 15px;
    font-size: 13px;
    padding-bottom: 5px;
    padding-top: 0px;
    color: #606060;
}

#cloneShiftModal .shift-day.filled-slot .short-day-label {
    background: #78a6e3;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    color: #2d4878;
    border: 1px solid #4c8add;
    font-weight: bold;
}

.smc-shift-days.smcsd-is-active-no {
    display: none;
}

.smc-shift-days.smcsd-is-active-yes {
    background: #7fe413;
    color: #000;
    font-weight: bold;
}

.smcsa-item.smc-delete-shift.smc-disabled-shift {
    color: #ccc;
}

.smc-shift-action-collection .smcsa-item.smc-delete-shift.smc-disabled-shift:hover {
    box-shadow: none;
    border-radius: 13px;
    background: none;
    border: 1px solid #cccccc00;
    cursor: not-allowed;
    color: #ccc;
}

input.error-input {
    border: 1px solid #ff7575 !important;
    color: #c91d1d !important;
}

.shift-name-unavailable-message {
    color: #c91d1d;
    font-size: 11px;
    font-weight: bold;
    display: none;
    position: absolute;
    right: 0;
    transition: all 0.2s;
}


.shift-name-unavailable-message i {
    position: absolute;
    right: 10px;
    top: 35px;
    font-size: 20px;
    transition: all 0.2s;
}

.form-container-note {
    line-height: 12px;
    font-size: 12px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: -20px;
    color: #c74343;
}

.day-stat-count {
    float: left;
    border-top: 0px;
    border-left: 1px solid #ccc;
}

.tab-stat-container {
    width: 100%;
    margin-left: 0px;
}

.day-stat-count {
    margin-left: 5px;
    padding-left: 5px;
    border-left: 1px solid #ececec;
    min-width: 36px;
}

.day-stat-count-item i {
    font-size: 13px;
    width: 20px;
    text-align: left;
}

.day-stat-count-item.dsci-routes i {
    margin-left: -6px;
}

span.dsci-value {
    display: inline-block;
    margin: 0;
    text-align: center;
    min-width: 12px;
}

.day-stat-count-item i {
    width: 15px;
    font-size: 11px;
    line-height: 12px;
}

.day-stat-label {
    margin: 0px;
    margin-top: 5px;
    margin-left: 0px !important;
}

.tab-stat-container {
    margin-left: 0px;
}

.day-stat-label {
    padding-top: 0px;
    padding-bottom: 0px;
    line-height: 23px;
    margin-top: 3px;
}

.day-tab-selector {
    margin-top: -2px;
}


span.rsm-bus-name {
    font-weight: bold;
    font-size: 19px;
    float: left;
}

span.rsm-route-id-label {
    float: left;
}

.rsm-route-title {
    overflow: hidden;
    padding-top: 20px;
    padding-bottom: 10px;
}

span.stop-type-indicator {
    line-height: normal;
    font-size: 9px;
    line-height: 9px;
    position: absolute;
    top: 3px;
}

span.rsm-stop-type-label {
    display: inline-block;
    line-height: 23px;
    font-size: 12px;
    margin-left: 37px;
}

.rsm-stop-container-enclosure-school span.rsm-stop-type-label {
    display: inline-block;
    line-height: 23px;
    font-size: 12px;
    margin-left: 51px;
}

.rsm-stop-container-enclosure-depot span.rsm-stop-type-label {
    display: inline-block;
    line-height: 23px;
    font-size: 12px;
    margin-left: 44px;
}


.rsm-locate-btn {
    display: inline-block;
    width: 25px;
    height: 22px;
    font-size: 15px;
    text-align: center;
    border-radius: 5px;
    line-height: 21px;
    border: 1px solid #cccccc00;
    color: #ccc;
    transition: all 0.2s;
}

.rsm-locate-btn:hover {
    background: #6da6f8;
    border: 1px solid #6da6f8;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    cursor: pointer;
}

.rsm-locate-btn {
    display: inline-block;
    width: 25px;
    height: 22px;
    font-size: 15px;
    text-align: center;
    border-radius: 5px;
    line-height: 21px;
    border: 1px solid #cccccc00;
    color: #1baca3;
    transition: all 0.2s;
}

.rsm-locate-btn:hover {
    background: #6da6f8;
    border: 1px solid #6da6f8 !important;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
    color: #355b93;
    cursor: pointer;
    border-radius: 5px;
}

.rsm-locate-btn.rsm-route-locate {
    float: left;
    width: 26px;
    height: 26px;
    line-height: 25px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

span.rsm-route-id-label {
    line-height: 22px;
}

span.rsm-bus-name {
    margin-top: 4px;
}

.rsm-locate-btn.rsm-student-locate {
    position: absolute;
    left: 4px;
    top: 0px;
    height: 28px;
    width: 28px;
    line-height: 28px;
}

.rsm-student-row {
    padding-left: 35px;
    position: relative;
}

.rsm-locate-btn {
    border-radius: 50%;
}

span.title-note {
    position: absolute;
    left: 0;
    bottom: -15px;
    border-right: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: initial !important;
    display: block;
    line-height: 20px !important;
    width: max-content;
    font-size: 13px !important;
    color: #909090 !important;
}

#rsmModal .sender-name {
    position: relative;
    font-size: 18px;
    text-transform: uppercase;
    margin-top: -6px;
}


.rsm-infowindow {
    padding: 8px;
    min-width:120px;
}

.rsm-marker-name {
    font-weight: bold;
    font-size: 16px;
}

.rsm-marker-type {
    text-transform: uppercase;
    line-height: 9px;
    font-size: 9px;
    background: #ccc;
    padding: 4px;
    display: inline-block;
    font-weight: normal;
    border-radius: 5px;
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: 3px;
}

.rsm-marker-address {
    font-size: 12px;
    border-top: 1px solid #e5e5e5;
    margin-top: 4px;
    padding-top: 3px;
    text-align: center;
}

.rsm-infowindow.marker_student .rsm-marker-type {
    background: #e2c11d;
    color: #33373f;
    font-weight: bold;
}

.rsm-infowindow.marker_school .rsm-marker-type {
    background: #78ca43;
    color: #0b600f;
    font-weight: bold;
}

.rsm-infowindow.marker_stop .rsm-marker-type {
    background: #6495cc;
    color: #002e61;
    font-weight: bold;
}

.rsm-infowindow.marker_depot .rsm-marker-type {
    background: #d0d04e;
    color: #585858;
    font-weight: bold;
}

.rsm-stop-title button.btn-info {
    right: 48px;
    text-align: center;
    width: 40px;
}

.rsm-stop-title button.btn-danger {
    right: 0px;
    text-align: center;
    width: 40px;
}

.target-edit-shift {
    font-size: 21px;
}

.target-edit-details {
    top: 8px;
    background: #6da6f8;
    padding: 8px;
    border-radius: 5px 5px 5px 5px;
    color: #33373f;
    padding-left: 20px;
    border-right: 5px solid #00000042;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.target-edit-day {
    font-size: 14px;
}


div#rsmMap {
    height: calc(100vh - 200px);
}

.rsm-map-container {
    height: calc(100vh - 200px);
    width: calc(100% - 600px);
}

.rsm-body {
    max-height: calc(100vh - 200px);
}

#rsmModal .modal-dialog {
    max-width: 90%;
}

.rsm-body {
    width: 600px;
}


#rsmModal .modal-body {
    padding: 0px;
}

.rsm-footer {
    margin-bottom: 0px;
    margin-right: 0px;
}

.rsm-student-search-container {
    margin: 0px;
    margin-top: 10px;
    position: relative;
    padding-left: 10px;
}

.rsmNameSearch-icon {
    position: absolute;
    left: 13px;
    top: 3px;
    font-size: 14px;
    color: #4e5259;
    padding: 4px;
    border-radius: 6px;
    padding-left: 7px;
    padding-right: 6px;
    line-height: 28px;
}


input#rsmNameSearch {
    padding-left: 30px;
    float: initial;
    width: 300px;
}

.rsmNameSearch-label {
    float: initial;
    font-size: 12px;
    width: 100%;
    border-left: none;
    padding-left: 0px;
    display: none;
}

.rsm-routes-filter-container {
    position: absolute;
    top: 0px;
    right: 0;
}

.rsm-body {
    position: relative;
    height: calc(100vh - 200px);
    overflow: hidden;
}

.rsmrfc-icon {
    background: #e8e8e8;
    margin: 10px;
    width: 35px;
    height: 35px;
    text-align: center;
    border-radius: 10px;
    line-height: 35px;
    font-size: 17px;
    color: #33373f;
    border: 1px solid #d4d4d4;
    margin-top: 12px;
}

.rsm-route-title {
    border-top: none;
    margin-top: 0px;
    padding-top: 0px;
    padding-bottom: 15px;
}

.rsm-body-routes {
    max-height: calc(100vh - 263px);
    overflow-y: auto;
}


.rsm-route-container {
    border-bottom: 1px solid #f1f1f1;
    padding-bottom: 18px;
    margin: 15px;
}

.rsm-loading-indicator {
    margin-top: 20vh;
    margin-bottom: 40vh;
    text-align: center;
    color: #ccc;
}

.rsm-loading-indicator i {
    position: absolute;
    left: calc(50% - 25px);
    top: calc(20vh + 45px);
    font-size: 50px;
    color: #ccc;
}









.target-edit-day-container {
    overflow: hidden;
    background: #ffffff2b;
    padding: 3px;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    width: max-content;
}

.target-edit-details {
    background: none;
    color: #fff;
    border-right: none;
    font-size: 12px;
    top: -2px;
    overflow: hidden;
    width: max-content;
}

.target-edit-day {
    font-size: 11px;
    float: right;
    font-weight: bold;
    line-height: 12px;
    margin-left: 5px;
}

.target-edit-shift {
    font-size: 12px;
    float: left;
    font-size: 20px;
    float: right;
    font-weight: bold;
    line-height: 28px;
    margin-left: 5px;
}

.target-edit-day-label {
    float: right;
    font-weight: 200;
    line-height: 12px;
    font-size: 12px;
    color: #ffffff78;
}


.target-edit-shift-container {
    overflow: hidden;
    background: #ffffff2b;
    padding: 3px;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 5px;
    width: max-content;
    display: inline-block;
}

.target-edit-shift-label {
    float: right;
    font-weight: 200;
    line-height: 28px;
    font-size: 19px;
}

.target-edit-day-container-wrapper {
    overflow: hidden;
}

.target-edit-day-container {
    float: right;
}

.target-edit-shift-container {
    background: #3897d1;
    color: #ffffff;
}

.target-edit-shift-label {
    color: #ffffffb8;
}

.target-edit-details {
    right: 51px;
    border-right: 10px solid #546072;
    border-radius: 0px;
    padding-top: 6px;
    padding-bottom: 0px;
    top: 0px;
    margin-right: 2px;
    padding-right: 13px;
}

.rsm-stop-title button.btn-success {
    right: 0px;
    text-align: center;
    width: 40px;
    display:none;
}

.removed-stop .rsm-stop-container {
    background: #f99797;
    color: #9b2020;
}

.removed-stop .rsm-stop-subtitle i{
    color: #9b2020;
}
.removed-stop .rsm-stop-type-label{
    text-decoration: line-through;
}

.removed-stop .rsm-stop-title .rsm-stop-remove-btn{
    display:none;
}

.removed-stop .rsm-stop-title .rsm-stop-add-back-btn{
    display:block;
}

.rsm-routes-filter-container {
    background: #e8e8e8;
    margin: 10px;
    width: max-content;
    height: 36px;
    text-align: center;
    border-radius: 10px;
    line-height: 36px;
    font-size: 17px;
    color: #33373f;
    border: 1px solid #d4d4d4;
    margin-top: 12px;
    padding-left: 206px;
}

select#rsmFilter {
    display: inline-block;
    font-size: 14px;
    border: none;
    background: #e8e8e8;
    padding: 5px;
    position: absolute;
    right: 32px;
    top: 2px;
    width: 199px;
    border-radius: 10px;
}

.rsmrfc-icon {
    display: inline;
    background: none;
    border: none;
    margin-left: 0px;
}

.rsm-routes-filter-container:hover {
    background: #fff;
}

.rsm-routes-filter-container:hover select#rsmFilter {
    background: #f0f0f0;
}

.rsm-routes-filter-container:hover select#rsmFilter:focus {
    background: #fff;
}

.rsm-route-container.is-edited .rsm-edited-route-label {
    display: block;
}

span.rsm-edited-route-label {
    font-size: 11px;
    padding: 2px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 5px;
    line-height: 22px;
    margin-right: 5px;
    font-weight: normal;
    float: left;
    font-weight: bold;
    text-transform: uppercase;
    background: #ffcc4f;
    padding-left: 10px;
    padding-right: 10px;
    display: none;
}


.rsmrfcn-option-list {
    display: none;
}

.rsm-student-search-container {
    background: #e9ecef;
    margin-top: 0px;
    padding-top: 10px;
    z-index: 1;
}

input#rsmNameSearch {
    background: #fff;
}

.rsmNameSearch-icon {
    top: 13px;
}

.rsm-routes-filter-container-new {
    position: absolute;
    top: 15px;
    right: 6px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    width: 200px;
    z-index: 3;
}

.rsmrfcn-select-trigger {
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: all 0.2s;
}

span.rsmrfcn-select-trigger-label {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
}

span.rsmrfcn-select-trigger-icon {
    float: right;
    font-size: 17px;
    margin-top: -4px;
    margin-right: -5px;
}

.rsmrfcn-select-trigger:hover {
    box-shadow: 0 1px 7px 0px rgba(0, 0, 0, .10) !important;
    background: #e7f2ff;
    color: #008eff;
    cursor: pointer;
}

.rsmrfcn-select-trigger:hover span.rsmrfcn-select-trigger-label {
    color: #008eff;
}

.rsmrfcn-option-list.active {
    display: block;
    position: absolute;
    top: 40px;
    right: 7px;
    background: #fff;
    padding: 10px;
    font-size: 14px;
    border-radius: 5px;
    max-height: calc(100vh - 270px);
    overflow-y: auto;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .2) !important;
    width: max-content;
    min-height: 150px;
}

.rsmrfcnol-row {
    border-left: 10px solid #fff;
    margin-left: -10px;
    padding-left: 5px;
    padding-bottom: 4px;
    padding-top: 4px;
    margin-right: -10px;
}

.rsmrfcnol-info {
    font-size: 10px;
    line-height: 10px;
    color: #a4a4a4;
}

span.rsmrfcnol-route-id {
    background: #007bff;
    border-radius: 5px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 10px;
    color: #fff;
    text-transform: uppercase;
    line-height: 17px;
    display: inline-block;
    margin-right: 6px;
    padding-left: 7px;
    padding-right: 7px;
}

span.rsmrfcnol-fill-level {
    background: #f5d41d;
    border-radius: 5px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 8px;
    color: #5d4f03;
    text-transform: uppercase;
    line-height: 12px;
    display: inline-block;
    margin-right: 6px;
}

span.rsmrfcnol-free-seats {
    background: #6dca41;
    border-radius: 5px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 8px;
    color: #174900;
    text-transform: uppercase;
    line-height: 12px;
    display: inline-block;
    margin-right: 6px;
}

.rsmrfcnol-name {
    font-size: 19px;
    line-height: 22px;
    min-width: 200px;
    border-top: 1px solid #f7f4f4;
    margin-top: 5px;
}

span.rsmrfcnol-fill-level i {
    background: #00000030;
    font-size: 11px;
    padding: 3px;
    border-radius: 5px;
    margin-left: -5px;
}

span.rsmrfcnol-fill-level span {
    font-size: 10px;
    margin-left: 4px;
    font-size: 10px;
    margin-left: 4px;
    text-align: center;
    min-width: 17px;
    display: inline-block;
    font-weight: bold;
}

span.rsmrfcnol-free-seats i {
    background: #00000030;
    font-size: 11px;
    padding: 3px;
    border-radius: 5px;
    margin-left: -5px;
}

span.rsmrfcnol-free-seats span {
    font-size: 10px;
    margin-left: 4px;
    text-align: center;
    min-width: 17px;
    display: inline-block;
    font-weight: bold;
}

.rsmrfcnol-row.default-state:hover{
    cursor: pointer;
    background: #ededed !important;
    border-left: 10px solid #cfcfcf !important;
}

.rsmrfcnol-row {
    border-bottom: 1px solid #ccc;
}

.rsmrfcnol-row.default-state {
    border-left: 10px solid #fff !important;
    background: #fff !important;
}

.rsmrfcnol-row.default-filters .rsmrfcnol-name {
    margin-top: 0px;
    border-top: none;
    font-size: 14px;
}

.rsmrfcnol-name {
    font-size: 15px;
    line-height: 16px;
}

.rsmrfcnol-row {
    border-bottom: 1px solid #e8e8e8;
    cursor: pointer;
}

.default-state span.rsmrfcnol-route-id {
    background: #ccc;
    color: #6c6b6b;
}

.default-state span.rsmrfcnol-fill-level {
    background: #ccc;
    color: #6c6b6b;
}

.default-state span.rsmrfcnol-free-seats {
    background: #ccc;
    color: #6c6b6b;
}

.default-state .rsmrfcnol-name {
    color: #9b9292;
    font-weight: normal;
}

.rsmrfcnol-name {
    font-weight: bold;
    color: #323030;
}

.rsm-route-container.rsm-hidden-route{
    display: none;
}

.rsm-no-match-found{
    display: none;
}

.rsm-no-match-found {
    line-height: calc(100vh - 270px);
    text-align: center;
    font-size: 23px;
    color: #ccc;
    font-weight:100;
}

.optimization-selection-container {
    border-top: 1px solid #ccc;
    padding-top: 11px;
}

label.form-check-label[for='optimizedRoutes'] {
    color: #469a1f;
    font-weight: bold;
}

label.form-check-label[for='unoptimizedRoutes'] {
    color: #3571c0;
    font-weight: bold;
}

.optimization-selection-title {
    font-size: 20px;
    width: max-content;
    border-bottom: 1px solid #efefef;
    margin-bottom: 10px;
}

label.form-check-label[for='optimizedRoutesSave'] {
    color: #469a1f;
    font-weight: bold;
}

label.form-check-label[for='unoptimizedRoutesSave'] {
    color: #3571c0;
    font-weight: bold;
}

div#optimizationSelectionModal .optimization-selection-container {
    border-top: none;
    padding-top: 0px;
    margin-top: -8px;
}

#cloneShiftModal .infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 50px;
    top: 7px;
}

#rsmModal .infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 47px;
    top: 5px;
}

#saveAsShiftModal .infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 50px;
    top: 6px;
}

.target-edit-details {
    right: 93px;
}

.smcsd-basic {
    overflow: hidden;
}

.smc-shift-days-container {
    top: 26px;
}

.smcsd-stats {
    border-top: 1px solid #00000014;
    margin-top: 10px;
    padding-top: 10px;
    overflow: hidden;
    padding-bottom: 10px;
}

.smcsd-stats-group {
    overflow: hidden;
    float: left;
    width: 33%;
}

.smcsdsg-item {
    float: left;
    width: 50%;
    text-align: center;
}

#cloneShiftModal .modal-dialog {
    max-width: 750px;
}

.smcsdsg-item-label {
    font-size: 11px;
    line-height: 13px;
}

.smcsdsg-item-value {
    font-size: 18px;
    line-height: 18px;
    font-weight: bold;
}

.smcsd-stats-group.smcsdsg-time .smcsdsg-item {
    width: 100%;
}

.smcsd-stats-group.smcsdsg-time .smcsdsg-item-value {
    font-size: 13px;
}

.smcsd-stats-group.smcsdsg-duration {
    border-left: 1px solid #00000040;
    border-right: 1px solid #00000040;
}

.smcsd-stats {
    display: none;
}

.smc-row.no-smc-row .smcsd-subtitle {
    margin-top:10px;
}


.rsm-loading-indicator.shift-loading-indicator {margin-bottom: 30vh;margin-top: 15vh;}

.rsm-loading-indicator.shift-loading-indicator {
    position: relative;
}

.rsm-loading-indicator.shift-loading-indicator i {
    top: 45px;
}

.smc-shift-action-toggle {
    background: #f5f5f5;
    float: left;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 41px;
    border-radius: 50%;
    font-size: 18px;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
    margin: 5px;
    transition: all 0.2s;
}

.smc-shift-action-toggle:hover {
    /* font-size: 20px; */
    cursor: pointer;
    /* background: #ccc; */
    box-shadow: 0 1px 5px 0px rgb(0 0 0 / 40%);
}

.smc-shift-action-toggle.smc-shift-action-collection-toggle:hover {
    background: #ffd88d;
    color: #785106;
}
.smc-shift-action-toggle.smc-shift-action-collection-toggle.active {
    background: #bbbbbb;
    color: #646464;
}

.smc-shift-action-toggle.smc-shift-action-collection-toggle {
    color: #785106;
    background: #fff1d6;
}

.smc-shift-action-toggle.smc-shift-stats-detail-toggle:hover {
    background: #d2e7ff;
    color: #0d4c93;
}

.smc-shift-action-toggle.smc-shift-stats-detail-toggle.active {
    background: #bbbbbb;
    color: #646464;
}

.smc-shift-action-toggle.smc-shift-stats-detail-toggle {
    color: #545454;
    background: #f5f5f5;
}

.smc-shift-details {
    width: calc(100% - 112px);
}

.smc-shift-action-collection {
    position: absolute;
    width: 179px;
    right: 0px;
    border-radius: 22px;
    z-index: -1;
    opacity: 0;
}

.smc-shift-action-collection .smcsa-item:hover {
    border-radius: 50% !important;
}

.smc-shift-label span {
    position: absolute;
    left: 16px;
    top: 19px;
    font-size: 11px;
    color: #0000004f;
}

.smc-shift-label {
    margin-top: -5px;
}

.edit-shift-day-selector {
    overflow: hidden;
    padding-bottom: 50px;
    margin-top: -15px;
}

.smcsd-stats-group.smcsdsg-time {
    width: 28%;
}

.smcsd-stats-group.smcsdsg-duration {
    width: 36%;
}

.smcsd-stats-group.smcsdsg-distance {
    width: 36%;
}

.rsm-route-edit-info.infowindow-trigger-btn.info-float-right {
    right: initial !important;
    z-index: 1;
    top: 0px !important;
    left: 10px;
}

input#rsmNameSearch {
    padding-left: 10;
    margin-left: 40px;
}

.rsmNameSearch-icon {
    left: 54px;
}

div#infowindowModal {
    z-index: 1000000000000;
}

button#processRSMPageBtn {
    margin-right: 35px;
}

.rsm-save-info.infowindow-trigger-btn.info-float-right {
    right: 10px !important;
}

.copy-shift-infowindow.infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 50px;
    top: 7px;
}

.edit-shift-infowindow.infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 50px;
    top: 7px;
}

.enable-shift-infowindow.infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 50px;
    top: 7px;
}

.text-container.grey-green {
    font-size: 0.9rem;
    border-radius: 0.5rem;
    padding: 8px 15px 8px 15px;
    border-color: #e3e3e3;
    transition: all .3s;
    outline: none;
}

.text-container.grey-green:focus {
    border-color: #007f3c;
}

.smcsd-description {
    margin-left: 10px;
    margin-right: 10px;
    border-bottom: 1px solid #00000012;
    padding-bottom: 5px;
    margin-bottom: 10px;
    margin-top: -5px;
    color: #0000005e;
    line-height: 16px;
    /* padding-top: 10px; */
}

.text-container.grey-green {
    color: #2d2d2d;
    font-size: 12px;
    line-height: 18px;
}

.rsmf-add-bus-section {
    float: left;
    margin-left: 40px;
}


#addUnassignedBusModal .modal-dialog {
    max-width: 50%;
}

.bus-add-row {
    overflow: hidden;
}

.bar-details {
    float: left;
}

.bar-facilities {
    float: right;
}

.bar-name {
    font-size: 20px;
    line-height: 23px;
}

.bar-secondary {
    font-size: 12px;
    line-height: 23px;
}

.bar-driver {
    font-size: 12px;
    line-height: 16px;
}

span.bars-type {
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

span.bars-capacity {
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

span.bard-name {
    font-weight: bold;
}

span.bard-gender {
    margin-left: 2px;
    margin-right: 5px;
    border-right: 1px solid #ccc;
    padding-right: 5px;
}

.barf-label {
    font-size: 12px;
    color: #636363;
    text-align: right;
}

.barf-input select {
    padding: 5px;
    border-radius: 5px;
    border-color: #ccc;
}

.bar-checkbox {
    float: left;
    margin-right: 10px;
    line-height: 26px;
}

.bar-name {
    border-left: 5px solid #ccc;
    padding-left: 5px;
}

.barf-input select {
    min-width: 150px;
}

.bus-add-row {
    margin-left: -10px;
}

.add-unrouted-bus-stop-placeholder {
    text-align: center;
    background: #fff;
    margin-bottom: 10px;
    margin-top: 10px;
    border-radius: 5px;
    border: 1px solid #77a60d;
    color: #77a60d;
    line-height: 100px;
}

.add-unrouted-bus-stop-placeholder:hover {
    font-weight: bold;
    cursor: pointer;
}

.rsm-route-container.new-bus-route {
    background: #84de5a;
    margin: 5px;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #95fd44;
}

.new-bus-route .rsm-stop-container.new-stop {
    background: #a2ff98;
}

.no-busses-to-add {
    text-align: center;
    line-height: 300px;
    font-size: 18px;
    color: #929292;
    margin-bottom: 20px;
    /* text-transform: uppercase; */
}

div#infowindowModal .modal-dialog.infowindow-size-xlarge {
    max-width: 80%;
}

.warning-main-text {
    font-size: 13px;
    text-align: center;
    margin-top: 40px;
}

.warning-secondary-text {
    font-size: 13px;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 50px;
    color: #f03a2b;
    font-weight: bold;
}

.removed-stop .rsm-stop-container.new-stop {
    background: #d3ffce;
    color: #046e07;
}

.removed-stop .rsm-stop-container.new-stop .rsm-stop-subtitle i{
    color: #046e07;
}

.removed-stop .rsm-stop-container.new-stop .rsm-stop-type-label{
    text-decoration:none;
}

.removed-stop .rsm-stop-container.new-stop span.new-stop-no-student-indicator {
    color: #e62020;
    font-size: 15px;
    display:inline-block;
    margin-right:5px;
}

span.new-stop-no-student-indicator {
   display:none;
}

.removed-stop .new-stop .rsm-stop-title .rsm-stop-add-back-btn {
    display: none;
}

.removed-stop .new-stop .rsm-stop-title .rsm-stop-remove-btn {
    display: block;
}

.new-bus-route .rsm-locate-btn.rsm-route-locate {
    display: none;
}


.add-unrouted-bus-stop-placeholder {
    position: relative;
    border: none;
    padding-top: 30px;
    padding-bottom: 30px;
    background: none;
    border-right: 1px solid #bcbcbc;
    border-radius: 0px;
    margin-right: 15px;
    margin: 0px;
    margin-right: 15px;
    margin-top: -5px;
}

.add-unrouted-bus-stop-placeholder .add-stop-icon-contaienr {
    top: -18px;
    right: -9px;
    color: #3c8400;
}

.add-unrouted-bus-stop-placeholder .add-stop-icon-contaienr:hover {
    top: -18px;
    right: -11px;
    color: #1f9fec;
}


div#addRouteStudentModal .modal-dialog {
    position: relative;
    width: 90%;
}

div#addRouteStudentModal {
    position: absolute;
}

#addRouteStudentModal .rsm-student-row-container {
    margin-left: 0px;
    margin-right: 0px;
}

#addRouteStudentModal .rsm-add-student-container {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
    padding-right: 0px;
}




div#addRouteStopModal .modal-dialog {
    position: relative;
    width: 90%;
}

div#addRouteStopModal {
    position: absolute;
}

#addRouteStopModal .rsa-stop-row-container {
    margin-left: 0px;
    margin-right: 0px;
}

#addRouteStopModal .rsa-add-stop-container {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
    padding-right: 0px;
}


#addRouteStopModal .rsm-locate-btn.rsm-stop-locate {
    position: absolute;
    left: 4px;
    top: 0px;
    height: 28px;
    width: 28px;
    line-height: 28px;
}

#addRouteStopModal .rsa-stop-row {
    position: relative;
    padding-left: 35px;
}


div#addRouteStudentModal .rsm-locate-btn.rsm-student-locate.rsm-student-zoomto{
 display:none;
}

.rsmsce .rsm-locate-btn.rsm-student-locate.rsm-student-zoomto{
 display:block;
}

.rsmsce .rsm-locate-btn.rsm-student-locate.rsm-stop-student-zoomto{
 display:none;
}

.rsm-route-title {
    position: relative;
}

.delete-rsmroute-container {
    position: absolute;
    right: 0;
    font-size: 12px;
    top: 0px;
}

.delete-rsm-route-btn {
    background: #ff3636;
    color: #fff;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.delete-rsm-route-btn i {
    float: left;
    margin-top: 5px;
    margin-right: 8px;
}

.delete-rsm-route-btn:hover {
    cursor: pointer;
    background: #e41f1f;
    color: #ffc9c9;
}

#confirmModal .modal-body {
    font-size: 18px;
}

#confirmModal .modal-body span {
    font-size: 14px;
}




.clear-stops-rsmroute-container {
    position: absolute;
    right: 115px;
    font-size: 12px;
    top: 0px;
}

.remove-all-stop-rsm-route-btn {
    background: #ffa92c;
    color: #ffffff;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.remove-all-stop-rsm-route-btn i {
    float: left;
    margin-top: 5px;
    margin-right: 8px;
}

.remove-all-stop-rsm-route-btn:hover {
    cursor: pointer;
    background: #f29c00;
    color: #ffe2be;
}


#summaryTimelineModal .modal-dialog {
    max-width: 90%;
}

.summary-timeline-infowindow-container {
    margin-left: 41px;
    margin-right: 10px;
    margin-top: -10px;
}

.ust-header {
    position: relative;
    width: 100%;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 50%);
    background: #454b54;
    color: #fff;
}

.update-summary-table {
    margin-top: 20px;
    margin-left: -65px;
    margin-right: -33px;
}

.ust-row {
    overflow: hidden;
    padding-left: 5%;
}

.ust-cell {
    display: inline-block;
    width: 10%;
    text-align: center;
}

.ust-row {
    border-left: 10px solid #454b54;
}

.usdt-body .ust-row {
    font-size: 14px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
}

.ust-cell.start-time {
    font-size: 14px;
}

.ust-cell.end-time { font-size: 14px; }

.summary-timeline-infowindow-container .bus-stats-icon {
    padding-top: 0px;
    font-size: 10px;
}

.jsonOutput {
    display: none;
}

.old-stats {
    display: none;
}

.old-stats {
    display: inline;
    margin-left: 5px;
    padding-left: 5px;
    font-size: 12px;
    background: #0000001c;
    text-align: center;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    border-radius: 5px;
}

.old-stats span {
    font-size: 10px;
    margin-left: 2px;
}




#summaryTimelineModal .timeline-right-new {
    margin-top: -14px;
}

#summaryTimelineModal .timeline-right-old {
    margin-top: 24px;
}

#summaryTimelineModal .timeline-right-old .timeline-base-line {
    display: none;
}

#summaryTimelineModal .timeline-right-new .timeline-base-line {
    margin-top: 41px;
}

#summaryTimelineModal .timeline-right-old .timeline-schools {
    display: none;
}

#summaryTimelineModal .timeline-right-new .timeline-schools .timeline-school-object {
    margin-top: 5px;
}

#summaryTimelineModal .timeline-right-new .timeline-schools .timeline-school-object .school-icon img {
    margin-top: -13px;
}
/*
#summaryTimelineModal .stop-obj-details .stop-obj-type {
    background: #73a6f2;
    width: max-content;
    float: right;
    padding: 2px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 5px;
    padding-top: 3px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
}

#summaryTimelineModal .stop-obj-details .stop-obj-title {
    background: #4787e7;
    padding: 2px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 5px 5px 0px 0px;
    padding-top: 17px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    border-bottom: 1px solid #95befb;
}

#summaryTimelineModal .stop-obj-details .stop-obj-subtitle {
    background: #4787e7;
    padding: 2px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 0px 0px 5px 5px;
    padding-top: 3px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
    color: #fff;
}

#summaryTimelineModal .stop-obj-details {
    right: 0px;
    padding-right: 2px;
}
    */

.add-bus-infowindow.infowindow-trigger-btn.info-float-left {
    margin-top: 9px !important;
}

.summary-timeline-infowindow.infowindow-trigger-btn.info-float-right {
    position: absolute;
    right: 51px;
    top: 6px;
}

#summaryTimelineModal .timeline-right-old .center-line {
    height: 14px;
    box-shadow: none;
    margin-top: 3px;
    opacity: 0.2;
}



#summaryTimelineModal .timeline-right-old .center-line {
    height: 14px;
    box-shadow: none;
    margin-top: 3px;
    opacity: 0.2;
}

#summaryTimelineModal .stop-obj-details {
    width: max-content;
}

#summaryTimelineModal .stop-obj-details {
    width: max-content;
    background: #fff;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
    border-radius: 0px 5px 5px 0px;
    padding-bottom: 2px;
    padding-top: 2px;
    top: -57px;
}

#summaryTimelineModal .stop-obj-subtitle {
    padding-bottom: 0px;
}

#summaryTimelineModal .timeline-stop-object.stop .stop-obj-details {
    border-radius: 5px 0px 0px 5px;
    padding-left: 5px;
    top: -52px;
}

#summaryTimelineModal .timeline-stop-object.school .stop-obj-details {
    top: -58px;
    left: -75px;
}

#summaryTimelineModal .timeline-stop-object.depot .stop-obj-details {
    top: -62px;
    left: -27px;
}

#summaryTimelineModal .timeline-stop-object.depot.start-stop .stop-obj-details {
    top: -50px;
    left: -14px;
}

.dummy-panel-list {
    max-height: 150px;
    overflow-y: auto;
}


.dummy-panel-title {
    text-align: left;
}

.dummy-stops-infowindow.infowindow-trigger-btn.info-float-left {
    position: absolute;
    top: 3px;
    right: 3px;
    margin-top: 0;
    margin-right: 0;
}

.edit-routes-infowindow.infowindow-trigger-btn.info-float-left {
    position: absolute;
    right: 3px;
    top: 3px;
}

.route-info-right {
    margin-right: 30px;
}


.dummy-panel-list {
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    overflow-y: auto;
}

.stop-list-scroll-container {
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    overflow-y: auto;
}

.thin-scrollbar{
    scrollbar-color: #cbcbcb40 #f7f7f7;
    scrollbar-width: thin;
    overflow-y: auto;
}

.timeline-stop-object:hover {
    z-index: 5;
}


.ust-cell {
    width: 8%;
    margin-right: 1%;
    margin-left: 1%;
}

.ust-cell.ust-error-cell {
    background: #ef4040de;
    border-radius: 5px;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 30%);
}

#summaryTimelineModal .modal-body {
    padding-top: 15px;
}

#summaryTimelineModal .modal-header {
    padding-top: 15px;
    padding-bottom: 15px;
}

.bus-summary-timeline-grid-footer {
    text-align: right;
    padding-right: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 5px solid #dedede;
    margin-top: -16px;
}

div#shiftTimelineModal .old-stats {
    display: none;
}

.ust-cell.ust-error-cell {
    cursor: default;
}

.timeline-right.unchanged-routes .timeline-right-old {
    display: none;
}

#summaryTimelineModal .timeline-right.unchanged-routes .timeline-right-new {
    margin-top: -2px;
}

#summaryTimelineModal .timeline-right.unchanged-routes .timeline-right-new .timeline-base-line{
    margin-top: 29px;
}

#summaryTimelineModal .timeline-right.unchanged-routes .timeline-right-new .timeline-schools .timeline-school-object{
    margin-top: -6px;
}


span.parent-student-share-link-btn {
    background: #ffffff;
    padding: 0px;
    margin-right: 5px;
    border-radius: 3px;
    border: 1px solid #e1e1e1;
    font-size: 13px;
}

span.parent-student-share-link-btn a {
    display: inline-block;
    padding-left: 5px;
    padding-right: 2px;
    color: initial;
}

span.parent-student-share-link-btn a:hover {
    color: #bf24ff;
}

td.route-change-td span {
    background: #ccc;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 11px;
    line-height: 20px;
    display: inline-block;
    text-transform: uppercase;
    border-radius: 5px;
}

td.route-change-td.no span {
    background: #87dca5;
}

td.route-change-td.yes span {
    background: #ff8888;
    color: #7c0606;
}


#summaryTimelineModal .timeline-stop-object.school.dropoff-stop {
    margin-left: -7px;
}

#summaryTimelineModal .timeline-stop-object.school .stop-obj-details {
    left: -75px;
}

.parent-student-grid.checkbox input {
    display: block;
    opacity: 1;
    visibility: visible;
    position: relative;
    margin: 0 auto;
}


.btn-with-icon {
    overflow: hidden;
    font-size: 14px;
    background: #bf24ff;
    padding: 8px;
    border-radius: 5px;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    transition: all 0.2s;
    border: 1px solid #bf24ff;
}

.filter-student-btn {
    float: right;
}

.btn-icon {
    float: left;
    border-right: 1px solid #ffffff54;
    margin-right: 10px;
    padding-right: 10px;
    font-size: 16px;
}

.btn-label {
    float: left;
    line-height: 24px;
}

.btn-with-icon:hover .btn-icon {
    border-right: 1px solid #e29dff;
}

.btn-with-icon:hover {
    cursor: pointer;
    background: #edc0ff;
    color: #bf24ff;
    border: 1px solid #e29dff;
}

div#pslfModal .modal-dialog {
    max-width: 972px;
    width: 972px;
}

.filter-container {
    overflow: hidden;
}

.pslf-filter-column {
    float: left;
    width: 16.667%;
}

.pslf-filter-list-item {
    overflow: hidden;
}

.pslf-filter-list-item-input {
    float: left;
}

.pslf-filter-list-item-label {
    float: left;
    margin-left: 5px;
}


.pslf-filter-label {
    border-bottom: 3px solid #c8c8c8;
    width: max-content;
    padding-right: 20px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 100;
}

.pslf-filter-list-item-label {
    font-size: 13px;
    line-height: 30px;
}

.pslf-filter-list {
    background: #f3f3f3;
    margin-right: 20px;
    padding: 10px;
    margin-top: 10px;
    border-radius: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.pslf-filter-list-item-label:hover {
    cursor: pointer;
    color: #000;
    font-weight: bold;
}

.filter-container {
    padding: 20px;
}

.pslf-filter-label {
    position: relative;
    padding-left: 20px;
}

.pslf-filter-label span {
    position: absolute;
    left: 0;
    top: 1px;
}

.pslf-filter-label:hover {
    cursor: pointer;
    font-weight: bold;
    color: #000;
}


.fcnti-input {
    display: none;
}

i.fcntip-toggle-up {
    display: none;
}

.fcn-types {
    overflow: hidden;
    background: #f3f3f3;
    border-radius: 10px;
    padding: 0px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2) inset;
}

.fcn-type-item {
    float: left;
    background: #fff;
    margin: 5px;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.fcnti-pill {
    overflow: hidden;
    line-height: 30px;
}

.fcntip-label {
    float: left;
    font-size: 14px;
    /* line-height: 30px; */
    font-weight: bold;
}

.fcntip-count {
    float: left;
    font-size: 12px;
    margin-left: 5px;
    color: #8b8b8b;
    font-weight: 100;
}

.fcntip-toggle {
    float: left;
    border-left: 1px solid #ccc;
    margin-left: 10px;
    padding-left: 10px;
}

.fcn-type-item.filled {
    background: #55a0f5;
    color: #fff;
}

.fcn-type-item.filled .fcntip-count {
    color: #c9e2ff;
}

.fcn-type-item.filled .fcntip-toggle {
    border-left: 1px solid #7db4f3;
}


.fcn-type-item.open .fcntip-toggle-down {display: none;}

.fcn-type-item.open .fcntip-toggle-up {
    display: inline-block;
}

.fcn-type-item.open .fcnti-input {
    display: block;
    position: absolute;
    z-index: 2;
}


.fcn-type-item {
    float: none;
    display: inline-block;
    margin: 0px;
    margin-top: 5px;
    position: relative;
    z-index: 1;
}

.fcn-types {
    overflow: visible;
}

.fcntii-item {
    overflow: hidden;
    position: relative;
    border-top: 1px solid #f0f0f0;
}

.fcntii-item-input {
    position: absolute;
    left: 10px;
}

.fcntii-item-item-label {
    padding-left: 30px;
    font-size: 12px;
    line-height: 30px;
    padding-right: 10px;
}

.fcn-type-item.open .fcnti-input {
    display: block;
    position: absolute;
    z-index: 1;
    background: #fff;
    top: 33px;
    left: 0;
    border-radius: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    min-width: 100%;
    margin-bottom: 10px;
    width: max-content;
}


.fcn-types {
    padding-left: 5px;
    padding-right: 5px;
    height: 40px;
}

.fcn-type-item.open {
    background: #e1efff;
}

.fcn-type-item.open .fcnti-input {
    background: #fbfbfb;
}

.fcn-type-item:hover {
    cursor: pointer;
    box-shadow: 0 1px 5px 0 rgb(0 120 144 / 50%);
}

.fcntii-item-item-label:hover {
    background: #f3f3f3;
    font-weight: bold;
    color: #000;
}

.fcntii-item-item-label {
    color: #535353;
    font-weight: normal;
}

.fcn-type-item.filled.open {
    color: initial;
}

.fcn-type-item.filled.open .fcntip-count {
    color: #8b8b8b;
}

.fcn-type-item.filled.open .fcntip-toggle {
    border-left: 1px solid #ccc;
}

.fcntii-item-input {
    pointer-events: none;
}

.filter-results {
    border-top: 1px solid #eaeaea;
    margin-top: 20px;
    padding-top: 10px;
}

.filter-loading-container {
    display: none;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 50px;
}

.flc-spinner {
    font-size: 50px;
    color: #ccc;
}

.flc-text {
    color: #ccc;
}

.filter-results.fetching .filter-result-content {
    display: none;
}

.filter-results.fetching .filter-loading-container {
    display: block;
}

input#checkAllFilterStudents {
    visibility: visible;
    opacity: 1;
    position: relative;
    text-align: center;
}

input.student-filter-selection-checkbox {
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.filter-student-table .table-container {
    max-height: 400px;
}

.filter-container-new {
    position: relative;
    z-index: 5;
}

table#parentStudentListFilterGrid {
    margin-top: 0px !important;
}

.filter-count-container {
    text-align: center;
    margin: 0 auto;
    margin-bottom: 10px;
    background: #bf24ff;
    width: max-content;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 12px;
    border-radius: 5px;
    line-height: 31px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    color: #f7e5ff;
}

span.fcc-filtered-students {
    font-size: 20px;
    font-weight: bold;
    /* line-height: 20px; */
}

span.fcc-total-students {
    font-size: 20px;
    font-weight: bold;
}

th.parent-student-filter-grid {
    padding: 0px !important;
    border-bottom: 3px solid #bf24ff !important;
}

.filter-student-table td {
    padding: 2px;
}

tr.no-data-found td {padding-top: 50px;padding-bottom: 50px;color: #b1b1b1;}

.filter-student-table {
    border-radius: 10px;
    overflow: hidden;
    background: #f6f6f6;
    box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.2);
}

table#parentStudentListFilterGrid {
    margin-bottom: 0px !important;
}

th.parent-student-filter-grid.route-change {
    width: 120px;
}

th.parent-student-filter-grid.checkbox {
    width: 60px;
}

td.parent-student-filter-grid-name a {
    color: #bf24ff;
}

td.parent-student-filter-grid-name a:hover {
    color: #64008e;
}

.compose-email-btn {
    float: right;
}

.compose-email-btn {
    margin-left: 10px;
}

.compose-email-btn .btn-with-icon:hover {
    cursor: pointer;
    background: #bfd6ff;
    color: #1168ff;
    border: 1px solid #94bbff;
}

.compose-email-btn .btn-with-icon {
    background: #1168ff;
    color: #ffffff;
    border: 1px solid #1168ff;
}

.compose-email-btn .btn-with-icon:hover .btn-icon {
    border-right: 1px solid #94bbff;
}

.compose-email-btn .btn-label span {
    display: block;
    font-size: 11px;
    line-height: 11px;
    /* color: #b1cdff; */
}

.compose-email-btn .btn-label {
    line-height: 19px;
    margin-top: -4px;
    margin-left: 5px;
    text-align: center;
    margin-right: 5px;
    font-size: 12px;
}

.cec-label {
    margin-bottom: 0;
    font-size: 12px;
}

textarea#emailTemplateBody {
    height: 300px;
    padding-bottom: 50px;
}

div#emailTemplateModal .modal-dialog {
    max-width: 1200px;
}

.cec-input {
    position: relative;
    /* overflow: hidden; */
}

.email-text-inserts {
    position: absolute;
    bottom: 10px;
    left: 0px;
    width: calc(100% - 10px);
    background: #f1f1f1;
    border-radius: 5px;
    margin: 5px;
    padding: 10px;
    overflow: hidden;
    font-size: 12px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin: 5px;
}

.eti-item-label {
    float: left;
    margin-right: 10px;
}

.eti-item-list {
    float: left;
}

.eti-item {
    display: inline-block;
    background: #2ca8ff;
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 5px;
    border-radius: 10px;
    color: #fff;
    font-size: 11px;
    line-height: 21px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    border: 1px solid #2ca8ff;
    transition: all 0.2s;
}

.eti-item:hover {
    cursor: pointer;
    background: #d5edff;
    color: #2ca8ff;
}


.compose-email-tab {
    float: left;
    width: 650px;
    background: #f9f8f8;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0px 1px 3px 0 rgb(0 0 0 / 20%);
}

.preview-email-tab {
    float: left;
    width: 500px;
    padding: 20px;
    padding-top: 0px;
}

.cec-input.form-container input {
    background: #fff;
}

.cec-input.form-container select {
    background: #fff;
}

.preview-email-result {
    font-size: 12px;
    border-top: 1px solid #f0f0f0;
    margin-top: 15px;
    padding-top: 15px;
    white-space: pre-wrap;
}

.preview-email-tab .form-container {
    margin-bottom: 0px;
}

.et-tab-title {
    text-align: center;
    font-size: 18px;
    width: max-content;
    margin: 0 auto;
    border-bottom: 1px solid #e9e9e9;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px;
}

.email-text-inserts {
    background: #ebf7ff;
}

.preview-email-result {
    line-height: 14px;
}

textarea#emailTemplateBody {
    line-height: 14px;
}


td.route-change-td.yes span {
    background: #87dca5;
    color: #0b5c28;
}

td.route-change-td.no span {
    background: #ff8888;
    color: #7c0606;
}

td.route-change-td.changed span {
    background: #ffbb74;
    color: #633200;
}

.fcn-types {
    width: max-content;
}

.fnc-types-clear {
    position: absolute;
    top: 0;
    right: -8px;
}

.ftc-btn {
    display: inline-block;
    background: #3b475921;
    border-radius: 5px;
    font-size: 12px;
    padding: 3px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    color: #3b4759;
    padding-left: 10px;
    padding-right: 10px;
    cursor: pointer;
    line-height: 30px;
}

.ftc-btn:hover {
    background: #3b4759;
    color: #fff;
}


.clear-flag-btn {
    float: right;
    margin-right: 10px;
}

.clear-flag-btn .btn-label span {
    display: block;
    font-size: 11px;
    line-height: 11px;
    /* color: #b1cdff; */
}

.clear-flag-btn .btn-label {
    line-height: 19px;
    margin-top: -4px;
    margin-left: 5px;
    text-align: center;
    margin-right: 5px;
    font-size: 12px;
}

.filter-student-btn .btn-label {
    line-height: 26px;
}

.clear-flag-btn .btn-with-icon {
    background: #3b4759;
    color: #fff;
    border: 1px solid #3b4759;
}

.clear-flag-btn .btn-with-icon:hover {
    cursor: pointer;
    background: #ffbb74;
    color: #9d5204;
    border: 1px solid #ffbb74;
}

.manage-settings-item.form-container {
    margin-bottom: 0px;
}

.manage-settings-item-description {
    margin-bottom: 10px;
}

span.swap-bus-icon {
    color: inherit;
    background: #4b545d33;
    padding: 2px;
    font-size: 14px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 3px;
    margin-left: 0px;
    transition: all .2s;
    margin-right: 5px;
    display: none;
}

span.swap-bus-icon:hover {
    cursor: pointer;
    background: #4b545d;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 20%);
}

span.swap-bus-icon {
    font-size: 12px;
    color: #353535;
}

h5#routeBusSwapTitle {
    font-size: 16px;
    text-transform: none;
    line-height: 17px;
}

span.parent-student-qr-link-btn:hover {
    color: #bf24ff;
    cursor: pointer;
    /* background: #3b4759; */
}

span.parent-student-qr-link-btn {
    text-align: center;
    padding: 1px;
    padding-left: 4px;
    margin-right: 2px;
    /* background: #ccc; */
    border-radius: 2px;
}

.manage-settings-section.primary-account {
    width: 50%;
    float: left;
}

.manage-settings-section.secondary-account {
    width: 50%;
    float: right;
    border-left: 1px solid #ccc;
    padding-left: 50px;
    height: calc(100vh - 200px);
}

.manage-setting-section-header-container {
    position: relative;
    padding-top: 10px;
}

.add-secondary-account-btn-container {
    position: absolute;
    top: 0;
    right: 0;
}

.sadd-secondary-account-btn {
    border: 1px solid #2e7cc1;
    background: #2e7cc1;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    padding-left: 10px;
    padding-right: 10px;
}

.sadd-secondary-account-btn:hover {
    background: #1c63a1;
    cursor: pointer;
    color: #beccd9;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
}

.secondary-account-list {
    border-top: 1px solid #ccc;
    margin-top: 15px;
}

.manage-settings-section.secondary-account .manage-settings-title {
    margin-left: 0px;
}

.no-secondary-account {
    padding-top: 20vh;
    text-align: center;
    padding-bottom: 20vh;
    font-size: 20px;
    color: #a1a1a1;
}

.no-secondary-account span {
    display: block;
    font-size: 14px;
}


.sub-account-row {
    margin-top: 10px;
    overflow: hidden;
}

.sub-account-info {
    float: left;
    border-left: 5px solid #bf24ff;
    padding-left: 10px;
}

.sub-account-actions {
    float: right;
    overflow: hidden;
}

.sub-account-name {
    font-size: 20px;
    font-weight: bold;
}

.sub-account-name span {
    margin-left: 4px;
    font-weight: normal;
}

.sub-account-email {
    font-size: 14px;
    line-height: 14px;
    color: #898989;
}

.secondary-account-list {
    padding-top: 30px;
}

.saa-btn-container {
    float: right;
    text-align: center;
    margin-left: 10px;
}

.saa-btn.saa-icon {
    font-size: 25px;
    width: 40px;
    height: 40px;
    line-height: 40px;
}

.saa-btn.saa-icon.off .fa-toggle-off {
    display: block;
}

.saa-btn.saa-icon.off .fa-toggle-on {
    display: none;
}

.saa-btn.saa-icon.on .fa-toggle-off {
    display: none;
}

.saa-btn.saa-icon.on .fa-toggle-on {
    display: block;
}

.sub-account-row i.fa-solid.fa-toggle-off {
    line-height: 40px;
}

.saa-btn.saa-icon i {
    line-height: 40px;
}

.saa-btn.saa-icon {
    transition: all 0.2s;
}

.saa-btn.saa-icon.delete {
    color: #ff2a01;
}

.saa-btn.saa-icon.delete:hover {
    background: #ff2a01;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    font-size: 20px;
}

.saa-btn.saa-icon.admin.off {
    color: #ccc;
}

.saa-btn.saa-icon.admin.on {
    color: #2e7cc1;
}

.saa-btn.saa-icon.admin:hover {
    background: #2e7cc1;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    font-size: 20px;
}

.saa-btn-container {
    padding: 10px;
}

.sub-account-info {
    margin-top: 19px;
}

.sub-account-row:hover {
    background: #f6f6f6;
    border-radius: 10px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.sub-account-row {
    margin-top: 0px;
    min-height: 80px;
}

.bus-icon-container {
    overflow: hidden;
}

.bus-icon-item {
    float: left;
    width: 30px;
    height: 30px;
    background: #f7f7f7;
    text-align: center;
    line-height: 28px;
    font-size: 17px;
    border-radius: 5px;
    border: 1px solid #ccc;
    color: #919191;
    margin: 5px;
    transition: all .2s;
}

.bus-icon-item.active {
    background: #4d88e1 !important;
    color: #fff !important;
    border: 1px solid #4d88e1 !important;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%) !important;
    cursor: default !important;
}

.bus-icon-item:hover {
    color: #000000;
    border: 1px solid #a3a3a3;
    background: #d5d5d5;
    cursor: pointer;
}

span.bus-grid-icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    line-height: 20px;
    text-align: center;
    font-size: 14px;
    margin-left: -5px;
    margin-right: 2px;
    color: #00000087;
}

.selected-grid-row span.bus-grid-icon {
    color: #fff !important;
}

.selected-grid-row span.fuel-cost-unit {
    color: #f3f3f3;
}


#userMessageModal .message-from {
    line-height: 16px;
    padding-right: 50px;
}

#userMessageModal .message-to {
    line-height: 16px;
    padding-left: 50px;
}

#userMessageModal .message-text {
    padding-top:5px;
    padding-bottom: 5px
}

.refresh-route-row {
    overflow: hidden;
    /* background: #ccc; */
    /* margin-bottom: 10px; */
    padding-top: 5px;
    padding-right: 10px;
    padding-left: 10px;
    /* margin-left: -24px; */
    /* margin-right: -24px; */
    /* border-left: 5px solid #000; */
}

.rrr-primary {
    float: left;
}

.rrr-secondary {
    float: right;
    font-size: 14px;
    line-height: 19px;
}

.rrrp-bus {
    font-size: 18px;
    line-height: 18px;
    font-weight: bold;
}

.rrrp-info {
    font-size: 12px;
    overflow: hidden;
    color: #4c4c4c;
}

.rrrp-info-item {
    float: left;
    margin-right: 9px;
}

div#routeRefreshList {
    margin: 0px;
    margin-left: -10px;
    margin-right: -10px;
    margin-top: -10px;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    padding-top: 10px;
    padding-bottom: 5px;
    box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.2);
}

span.rrrs-unit {
    font-size: 10px;
    margin-left: 2px;
}

.refresh-route-row.active {
    position: relative;
    box-shadow: 0 0px 5px 0 rgba(0, 0, 0, 0.5);
    background: #313740 !important;
    color: #fff !important;
    border-left: 10px solid #ccc;
    border-bottom: 0px solid #31374000;
    /* cursor: default; */
}

.refresh-route-row.active .rrrp-info {
    color: #ccc;
}

.refresh-route-row {
    margin-bottom: 5px;
    color: #818181;
}

.refresh-route-row:hover {
    cursor: pointer;
    background: #e9e9e9;
    color: #444444;
}

.rrrp-info {
    color: #9b9b9b;
}

div#routeRefreshModal .modal-body {
    background: #efefef;
}

.refresh-route-row {
    transition: all 0.2s;
}
.rrr-primary {
    overflow: hidden;
}

.rrrp-icon {
    float: left;
    width: 40px;
    height: 30px;
    text-align: center;
    border-right: 1px solid #ccc;
    padding-right: 0px;
    margin-right: 7px;
    margin-top: 3px;
    font-size: 20px;
    line-height: 30px;
    margin-left: -7px;
}

.rrrp-detail {
    float: left;
}

.refresh-progress {
    position: absolute;
    width: 0%;
    height: 3px;
    background: #18ce0f;
    top: 0;
    left: 0;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
    transition: all 0.5s;
}

#routeRefreshModal .modal-footer {
    position: relative;
}


.rrl-optimization-input {
    text-align: center;
}


.rrl-optimization-input {
    max-width: 223px;
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
    margin-top: 10px;
    margin-bottom: -10px;
}

input#rrl_isOptimizedRoute {
    margin-top: 6px;
}

.rrl-optimization-input .form-check {
    margin-bottom: 0px;
}

.rrl-optimization-input .form-check input {
    cursor: pointer;
}

.rrl-optimization-input .form-check label {
    cursor: pointer;
}

.rrl-optimization-input .optimization-note {
    margin-bottom: 0px;
    color: #ff4e4e;
    font-weight: bold;
    margin-top: 0px;
}

div#routeRefreshModal .modal-title {
    margin-top: -5px;
    margin-bottom: -5px;
}

.rrl-title {
    font-size: 18px;
    line-height: 20px;
}

.rrl-shift {
    overflow: hidden;
    font-size: 12px;
    text-transform: none;
    color: #ccc;
    line-height: 12px;
    margin-top: 3px;
}

.rrl-shift-name {
    display: inline-block;
    border-right: 1px solid #555a62;
    padding-right: 5px;
    margin-right: 3px;
}

.rrl-shift-type {
    display: inline-block;
    border-right: 1px solid #555a62;
    padding-right: 5px;
    margin-right: 3px;
}

.rrl-shift-day {
    display: inline-block;
}

.rrl-header-text {
    text-align: center;
    margin-top: -15px;
    margin-bottom: 20px;
    color: #838383;
    font-size: 13px;
}






div#studentCalendarPopup .calendar-month-control {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
}


div#studentCalendarPopup .calendar-pre-month {
    width: 50px;
    height: 50px;
    background: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 10px;
    border: 2px solid #efe9ff;
    color: #8773c1;
    transition: all 0.2s;
    margin: 10px;
    float: left;
}

div#studentCalendarPopup .calendar-next-month {
    width: 50px;
    height: 50px;
    background: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 10px;
    border: 2px solid #efe9ff;
    color: #8773c1;
    transition: all 0.2s;
    margin: 10px;
    float: right;
}

div#studentCalendarPopup .calendar-pre-month:hover {
    background: #8773c1;
    color: #fff;
    border: 2px solid #8773c1;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 30%);
}

div#studentCalendarPopup .calendar-next-month:hover {
    background: #8773c1;
    color: #fff;
    border: 2px solid #8773c1;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 30%);
}


div#studentCalendarPopup .modal-body {
   padding:0px
}

div#studentCalendarPopup .day.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}

div#studentCalendarPopup .day.calendar-today {
    background: #f3f3f3 !important;
    border-color: #e7e5e5 !important;
    color: #5a5a5a !important;
}

div#studentCalendarPopup .day.calendar-today.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}

input#userSendMessageInput {
    padding-right: 35px;
}

.sc-detail {
    font-size: 14px;
    font-weight: 400;
    color: #b7b7b7;
    border-top: 1px solid #444444;
    overflow: hidden;
    margin-top: 5px;
}

.sc-fullname {
    float: left;
    margin-right: 10px;
}

.sc-schoolname {
    float: left;
}

span.sc-inline-icon {
    margin-right: 4px;
    font-size: 12px;
    line-height: 15px;
}

#studentCalendarPopup .modal-title {
    margin: -10px;
    margin-left: 0px;
}

.sc-title {
    line-height: 20px;
}

div#studentCalendar {
    box-shadow: 0 1px 5px 1px #00000026;
    border-radius: 10px;
}

#studentCalendarPopup .modal-dialog {
    max-width: 900px;
}

#studentCalendarPopup .calendar-container {
    max-width: 500px;
    position: relative;
    padding: 15px;
    background: #ebebeb;
    border-right: 1px solid #dddddd;
}

div#studentCalendarPopup .calendar-month-control {
    padding: 15px;
}

.sc-instruction {
    font-size: 15px;
    position: absolute;
    left: 10px;
    color: #8773c1;
    font-weight: bold;
}

.sc-instruction span {
    display: block;
    font-size: 13px;
    line-height: 13px;
    color: #2d2d2d;
    font-weight: 100;
}



.multi-select-calendar .day.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}

.multi-select-calendar .day.calendar-today {
    background: #f3f3f3 !important;
    border-color: #e7e5e5 !important;
    color: #5a5a5a !important;
}

.multi-select-calendar .day.calendar-today.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}

.calendar-selection-action {
    position: absolute;
    top: 20px;
    right: 15px;
    z-index: 1;
    display: none;
}

.calendar-date-select-btn {
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    padding-top: 5px;
    padding-bottom: 5px;
    background: #8773c1;
    color: #fff;
    box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.2);
    transition: all 0.2s;
}

.calendar-date-select-btn:hover {
    cursor: pointer;
    background: #796ca1;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

#districtCalendarEvent .modal-title {
    margin: -10px;
    margin-left: 0px;
}

#districtCalendarEvent .modal-body {
    padding:0px;
    background: #ebebeb;
}

.dcef-title {
    text-align: center;
    width: max-content;
    border-bottom: 3px solid #ccc;
    margin: 0 auto;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 5px;
}

.dce-form {
    overflow: hidden;
    background: #fff;
    margin: 15px;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 20%);
    margin-top: 0px;
}

.dcef-item-label {
    font-size: 13px;
    color: #5e5e5e;
    /* font-weight: 100; */
    line-height: 13px;
}

.dcef-item-value {
    overflow: hidden;
}

.dcef-event-date {
    background: #8773c1;
    display: inline-block;
    margin: 2px;
    border-radius: 5px;
    font-size: 13px;
    line-height: 20px;
    padding-left: 10px;
    padding-right: 10px;
    color: #fff;
}

.custom-minimal-selector .dropdown-toggle {
    display: none;
}

select.custom-minimal-selector {
    border: 1px solid #ccc;
}

select.custom-minimal-selector {
    background: none;
    outline: none;
    border: none;
    color: #313740;
    width: 100%;
    border: 1px solid #ccc;
    padding: 5px;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s;
    padding-left:10px;
    padding-right:10px;
    margin: 5px;
    /* margin-left: 10px; */
}

select.custom-minimal-selector:focus {
    border: 1px solid #b29eed;
    /* font-weight: bold; */
    color: #313740;
    box-shadow: 0px 0px 5px 0 #8773c18c;
}

.dcef-item {
    margin-bottom: 15px;
}

.dcef-item.dcef-event-type {
    margin-bottom: 0px;
}

.event-bullet-district_closed {
    background-color: #f75f5f !important;
}

.type-district_closed {
    background-color: #f75f5f !important;
}

.calendar-delete-event {
    position: absolute;
    right: 10px;
    top: 10px;
}

.delete-event-btn {
    padding: 10px;
    border-radius: 10px;
    color: #db1e1e;
    font-size: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
    transition: all 0.2s;
}

.delete-event-btn:hover {
    background: #db1e1e;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}












div#schoolCalendarPopup .calendar-month-control {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
}


div#schoolCalendarPopup .calendar-pre-month {
    width: 50px;
    height: 50px;
    background: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 10px;
    border: 2px solid #efe9ff;
    color: #8773c1;
    transition: all 0.2s;
    margin: 10px;
    float: left;
}

div#schoolCalendarPopup .calendar-next-month {
    width: 50px;
    height: 50px;
    background: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 10px;
    border: 2px solid #efe9ff;
    color: #8773c1;
    transition: all 0.2s;
    margin: 10px;
    float: right;
}

div#schoolCalendarPopup .calendar-pre-month:hover {
    background: #8773c1;
    color: #fff;
    border: 2px solid #8773c1;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 30%);
}

div#schoolCalendarPopup .calendar-next-month:hover {
    background: #8773c1;
    color: #fff;
    border: 2px solid #8773c1;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 30%);
}


div#schoolCalendarPopup .modal-body {
   padding:0px
}

div#schoolCalendarPopup .day.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}

div#schoolCalendarPopup .day.calendar-today {
    background: #f3f3f3 !important;
    border-color: #e7e5e5 !important;
    color: #5a5a5a !important;
}

div#schoolCalendarPopup .day.calendar-today.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}


#schoolCalendarPopup .modal-title {
    margin: -10px;
    margin-left: 0px;
}


div#schoolCalendarPopup {
    box-shadow: 0 1px 5px 1px #00000026;
    border-radius: 10px;
}

#schoolCalendarPopup .modal-dialog {
    max-width: 900px;
}

#schoolCalendarPopup .calendar-container {
    max-width: 500px;
    position: relative;
    padding: 15px;
    background: #ebebeb;
    border-right: 1px solid #dddddd;
}

div#schoolCalendarPopup .calendar-month-control {
    padding: 15px;
}

div#schoolCalendar {
    box-shadow: 0 1px 5px 1px #00000026;
    border-radius: 10px;
}

.school-detail-calendar {
    position: absolute;
    z-index: 1;
    right: 38px;
    top: 18px;
    color: #fdfdfd;
    font-size: 20px;
}

.school-detail-calendar:hover {
    color: #ccc;
    cursor: pointer;
}

.custom-calendar-events {
    float: left;
    width: 400px;
    padding: 10px;
}

#schoolCalendarPopup  .calendar-container {
    float: left;
    width: 500px;
}

.custom-event-row {
    background: #ccc;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 10px;
    box-shadow: 0 1px 5px 1px #00000026;
}

.custom-event-row.district_closed {
    background: #f75f5f;
    color: #fff;
}

.custom-event-title {
    font-size: 18px;
    line-height: 20px;
}

.custom-event-title span {
    font-size: 12px;
    display: inline-block;
    line-height: 18px;
    background: #00000038;
    margin-left: 5px;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
}

.event-shift-name {
    font-size: 14px;
    font-weight: 100;
}

#schoolCalendarEvent .modal-title {
    margin: -10px;
    margin-left: 0px;
}
#schoolCalendarEvent .modal-body {
    padding: 0px;
    background: #ebebeb;
}

.custom-event-row {
    position: relative;
}

.type-school_closed {
    background-color: #9ed73e !important;
    border-radius: 0px !important;
    transform: rotate(45deg);
    width: 8px !important;
    height: 8px !important;
}

.custom-event-row.school_closed {
    background-color: #9ed73e !important;
}

#studentCalendarPopup .calendar-container {
    float: left;
    width: 500px;
}

#studentCalendarEvent .modal-title {
    margin: -10px;
    margin-left: 0px;
}
#studentCalendarEvent .modal-body {
    padding: 0px;
    background: #ebebeb;
}

.dcef-item.dcef-event-type {
    position: relative;
}

.dcef-event-type .dcef-item-value {
    display: inline-block;
    width: 175px;
}

.student-event-map {
    position: absolute;
    bottom: 15px;
    left: 175px;
    padding: 0px;
    background: #ffffff;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 15px;
    transition: all 0.2s;
}

.student-event-map:hover {
    cursor: pointer;
    background: #2ca8ff;
    border-color: #2ca8ff;
    color: #fff;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 20%);
}

input#studentEventBusstopID {
    background: none;
    outline: none;
    border: none;
    color: #313740;
    width: calc(100% - 10px);
    border: 1px solid #ccc;
    padding: 5px;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s;
    padding-left: 10px;
    padding-right: 10px;
    margin: 5px;
}

input#studentEventBusstopID:focus {
    border: 1px solid #b29eed;
    color: #313740;
    box-shadow: 0px 0px 5px 0 #8773c18c;
}

.account-calendar-container {
    overflow: hidden;
}

.acc-calendar-section {
    float: left;
    width: 550px;
    /* padding-top: 20px; */
    margin-top: 34px;
    overflow: hidden;
    padding-right: 40px;
}



.acc-calendar-section .calendar-month-control {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    padding: 10px;
}


.acc-calendar-section .calendar-pre-month {
    width: 50px;
    height: 50px;
    background: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 10px;
    border: 2px solid #efe9ff;
    color: #8773c1;
    transition: all 0.2s;
    margin: 10px;
    float: left;
}

.acc-calendar-section .calendar-next-month {
    width: 50px;
    height: 50px;
    background: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 10px;
    border: 2px solid #efe9ff;
    color: #8773c1;
    transition: all 0.2s;
    margin: 10px;
    float: right;
}

.acc-calendar-section .calendar-pre-month:hover {
    background: #8773c1;
    color: #fff;
    border: 2px solid #8773c1;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 30%);
}

.acc-calendar-section .calendar-next-month:hover {
    background: #8773c1;
    color: #fff;
    border: 2px solid #8773c1;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0 rgb(0 0 0 / 30%);
}

.acc-calendar-section {
    position: relative;
    padding-right: 0px;
    /* background: #9f9f9f; */
    border-right: 1px solid #e7e7e7;
}

.acc-details-section {
    float: left;
    width: 400px;
    margin-left: 20px;
    padding-top: 30px;
}


.calendar-event-item {
    /* background: #ccc; */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    /* border: 1px solid #ffffff; */
    margin-bottom: 10px;
}

.cei-header {
    /* padding: 10px; */
    overflow: hidden;
    /* background: #313740; */
    color: #fff;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.5);
    position: relative;
}

.ceih-icon {
    float: left;
    padding: 7px;
    width: 50px;
    text-align: center;
    font-size: 18px;
    background: #2e7cc1;
}

.ceih-type {
    float: left;
    padding: 10px;
    width: calc(100% - 100px);
    background: #313740;
    color: #ffffff;
    font-size: 17px;
    line-height: 20px;
    font-weight: bold;
}

.ceih-delete {
    float: right;
    padding: 7px;
    width: 50px;
    text-align: center;
    background: #313740;
    font-size: 18px;
    border-left: 1px solid #464c56;
    color: #9d9d9d;
    transition: all 0.2s;
}

.cei-body {
    padding: 20px;
    background: #ffffff;
}

.cei-footer {
    padding: 5px;
    overflow: hidden;
    font-size: 12px;
    background: #fffaed;
    border-top: 1px solid #b9b9b940;
}

.ceif-shift {
    float: left;
    background: #ffdf8a;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}

.ceif-date {
    float: right;
}

.ceih-type span {
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
}


.acc-details-section {
    background: #eeeeee;
    margin-left: 0px;
    padding-left: 10px;
    padding-right: 10px;
    height: calc(100vh - 160px);
    padding-top: 10px;
}


.ceih-delete:hover {
    background: #ff3f3f;
    color: #a10000;
    cursor: pointer;
}

div#settingsCalendar .day.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}

div#settingsCalendar .day.calendar-today {
    background: #f3f3f3 !important;
    border-color: #e7e5e5 !important;
    color: #5a5a5a !important;
}

div#settingsCalendar .day.calendar-today.calendar-active {
    background: #8773c1 !important;
    color: #fff !important;
    border-color: #8773c1 !important;
}



div#settingsCalendar .day.last-clicked {
    border: 6px solid #efeaff !important;
    border-color: #ccc;
    line-height: 40px !important;
    box-shadow: 0 0px 15px 0 rgb(135 115 193);
}

div#settingsCalendar .day.last-clicked span.event-indicator {
    top: initial;
    top: 115%;
}

div#settingsCalendar .day.calendar-today.calendar-active.last-clicked {
    border: 6px solid #efeaff !important;
}

.ceif-shift.Dropoff {
    background: #2e7cc1;
    color: #fff;
}

.ceif-shift.Pickup {
    background: #ffc84c;
    color: #7c5600;
}

.ceih-type span {
    margin-left: 10px;
    display: inline-block;
    border-left: 1px solid #505760;
    padding-left: 10px;
    color: #a1a4a9;
}

.no-events-container {
    margin-top: 25vh;
    text-align: center;
}

.nec-title {
    font-size: 20px;
    color: #c4b3f5;
}

.nec-instruction {
    max-width: 300px;
    margin: 0 auto;
    font-size: 12px;
    margin-top: 5px;
    color: #adadad;
    border-top: 1px solid #e5e5e5;
    padding-top: 10px;
}

.acc-details-section {
    background: #f9f9f9;
    border-right: 1px solid #e7e7e7;
}



.calendar-data-sub-nav {
    position: absolute;
    top: 0;
    left: 0px;
    z-index: 3;
    overflow: hidden;
    background: #fff;
    width: 550px;
    border-right: 1px solid #e7e7e7;
    border-radius: 0.55rem 0rem 0rem 0rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}

.calendar-data-sub-nav-item {
    float: left;
    padding: 10px;
    font-size: 13px;
    font-weight: bold;
    color: #9b9b9b;
    cursor: pointer;
    padding-top: 15px;
}

.calendar-data-sub-nav-item.active {
    border-bottom: 5px solid;
    color: #2e7cc1;
    cursor: default;
}

.acc-calendar-section {
    margin-top: 50px;
    padding-top: 6px;
}

.calendar-data-sub-nav {
    width: 100%;
    border-radius: 0.55rem 0.55rem 0rem 0rem;
}


.add-event-container {
    padding-top: 50px;
    float: left;
    width: calc(100% - 400px - 550px);
}

.aeci-title {
    text-align: center;
    font-size: 20px;
    text-transform: uppercase;
    width: max-content;
    margin: 0 auto;
    color: #8773c1;
    font-weight: bold;
    line-height: 32px;
    border-bottom: 2px solid #edeaf6;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 5px;
}
.aec-item{
    display: none;
}

.aec-item.active{
    display: block;
}

.acc-details-section {
    padding-top: 60px;
}

.cdsnis-item{
    display: none;
}

.cdsnis-item.active{
    display: block;
}


.cdsni-selector {
    float: left;
    border-left: 5px solid #eeeeee;
    margin-top: 0px;
    padding-left: 10px;
    margin-left: 33px;
    padding-bottom: 6px;
    padding-top: 4px;
}

.cdsnis-title {
    line-height: 40px;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
    color: #8773c1;
}

.calendar-data-sub-nav {
    width: calc(100% + 2px);
}

.cdsnis-item.active {
    width: max-content;
    overflow: hidden;
}

.cdsnisi-dropdown-input {
    display: inline-block;
}

.cdsnisi-dropdown-label {
    display: inline-block;
    text-transform: uppercase;
    line-height: 41px;
}

.cdsnisi-dropdown-input select {
    margin-top: 1px;
    margin-right: 0px;
    font-size: 18px;
}
.cdsnis-item.active {
    height: 40px;
}

.aeci-footer {
    width: 400px;
    margin: 0 auto;
}

.aec-item {
    position: relative;
    height: calc(100vh - 220px);
}

.aeci-form {
    width: 400px;
    margin: 0 auto;
    background: #ffffff;
    padding: 10px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    margin-top: 20px;
}

.add-event-container {
    background: #f9f9f9;
}

.aeci-footer button {
    width: 100%;
    margin-top: 10px;
}

.aeci-form .custom-minimal-selector {
    width: 100% !important;
}

.aeci-form .dcef-item-value { width: 100% !important; }


.no-date-selected-message {
    font-size: 12px;
    background: #fff7e6;
    padding-left: 10px;
    line-height: 20px;
    margin-top: 2px;
    border-radius: 5px;
    border: 1px solid #ffe3b3;
    text-align: center;
    color: #8f949b;
}

.ceif-shift {
    margin-right: 5px;
}

textarea.minimal-text-area {
    background: none;
    outline: none;
    border: none;
    color: #313740;
    width: calc(100% - 10px);
    border: 1px solid #ccc;
    padding: 5px;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s;
    padding-left: 10px;
    padding-right: 10px;
    margin: 5px;
    height: 80px;
}

.dcef-item.dcef-description {
    position: relative;
    margin-bottom: -5px;
}

textarea.minimal-text-area:focus {
    border: 1px solid #b29eed;
    /* font-weight: bold; */
    color: #313740;
    box-shadow: 0px 0px 5px 0 #8773c18c;
}

.dcef-item.dcef-event-type {
    margin-bottom: 15px;
}

#studentCalendarEventBusstopAddress {
    width: calc(100% - 10px) !important;
}

.student-event-map {
    right: 0;
    left: initial;
    line-height: 30px;
    bottom: 6px;
}

.dcef-item.busstop-id {
    position: relative;
}


input.minimal-input {
    background: none;
    outline: none;
    border: none;
    color: #313740;
    width: calc(100% - 10px);
    border: 1px solid #ccc;
    padding: 5px;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s;
    padding-left: 10px;
    padding-right: 10px;
    margin: 5px;
}


input.minimal-input:focus {
    border: 1px solid #b29eed;
    color: #313740;
    box-shadow: 0px 0px 5px 0 #8773c18c;
}

input.minimal-input[readonly] {
    background: #f1f1f1 !important;
    color: #afafaf !important;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
}

select#calendarStudentSelector {
    font-size: 14px;
}

.type-student_absent {
    background-color: #cccccc00 !important;
    border-radius: 0px !important;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 10px solid #ffb406;
}

.gaeb-item {
    display: none;
}

.gaeb-item.active {
    display: block;
}

.global-add-event-btns {
    position: absolute;
    z-index: 10;
    top: calc(100vh - 270px);
    width: 100%;
    padding: 10px;
    background: #f5f5f5;
    border-top: 1px solid #ccc;
}

.acc-calendar-section {
    overflow: visible;
    /* box-shadow: none; */
}

div#settingsCalendar {
    box-shadow: none;
}

.global-add-event-btns button {
    width: 100%;
}




.modal-body .aec-item.active {
    height: auto;
}


button#addStudentCalendarEventBtn {
    margin-bottom: 10px;
}

button#addDistrictCalendarEventBtn {
    margin-bottom: 10px;
}

button#addSchoolCalendarEventBtn {
    margin-bottom: 10px;
}

.modal-body .aeci-form {
    width: calc(100% - 50px);
    margin-top: 0px;
}

.modal-body .aeci-title {
    border-bottom: 5px solid #8773c1;
}

.modal-body .aeci-footer {
    width: calc(100% - 50px);
}

#studentCalendarEvent .modal-dialog {
    max-width: 1000px;
}

#studentCalendarEvent .aec-item {
    float:left;
    width: 500px;
}

#studentCalendarEvent .aec-map {
    float:left;
    width: 500px;
    height: 100px;
}

div#studentCalendarMap {
    width: 100%;
    height: 506px;
    background: #ccc;
}

#studentCalendarEvent .aec-map {
    box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.2);
    height: auto;
}

.cdsnis-title {
    float: left;
    margin-right: 10px;
}

#settingsCalendar span.event-indicator {
    width: max-content;
    margin-top: 2px;
}

.cdsnis-title.school {
    font-size: 17px;
    /* color: #ccc; */
}

.calendar-info-loading {
    text-align: center;
    line-height: calc(100vh - 215px);
    font-size: 30px;
    color: #ccc;
}

.calendar-info-title {
    text-align: center;
    font-size: 25px;
    border-bottom: 5px solid #8773c1;
    width: max-content;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 auto;
}

.calendar-info-schools {
    background: #fff;
    margin: 20px;
    margin-top: 0px;
    border-radius: 10px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}

.cis-item {
    overflow: hidden;
    padding: 10px;
    border-bottom: 1px solid #ccc;
}

.cis-left {
    float: left;
}

.cis-right {
    float: right;
}

.cis-students {
    overflow: hidden;
}

.cis-pickup {
    overflow: hidden;
}

.cis-dropoff {
    overflow: hidden;
}

.cis-icon {
    float: left;
    min-width: 20px;
}

.cis-icon-value {
    float: left;
    min-width: 67px;
}

.cis-title {
    font-size: 20px;
    line-height: 20px;
    font-weight: bold;
}

.cis-subtitle {
    font-size: 14px;
    line-height: 14ox;
}

.cis-address {
    font-size: 12px;
    color: #838383;
}

.calendar-info-title-label {
    text-align: center;
    font-size: 12px;
    line-height: 13px;
    margin-top: 12px;
    color: #959595;
    text-transform: uppercase;
}

.calendar-info-title {
    line-height: 25px;
    padding-bottom: 7px;
}

.cis-item.cis-section .cis-right {
    text-align: right;
}

.cis-shifts .cis-item {
    border-bottom: none;
    float: left;
}

.cis-shifts {
    overflow: hidden;
    width: max-content;
    margin: 0 auto;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.cis-shifts .cis-left {
    float: initial;
}

.cis-shifts .cis-title {
    border-bottom: 1px solid #ebebeb;
    padding-bottom: 5px;
    margin-bottom: 6px;
}


.calendar-info-address {
    font-size: 12px;
    line-height: 17px;
}

.cis-three-part {
    width: 33%;
    float: left;
}

.cis-center.cis-three-part {
    text-align: center;
}

.cis-shifts.stops .cis-title {
    font-size: 17px;
}

.cis-three-part .cis-title {
    font-size: 15px;
}

div#studentCalendarEvent .no-service .dcef-item.busstop-id{ display: none; }

div#studentCalendarEvent .no-service{
    max-width: 500px;
}

div#studentCalendarEvent .no-service .aec-map { display: none; }

#studentCalendarEvent .modal-dialog {
    max-width: 90%;
}

#studentCalendarEvent .aec-map {
    width: calc(100% - 500px);
}

div#studentCalendarMap {
    height: calc(100vh - 147px);
    min-height: 506px;
}


#settingsMapStyleContainer {
    position: absolute;
    top: 10px;
    right: 60px;
    z-index: 4;
    width: 115px;
    overflow: hidden;
    height: auto;
    /* display: none; */
    min-height: 40px;
}

#settingsMapStyleContainer button {
    /* width: 100%; */
    /* display: block; */
    position: absolute;
    top: -1px;
    left: -1px;
    /* padding: 0; */
    margin: 1px;
}

#settingsMapStyleContainer button {
    position: absolute;
}

.settings-map-style-row {
    /* padding: 5px; */
    border-top: 1px solid #f3f3f3;
    /* margin: 5px; */
    background: #ffffff;
    padding: 5px;
    font-size: 14px;
    font-weight: 500;
    color: #3e3e3e;
    padding-left: 10px;
}

.settings-map-style-row.selected {
    background: #464646 !important;
    padding: 5px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    padding-left: 10px;
}
.settings-map-style-row:hover {
    cursor: pointer;
    background: #f5f5f5;
}

div.aec-map {
    position: relative;
}

button#settingsMapStyleBtn {
    font-size: 13px;
    line-height: 18px;
}

button#settingsMapStyleBtn {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2) !important;
}

#settingsMapStyleContainer .style-content {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}

#settingsMapStyleContainer{
    overflow: visible;
}

.global-hover-infowindow-header {
    display: inline-block;
    overflow: hidden;
    margin-top: -10px;
    font-size: 10px;
    text-transform: uppercase;
}

.ghih-type {
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 4px;
}

#studentCalendarMap .global-hover-infowindow-address {
    font-size: 12px;
}
.ghih-type {
    color: #fff;
    font-weight: bold;
    line-height: 16px;
}

#studentCalendarEvent .slider-toggle-container {
    height: 42.5px;
    padding-top: 2px;
}

div#addCalendarBookmarkModal .modal-dialog {
    max-width: 350px;
}
div#addCalendarBookmarkModal .modal-footer button{
    width: 100%;
    display: block;
    font-size: 12px;
    padding: 10px;
}

.layer-item-label {
    font-family: 'Muli', Arial, Tahoma, sans-serif;
}

.student-ring-check-label {
    font-family: 'Muli', Arial, Tahoma, sans-serif;
}

#studentCalendarEvent .layer-item-input {
    line-height: 23px;
}

a.inline-href {
    color: #2e7cc1;
    font-weight: bold;
}

a.inline-href:hover {
    color: #0969bd;
    text-decoration: underline;
}

.calendar-map-search {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 10px;
}

.cms-input {
    background: #fff;
    border-radius: 8px;
}

.cms-input .minimal-input {
    margin: 0px;
    width: 100%;
}

.cms-result {
    padding-top: 5px;
}

.cms-input {
    overflow: hidden;
    padding: 2px;
    background: #ffffffe0;
}

input#busstopMapSearchInput {
    background: #fff;
}

.cms-result .result-row {
    border-radius: 5px;
    margin-left: 2px;
    margin-right: 2px;
    font-family: 'Muli', Arial, Tahoma, sans-serif;
    margin-bottom: 2px;
}

.cms-result .result-row .result-text {
    line-height: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.cms-result .result-row .result-type{
    display: none;
}


.cmsi-search-icon {
    position: absolute;
    left: 10px;
    top: 8px;
    font-size: 14px;
    color: #939393;
}

input#busstopMapSearchInput {
    padding-left: 26px;
    padding-right: 35px;
}

.cmsi-cancel-icon {
    position: absolute;
    top: 9px;
    right: 9px;
    line-height: 16px;
    border-radius: 5px;
    color: #ff5959;
    font-size: 24px;
}

.cmsi-cancel-icon:hover {
    cursor: pointer;
    color: #c94040;
}

.cms-input {
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.relevent-toggle-container {
    position: absolute;
    z-index: 1;
    /* background: #fff; */
    bottom: 10px;
    left: calc(50% - 75px);
}

.rtc-container {
    background: #ffffff;
    overflow: hidden;
    font-size: 14px;
    line-height: 20px;
    border-radius: 7px;
    padding: 2px;
    border: 1px solid #8773c1;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.rtc-item {
    float: left;
    min-width:50px;
    text-align:center;
    padding-left: 5px;
    padding-right: 5px;
    color: #606060;
}

.rtc-item.active {
    background: #8773c1;
    color: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.rtc-title {
    background: #ffffffd9;
    margin-bottom: -10px;
    border-radius: 5px;
    text-align: center;
    padding-bottom: 8px;
    font-size: 13px;
    font-weight: bold;
    color: #8773c1;
}

.rtc-item:hover {
    cursor: pointer;
    color: #8773c1;
}

.rtc-item.active:hover {
    cursor: default;
    color: #fff;
}

.global-hover-infowindow-header {
    margin-right: 15px;
}

.global-txt-center{
    text-align: center;
}

.global-txt-left{
    text-align: left;
}

.global-txt-right{
    text-align: right;
}

.global-pad-left-15{
    padding-left: 15px;
}

.global-pad-right-30{
    padding-right: 30px;
}

.global-fnt-sz-13{
    font-size: 13px;
}

.global-fnt-wt-bold{
    font-weight: bold;
}

.school-icon-selector {
    overflow: hidden;
}

.sis-row {
    float: left;
    width: 45px;
    text-align: center;
    border-radius: 50%;
    height: 45px;
    /* text-align: center; */
    /* transition: all 0.3s; */
    background: #e9e9e900;
}

.sis-row:hover {
    cursor: pointer;
    background: #e9e9e9;
    border: 2px solid #dfdfdf;
}

.sis-row.active {
    background: #5fa1e673;
    border: 2px solid #5fa1e6;
}

.dcef-selected-stop-name {
    color: #8773c1;
    font-weight: bold;
    font-size: 17px;
    line-height: 17px;
    margin-top: 7px;
    display: inline-block;
}

.dcef-selected-stop-address {
    font-size: 14px;
    line-height: 16px;
    color: #8773c1;
    display: inline-block;
    line-height: 17px;
    margin-top: 7px;
    border-left: 1px solid #e9e9e9;
    margin-left: 5px;
    padding-left: 5px;
}


.search-switcher {
    background: #fff;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 20%);
    border-radius: 8px;
    padding: 3px;
    position: absolute;
    top: 0px;
    left: 227px;
    width: 86px;
}

.ss-tab {
    font-size: 18px;
    background: #ccc;
    width: 40px;
    height: 36px;
    line-height: 38px;
    text-align: center;
    float: left;
    border-radius: 8px;
    background: #fff;
    color: #ccc;
}

.ss-tab.active {
    background: #8773c1;
    color: #fff !important;
    box-shadow: 0 1px 1px 0 rgb(0 0 0 / 20%);
    cursor: default !important;
}

.ss-tab:hover {
    cursor: pointer;
    color: #000;
}


.rmo-section {
    border-top: 1px solid #e3e3e3;
    padding-bottom: 5px;
}

.rmos-container {
    overflow: hidden;
}

.rmos-row {
    display: inline-block;
    background: #ccc;
    min-width: 40px;
    border-radius: 5px;
    padding-left: 2px;
    padding-right: 2px;
}

.relevent-mode-options {
    display: none;
}

.type-student_busstop_change_request {
    background-color: #bf24ff !important;
    border-radius: 0px !important;
}

.cei-body i {
    margin-right: 5px;
    color: #bf24ff;
    font-size: 12px;
}
