* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    width: 100%;
    height: 100%;
    font-family: "Open Sans", sans-serif;
    font-size: 12px
}

select {
    font-size: 12px;
}


.hidden {
    display: none;
}






/* main wrappers -------------------------------------------------------------------------------- */

#header-wrapper {
    display: none;
    width: 100%;
    height: 40px;
    overflow: hidden;
    background-color: lightskyblue;
    box-shadow: 0 -2px 6px #0884de inset;
}
#page-wrapper {
    width: 100%;
    height: 100%;

    overflow: hidden;
}
#page-sidebar {
    display: none;
    width: 440px;
    height: 100%;
    float: left;
    overflow: hidden;
}
#page-content {
    width: 100%;
    height: 100%;
    float: left;
    overflow: hidden;
}


/* header --------------------------------------------------------------------------------------- */

.thoreb-alert {
    line-height: 40px;
    font-size: 30px;
    font-weight: bold;
    font-family: "Arial Black", sans-serif;
    letter-spacing: 16px;
    padding-left: 8px;
    color: #0058B3;
}

.region {
    font-size: 16px;
    margin-left: 50px;
    position: relative;
    bottom: 3px;
}
.region span {
    font-size: 20px;
    font-weight: bold;
    font-family: Arial, sans-serif;
}
.area {
    font-size: 16px;
    margin-left: 20px;
    position: relative;
    bottom: 3px;
}
.area select {
    position: relative;
    bottom: 2px;
}

.vendors {
    float: right;
    height: 40px;
}
.vendors img {
    margin: 5px;
}




/* sidebar -------------------------------------------------------------------------------------- */

#sidebar-head {
    width: 100%;
    height: 50px;
    border-bottom: 1px solid #E6E6E6;
    font-weight: bold;
}
#sidebar-body {
    width: 100%;
    height: calc(100% - 50px);
}




#all-list-h {
    width: 120px;
    height: 100%;
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, sans-serif;
    font-size: 13px;
    text-align: center;
}

#warnings-list-h {
    width: 160px;
    height: 100%;
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, sans-serif;
    font-size: 13px;
    text-align: center;
    border-left: 1px solid #E6E6E6;
}

#depots-list-h {
    width: 160px;
    height: 100%;
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, sans-serif;
    font-size: 13px;
    text-align: center;
    border-left: 1px solid #E6E6E6;
    border-right: 1px solid #E6E6E6;
}




#all-list {
    width: 120px;
    height: 100%;
    float: left;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    font-size: 12px;
}

#warnings-list {
    width: 160px;
    height: 100%;
    float: left;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    font-size: 12px;
}

#depots-list {
    width: 160px;
    height: 100%;
    float: left;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    font-size: 12px;
}




.on {
    background-color: #9EE35D;
    background: linear-gradient(0deg, #AEF56C, #9EE35D, #9EE35D, #AEF56C);
}
.selected {
    background: deepskyblue;
    background: linear-gradient(0deg, skyblue, deepskyblue, deepskyblue, skyblue);
}



#all-list div {
    cursor: pointer;
    padding: 0 4px;
    margin: 1px 1px 0 1px;
    background-color: whitesmoke;
}




#warnings-list div {
    cursor: pointer;
    padding: 0 4px;
    margin: 1px 1px 0 1px;
    background-color: whitesmoke;
}
#warnings-list .warnings {
    /*padding: 1px;
    background: #FFFFFF;*/
}
#warnings-list .warnings img {
    margin-left: 2px;
    border: 1px solid #888;
    position: relative;
    top: 2px;
}





#depots-list div.bus {
    cursor: pointer;
    padding: 0 4px;
    margin: 1px 1px 0 1px;
    background-color: whitesmoke;
}
#depots-list div.depot {
    cursor: pointer;
    font-weight: bold;
    font-family: Arial, sans-serif;
    font-size: 13px;
    margin-top: 15px;
    padding: 0 2px;
    text-align: center;
    /*background-color: #E7DFD4;*/
    /*border-bottom: 1px solid #DDD;*/
}
#depots-list .warnings {
    /*padding: 1px;
    background: #FFFFFF;*/
}
#depots-list .warnings img {
    margin-left: 2px;
    border: 1px solid #888;
    position: relative;
    top: 2px;
}





/* content -------------------------------------------------------------------------------------- */
/* sbi - Selected Bus Info */


#selected-bus {
    display: none;
    width: 100%;
    padding: 10px 10px 0 10px;
    overflow: scroll;
}


#selected-bus-heading {
    height: 40px;
    line-height: 40px;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: bold;
}
#selected-bus-details {
    display: flex;
}
#selected-bus-telltale {
    padding-top: 10px;
}



.detail-box {
    width: 170px;
    height: 25px;
    padding: 3px 15px 3px 0;
    overflow: auto;
}
.detail-box div {
    border-bottom: 1px solid #DDDDDD;
}
.detail-box span {
    float: right;
    font-weight: bold;
}
#sbi-comfort {
    line-height: 12px;
}
.stopname-box span {
    font-size: 11px;
    max-width: 120px;
    overflow: hidden;
    white-space: nowrap;
}

.detail-box-special {
    width: 140px;
    padding: 3px 15px 0 0;
}
.detail-box-special div {
    border-bottom: 1px solid #DDDDDD;
    text-align: center;
}



#selected-bus-telltale > div.default > div {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 1px solid #CCCCCC;
    margin: 2px;
    border-radius: 3px;
    box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}
#selected-bus-telltale img {
    width: 28px;
    height: 28px;
    padding: 2px;
}
.green {
    background-color: orange;
    box-shadow: 1px 1px orange;
}
.grey {
    background-color: white;
    box-shadow: 1px 1px grey;
}

.deselect-bus {
    font-size: 20px;
    cursor: pointer;
    color: crimson;
}




/* map ------------------------------------------------------------------------------------------ */

#map-container {
    height: 100%;
    padding: 10px;
    position: relative;
    overflow: hidden;
}
#map {
    width: 100%;
    height: 100%;
    border: 1px solid #CCCCCC;
}



#followbus {
    display: none;
    width: 250px;
    height: 35px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.6);
    position: absolute;
    top: 20px;
    left: 70px;
    z-index: 1001;
    background-color: #FFF;
    border-radius: 4px;
}
#followbus > div {
    width: 250px;
    height: 35px;
    display: -webkit-flex;
    display: flex;
}
#followbus > div div {
    margin: auto;
}
#followbus > div div label {
    position: relative;
    top: -3px;
    cursor: pointer;
}





/* warnings list -------------------------------------------------------------------------------- */

#warnings-container {
    display: none;
    width: 500px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.6);
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1000001;
    background-color: #FFF;
    border-radius: 4px;
    background-color: whitesmoke;
}

#warnings-head {
    margin: 10px;
}
#warnings-head span {
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0;
    line-height: 27px;
}
#warnings-head select {
    float: right;
    margin-left: 5px;
}

#warnings {
    width: 490px;
    margin: 5px;
    max-height: 250px;
    overflow: auto;
}

#warnings .no-warning {
    text-align: center;
    margin: 10px;
    font-style: italic;
    color: #353535;
}

#warnings table {
    width: 100%;
    border: 1px solid #CCCCCC;
    border-collapse: collapse;
    background-color: #FFFFFF;
}
#warnings td {
    padding: 4px;
    border: 1px solid #CCCCCC;
    border-collapse: collapse;
    text-align: left;
    vertical-align: middle;
}
#warnings tr td:first-child {
    text-align: center;
    vertical-align: middle;
}
#warnings .image {
    width: 32px;
    height: 32px;
    border: 1px solid #888;
    border-radius: 3px;
    text-align: center;

}
#warnings .image img {
    width: 30px;
    height: 30px;
}

#warnings h3 {
    margin: 20px 0 5px 0;
}

#warnings .inactive {
    background-color: #F1F1F1;
}






.leaflet-tooltip {
    padding: 2px;
    color: #000000;
    font-size: 12px;
    line-height: 12px;
    border: 1px solid #9A9A9A;
}




.w200 {
    width: 200px;
}


#under_construction {
    position: absolute;
    top: 40px;
    left: 120px;
    z-index: 999999999999;
    width: calc(100vw - 120px);
    height: calc(100vh - 40px);
    background-color: rgb(255 255 255 / 80%);
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

#under_construction span {
    color: red;
    font-size: 48px;
    font-weight: bold;
    transform: rotate(30deg);
}