.tooltip {
  display: block;
  filter: alpha(opacity=1);
  font-size: 11px;
  opacity: 1;
  padding: 5px;
  position: absolute;
  visibility: visible;
  z-index: 1020;
}
.tooltip-inner {
  background-color: #F8F8F8 !important;
  border-radius: 4px;
  border: 1px solid #62626b;
  color: #000000;
  display: inline-block;
  margin-left: 10px;
  max-width: 200px;
  padding: 5px 5px;
  text-align: center;
  text-decoration: none;
}
.tooltip.in {
  filter: alpha(opacity=80);
  opacity: 1;
}
.tooltip.top {
  margin-top: -2px;
}
.tooltip.top .tooltip-arrow {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #62626b;
  bottom: 5px;
  left: 50%;
  margin-left: 0px;
}
.tooltip.top-right {
  left: 10px !important;
  margin-top: -2px;
  top: 20px;
}
.tooltip.top-right .tooltip-inner {
  border-radius: 5px 5px 5px 0px;
  text-align: left;
}
.tooltip.top-right .tooltip-arrow {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #62626b;
  bottom: 5px;
  left: 50%;
  margin-left: 0px;
}
.tooltip.bottom-right .tooltip-arrow {
  left: 50%;
  top: auto;
}
.tooltip.right {
  margin-left: 2px;
}
.tooltip.right .tooltip-arrow {
  border-bottom: 5px solid transparent;
  border-right: 5px solid #62626b;
  border-top: 5px solid transparent;
  left: 0;
  margin-top: -10px;
  top: 50%;
}
.tooltip.bottom {
  margin-top: 2px;
}
.tooltip.bottom .tooltip-arrow {
  border-bottom: 5px solid #62626b;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  left: 50%;
  margin-left: -5px;
  top: 5px;
}
.tooltip.left {
  margin-left: -2px;
}
.tooltip.left .tooltip-arrow {
  border-bottom: 5px solid transparent;
  border-left: 5px solid #62626b;
  border-top: 5px solid transparent;
  margin-top: -5px;
  right: 0;
  top: 50%;
}
.tooltip-arrow {
  height: 0;
  position: absolute;
  width: 0;
}
html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 12px;
}
a {
  cursor: pointer;
}
._100 {
  height: 100%;
  width: 100%;
  min-height: 100px;
  border-width: 0;
  margin: 0;
  padding: 0;
}
.flex-container {
  display: flex;
}
.flex-container-space-between {
  display: flex;
  justify-content: space-between;
}
.flex-grow-2 {
  flex-grow: 2;
}
.flex-grow-3 {
  flex-grow: 3;
}
.float-left {
  float: left;
}
.float-right {
  float: right;
}
.nobr {
  white-space: nowrap;
}
.inline-block {
  display: inline-block;
}
.nowhere {
  /* A place to put elements such as map popovers, which will be moved elsewhere before they appear */
  float: left;
  position: absolute;
  top: -1000px;
  left: -1000px;
  background: red;
}
.truncate-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .navbar-form.navbar-right:last-child {
    margin-right: 0px;
  }
}
.tab-pane,
.tabbable {
  height: 100%;
}
.nav > li > a {
  padding: 6px 5px 8px 5px;
  min-width: 30px;
}
.tab-content {
  height: calc(100% - 36px);
  /* 36px is the sum of:
	  bootstrap's 20px line height
	  .nav > li > a { padding : 7px .. 7px .. } (this file)
	  .nav-tabs > li.active > a { border: 1px } (bootstrap.css)
  */
}
.popover {
  font-size: inherit;
}
.popover.bottom-left,
.popover.bottom-right {
  margin-top: 2px;
}
/* pretty sure bootstrap got these four wrong, override... */
.tooltip.top .tooltip-arrow {
  margin-bottom: -5px;
}
.tooltip.bottom .tooltip-arrow {
  margin-top: -5px;
}
.tooltip.right .tooltip-arrow {
  margin-left: -5px;
}
.tooltip.left .tooltip-arrow {
  margin-right: -5px;
}
/* bootstraps own margin-left on toolbar stuffs up their own tooltip calculations ... */
.btn-toolbar {
  margin-left: 0;
}
.btn,
.form-group:not(:first-child) {
  margin-left: 5px;
}
.btn-group-vertical .btn,
.filter-panel-buttons .btn {
  margin-left: 0px;
}
.popover {
  font-family: "Open Sans", sans-serif;
}
/*
Colour Picker
*/
.selected-colorpalette-item {
  width: 16px;
  height: 16px;
}
.k-colorpalette .k-item {
  width: 16px;
  height: 16px;
  border: solid;
  border-color: black;
  border-width: 1px;
}
.k-colorpalette .k-palette {
  border-collapse: separate;
  border-spacing: 6px;
}
/* Vehicle History */
.history-moveable-search-result-view .k-state-selected {
  background-color: #e7d86f;
  color: #333;
}
.history-moveable-search-result-view td.k-state-focused {
  box-shadow: inset 0 0 5px 5px #e7d86f;
}
/*
 * Push buttons: generated by http://blog.koalite.com/bbg/ as follows:
 *   - Class Name: btn-pushed
 *   - Text: #ffffff
 *   - Background: #555555
 *   - Border: #000000
 *   - Active Background: #777777
 */
.btn-pushed {
  color: #FFFFFF;
  background-color: #555555;
  border-color: #000000;
}
.btn-pushed:hover,
.btn-pushed:focus,
.btn-pushed:active,
.btn-pushed.active,
.open .dropdown-toggle.btn-pushed {
  color: #FFFFFF;
  background-color: #777;
  border-color: #000000;
}
.btn-pushed:active,
.btn-pushed.active,
.open .dropdown-toggle.btn-pushed {
  background-image: none;
}
.btn-pushed.disabled,
.btn-pushed[disabled],
fieldset[disabled] .btn-pushed,
.btn-pushed.disabled:hover,
.btn-pushed[disabled]:hover,
fieldset[disabled] .btn-pushed:hover,
.btn-pushed.disabled:focus,
.btn-pushed[disabled]:focus,
fieldset[disabled] .btn-pushed:focus,
.btn-pushed.disabled:active,
.btn-pushed[disabled]:active,
fieldset[disabled] .btn-pushed:active,
.btn-pushed.disabled.active,
.btn-pushed[disabled].active,
fieldset[disabled] .btn-pushed.active {
  background-color: #555555;
  border-color: #000000;
}
.btn-pushed .badge {
  color: #555555;
  background-color: #FFFFFF;
}
/* == COLOR VARIABLES == */
#appFrame,
.layout-primary,
.layout-external,
.layout-dashboard {
  height: 100%;
}
#navigation {
  margin: 0;
}
.vertical-splitter-container {
  height: calc(100% - 83px);
}
@media print {
  .vertical-splitter-container {
    height: calc(100% - 55px);
  }
}
.horizontal-splitter-container {
  height: 100%;
}
.vertical-splitter-container.k-widget,
.horizontal-splitter-container.k-widget {
  border: none;
}
.layout-position {
  height: 100%;
  overflow: hidden;
}
.layout-position .control-container {
  padding: 10px 10px 0 10px;
}
.layout-position .add-control-container {
  display: inline-block;
  padding: 15px 15px 15px 0;
}
.layout-position .pt-scroll-content {
  height: 34px;
  box-shadow: inset 0 -8px 20px -15px #4d4d4d;
}
.layout-position ul.pt-scrollable-element {
  white-space: nowrap;
  border-bottom: none;
}
.layout-position ul.pt-scrollable-element li {
  float: none;
  display: inline-block;
}
.layout-position .control-set .nav > li > a {
  min-width: 12px;
  padding: 6px 10px;
  line-height: 1.66666667;
}
.layout-position .control-set > .tab-content {
  height: calc(100% - 35px);
  overflow: auto;
}
.control-tab-btn {
  cursor: pointer;
  margin-left: 5px;
}
.pt-control-selector {
  display: flex;
  flex-wrap: wrap;
}
.pt-control-selector .context-group {
  padding-left: 15px;
  width: 200px;
  margin-bottom: 15px;
  position: relative;
}
.pt-control-selector .context-group:not(:first-child):before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  height: calc(100% - 1em);
  border-left: 1px solid #ddd;
}
.pt-control-selector .btn.selected {
  z-index: 3;
  border: 1px solid #adadad;
  background-color: #e6e6e6;
  font-weight: bold;
}
.dashboard-toolbar .toolbar-header {
  margin: 10px 0;
}
.control-toolbar {
  margin-top: 10px;
  margin-bottom: 10px;
}
/* == LAYOUTPOSITION WRAPPER == */
.pt-panel {
  width: 100%;
  height: 100%;
}
/* == LAYOUTPOSITION HEADER == */
.pt-panel-header {
  /* -- Container -- */
  margin-bottom: 0;
  padding: 5px 0 0;
  list-style-type: none;
  line-height: 14px;
  /* -- Tab -- */
  /* -- Tab Close button -- */
}
.pt-panel-header.tab-dragenter {
  border: 2px dotted red;
  border-bottom: none;
}
.pt-panel-header .pt-panel-header-tab,
.pt-panel-header .tab-add {
  float: left;
  box-sizing: border-box;
  margin: 0 0 -1px 5px;
  padding: 8px 20px 6px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  min-height: 30px;
  border-top: 1px solid transparent;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  color: darkgray;
}
.pt-panel-header .pt-panel-header-tab.tab-active,
.pt-panel-header .tab-add.tab-active {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background: white;
  box-shadow: 0 1px 15px -5px gray;
  color: #696969;
}
.pt-panel-header .pt-panel-header-tab:not(.tab-active):hover,
.pt-panel-header .tab-add:not(.tab-active):hover {
  background: lightgray;
  color: white;
}
.pt-panel-header .pt-panel-header-tab:hover {
  cursor: move;
}
.pt-panel-header .pt-panel-header-tab.tab-dragenter {
  border: 2px dotted red;
  border-bottom: none;
}
.pt-panel-header .tab-add:hover {
  cursor: pointer;
}
.pt-panel-header .pt-panel-header-tab > .tab-close {
  display: inline-block;
  float: right;
  margin: -1px 0 0 10px;
  padding: 1px;
  border-radius: 15px;
  width: 15px;
  height: 15px;
  transform: rotateZ(45deg);
  font: 20px/13px monospace, sans-serif;
  text-align: center;
}
.pt-panel-header .pt-panel-header-tab > .tab-close:hover {
  color: white;
  background: #f66;
  cursor: pointer;
}
/* == LAYOUTPOSITION CONTENT == */
.pt-panel-content {
  box-sizing: border-box;
  overflow: auto;
  width: 100%;
  height: calc(100% - 35px);
}
.pt-panel-content section {
  height: 100%;
}
pt-version-badge > span {
  cursor: pointer;
}
pt-version-badge .popover {
  margin-top: 5px;
}
pt-version-badge .option-panel {
  margin-top: 10px;
  margin-bottom: 10px;
}
#header {
  padding-right: 0;
}
#navigation {
  border-width: 0;
}
#navigation .navbar-brand {
  padding: 0;
  margin-top: 8px;
  margin-right: 20px;
}
#navigation .navbar-brand .btn.btn-toolbar {
  padding: 3px 8px;
  font-size: 20px;
  line-height: 1.42857143;
  border-radius: 4px;
}
#navigation .navbar-right {
  padding: 0;
}
.tfnsw-logo {
  content: url('../../img/tfornsw-nswgovt_grey.png');
  height: 38px;
  width: auto;
  padding: 0;
}
.username,
.version {
  margin-top: 8px;
  margin-bottom: 0;
}
.summary-table-header-background {
  background-color: #404040;
  height: 34px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  z-index: 1;
}
.th-inner {
  position: absolute;
  top: 1px;
  line-height: calc(34px - 1px);
  text-align: left;
  margin-left: -10px;
  padding-left: 10px;
  background-color: #404040;
  z-index: 2;
  color: white;
}
.th-inner span.glyphicon {
  vertical-align: middle;
  margin-right: 5px;
  top: 0px;
}
.th-inner span.ptipsicon {
  vertical-align: middle;
  margin-right: 5px;
}
.th-inner span.th-title {
  vertical-align: middle;
}
/* Temporary solution to overlapping header problem. It is really difficult
to get a fixed table header with scrollable table contents, so we found a solution
that involves making the table cell the original value (position: static). But
position: relative is required to get the popover solution to work, so use this
instead as a compromise. */
.th-inner:hover {
  z-index: 3;
  padding-right: 5px;
}
.summary-table-inner-container {
  overflow-y: auto;
  height: 100%;
  overflow-x: hidden;
}
.summary-table-container {
  height: calc(100% - 94px);
  position: relative;
  padding-top: 34px;
  min-width: 1200px;
  overflow-y: hidden;
  overflow-x: auto;
}
table.summary-table {
  width: 100%;
  overflow-x: auto;
  overflow-y: auto;
  /* When table-layout is fixed, CSS does magic to prioritise widths in these proportions */
  /* Fixed widths */
  /* Variable min widths*/
  /* Variable max widths */
}
table.summary-table tr:hover td {
  background-color: #ecf3f8;
}
table.summary-table th {
  line-height: 1.5;
  background-color: #eee;
  border-bottom: solid #ddd 2px;
}
table.summary-table th.sortable {
  cursor: pointer;
}
table.summary-table th,
table.summary-table td {
  padding-left: 10px;
  font-weight: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
table.summary-table td.route-progress {
  padding-left: 0px;
}
table.summary-table td {
  background-color: #f5f5f5;
  position: relative;
  border: 1px solid lightgray;
  height: 30px;
}
table.summary-table .odd td {
  background-color: #fdfdfd;
}
table.summary-table th:hover,
table.summary-table td:hover {
  overflow: visible;
}
table.summary-table .col-vehicle-icon {
  width: 28px;
  padding: 0 5px;
}
table.summary-table .col-status {
  width: 115px;
}
table.summary-table .col-actions {
  width: 145px;
}
table.summary-table .col-description {
  min-width: 200px;
}
table.summary-table .col-progress {
  min-width: 120px;
}
table.summary-table .col-bus {
  width: 100px;
}
table.summary-table .col-route {
  width: 100px;
}
table.summary-table .col-driver {
  width: 90px;
}
table.summary-table .col-driver-id {
  width: 100px;
}
table.summary-table .col-shift {
  width: 115px;
}
table.summary-table .col-next-stop {
  width: 70px;
}
table.summary-table .col-next-stop-time {
  width: 80px;
}
table.summary-table .col-next-intersection {
  width: 50px;
}
table.summary-table .col-deviation {
  width: 100px;
}
table.summary-table .col-organisation {
  width: 140px;
}
table.summary-table .col-last-updated {
  width: 120px;
}
table.summary-table .col-scheduled-start {
  width: 130px;
}
table.summary-table .col-depot {
  width: 140px;
}
table.summary-table .col-assignment {
  width: 110px;
}
table.summary-table .col-trip-start {
  width: 130px;
}
table.summary-table .col-trip-end {
  width: 130px;
}
table.summary-table .col-first-tsn {
  width: 135px;
}
table.summary-table .col-last-tsn {
  width: 130px;
}
table.summary-table .col-next-intersection {
  width: 110px;
}
table.summary-table .col-next-stop-time {
  width: 140px;
}
table.summary-table .col-next-stop {
  width: 100px;
}
table.summary-table .deviation {
  padding-left: 2px;
}
.caret.caret-reversed {
  border-top-width: 0;
  border-bottom: 4px solid white;
}
.report-form-toolbar {
  padding: 5px;
  min-height: 45px;
  border-bottom: 1px solid #ddd;
}
.report-form-toolbar .form-inline .form-group {
  margin-top: 5px;
}
.report-form-toolbar .form-inline > button {
  margin-top: 5px;
}
.report-form-toolbar .btn-toolbar {
  margin-top: 5px;
  line-height: 1.111111;
}
.report-form-toolbar .trip-cancellation-text-filter {
  margin: 5px 0 0 0;
  width: 300px;
}
.report-form-toolbar .alert-warning {
  margin-top: 0 !important;
  padding-top: 8px;
  padding-bottom: 8px;
}
form .input-group-sm > .input-group-btn > .btn {
  box-sizing: border-box;
}
form input[type=number]::-webkit-inner-spin-button,
form input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.loading-message {
  background-color: #eee;
  padding: 10px;
  display: inline-block;
  margin-top: 3px;
}
.loading-message p {
  margin: 0;
}
.results-toolbar {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.results-toolbar li {
  display: inline-block;
  margin-right: 15px;
}
.results-toolbar .toolbar-header {
  font-size: 0.8em;
}
.results-toolbar .toolbar-content {
  font-size: 1.4em;
  font-weight: bold;
}
.results-toolbar li.searchFilter {
  vertical-align: bottom;
}
.results-toolbar li.searchDownload {
  vertical-align: bottom;
}
.single-select {
  line-height: 32px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 0 10px;
}
.single-select.disabled {
  color: #888;
  background-color: #eee;
}
.single-select:hover {
  background-color: #e6e6e6;
  border-color: #adadad;
}
form.ng-dirty [pt-validate-field].ng-valid {
  border-color: #3c763d;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
form.ng-dirty [pt-validate-field].ng-valid:focus {
  border-color: #2b542c;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
form.ng-dirty [pt-validate-field].ng-valid .btn {
  border-color: #3c763d;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
form.ng-dirty [pt-validate-field].ng-invalid {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
form.ng-dirty [pt-validate-field].ng-invalid:focus {
  border-color: #843534;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
form.ng-dirty [pt-validate-field].ng-invalid .btn {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
form.ng-dirty .ptips-validation.ng-valid {
  border-color: #3C763D;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
form.ng-dirty .ptips-validation.ng-valid:disabled {
  border-color: #3C763D !important;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) !important;
  opacity: 1 !important;
}
form.ng-dirty .ptips-validation.ng-invalid {
  border-color: #A94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.form-loading {
  min-width: 350px;
  padding: 0 10px;
  width: 50%;
}
.form-control.small-input {
  height: 25px;
  font-size: 11px;
}
.operator-name {
  font-size: 1.2em;
}
/**
	WebSocket error messages.
  */
.ptips-alert-top {
  position: fixed;
  left: calc(50% - 150px);
  margin-top: 8px;
  margin-bottom: 8px;
  z-index: 9998 !important;
}
.ptips-alert {
  width: 300px;
  border-width: 0px;
  min-height: 45px;
  border-radius: 6px;
}
.ptips-alert .alert-btn {
  background-color: #F2F2F2;
  margin: 0px 8px 5px 5px;
  padding: 0px 5px 0px 5px;
  font-size: 10px;
  font-weight: bold;
  float: right;
}
.error:hover:not(.ptips-alert-sub),
.warning:hover:not(.ptips-alert-sub),
.restore:hover:not(.ptips-alert-sub) {
  cursor: pointer;
  cursor: hand;
}
.ptips-alert .ptipsicon {
  float: left;
  padding: 3px;
  font-size: 16px;
}
.ptips-alert .ptipsicon-times-circle {
  cursor: pointer;
  float: right;
  font-size: 12px;
  color: white;
}
.ptips-alert .major {
  padding-top: 3px;
  font-size: 12px;
  font-weight: bold;
}
.ptips-alert .minor {
  padding-left: 22px;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 11px;
  white-space: normal;
}
.ptips-alert.ng-enter {
  transition: 1s linear all;
  opacity: 0;
}
.ptips-alert.ng-enter.ng-enter-active {
  opacity: 1;
}
.ptips-alert-popover {
  color: black;
  font-size: 11px;
  max-width: 600px;
  width: auto;
}
.ptips-alert-popover .badge {
  font-size: 10px;
}
.ptips-alert-popover table {
  margin-bottom: 0px;
}
.ptips-alert-popover table td {
  white-space: nowrap;
}
.ptips-alert-sub {
  width: 34px;
  border-width: 0px;
  border-radius: 6px;
  display: inline;
  margin: 3px 3px 3px 0px;
  text-align: center;
  vertical-align: middle;
}
.ptips-alert-sub .ptipsicon {
  padding: 3px;
  font-size: 18px;
}
.ptips-alert-sub.ng-enter {
  transition: 1s linear all;
  opacity: 0;
}
.ptips-alert-sub.ng-enter.ng-enter-active {
  opacity: 1;
}
.error:hover:not(.ptips-alert),
.warning:hover:not(.ptips-alert),
.restore:hover:not(.ptips-alert) {
  cursor: pointer;
  cursor: hand;
  background-color: lightgray !important;
}
.error {
  color: white;
  background-color: #c05046 !important;
}
.warning {
  color: white;
  background-color: #ffbf00 !important;
}
.restore {
  color: white;
  background-color: #9bbb61 !important;
}
.ptips-session-expired-modal {
  font-size: 14px;
  z-index: 9999 !important;
}
.heavy .deviation {
  font-weight: bold;
}
.deviation-suffix {
  font-size: xx-small;
}
.colour-vehicle-EARLY {
  color: #C00000 !important;
}
.colour-vehicle-LATE {
  color: #0070C0 !important;
}
.colour-vehicle-ON_TIME {
  color: #339933 !important;
}
.bg-grad-colour-vehicle-NONE {
  background-color: rgba(0, 0, 0, 0) !important;
}
.bg-grad-colour-vehicle-EARLY {
  background-color: #C00000;
  background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
}
.bg-grad-colour-vehicle-LATE {
  background-color: #0070C0;
  background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
}
.bg-grad-colour-vehicle-ON_TIME {
  background-color: #339933;
  background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
}
/*
.fade-in {
  opacity: 0;
}

.fade-in:hover {
  opacity: 1;
  transition: opacity 0.4s ease-in;
  transition-delay: 0.15s;
}

.ng-hide-add         { animation:1s lightSpeedOut ease;}

.ng-hide-remove      { animation:1s lightSpeedIn ease; }

@keyframes lightSpeedIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
*/
/**
 Context Menu
*/
.ptips-disabled-link {
  cursor: default !important;
  color: black;
  pointer-events: none;
}
/** Context menu appearance **/
.ptips-context-menu .caret {
  cursor: pointer;
  border-top: 7px solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  margin: 0 2px;
}
.ptips-context-menu.caret-wrapper:hover {
  border: 1px solid #ccc;
  border-radius: 2px;
}
.ptips-context-menu .caret:hover {
  border-top-color: cornflowerblue;
}
.ptips-context-menu-content {
  box-sizing: border-box;
  padding: 0px;
}
.ptips-context-menu-content .btn-group-sm {
  width: 100%;
}
.ptips-context-menu-content .btn-group-sm {
  box-sizing: border-box;
}
.ptips-context-menu-content .btn-group-sm > .btn {
  font-size: 14px;
}
.ptips-context-menu-content .btn {
  box-sizing: border-box;
  white-space: normal;
  border: none;
  width: 100%;
  /* Tudor likes this better */
  text-align: left;
}
.context-menu-wide {
  width: 175px;
}
.context-menu-wide .btn {
  width: 175px;
}
.context-group-title {
  padding-left: 10px;
  color: grey;
  font-size: 10px;
}
.combined-menu-content .context-group {
  position: relative;
  width: 100%;
}
.combined-menu-content .context-group:not(:first-child):before {
  content: "";
  position: absolute;
  left: 27px;
  top: 0;
  width: calc(100% - 27px);
  border-top: 1px solid #ddd;
}
/** Vehicle popover menu **/
.vehicle-click-popover .info-window-organisationId {
  text-align: left;
  font-size: 11px;
  margin-bottom: 10px;
}
.vehicle-click-popover .info-window-column {
  margin-right: 1em;
}
.vehicle-click-popover .info-window-column dl {
  margin-bottom: 0.7ex;
}
.vehicle-click-popover .btn-group-vertical .btn {
  text-align: left;
}
.vehicle-click-popover-content {
  display: flex;
  flex-direction: row;
}
.vehicle-click-popover-content > div {
  padding: 0 15px;
  position: relative;
}
.vehicle-click-popover-content > div.context-group {
  min-width: 165px;
}
.vehicle-click-popover-content > div:not(:first-child):before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  height: calc(100% - 1em);
  border-left: 1px solid #ddd;
}
.pt-dropdown-menu {
  white-space: nowrap;
}
.tracking-buses-status-display {
  background: white;
  padding: 0.5em;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  border: 1px solid #aaa;
  border-radius: 4px;
  height: 25px;
  margin-top: 1px;
  margin-bottom: 5px;
  display: inline-block;
}
.tracking-buses-status-display .title {
  font-size: 120%;
  position: relative;
  top: -3px;
}
.tracked-buses-status-panel {
  height: calc(100% - 44px);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 0px;
}
.tracked-bus-display-control {
  cursor: pointer;
  background: #FFA403;
  font-size: 100%;
  padding: 1px 1px 1px 4px;
  margin-left: 3px;
}
.tracked-bus-display-control .ptipsicon {
  color: white;
}
.tracked-bus-display-control .ptipsicon.followed {
  color: yellow;
}
.tracking-buses-status-display .ptipsicon:before {
  font-size: 14px;
  padding-right: 2px;
}
.tracking-buses-status-display .toggle-tracked-bus-status-panel {
  background: #FFC053;
  color: black;
  padding: 1px 7px;
  font-weight: normal;
}
.tracked-bus-display-control.panelHidden .toggle-tracked-bus-status-panel {
  background: white;
}
.tracked-bus-status-panel {
  background: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: 1em;
  margin-right: 5px;
  margin-bottom: 5px;
  width: 280px;
  height: 258px;
}
.tracked-bus-status-panel,
.tracked-bus-status-panel * {
  box-sizing: border-box;
}
.tracked-bus-progress-block {
  display: flex;
}
.tracked-bus-progress-block .info-window-column {
  padding-right: 2em;
}
.info-window-next-stop {
  height: 52px;
}
.tracked-bus-progress-block .info-window-column dl {
  margin-bottom: 5px;
}
.tracked-bus-status-panel .tracking-button-container {
  position: relative;
  top: -2ex;
}
.tracked-bus-status-panel .tracking-button-container button {
  display: block;
  width: 107px;
  margin: 3px 0 3px 5px;
  text-align: left;
}
.tracked-bus-progress-block .route-progress-box {
  flex-grow: 1;
  vertical-align: top;
}
.form-signin {
  max-width: 330px;
  padding: 15px;
  margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
  margin-bottom: 10px;
}
.form-signin .checkbox {
  font-weight: normal;
}
.form-signin .form-control {
  position: relative;
  font-size: 12px;
  height: auto;
  padding: 10px;
  box-sizing: border-box;
}
.form-signin .form-control:focus {
  z-index: 2;
}
.form-signin input[type="text"] {
  margin-bottom: -1px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.form-signin button {
  box-sizing: border-box;
}
.form-signin select {
  margin-bottom: 10px;
}
.login-title {
  color: #555;
  font-size: 18px;
  font-weight: 400;
  display: block;
}
.profile-img {
  width: 80px;
  height: 80px;
  margin: 0 auto 10px;
  display: block;
  border-radius: 50%;
}
.stackedTogether {
  margin-bottom: 0px;
  padding-bottom: 0px;
}
.search-box,
.clearable-text-wrapper {
  position: relative;
}
.powered-by-google {
  background: url('../../img/powered-by-google.png') right no-repeat;
}
.clear-text-icon {
  position: absolute;
  right: 0;
  border: 1px solid transparent;
  background-color: transparent;
  display: inline-block;
  vertical-align: middle;
  outline: 0;
  cursor: pointer;
}
.clear-text-icon::after {
  content: "+";
  transform: rotateZ(45deg);
  font-size: x-large;
  background-size: 25px 25px;
  display: inline;
  width: 2.5em;
  height: 2.5em;
  position: absolute;
  z-index: 1;
  right: -10px;
  top: -40px;
  text-align: center;
  cursor: pointer;
}
.progress {
  margin: 10px;
  margin-top: 0px;
  height: 15px;
}
.search-results .ptipsicon-pin-location {
  margin-right: 5px;
}
.pt-search-result-row a.menu-link {
  display: none;
}
.search-selection-options {
  padding: 5px;
  padding-bottom: 10px;
}
.search-selection-options .show-label {
  padding-left: 10px;
}
.search-selection-options .search-type-input-select {
  padding-left: 10px;
}
.search-selection-options .search-type-input-select > label input {
  margin-left: 5px;
  vertical-align: text-bottom;
}
.search-highlight {
  background: yellow;
}
.vehicle-list-view {
  white-space: nowrap;
  overflow-x: hidden;
  margin-right: -10px;
}
.vehicle-list-view .flex-container > .form-group {
  margin-bottom: 5px;
}
.vehicle-list-view .single-select {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  box-sizing: border-box;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
  margin-left: 0;
}
.vehicle-list-view .single-select:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.vehicle-list-view .single-select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.vehicle-list-view .single-select:-ms-input-placeholder {
  color: #999;
}
.vehicle-list-view .single-select::-webkit-input-placeholder {
  color: #999;
}
.vehicle-list-view .single-select[disabled],
.vehicle-list-view .single-select[readonly],
fieldset[disabled] .vehicle-list-view .single-select {
  background-color: #eeeeee;
  opacity: 1;
}
.vehicle-list-view .single-select[disabled],
fieldset[disabled] .vehicle-list-view .single-select {
  cursor: not-allowed;
}
textarea.vehicle-list-view .single-select {
  height: auto;
}
select.vehicle-list-view .single-select {
  height: 30px;
  line-height: 30px;
}
textarea.vehicle-list-view .single-select,
select[multiple].vehicle-list-view .single-select {
  height: auto;
}
.vehicle-list-view .control-toolbar .btn-sm {
  font-size: 16px;
  height: 16px;
  padding: 6px 9px;
}
.vehicle-list-view .control-toolbar .btn-sm span.ptipsicon {
  position: relative;
  bottom: 3px;
}
.vehicle-list-filter .form-group {
  margin-bottom: 5px;
}
.vehicle-list-filter .form-group .btn {
  margin-left: 0;
}
.dropdown-checkbox {
  font-size: inherit;
}
.dropdown-checkbox .checkbox {
  margin: 0 5px;
}
.list-group-heading {
  cursor: pointer;
}
.list-group-heading:hover {
  font-weight: bold;
}
#vehicleSearchContainer {
  height: calc(100% - 44px);
  padding: 10px;
}
#vehicleSearchContainer .textSearchRow {
  padding-bottom: 10px;
}
#vehicleSearchResultsContainer {
  overflow-y: auto;
  overflow-x: hidden;
  height: calc(100% - 10px);
}
.veh-search-organisation-list {
  list-style-image: none;
  padding-left: 0px;
  white-space: nowrap;
}
.veh-search-depot-list {
  list-style-type: none;
  padding-left: 0px;
  white-space: nowrap;
}
.veh-search-vehicle-list {
  list-style-type: none;
  padding-left: 10px;
  white-space: nowrap;
}
.textSearchRow span {
  display: block;
  overflow: hidden;
}
.textSearchRow button {
  float: right;
  height: 20px;
  margin-left: 2px;
}
.search-view-organisation-item-label {
  cursor: pointer;
  width: 100%;
  border-style: solid;
  border-width: 1px;
  border-color: #ccdadf;
  background-color: #92a2a8;
  font-weight: normal;
}
.search-view-organisation-item-label-suffix {
  clear: both;
  height: 0px;
}
.search-view-depot-item-label {
  cursor: pointer;
  width: 100%;
  background-color: white;
  font-weight: normal;
}
.search-view-vehicle-item-label {
  cursor: pointer;
  width: 100%;
  background-color: white;
}
.timeDistanceViewContainer {
  padding: 10px;
  margin: 0px;
  width: calc(100% - 40px);
  height: calc(100% - 20px);
  overflow-x: hidden;
  overflow-y: hidden;
  display: block !important;
  white-space: nowrap !important;
  float: none !important;
}
.timeDistanceViewContainer .timeDistanceChart {
  width: 100%;
  height: calc(100% - 80px);
}
.ptcharts-container {
  background-color: white;
}
.tdd-well {
  padding-top: 0px;
  padding-bottom: 0px;
  position: absolute;
  width: calc(100% - 160px);
  top: 75px;
  right: 40px;
  background-color: white;
  border: 1px solid whitesmoke;
  border-radius: 0;
  box-shadow: 0 1px 5px -1px grey;
}
.tdd-well .circular-border,
.tdd-well .loading {
  border-radius: 5px;
  display: inline-block;
  padding: 0.7em;
  width: 1.5em;
  height: 1.5em;
  background-color: #444;
  color: white;
  margin-right: 5px;
  left: -8px;
  top: 3px;
  position: relative;
}
.tdd-well .circular-border i,
.tdd-well .loading i {
  font-size: 18px;
  margin-left: 1px;
}
.tdd-well .label-container {
  display: table-cell;
  vertical-align: middle;
  margin-top: 3px;
}
.tdd-well .label-container span {
  vertical-align: middle;
  display: table-cell;
}
.tdd-well .label-container span:last-child span {
  display: table-row;
}
.tdd-well .controls-container {
  display: table-cell;
  vertical-align: middle;
  padding-right: 10px;
}
.tdd-well-bottom {
  top: calc(50% + 50px);
}
.legend-well {
  padding-top: 0px;
  padding-bottom: 10px;
  position: absolute;
  width: 150px;
  bottom: 30px;
  right: 40px;
  background-color: white;
  /* box-shadow: 0px 0px 3px 3px whitesmoke; */
  border: 1px solid grey;
}
.legend-well .header {
  padding-top: 10px;
  padding-bottom: 10px;
}
.message-well {
  position: absolute;
  width: auto;
  height: auto;
  top: 40%;
  right: 20%;
  left: calc(20% + 40px);
  background-color: white;
  text-align: left;
  font-size: medium;
  padding: 10px;
  border: 1px solid grey;
}
.message-well .header {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
}
.message-well .glyphicon {
  font-size: xx-large;
  vertical-align: middle;
}
.message-well table {
  margin: 0 auto;
}
.message-well .routeName {
  text-decoration: underline;
}
.time-distance-data-point-info.info-window {
  display: block;
}
.time-distance-vehicle-info.info-window {
  display: block;
}
.time-distance-vehicle-info #last-updated {
  float: right;
  font-size: 0.6em;
  vertical-align: top;
}
.popover.time-distance-data-point-popover {
  max-width: 100%;
}
.popover.time-distance-data-point-popover.click-popover {
  z-index: 1;
}
.popover.time-distance-data-point-popover.hover-popover {
  z-index: 2;
}
.popover.time-distance-data-point-popover .left-container {
  display: inline-block;
  padding-right: 10px;
}
.popover.time-distance-data-point-popover .border-right {
  border-right: 1px solid #CFCFCF;
}
.popover.time-distance-data-point-popover .right-container {
  display: inline-block;
  vertical-align: top;
  width: 150px;
}
.popover.time-distance-vehicle-popover {
  max-width: 100%;
}
.historyMap {
  height: 100%;
}
/*Map Toolbar*/
.history-toolbar-margins {
  margin-top: 5px;
  margin-right: 5px;
}
/*Search Form*/
.history-search-form {
  font-size: 13px;
  margin-left: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 0;
}
.history-search-form .form-control-kendo-element {
  width: 165px;
  box-sizing: content-box;
  padding: 0px;
}
.history-search-form .form-group {
  padding-bottom: 10px;
}
.from-date {
  width: 115px !important;
}
/*styles apply when search form in side view*/
.history-side-search-results-panel .history-search-form .form-group {
  margin-right: 10px;
}
/*individual form elements*/
#searchVehicleID,
#fromDate,
#toDate {
  width: 115px;
}
/*Search Results*/
.history-selected-search {
  inset: 0px -1px 2px rgba(133, 133, 133, 0.5);
}
.history-selected-search #VehicleTrackerCloseVehicle {
  font-size: 22px;
  vertical-align: middle;
  cursor: pointer;
  color: black;
  transition: color 1s ease;
}
.history-selected-search #VehicleTrackerCloseVehicle:hover {
  color: red;
  cursor: pointer;
}
.history-selected-search .form-group {
  padding: 10px;
  margin: 0px;
}
.vehicle-history-result-table .form-group {
  padding: 10px;
  margin: 0px;
}
#historyTopPanel .k-splitter .k-scrollable {
  overflow: visible;
}
/* to control scrolling */
.history-moveable-search-result-view {
  overflow-y: hidden;
  overflow-x: hidden;
  height: calc(100% - 70px);
}
.historySearchResultsStyle {
  overflow-x: auto;
}
.collapsedHistorySearchResultsStyle {
  overflow-y: scroll;
}
.expandedHistorySearchResultsStyle {
  overflow-y: hidden;
}
/* accordion panel body */
.historySearchResultsStyle .panel-body {
  padding: 0px;
}
.historySearchResultsStyle .panel-heading {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
}
/* History Layer Options Dropdown View */
.map-toolbar-popover {
  max-width: 600px;
  width: 350px;
}
#vehicleHistoryTrackerLayerOptions input[type=checkbox],
#vehicleHistoryTrackerMapLayerOptions input[type=checkbox] {
  margin-right: 10px;
}
#vehicleHistoryTrackerMapLayerOptions,
#vehicleHistoryTrackerLayerOptions {
  margin-top: 10px;
  margin-bottom: 10px;
}
#vehicleHistoryTrackerLayerOptions {
  border-left: 1px solid #333;
}
#vehicleHistoryTrackerLayerOptions .form-group {
  margin-top: 10px;
  margin-bottom: 0px;
}
#vehicleHistoryTrackerLayerOptions #distanceGapLayerInput {
  padding-right: 0px;
}
#vehicleHistoryTrackerLayerOptions #distanceGapLabel {
  text-align: left;
  padding-left: 5px;
}
.history-tracker-notice {
  padding: 10px 0 10px 10px;
  margin: 10px;
  margin-bottom: 0;
}
.history-tracker-notice-tsn {
  padding: 10px 0 10px 10px;
  margin: 15px;
  margin-bottom: 0;
  float: left;
}
.vehicleDetailsContainer {
  padding: 10px;
  overflow: auto;
  height: calc(100% - 20px);
}
.vehicleDetailsContainer .panel {
  margin-bottom: 0;
}
.vehicleDetailsContainer .panel-body {
  padding: 10px;
  line-height: 120%;
}
.vehicleDetailsContainer .large {
  font-size: 120%;
  font-weight: 700;
}
.vehicleDetailsContainer .large a {
  font-size: 14px;
}
.vehicleDetailsContainer a {
  font-size: 12px;
}
/* Vehicle Details Offset Box */
.route-progress-box {
  position: relative;
  width: 100%;
}
.route-progress-box .schedule {
  position: relative;
  background-color: #828282;
  height: 100%;
  border-right: 1px solid lightgray;
}
.summary-view-offset-separator {
  border-top: 1px solid lightgray;
  border-bottom: 1px solid lightgray;
}
.route-progress-box .actual {
  position: absolute;
  top: 5px;
  bottom: 5px;
  border-top: 1px solid lightgray;
  border-bottom: 1px solid lightgray;
  border-right: 1px solid lightgray;
}
.route-progress-box .actualBorder {
  position: absolute;
  height: 100%;
  background-color: lightgray;
}
.route-progress-box .schedule-caret {
  position: absolute;
  top: -4px;
  left: -3px;
}
.route-progress-box .caret-border {
  position: absolute;
  top: 0px;
  height: 100%;
  border-right: 1px solid #333;
}
.transitStopsBox {
  border: lightgray solid 1px;
  margin: 5px 5px 10px 0;
  height: 80px;
  overflow: auto;
}
.transitStopsBox > ul {
  margin: 5px 0;
  list-style-type: none;
  -webkit-padding-start: 10px;
}
.margin-right-10 {
  margin-right: 10px;
}
#vehicleDetails .dropdown-menu {
  margin: 20px 0 0 ;
}
.colour-picker {
  z-index: 2000;
}
.colour-picker-btn {
  padding: 0;
}
.map-toolbar-background {
  background-color: rgba(255, 255, 255, 0.7);
}
/* the map itself */
.live-map {
  width: 100%;
  height: 100%;
  min-height: 300px;
}
.map-toolbar {
  margin: 5px;
  font-family: "Open Sans", sans-serif;
}
.toolbar-btn-container {
  display: inline-block;
}
.toolbar-btn-container .btn-dropdown {
  padding-right: 6px;
}
.map-live-traffic-legend-container {
  display: flex;
  flex-direction: row-reverse;
}
.map-live-traffic-legend {
  color: #8c8c8c;
  border: 1px solid #ececec;
  padding: 6px;
  margin-top: 3px;
  background-color: white;
}
.map-live-traffic-legend-image {
  background-image: url('../../img/traffic-legend.png');
  width: 78px;
  height: 7px;
  display: inline-block;
  margin: 0 5px;
}
/* map popovers */
/* this makes the CSS behave a little more like what I, at least, would expect, and $element.width() too --ScheperM */
.map-info-box-supercontainer .map-info-box-supercontainer * {
  box-sizing: border-box;
}
.map-info-box-content-container {
  box-sizing: border-box;
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  /* Move down 1px so the pointer covers the bottom border edge. */
  position: relative;
  top: 1px;
  /* Z-Index is relative to its parent */
  z-index: 0;
}
.map-info-box-pointer {
  box-sizing: border-box;
  height: 20px;
  background-image: url('../../img/tmp/popover-pointer_32x32.png');
  background-position: center bottom;
  background-repeat: no-repeat;
  z-index: 1;
}
.map-info-box-component-container {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.map-info-box-supercontainer {
  box-sizing: border-box;
  font-family: "Open Sans", sans-serif;
}
.map-popover {
  padding: 1em;
  box-sizing: border-box;
}
.map-popover * {
  box-sizing: border-box;
}
.map-popover .info-window-wait {
  width: 100%;
  height: 100%;
  min-width: 20em;
  min-height: 6ex;
  background-position: center center;
  background-repeat: no-repeat;
}
.map-popover dl {
  margin-bottom: 0.7em;
}
/* map mouse coordinates */
.map-mouse-coordinate-view {
  font-size: 10px;
}
.map-mouse-ordinate,
.map-mouse-coordinate-mouseout {
  background-color: rgba(255, 255, 255, 0.55);
  padding: 0 6px;
  margin-left: 1px;
}
.map-mouse-ordinate {
  float: left;
}
.map-mouse-ordinate-heading {
  font-size: 8px;
}
.map-mouse-ordinate-heading,
.map-mouse-ordinate-data {
  display: inline;
}
.route-click-popover-content,
.route-mouseover-popover-content {
  display: flex;
  flex-direction: row;
}
.route-click-popover-content > div,
.route-mouseover-popover-content > div {
  padding: 0 10px;
  position: relative;
}
.route-click-popover-content > div.context-group,
.route-mouseover-popover-content > div.context-group {
  min-width: 320px;
}
.route-click-popover-content > div:not(:first-child):before,
.route-mouseover-popover-content > div:not(:first-child):before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  height: calc(100% - 1em);
  border-left: 1px solid #ddd;
}
.ptcharts-container .series {
  fill: none;
  stroke-width: 2px;
  opacity: 0.7;
  transition: all 0.2s;
  shape-rendering: optimizeSpeed;
}
.ptcharts-container .series-dotted .series-dotted-path path {
  fill: none;
  stroke-width: 2px;
  opacity: 0.7;
  transition: all 0.2s;
  shape-rendering: optimizeSpeed;
}
.ptcharts-container .series-dotted .series-dotted-circles circle {
  stroke-width: 0.7px;
}
.ptcharts-container .series-dotted .series-dotted-circles circle:hover {
  cursor: pointer;
}
.ptcharts-container .gridline {
  background-color: rgba(243, 237, 183, 0.78);
}
.ptcharts-container .gridline path,
.ptcharts-container .gridline line {
  fill: none;
  stroke: #CCC;
  opacity: 0.4;
  stroke-width: 2px;
  shape-rendering: optimizeSpeed;
  transition: all 0.5s;
}
.ptcharts-container .axis {
  cursor: pointer;
}
.ptcharts-container .axis text {
  transition: all 1s;
  font-weight: bold;
  text-anchor: end;
  font-size: 12px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.ptcharts-container .axis text:hover {
  fill: maroon;
  transition: all 1s;
}
.ptcharts-container .axis path {
  fill: none;
  stroke: #444;
  stroke-width: 3px;
  stroke-opacity: 1;
  text-anchor: middle;
  font-size: 10px;
  stroke-linecap: round;
}
.ptcharts-container .axis line {
  fill: none;
  stroke: #444;
  stroke-width: 2px;
  stroke-opacity: 1;
  text-anchor: middle;
  font-size: 10px;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ptcharts-container .shape {
  cursor: pointer;
}
.ptcharts-container .shape.vehicle circle {
  stroke: rgba(255, 255, 255, 0.9);
}
.ptcharts-container .shape.vehicle.vehicle-ACTIVE circle {
  fill: #FFC000;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-LATE circle {
  fill: #0070C0;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-EARLY circle {
  fill: #C00000;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-NOT_ON_TRIP circle {
  fill: white;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-ON_TIME circle {
  fill: #339933;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-OFF_ROUTE circle {
  fill: white;
  stroke: grey;
  stroke-width: 0px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-OFF_ROUTE .custom path {
  fill: red;
}
.ptcharts-container .shape.vehicle.vehicle-INACTIVE circle {
  fill: grey;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-INACTIVE .custom path {
  fill: white;
}
.ptcharts-container .shape.vehicle.vehicle-DISCONNECTED circle {
  fill: grey;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape.vehicle.vehicle-DISCONNECTED .custom path {
  fill: white;
}
.ptcharts-container .shape.vehicle.vehicle-BETWEEN_TRIPS circle {
  fill: #FFC000;
  stroke-width: 3px;
  stroke-opacity: 1;
}
.ptcharts-container .shape rect {
  fill-opacity: 1;
  font-weight: bold;
}
.ptcharts-container .shape text {
  font-weight: bold;
}
.ptcharts-container .toggle {
  cursor: pointer;
}
.ptcharts-container .toggle rect {
  fill-opacity: 1;
  font-weight: bold;
}
.ptcharts-container .toggle text {
  font-size: 10px;
  font-weight: bold;
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  /* IE/Edge */
  user-select: none;
}
.ptcharts-container .toggle path {
  fill: default !important;
}
.ptcharts-container .zoom-panel {
  cursor: move;
  pointer-events: all;
  fill: rgba(245, 242, 194, 0.16);
  stroke: grey;
  stroke-width: 1px;
  shape-rendering: optimizeSpeed;
  stroke-opacity: 0.5;
}
.ptcharts-container {
  background-color: white;
  min-height: calc(100% - 25px);
}
.centered-on-time-running-routes {
  display: block;
  text-align: center;
}
.onTimeRunningGroupHeader {
  font-size: 20px;
}
.onTimeRunningTable {
  table-layout: fixed;
  padding: 20px;
  font-size: 18px;
}
.onTimeRunningTable .row-otr-route {
  width: 82px;
}
.onTimeRunningTable .row-otr-percent {
  width: 82px;
}
.onTimeRunningTable .row-otr-total {
  width: 82px;
}
.onTimeRunningTableHeaders {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  border: none;
}
.onTimeRoutesTable .onTimeRunningTableHeaders {
  background: linear-gradient(to bottom left, rgba(51, 153, 51, 0.9), rgba(51, 153, 51, 0.5));
}
.lateRoutesTable .onTimeRunningTableHeaders {
  background: linear-gradient(to bottom left, rgba(0, 112, 192, 0.9), rgba(0, 112, 192, 0.5));
}
.earlyRoutesTable .onTimeRunningTableHeaders {
  background: linear-gradient(to bottom left, rgba(192, 0, 0, 0.9), rgba(192, 0, 0, 0.5));
}
.onTimeRunningTableHeaders td {
  border: none;
}
.onTimeRunningTable tr td {
  padding: 10px;
}
.onTimeRoutesTable tr td {
  border: 1px solid #339933;
  background-color: rgba(51, 153, 51, 0.05);
}
.lateRoutesTable tr td {
  border: 1px solid #0070c0;
  background-color: rgba(0, 112, 192, 0.05);
}
.earlyRoutesTable tr td {
  border: 1px solid #c00000;
  background-color: rgba(192, 0, 0, 0.05);
}
.onTimeStatsVehiclesPopover {
  max-width: 600px;
  width: 500px;
  font-size: 14px;
}
.onTimeStatsVehiclesTable {
  table-layout: fixed;
  width: 100%;
  white-space: nowrap;
}
.onTimeStatsVehiclesTable tr td {
  text-align: left;
  border: none;
  white-space: nowrap;
  overflow: hidden;
  font-size: 14px;
  padding: 0px;
}
.ellipsisTableCell {
  text-overflow: ellipsis;
}
.onTimeStatsVehiclesTable th {
  /*dont wrap text?*/
  font-size: 10px;
}
.onTimeStatsVehiclesTable .row-busId {
  width: 10%;
}
.onTimeStatsVehiclesTable .row-deviation {
  width: 15%;
}
.onTimeStatsVehiclesTable .row-routevar {
  width: 15%;
}
.onTimeStatsVehiclesTable .row-trip {
  width: 60%;
}
#realTimeRunningStatsContainer {
  padding: 10px;
  margin: 0px;
  width: calc(100% - 30px);
  height: calc(100% - 20px);
  overflow-x: hidden;
  overflow-y: hidden;
  display: block !important;
  white-space: nowrap !important;
  float: none !important;
}
ptips-dashboard {
  display: block !important;
  width: 100%;
  height: 100%;
  float: none !important;
}
#dashboardContentsContainer {
  display: block !important;
  width: 100%;
  height: calc(100% - 30px);
  float: none !important;
  overflow-x: hidden;
}
#dashboardContentsContainer > [ng-transclude] {
  height: 100%;
}
.singlePage #prevControl,
.singlePage #nextControl {
  display: none;
}
#prevControl,
#nextControl {
  opacity: 0;
  position: absolute;
  top: 50%;
  z-index: 100;
  transition: opacity 0.3s linear;
}
#nextControl {
  right: 20px;
}
#prevControl {
  left: 20px;
}
#dashboardContentsContainer:hover #prevControl,
#dashboardContentsContainer:hover #nextControl {
  opacity: 0.5;
}
#dashboardContentsContainer #prevControl:hover,
#dashboardContentsContainer #nextControl:hover {
  opacity: 1;
}
.dashboardPage {
  display: inline-block !important;
  float: none !important;
  white-space: nowrap !important;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal !important;
  overflow-x: hidden;
}
#realTimeRunningStatsRegionContainer {
  overflow-x: hidden;
  overflow-y: auto;
}
#depotChartsContainer {
  white-space: nowrap !important;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow-x: auto;
}
.depotChartLabelText {
  font-family: "Open Sans", sans-serif;
}
.depotPieChartContainer {
  width: 200px;
  height: 220px;
  float: left;
  padding-right: 10px;
}
.forwardBackControl {
  cursor: pointer;
}
#realTimeRunningStatsMainChartsContainer .legendLabel,
#realTimeRunningStatsRegionContainer .legendLabel {
  padding-left: 2px;
  padding-right: 10px;
}
ptips-status-bar {
  z-index: 1;
  position: relative;
}
#statusBar {
  box-sizing: border-box;
  height: 28px;
  width: 100%;
  background-color: #d8d8d8;
  position: fixed;
  left: 0;
  bottom: 0;
  border-top: 1px solid #c4c4c4;
}
#statusBarNotification {
  position: absolute;
  bottom: 0;
  margin-right: 10px;
  right: 0;
  width: 360px;
  min-height: 26px;
  max-height: 90vh;
  border-radius: 2px;
  color: white;
  word-wrap: break-word;
  transition: opacity 0.6s ease-out;
}
#statusBarNotificationPageScroller a,
#statusBarNotification header a {
  color: white;
  font-size: 1.3em;
}
#statusBarNotificationPageScroller a:hover,
#statusBarNotification header a:hover {
  text-decoration: none;
}
#statusBarNotification .minimiseButton {
  float: right;
  display: inline-block;
}
#statusBarNotification time {
  float: right;
  display: inline-block;
  font-size: 0.8em;
  line-height: 20px;
  margin-right: 10px;
}
#statusBarNotification h3 {
  overflow: hidden;
  width: 245px;
  padding: 0;
  font-size: 1.2em;
  display: inline-block;
  float: left;
  margin: 1px 0 2px 0;
  font-weight: 700;
  transition: max-height 0.6s ease-out, opacity 0.6s ease-out;
}
#statusBarNotification summary {
  clear: both;
  font-size: 0.9em;
}
#statusBarNotification summary,
#statusBarNotification footer {
  max-height: 0px;
  opacity: 0;
  transition: max-height 0.1s ease-out, opacity 0.1s ease-out;
}
#statusBarNotification.open summary,
#statusBarNotification.open footer {
  max-height: 100vh;
  opacity: 1;
}
#statusBarNotification:not(.open) h3 {
  max-height: 15px;
}
#statusBarNotification.hidden {
  opacity: 0;
}
#statusBarNotificationLeftContent {
  width: 20px;
  float: left;
  padding: 2px 5px;
  font-size: 21px;
  height: 100%;
}
#statusBarNotificationRightContent {
  width: 320px;
  float: left;
  padding: 4px 5px 0 5px;
  height: 100%;
}
#statusBarNotification.info {
  /* http://www.colorzilla.com/gradient-editor/#52642a+0,819c4d+80,bed39b+100;Custom */
  border: 1px solid #52642a;
  background: #52642a;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(135deg, #52642a 0%, #819c4d 80%, #bed39b 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#52642a', endColorstr='#bed39b', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
}
#statusBarNotification.warning {
  /* http://www.colorzilla.com/gradient-editor/#ab8000+0,ffc309+80,ffcf3c+100;Custom */
  border: 1px solid #ab8000;
  background: #ab8000;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(135deg, #ab8000 0%, #ffc309 80%, #ffcf3c 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ab8000', endColorstr='#ffcf3c', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
}
#statusBarNotification.error {
  /* http://www.colorzilla.com/gradient-editor/#923931+0,da9e99+80,e3b7b1+100;Custom */
  border: 1px solid #923931;
  background: #923931;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(135deg, #923931 0%, #da9e99 80%, #e3b7b1 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#923931', endColorstr='#e3b7b1', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
}
#statusBarNotificationLeftContent .ptipsicon {
  float: left;
}
#statusBarNotificationPageCount {
  display: inline-block;
  float: right;
  font-size: 0.9em;
  margin-right: 5px;
}
#statusBarNotificationPageScroller {
  display: inline-block;
  float: right;
  position: relative;
  bottom: 5px;
  font-size: 1.3em;
  letter-spacing: -4px;
}
#statusBarNotificationRightContent footer {
  box-sizing: border-box;
  height: 25px;
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 5px;
}
.ball {
  display: inline-block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 50%;
  position: relative;
}
.ball:before {
  content: "";
  position: absolute;
  top: 1%;
  left: 5%;
  width: 90%;
  height: 90%;
  border-radius: 50%;
  filter: blur(5px);
  z-index: 2;
}
.ball,
.ball.grey {
  background: radial-gradient(circle at 20% 20%, #eee, #A5A2A2 100%);
}
.ball.green {
  background: radial-gradient(circle at 20% 20%, #52CC52, #5F7D25 100%);
}
.ball.yellow {
  background: radial-gradient(circle at 20% 20%, #FEF600, #D8AF1E 100%);
}
.ball.red {
  background: radial-gradient(circle at 20% 20%, #DE1919, #9E605E 100%);
}
.ball.blue {
  background: radial-gradient(circle at 20% 20%, #233ead, #6475b9 100%);
}
@media print {
  #statusBar {
    display: none;
  }
}
#statusMonitorContainer {
  height: 100%;
  box-sizing: border-box;
  overflow-y: scroll;
  padding: 10px;
}
#dashboardContentsContainer {
  overflow-y: hidden;
}
ptips-status-monitor-table {
  display: block;
  padding-bottom: 20px;
}
ptips-status-monitor-table td {
  height: 36px;
}
ptips-status-messages {
  margin: 0 auto;
}
ptips-status-light {
  display: block;
  float: left;
  position: relative;
}
.column-width-one {
  width: 38px;
  max-width: 38px;
}
.column-width-two {
  width: 76px;
  max-width: 76px;
}
.column-width-three {
  width: 114px;
  max-width: 114px;
}
#statusBarLights {
  float: right;
  margin-right: 5px;
  margin-top: -3px;
}
#statusBarLights .ball {
  height: 22px;
  width: 22px;
  margin-top: 2px;
}
.statusLightContainer {
  width: 30px;
  height: 30px;
  padding: 4px;
}
.status-monitor-table .footer {
  text-align: center;
}
.statusMonitorEntityRowCell {
  font-size: 1.4em;
}
.statusMonitorEntityRowCell.red,
.statusLightContainer.red {
  background-color: #F2DCDA;
}
.statusMonitorEntityRowCell.yellow,
.statusLightContainer.yellow {
  background-color: #FFC;
}
.statusMonitorEntityRowCell.gray,
.statusLightContainer.gray {
  background-color: #F2F2F2;
}
.statusMonitorEntityRowCell.green,
.statusLightContainer.green {
  background-color: #EBF1DF;
}
.statusMonitorEntityRowCell.blue,
.statusLightContainer.blue {
  background-color: #CEDDF1;
}
ptips-status-monitor-table table {
  padding: 5px;
}
.status-monitor-table > thead > tr,
.status-monitor-table > tbody > tr {
  border-top: 2px solid white;
  border-bottom: 2px solid white;
}
.status-monitor-table td:not(:last-child):not(.status-monitor-organisation) {
  border-right: 1px solid white;
}
.status-monitor-table td:not(:first-child):not(.status-monitor-sys-error-msg) {
  border-left: 1px solid white;
}
.status-monitor-table th:first-child {
  padding: 0 10px 0 10px;
  min-width: 300px;
  max-width: 700px;
}
ptips-status-monitor-table th {
  padding: 2px 2px 5px 2px;
}
ptips-status-monitor-table th:not(:first-child) {
  text-align: center;
}
.statusMessages {
  width: 300px;
  float: left;
  padding: 4px 5px 0 5px;
  height: 100%;
}
.statusMessages h3 {
  font-size: 1.3em;
  float: left;
  margin-top: 3px;
}
.statusMessages time {
  float: right;
}
.statusMessagesPageScroller,
.statusMessagesPageCount {
  float: right;
  display: inline-block;
  margin: 3px;
}
.statusMessagesPageScroller a {
  color: black;
}
.statusMessagesPageScroller a:hover {
  text-decoration: none;
}
.statusMessagesPageScroller {
  bottom: 3px;
  position: relative;
  font-size: 1.7em;
  letter-spacing: -6px;
  line-height: 12px;
}
.status-monitor-body {
  display: table;
  width: 100%;
}
.status-monitor-table {
  display: table-cell;
  float: none;
  height: 900px;
}
.pink-shader {
  background-color: #FCEBDD;
}
.blue-shader {
  background-color: #EAEFF5;
}
.pink-shader .statusLightContainer {
  padding: 2px;
  margin-left: 2px;
  margin-top: 2px;
}
.blue-shader .statusLightContainer {
  padding: 2px;
  margin-left: 2px;
  margin-top: 2px;
}
.monitor-0,
.monitor-1,
.monitor-4 {
  padding-left: 20px;
}
.angled {
  max-width: 36px;
  transform: translate(5px, 31px) rotate(-67.5deg);
  transform-origin: 0% 0%;
  white-space: nowrap;
  overflow: visible;
  text-align: center;
}
.angled span {
  padding: 8px 50px 10px 12px;
}
.angled.monitor-0 {
  transform: translate(17px, 47px) rotate(-67.5deg);
}
.angled.monitor-1 {
  transform: translate(17px, 47px) rotate(-67.5deg);
}
.angled.monitor-4 {
  transform: translate(17px, 47px) rotate(-67.5deg);
}
.row-status-container {
  height: 38px;
  width: 38px;
}
.ball .ptipsicon {
  font-size: 1.6em;
  color: white;
  line-height: 1.5;
  margin-left: 5px;
}
.status-monitor-organisation {
  width: 250px;
  padding: 0px 10px 0px 10px;
}
.status-monitor-sys-error-msg {
  font-size: 0.7em;
  text-align: right;
  font-style: italic;
  white-space: pre;
  padding: 0px 10px 0px 10px;
}
.status-monitor-table-frame {
  padding-top: 60px;
  padding-right: 30px;
  overflow: hidden;
}
.multi-select {
  display: inline-block;
}
.multi-select .option.select-all {
  border: 0 solid darkgrey;
  border-bottom-width: 1px;
}
.multi-select .dropdown-menu {
  margin-top: 0;
  padding: 5px;
  max-height: 300px;
  overflow-y: auto;
}
.multi-select .multi-select-toggle {
  padding-right: 8px;
  padding-left: 8px;
}
.multi-select .multi-select-search {
  margin-bottom: 8px;
}
.multi-select .ptipsicon {
  vertical-align: middle;
  margin-right: 10px;
  font-size: 1.3em;
}
.multi-select-wide > .multi-select .btn-group > .btn:first-child {
  min-width: 150px;
}
.border-radius-3 {
  border-radius: 3px !important;
}
.dropdown-caret {
  float: right;
  margin-top: 5px;
  margin-left: 15px !important;
}
.pt-multiselect-selected-row {
  width: 100%;
  height: 1.5em;
  padding-top: 10px;
  padding-left: 10px;
}
#btn-filter-depot {
  margin-left: 0;
}
#btn-filter-route {
  margin-left: 0;
}
.filter-panel .filter-btn-group {
  width: 300px;
}
.filter-panel .btn-group {
  padding-bottom: 10px;
}
.filter-panel .filter-panel-content {
  padding: 10px;
  min-width: 256px;
  font-size: 9px;
}
.filter-panel .filter-panel-content hr {
  margin-top: 10px;
  margin-bottom: 10px;
}
.filter-panel .filter-panel-content .filter-panel-subtext {
  margin-bottom: 10px;
  padding: 5px;
  font-size: smaller;
}
.filter-panel .filter-panel-content .filter-panel-body select {
  min-height: 210px;
  margin-bottom: 10px;
  width: 100%;
  box-shadow: none;
}
.filter-panel .filter-panel-content .filter-panel-buttons {
  height: 34px;
}
.filter-panel .filter-btn {
  width: 205px;
}
.filter-panel .filter-btn-caret {
  width: 25px;
}
.filter-panel .filter-btn-single {
  padding-right: 0;
}
.filter-panel .filter-btn-single .filter-btn {
  padding-right: 12px;
}
.filter-error {
  padding: 5px;
  width: 245px;
  margin: 0 0 10px 0;
}
.filter-badge-container {
  padding-top: 8px;
}
.global-filter-badge-container {
  padding-top: 1px;
}
.dynamic-filter-badge-container {
  padding-top: 2px;
}
.filter-badge {
  min-width: 80px;
  cursor: pointer;
  background-color: #FFA403;
  color: #FFF;
  font-weight: normal;
  padding: 1px;
  vertical-align: middle;
  max-height: 400px;
  min-height: 15px;
  margin-bottom: 2px;
}
.filter-badge .filter-badge-type {
  margin: 1px 6px;
  line-height: 12px;
  font-size: 11px;
}
.filter-badge .popover {
  color: #333;
}
.filter-badge.disabled {
  background-color: #D8D8D8;
}
.filter-badge-content {
  max-height: 400px;
  overflow-y: auto;
  font-size: 14px;
}
.popover > .filter-error {
  padding: 5px;
  margin: 10px 10px 0 10px;
}
.popover-container {
  display: inline-block;
  padding-left: 15px;
}
.popover-container .popover {
  min-width: 120px;
}
.popover-container .popover.bottom {
  margin-top: 5px;
}
.popover-container.popover-overflow .filter-badge-content {
  overflow-y: scroll;
}
.filter-panel.outer-filter.popover {
  max-width: 950px;
}
.filter-panel-standard-filters {
  width: 580px;
  float: left;
}
.filter-panel-standard-filters-left {
  width: 290px;
  float: left;
}
.filter-panel-standard-filters-right {
  width: 290px;
  float: left;
}
.filter-panel-my-filters {
  width: 290px;
  float: left;
}
.outer-filter > .filter-panel-content > .filter-panel-body {
  min-height: 240px;
  clear: both;
}
.outer-filter > .filter-panel-content > .filter-panel-body h3 {
  font-size: 14px;
  margin-top: 5px;
  padding-bottom: 10px;
}
.filter-panel-standard-filters-bus-details {
  width: 258px;
}
.filter-panel-standard-filters-bus-details i {
  font-size: 20px;
  float: left;
}
.filter-panel-standard-filters-bus-details label span {
  font-weight: normal;
  display: block;
  float: left;
  margin-left: 5px;
  margin-top: 3px;
}
.filter-panel-standard-filters-bus-details hr {
  margin-top: 10px;
  margin-bottom: 15px;
}
.filter-panel-standard-filters-status {
  width: 258px;
}
.filter-panel-standard-filters-status i {
  font-size: 20px;
  float: left;
  visibility: hidden;
}
.filter-panel-standard-filters-status label.on-off span {
  font-weight: normal;
  display: block;
  float: left;
  margin-left: 5px;
}
.filter-panel-standard-filters-status input.on-off ~ label.on-off {
  background-position: top right;
}
.filter-panel-standard-filters-status > div {
  margin-bottom: 5px;
}
.filter-panel-standard-filters-status .checkboxOptionCaption {
  font-size: 0.9em;
  margin-left: 0;
}
.filter-panel-standard-filters-trip-assignment {
  margin-top: 10px;
}
.filter-panel-standard-filters-trip-assignment i {
  visibility: hidden;
}
.filter-panel-standard-filters-trip-assignment label {
  font-weight: normal;
  display: block;
  float: left;
  padding: 3px;
  margin-bottom: 0;
}
.filter-panel-standard-filters-trip-assignment label.on-off {
  padding: 0;
}
.filter-panel-standard-filters-trip-assignment input[type=checkbox] {
  float: left;
}
.filter-panel-my-filters {
  border-left: 1px solid #eee;
  padding-left: 20px;
  min-height: 280px;
}
.filter-panel-header {
  position: absolute;
  right: 10px;
}
.filter-panel-header i {
  float: right;
  font-size: 20px;
  cursor: pointer;
  color: #444;
}
.filter-panel-header i:hover {
  color: #000;
}
.filter-panel-standard-filters-status .dropdown-menu {
  font-size: 13px;
}
.lateStatusIcon {
  border-radius: 6px;
  background-color: #0070c0;
  width: 12px;
  height: 12px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.earlyStatusIcon {
  border-radius: 6px;
  background-color: #c00000;
  width: 12px;
  height: 12px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.onTimeStatusIcon {
  border-radius: 6px;
  background-color: #393;
  width: 12px;
  height: 12px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.betweenTripsStatusIcon {
  border-radius: 6px;
  background-color: #ffc000;
  width: 12px;
  height: 12px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.unidentifiedTripStatusIcon {
  border-radius: 6px;
  background-color: #fff;
  width: 12px;
  height: 12px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.offRouteStatusIcon {
  width: 12px;
  height: 12px;
  position: relative;
  top: 1px;
  display: inline-block;
}
.offRouteStatusIcon div {
  position: absolute;
  height: 12px;
  width: 6px;
  border: 1px solid black;
}
.offRouteStatusIcon div.red {
  background-color: red;
}
.offRouteStatusIcon div:first-child {
  border-radius: 0 12px 12px 0;
  transform: rotate(45deg);
  left: 4.248px;
  background-color: #c00000;
}
.offRouteStatusIcon div:last-child {
  border-radius: 6px 0 0 6px;
  transform: rotate(45deg);
  top: -4.248px;
  background-color: #fff;
}
.lateStatusIconSmall {
  border-radius: 3px;
  background-color: #0070c0;
  width: 6px;
  height: 6px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.earlyStatusIconSmall {
  border-radius: 3px;
  background-color: #c00000;
  width: 6px;
  height: 6px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.onTimeStatusIconSmall {
  border-radius: 3px;
  background-color: #393;
  width: 6px;
  height: 6px;
  border: 1px solid black;
  display: inline-block;
  position: relative;
  top: 1px;
}
.disabledStatusIconSmall {
  border-radius: 3px;
  background-color: #D8D8D8;
  width: 6px;
  height: 6px;
  border: 1px solid #C7C7C7;
  display: inline-block;
  position: relative;
  top: 1px;
}
.filter-panel-standard-filters-status .multi-select .btn-group {
  padding-bottom: 0;
}
.global-filter-tooltip-helper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
#globalFilter {
  padding-left: 10px;
}
#globalFilter .btn-group > .btn + .dropdown-toggle {
  padding-right: 3px;
  padding-left: 6px;
}
.nav .btn {
  padding: 6px 10px;
}
.nav .btn .caret {
  margin-left: -4px;
}
pt-tree-view-table {
  display: block;
  width: 100%;
  overflow-y: auto;
}
.treeViewTable {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.treeViewTable > thead {
  background-color: #d8d8d8;
}
.treeViewTable > thead > tr > th {
  padding: 0;
}
.treeViewTable > tbody {
  background-color: #EAEFF5;
}
.treeViewTable > tbody > tr > td {
  padding: 0;
}
.treeViewTableHeader {
  border: 1px solid #888;
}
.treeViewTableHeaderData {
  margin: 0;
  padding: 0;
}
.treeViewTableHeaderData,
.treeViewTableHeaderFilter,
.treeViewTableHeaderToolbar {
  float: left;
}
.treeViewTableHeaderFilter {
  margin-top: 3px;
  margin-left: 30px;
}
.treeViewTableHeaderData > li {
  float: left;
  list-style-type: none;
  padding: 0 20px 0 0;
}
.treeViewTableHeaderToolbar {
  padding: 0;
  list-style-type: none;
  margin: 0 50px 0 0;
}
.treeViewTableHeaderToolbar > li {
  float: left;
  width: 27px;
  height: 25px;
  line-height: 30px;
  font-size: 20px;
  background-color: #f2f2f2;
  padding: 0;
  text-align: center;
  border: 1px solid #888;
  margin-right: -1px;
  margin-top: 1px;
}
.treeViewTableHeaderData .treeViewTableHeaderTitle {
  font-size: 0.8em;
}
.treeViewTableDataHeader .treeViewTableHeaderValue {
  font-size: 1.4em;
  line-height: 16px;
}
.treeViewTableDataHeader {
  padding: 5px 5px;
  margin-bottom: -1px;
  border: 1px solid #888;
  line-height: 19px;
  font-size: 1.1em;
}
.treeViewTableDataHeader.green {
  color: #393;
}
.treeViewTableDataIcon {
  width: 20px;
  float: left;
}
.treeViewTableDataContent {
  float: left;
  width: calc(100% - 20px);
}
.treeViewTableDataIcon,
.thirdLevelDataIcon,
.toolbarButton {
  cursor: pointer;
}
.treeViewTableDataTableContainer {
  width: 100%;
  overflow: hidden;
  max-height: 0;
}
.treeViewTable tr.headerless .treeViewTableDataTableContainer {
  max-height: inherit;
}
.treeViewTableDataTableContainer.open {
  max-height: 20000px;
}
.treeViewTableDataTable {
  width: 100%;
}
.treeViewTableDataTable td,
.treeViewTableDataTable th {
  border: 1px solid #888;
  padding: 5px;
}
.treeViewTableDataTable th {
  background-color: #f2f2f2;
  font-size: 0.9em;
}
.treeViewTableDataTable td {
  font-size: 0.9em;
}
.treeViewTableDataIcon {
  font-size: 16px;
}
.thirdLevelDataIcon {
  width: 16px;
  float: left;
  height: 14px;
}
.thirdLevelDataContent {
  float: left;
}
.thirdLevelDataIcon.invisible {
  visibility: hidden;
}
.treeViewTableDataTableContainer tbody.even {
  background-color: white;
}
.treeViewTableDataTableContainer tbody.odd {
  /* leave as original bg color */
}
.noRecordsMessage {
  padding: 10px;
  display: block;
  width: auto;
  margin: 20px auto;
  transition: opacity 0.5s ease;
}
.noRecordsMessage h3 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.noRecordsMessage h3 i {
  margin-top: 5px;
  font-size: 20px;
  vertical-align: middle;
}
.noRecordsMessage h3 span {
  padding-left: 10px;
  font-size: 14px;
  line-height: 26px;
  vertical-align: middle;
}
.noRecordsMessage p {
  text-indent: 36px;
}
.noRecordsMessage:after {
  content: '';
  display: block;
  clear: both;
}
.loadingMessage {
  padding: 10px;
  display: block;
  margin: 20px auto;
  transition: opacity 0.5s ease;
}
.loadingMessage h3 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.loadingMessage h3 i {
  vertical-align: middle;
  height: 100%;
  font-size: 18px;
}
.loadingMessage h3 span {
  font-size: 14px;
  vertical-align: middle;
  display: inline-block;
}
.loadingMessage h3 span:first-of-type {
  padding-left: 10px;
}
.loadingMessage p {
  text-indent: 30px;
}
.loadingMessage:after {
  content: '';
  display: block;
  clear: both;
}
.loadingErrorMessage {
  background-color: #bb3333;
  padding: 10px;
  display: inline-block;
  margin-top: 3px;
  color: white;
}
.noRecordsMessage p,
.loadingMessage p,
.loadingErrorMessage p {
  margin: 0;
}
.headerProperties {
  font-size: 0.8em;
}
.highlight-text {
  font-weight: bold;
  background-color: yellow;
}
.results-toolbar {
  line-height: 18px;
}
.searchActivated.containsRowMatch .treeViewTableDataTableContainer,
.searchActivated.containsSubrowMatch .treeViewTableDataTableContainer {
  max-height: 10000px;
}
.searchActivated .subRow.containsSubrowMatch {
  display: table-row;
}
.tree-view-table-context-menu {
  width: 100%;
}
.shift-report {
  height: 100%;
}
.shift-report .operator-name {
  font-size: 1.2em;
}
.shift-report .well {
  margin: 0 5px 0 5px;
}
.shift-report .popover {
  max-width: 50%;
}
#shiftReportTreeViewTable {
  height: calc(100% - 106px);
}
#loadMoreResults {
  margin: 5px 2px;
}
.subRow {
  display: none;
}
.driverIdCell {
  width: 50px;
}
.driverShiftCell {
  width: 50px;
}
.driverEndedTripCell {
  width: 40px;
}
.tripEndCell {
  width: 110px;
}
.driverStartedTripCell {
  width: 40px;
}
.tripStartCell {
  width: 110px;
}
.vehicleIdCell {
  width: 55px;
}
.reportedTripsCell {
  width: 85px;
}
.routeCell {
  width: 90px;
}
@media (min-width: 768px) {
  .driverEndedTripCell {
    width: 95px;
  }
  .driverStartedTripCell {
    width: 100px;
  }
}
.small-form-group {
  width: 150px;
}
.small-form-group input[type=text] {
  width: inherit;
}
.resetFormListItem {
  position: relative;
  bottom: 5px;
  font-size: 20px;
  color: black;
  cursor: pointer;
  vertical-align: middle;
  transition: color 1s ease;
}
.resetFormListItem:hover {
  color: red;
  cursor: pointer;
}
.results-summary {
  background-color: #eee;
}
.shift-report-summary-bar {
  background-color: #eee;
  padding: 5px;
  min-height: 45px;
  border-bottom: 3px solid white;
  border-top: 3px solid white;
}
.shiftReportFilterContainer .input-group {
  float: right;
  width: 300px;
}
.shiftReportFilterContainer .radio-input-group {
  margin-top: 7px;
  width: 320px;
}
.shiftReportFilterContainer label {
  font-weight: normal;
  margin: 0 10px 0 2px;
}
.shiftReportFilterContainer input[type='radio'] {
  position: relative;
  top: 2px;
}
#shift-report-help-button {
  margin-left: 2px;
}
.uib-datepicker table,
.uib-datepicker * {
  box-sizing: border-box;
}
.uib-datepicker table tr button,
.uib-datepicker * tr button {
  margin-left: 0;
}
.vehicle-summary-view {
  height: 100%;
  overflow: auto;
}
.vehicle-summary-view .filter-panel-standard-filters-status {
  padding: 10px;
}
.vehicle-summary-view .filter-panel-standard-filters-status .disabled {
  opacity: 0.5;
}
.summary-table .vehicle-menu-item {
  font-weight: bold;
}
.summary-table-filter-btn {
  font-size: 15px;
  padding: 6px 9px;
  height: 16px;
  line-height: 1.42857143;
}
.vehicle-summary-toolbar-soften {
  color: darkgrey;
}
.vehicle-summary-form .multi-select .dropdown-menu {
  max-height: 210px;
  font-size: inherit;
}
.vehicle-summary-form .multi-select .dropdown-menu label {
  font-weight: inherit;
}
#vehicle-summary-help-button {
  padding: 6px 9px;
  height: 16px;
}
#vehicle-summary-help-button span {
  position: relative;
  bottom: 3px;
}
#bus-stop-history-right-toolbar {
  width: calc(100% - 48px);
  margin-right: 3px;
  vertical-align: middle;
}
.transitStopTreeViewTable {
  height: calc(100% - 54px);
}
.transitStopHistory {
  height: 100%;
}
.transitStopHistory .scheduleTimeCell {
  width: 78px;
}
.transitStopHistory .routeCell {
  width: 65px;
}
.transitStopHistory .rvvStartDateCell {
  width: 78px;
}
.transitStopHistory .rvvExpiryDateCell {
  width: 85px;
}
.transitStopHistory .shiftStartDateCell {
  width: 81px;
}
.transitStopHistory .shiftExpiryDateCell {
  width: 90px;
}
.transitStopHistory .lastReportedCell {
  width: 102px;
}
.mta {
  overflow: hidden;
  margin-bottom: 20px;
}
.mta .loading-indicator {
  content: url('../../img/animated-loading-16x16.gif');
  display: flex;
  align-items: center;
  padding: 3px;
}
.mta .loading-indicator div {
  padding: 3px;
}
.mta .vehicle-list,
.mta .trip-list {
  height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
}
.mta .vehicle-list li,
.mta .trip-list li {
  padding: 5px 2px;
}
.mta .vehicle-list li .icon-container,
.mta .trip-list li .icon-container {
  vertical-align: top;
}
.mta .vehicle-list li .content-container,
.mta .trip-list li .content-container {
  line-height: 18px;
  padding-left: 5px;
}
.mta .vehicle-list li .content-container,
.mta .trip-list li .content-container,
.mta .vehicle-list li .icon-container,
.mta .trip-list li .icon-container {
  display: inline-block;
}
.mta .vehicle-list li:nth-child(odd),
.mta .trip-list li:nth-child(odd) {
  background-color: #f5f5f5;
}
.mta .vehicle-list li.selected,
.mta .trip-list li.selected {
  background-color: #1e90ff;
  color: white;
}
.mta .vehicle-list li.selected a,
.mta .trip-list li.selected a {
  color: white;
}
.mta .trip-list li {
  width: 100%;
  line-height: 18px;
  padding: 5px 2px;
}
.mta .mta-view-container {
  padding: 5px;
  overflow: hidden;
}
.mta .assignment-box {
  display: flex;
  align-items: center;
  justify-content: center;
  float: left;
  border: 1px solid black;
  border-radius: 8px;
  padding: 10px;
  background-color: #eaeff5;
  border-color: #8db1e2;
  height: 36px;
}
.mta .assignment-box.medium {
  width: calc(50% - 150px);
}
.mta .assignment-box.large {
  width: calc(50% - 100px);
}
.mta .assignment-box.error {
  background-color: #f2dcda !important;
  color: #923931;
  border-color: #923931;
}
.mta .assignment-box.unselected {
  color: #5a82b4;
}
#mtaTreeViewTable {
  height: calc(100% - 98px);
}
#mta-assignment-container {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
#mta-assignment-container button {
  display: block;
  float: left;
  margin-left: 0 !important;
  line-height: 19px;
  height: 24px;
}
#mta-assignment-container button .ptipsicon {
  font-size: 16px;
  position: relative;
  top: 2px;
}
.mta-assignment-line {
  width: 50px;
  border-color: #8db1e2;
  display: block;
  position: relative;
  bottom: -2.4em;
  height: 30px;
  float: left;
  margin: 0;
}
.mta-assignment-button-container {
  margin-top: 12px;
}
.modal-error {
  background-color: #c05046;
  color: white;
  border-radius: 5px 5px 0 0;
}
.vehicle-list,
.trip-list {
  border: 1px solid #ccc;
  cursor: default;
  margin-top: 5px;
}
pt-mta-trip-filter-panel .mtaFilterTitle,
pt-mta-vehicle-filter-panel .mtaFilterTitle {
  position: relative;
}
pt-mta-trip-filter-panel .mtaFilterTitle h3,
pt-mta-vehicle-filter-panel .mtaFilterTitle h3 {
  margin: 0;
  position: absolute;
  bottom: 0;
  font-size: 18px;
}
pt-mta-trip-filter-panel .filter-panel-standard-filters-status,
pt-mta-vehicle-filter-panel .filter-panel-standard-filters-status {
  padding: 10px;
}
pt-mta-trip-filter-panel > section,
pt-mta-vehicle-filter-panel > section {
  display: flex;
  flex-direction: row;
}
pt-mta-trip-list header,
pt-mta-vehicle-list header {
  min-width: 80px;
}
pt-mta-trip-list > div,
pt-mta-vehicle-list > div {
  min-width: 70px;
}
pt-mta-search-filter {
  margin-top: 5px;
  display: block;
}
.mta-depot-selection {
  width: 100%;
  text-align: right;
}
pt-lozenges {
  flex: 1;
  padding: 7px;
}
pt-lozenges .lozenge-container {
  display: inline-block;
  float: right;
  margin: 0 5px;
}
pt-lozenges .popover-container {
  padding-left: 0;
}
.route-history {
  height: 100%;
}
.route-history .treeViewTableDataIcon {
  margin: 8px 0 8px 0;
}
#routeHistoryTreeViewTable {
  height: calc(100% - 54px);
}
#routeHistoryTreeViewTable .driver-cell {
  min-width: 75px;
}
#routeHistoryTreeViewTable .date-cell {
  min-width: 120px;
}
#routeHistoryTreeViewTable .shift-cell {
  min-width: 70px;
}
#routeHistoryTreeViewTable .route-variant-cell {
  min-width: 85px;
}
#routeHistoryTreeViewTable .trip-state-cell {
  width: 84px;
}
#routeHistoryTreeViewTable .vehicle-cell {
  min-width: 70px;
}
.route-header {
  width: 100%;
  line-height: 16px;
  font-size: 0.8em;
  color: #333;
}
.route-variant-header {
  float: left;
}
.route-sub-header {
  font-size: 1.2em;
  color: #000;
}
.shift-header {
  float: left;
}
.route-history-filter-container .input-group {
  float: right;
  width: 300px;
}
.genisys {
  margin-left: calc(50% - 10px);
  width: 20px;
  height: 32px;
  background: #FFF url("../../img/genisys.png") no-repeat;
}
.genisys.genisys-animate {
  -webkit-animation: 3s rotateRight infinite linear;
}
.pt-scroll-container {
  display: flex;
  overflow-x: hidden;
}
.pt-scroll-content {
  width: calc(100% - 40px);
  float: left;
  overflow: hidden;
  flex: 1;
}
.pt-scroll-btn {
  padding: 5px;
  border-radius: 0;
  height: 23px;
  font-size: 8px;
}
.user-menu {
  display: inline-block;
}
.user-menu .user-name {
  font-size: 14px;
}
.user-menu .glyphicon-user {
  font-size: 19px;
  margin-right: 8px;
  top: 3px;
  position: relative;
}
.user-menu .app-version {
  padding: 5px 20px;
  font-size: 10px;
  color: #D3D3D3;
}
.user-menu .app-version-title {
  font-size: 12px;
}
.user-menu ul > li .ptipsicon,
.user-menu ul > li .glyphicon {
  font-size: 18px;
  margin-right: 8px;
  top: 3px;
  position: relative;
}
.user-menu .dropdown-menu .divider {
  position: relative;
  left: 46px;
  width: calc(100% - 46px);
  margin: 5px 0;
}
#orbsStatsContainer {
  padding: 10px;
  margin: 0px;
  width: calc(100% - 20px);
  height: calc(100% - 10px);
  overflow-x: hidden;
  overflow-y: hidden;
  display: block !important;
  white-space: nowrap !important;
  float: none !important;
}
.orbsVehicleDetailBdcTripTimeInactive {
  color: #d81c1c;
}
.orbsVehicleDetailTripDiv {
  top: -69px;
  position: relative;
}
.orbsVehicleDetailTripTitle {
  top: 50px;
  left: 0px;
  position: relative;
}
.orbsVehicleDetailTripStatusInfoNoData {
  left: 17px;
  top: 28px;
  position: relative;
}
.orbsVehicleDetailTripStatusRightButton {
  left: 15px;
  top: 22px;
  position: relative;
  z-index: 1;
}
.orbsVehicleDetailTripStatusLeftButton {
  top: 56px;
  position: relative;
  z-index: 10;
  left: 1845px;
}
.orbsFlatButton {
  border-style: none;
  background: none;
  outline: none;
}
.orbsFlatButton :focus {
  background: none;
  outline: none;
  border-style: none;
}
.orbsVehicleDetailTripStatusTrackingButton {
  left: 1090px;
  top: 410px;
  position: absolute;
  z-index: 10;
}
.outerVehicleDetailTripStatus {
  position: relative;
  top: -10px;
}
.outerVehicleDetailTripStatusNB {
  position: relative;
  top: 61px;
}
.innerVehicleDetailTripStatus {
  overflow-x: hidden;
  overflow-y: hidden;
  width: 1693px;
  margin-left: 111px;
}
table.orbsVehicleDetailTripStatus {
  table-layout: fixed;
}
table.orbsVehicleDetailTripStatus th {
  border: 1px solid #ccc;
  padding: 5px;
  height: 19px;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  left: 78px;
}
table.orbsVehicleDetailTripStatus td {
  border: 1px solid #ccc;
  padding: 5px;
  vertical-align: middle;
  text-align: center;
}
.centerSpinner {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
}
.orbsVehicleDetailTripStatusFont100 {
  font-size: 11px !important;
  position: relative;
  z-index: 20;
}
.orbsVehicleDetailTripStatusNoData {
  left: 18px;
  position: absolute;
}
.orbsTrackingButton {
  height: 20px;
  width: 114px;
  margin-bottom: 10px;
  padding: 5px;
  font-size: 14px;
}
.orbsVehicleDetailTripStatusLegend {
  left: 101px;
  top: 420px;
  position: absolute;
  table-layout: fixed;
  width: 50%;
}
.orbsVehicleDetailTripStatusLegend td {
  top: -19px;
  left: -25px;
  position: relative;
}
.orbsVehicleDetailTripStatusManualStop {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background: url('../../img/stop_sprite.png') -33px -1px !important;
  color: #ffffff;
  background-repeat: no-repeat;
}
.orbsVehicleDetailTripStatusCurrentStop {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background: url('../../img/stop_sprite.png');
  border: 1px double #d81c1c !important;
  color: #d81c1c !important;
}
.orbsVehicleDetailTripStatusManualStopCurrentStop {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background: url('../../img/stop_sprite.png') -66px 0px !important;
  border: 1px double #d81c1c !important;
  color: #d81c1c !important;
  background-repeat: no-repeat;
}
.orbsTripStatusStopDetailButton {
  border: 0px;
  margin: 0px;
  padding: 0px;
  background-color: transparent;
  position: relative;
  z-index: 20;
}
.orbsPopoverContent {
  max-width: 401px;
  color: black;
  padding: 5px;
}
.orbsVehicleDetailTripStatusLeftActive {
  height: 30px;
  width: 30px;
  text-align: center;
  vertical-align: middle;
  background-repeat: no-repeat;
}
.orbsVehicleDetailTripStatusLeftInactive {
  height: 30px;
  width: 30px;
  text-align: center;
  vertical-align: middle;
  background-repeat: no-repeat;
}
.orbsVehicleDetailTripStatusRightActive {
  height: 30px;
  width: 30px;
  text-align: center;
  vertical-align: middle;
  background-repeat: no-repeat;
}
.orbsVehicleDetailTripStatusRightInactive {
  height: 30px;
  width: 30px;
  text-align: center;
  vertical-align: middle;
  background-repeat: no-repeat;
}
.orbsVehicleDetailTripStatusError {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #F87A6B;
}
.orbsVehicleDetailTripStatusWarning {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #F8F274;
}
.orbsVehicleDetailTripStatusOk {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #97F898;
}
.orbsVehicleDetailTripStatusManualLegend {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #7c019b;
  border-radius: 50%;
}
.orbsVehicleDetailTripStatusUnknown {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #e2e2e2;
}
.orbsVehicleDetailTripStatusNoStop {
  height: 19px;
  width: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #ffffff;
}
.orbsVehicleSummaryContainer {
  height: 500px;
  overflow-x: hidden;
  overflow-y: auto;
}
.orbsVehicleSummaryBg {
  width: 1150px;
}
table.orbsVehicleSummary {
  table-layout: fixed;
  width: 1100px;
  overflow-x: hidden;
  overflow-y: auto;
  /* When table-layout is fixed, CSS does magic to prioritise widths in these proportions */
}
table.orbsVehicleSummary tr:hover td {
  background-color: #ecf3f8;
}
table.orbsVehicleSummary th.faultName {
  height: 150px;
  width: 5px;
  border-bottom: solid white 2px;
  font-weight: bold;
  white-space: nowrap;
}
table.orbsVehicleSummary th.faultLevel {
  border: solid white 2px;
  text-align: center;
}
table.orbsVehicleSummary th > .rotate {
  width: 230px;
  height: 20px;
  position: relative;
  top: -67px;
  transform: rotate(-45deg) translate(-23px, 52px);
  border-bottom: 2px solid #eee;
  left: -18px;
  padding-bottom: 4px;
}
table.orbsVehicleSummary th.sortable {
  cursor: pointer;
}
table.orbsVehicleSummary th,
table.orbsVehicleSummary td {
  padding-top: 2px;
  padding-left: 3px;
  padding-right: 3px;
  padding-bottom: 2px;
  font-weight: normal;
}
table.orbsVehicleSummary th.col-hdr-vehicle-filter {
  width: 44px;
  text-align: left;
  height: 40px;
  font-weight: bold;
  font-size: medium;
  border-bottom: solid white 2px;
  white-space: nowrap;
}
table.orbsVehicleSummary th.col-vehicle-filter {
  background-color: #eee;
}
table.orbsVehicleSummary th.col-hdr-route-id {
  width: 13px;
  text-align: center;
}
table.orbsVehicleSummary th.col-hdr-fault-name {
  height: 150px;
  width: 5px;
  border-bottom: solid white 2px;
  font-weight: bold;
  white-space: nowrap;
}
table.orbsVehicleSummary th.col-hdr-inactive {
  width: 5px;
  border-bottom: solid white 2px;
  font-weight: bold;
  white-space: nowrap;
}
table.orbsVehicleSummary th.col-name-route-id {
  border: solid white 2px;
  text-align: center;
  width: 13px;
  background-color: #eee;
}
table.orbsVehicleSummary th.col-name-inactive {
  width: 60px;
}
table.orbsVehicleSummary td.col-value-vehicle-filter {
  width: 65px;
}
table.orbsVehicleSummary td.col-value-route-id {
  width: 20px;
  text-align: center;
  background-color: #f5f5f5;
}
table.orbsVehicleSummary td.col-width-orbs-ball {
  width: 8px;
  height: 8px;
}
table.orbsVehicleSummary td {
  position: relative;
  border: 2px solid white;
}
table.orbsVehicleSummary td > div {
  font-size: 20px;
  font-weight: bold;
  color: white;
  text-align: center;
}
table.orbsVehicleSummary .odd td {
  background-color: #fdfdfd;
}
table.orbsVehicleSummary tbody {
  overflow: scroll;
  height: 300px;
}
table.orbsVehicleSummary .col-vehicle {
  text-align: left;
  width: 210px;
  height: 20px;
  font-weight: bold;
  font-size: small;
}
table.orbsVehicleSummary .deviation {
  padding-left: 2px;
}
table.orbsVehicleSummary .inlineDate {
  font-size: x-small;
}
.orbsVehicleFieldContainer {
  table-layout: fixed;
  width: 1880px;
  line-height: calc(34px - 1px);
}
.orbsVehicleFieldContainer label {
  background: #404040;
  color: white;
  display: block;
  font-weight: normal;
  padding-left: 10px;
  margin-bottom: 0px;
  font-size: 12px;
  font-family: "Open Sans", sans-serif;
}
.orbsVehicleFieldContainer td {
  padding-left: 10px;
  width: 250px;
  vertical-align: top;
  border: 1px solid #eaeaea;
  font-size: 12px;
  font-family: "Open Sans", sans-serif;
}
.orbsDepotFieldContainer div {
  height: 57px;
}
.orbsDepotFieldContainer label {
  display: block;
  font-size: small;
  font-weight: normal;
  padding-top: 0px;
  margin-bottom: 0px;
}
.orbsDepotFieldContainer span {
  font-size: medium;
  font-weight: bold;
}
.orbsDepotFieldContainer td {
  padding-left: 10px;
  vertical-align: top;
}
div#fleetStatusLegendContainer table {
  left: 130px;
  position: relative;
  width: 34%;
  text-align: left;
}
div#fleetStatusLegendContainer > table > tbody > tr td.legendColorBox > div[style] {
  border: 0px solid #858585 !important;
}
div#fleetStatusLegendContainer > table > tbody > tr td.legendLabel {
  text-align: left;
}
#bvReadinessCanvas {
  margin-left: 20px;
  width: 200px;
  height: calc(100% - 87px);
  color: #ccc;
}
div#newBvReadinessContainer .bvReadinessTitle {
  margin-bottom: 19px;
}
div#bvReadinessLegendContainer table {
  left: 15px;
  position: relative;
  width: 34%;
  text-align: center;
}
div#bvReadinessLegendContainer > table > tbody > tr td.legendColorBox > div[style] {
  border: 0px solid #858585 !important;
}
div#bvReadinessLegendContainer > table > tbody > tr td.legendLabel {
  text-align: left;
}
div#organisationLegendContainer > table > tbody > tr td.legendColorBox > div[style] {
  border: 0px solid #858585 !important;
}
div#organisationLegendContainer > table > tbody > tr td.legendLabel {
  text-align: left;
}
div#organisationVehiclesLegendContainer > table > tbody > tr td.legendColorBox > div[style] {
  border: 0px solid #858585 !important;
}
div#organisationVehiclesLegendContainer > table > tbody > tr td.legendLabel {
  text-align: left;
}
div#organisationLegendContainer table {
  left: 15px;
  position: relative;
  width: 17%;
  text-align: left;
}
div#organisationVehiclesLegendContainer table {
  left: 15px;
  position: relative;
  width: 18%;
  text-align: left;
}
.orbsVehicleTripDetailContainer {
  table-layout: fixed;
  width: 1880px;
  line-height: calc(34px - 1px);
  position: relative;
  top: 47px;
}
.orbsVehicleTripDetailContainer label {
  background: #404040;
  color: white;
  display: block;
  font-weight: normal;
  padding-left: 10px;
  margin-bottom: 0px;
  font-size: 12px;
  font-family: "Open Sans", sans-serif;
}
.orbsVehicleTripDetailContainer td {
  border: 1px solid #eaeaea;
  padding-left: 10px;
  vertical-align: top;
  font-size: 12px;
  font-family: "Open Sans", sans-serif;
}
.col-route {
  width: 100px;
}
.col-service {
  width: 500px;
}
.col-occupancy {
  width: 100px;
}
.col-boarded {
  width: 100px;
}
.col-alighted {
  width: 100px;
}
.col-message {
  width: 980px;
}
.orbsVehicleStatusEmptyActiveFaultsTable {
  width: 1880px;
  height: 235px;
  background: #EEE;
  position: relative;
  top: 0px;
}
.orbsVehicleStatusEmptyActiveFaultsTableText {
  left: 18px;
  position: absolute;
}
.orbsVehicleStatusEmptyTripStatusTable {
  width: 1880px;
  height: 235px;
  background: #EEE;
  position: relative;
  top: 46px;
}
.orbsActiveFaultsContainer {
  position: relative;
  top: 50px;
  line-height: calc(34px - 1px);
}
.orbsActiveFaultsContainer .headerPositioned {
  padding-top: 34px;
  position: relative;
  width: 1880px;
  background: #404040;
  height: 0px;
}
.orbsActiveFaultsContainer .scrollContainer {
  overflow-y: auto;
  overflow-x: hidden;
  height: 288px;
}
.orbsActiveFaultsContainer label {
  display: block;
  font-size: small;
  font-weight: normal;
}
.orbsActiveFaultsContainer table {
  table-layout: fixed;
  width: 100%;
}
.orbsActiveFaultsContainer th {
  background-color: #3c3c3c;
  color: white;
  border: 1px solid #eaeaea;
  font-size: 12px;
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
}
.orbsActiveFaultsContainer th > div {
  top: 0;
}
.orbsActiveFaultsContainer th > .th-inner {
  margin-left: 0px;
  line-height: 31px;
  cursor: pointer;
}
.orbsActiveFaultsContainer td {
  background-color: white;
  position: relative;
  border: 1px solid #eaeaea;
  font-size: 12px;
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  padding-left: 10px !important;
}
.orbsActiveFaultsContainer .col-small {
  width: 50px;
}
.orbsBallCenter {
  left: 8% !important;
  top: 5px;
}
.orbsBallContainer {
  text-align: center;
}
.orbsBall {
  display: inline-block;
  width: 23px;
  height: 23px;
  margin: 0;
  border-radius: 50%;
  position: relative;
  left: 15%;
}
.orbsBall.old-stamp {
  font-size: 140%;
}
.orbsBall.ok {
  background: radial-gradient(circle at 20% 20%, #52CC52, #5F7D25 100%);
}
.orbsBall.medium {
  background: radial-gradient(circle at 20% 20%, yellow, #F0A132);
  background-color: #FFC;
}
.orbsBall.high {
  background: radial-gradient(circle at 20% 20%, #FF5F5A, #851000 100%);
  background-color: #F2DCDA;
}
.orbsBall.low {
  background: radial-gradient(circle at 20% 20%, #789CF1, #002895 100%);
}
.orbsBall.inActive {
  background: radial-gradient(circle at 20% 20%, #EAECF1, #747781 100%);
}
.orbsLevel.high {
  color: #DA5758;
}
.orbsLevel.medium {
  color: #F5CC1A;
}
.orbsLevel.ok {
  color: #64BF50;
}
.orbsLevel.low {
  color: #506CF0;
}
.orbsLevel.inActive {
  color: #DEDDE6;
}
.orbsLevelBg {
  background-color: #f5f5f5;
  padding-bottom: 3px;
}
.orbsLevelBg.high {
  background-color: #F2DCDA;
}
.orbsLevelBg-high-filter {
  background-color: #F28D82 !important;
}
.orbsLevelBg.medium {
  background-color: #FFC;
}
.orbsLevelBg-medium-filter {
  background-color: #FCFFA5 !important;
}
.orbsLevelBg.ok {
  background-color: #EBF1DF;
}
.orbsLevelBg-ok-filter {
  background-color: #D1F1AB !important;
}
.orbsLevelBg.low {
  background-color: #CEDDF1;
}
.orbsLevelBg-low-filter {
  background-color: #90D1F1 !important;
}
.orbsLevelBg.inActive {
  background-color: #DEDDE6;
}
.orbsLevelBg-inActive-filter {
  background-color: #BBBAC3 !important;
}
.inActiveTh {
  padding-top: 4px;
  padding-left: 0px !important;
  padding-right: 0px !important;
  font-size: 80%;
}
div#organisationDepotChartsContainer {
  margin-top: 40px;
  height: 450px;
  overflow-y: auto;
}
div#organisationStatusFilterControlContainer {
  position: absolute;
  bottom: 70px;
  margin-left: 20px;
}
div#organisationChartsContainer {
  position: absolute;
  top: 0;
  width: 100%;
}
div#fleetStatusFilterControlContainer {
  margin: 0;
}
div#fleetStatusVehicleControlContainer {
  float: left;
  width: 20%;
  margin-left: 7%;
  overflow: hidden;
}
div#fleetStatusModeDisplayControlContainer {
  float: left;
  width: 20%;
  overflow: hidden;
  margin-left: 7% ;
}
div.depot-vehicle-state-selection {
  border: 1px solid darkgray;
  padding: 30px 5px 30px 10px;
  width: 90%;
  height: 100%;
}
div.depot-vehicle-state-selection div {
  height: 30px;
}
div.depot-vehicle-state-selection label span {
  font-size: smaller;
}
div.depot-vehicle-state-selection label > span > span.text-align-right {
  float: right;
  font-size: small;
  padding-right: 60px;
}
/** ON/OFF with div and ng-src img rather than background image **/
input.on-off-img {
  opacity: 0;
  width: 0;
  height: 0;
}
label.on-off-img {
  cursor: pointer;
}
label.on-off-img[disabled] {
  cursor: default;
  opacity: 0.65;
}
label.on-off-img > img {
  width: 3.5em;
}
/**
 * ON/OFF-style checkboxes and radio buttons.
 *
 * N.B. Apply the .on-off class to BOTH the <input> AND its <label>.
 * N.B. The <input> MUST be placed BEFORE its <label> in the HTML, even though the on/off switch will appear after it.
 */
input.on-off ~ label.on-off {
  margin: 0;
  clear: none;
  cursor: pointer;
  width: 100%;
  /* Use em so the image scales with the text */
  border-right: 4em;
  background-size: 3.5em auto;
  background-repeat: no-repeat;
  background-position: center right;
  background-image: url('../../img/off_126x46.png');
}
input.on-off:checked ~ label.on-off {
  background-image: url('../../img/on_126x46.png');
}
/* Make the <input> itself invisible but functional. */
input.on-off {
  opacity: 0;
  width: 0;
  height: 0;
}
label.on-off > i {
  padding: 5px;
}
.vehicle-icon {
  margin: 5px;
  height: 16px;
  width: 16px;
  background-image: url('../../img/bus-icons-states-sprite.png');
  display: inline-flex;
  vertical-align: sub;
}
.vehicle-icon-INACTIVE {
  background-position: 0px 0px;
}
.vehicle-icon-IGNITION_OFF {
  background-position: -16px 0px;
}
.vehicle-icon-DISCONNECTED {
  background-position: 16px 0px;
}
.vehicle-icon-ON_TIME {
  background-position: 0px;
}
.vehicle-icon-EARLY {
  background-position: 16px;
}
.vehicle-icon-LATE {
  background-position: -16px;
}
.vehicle-icon-NOT_ON_TRIP {
  background-position: 0px 16px;
}
.vehicle-icon-BETWEEN_TRIPS {
  background-position: -16px 16px;
}
.vehicle-icon-OFF_ROUTE {
  background-position: 16px 16px;
}
.vehicle-icon-special {
  margin: 5px;
  height: 16px;
  width: 16px;
  background-image: url('../../img/special_bus-icons-states-sprite.png');
  display: inline-flex;
  vertical-align: sub;
}
.vehicle-icon-special-INACTIVE {
  background-position: 0px 0px;
}
.vehicle-icon-special-IGNITION_OFF {
  background-position: -16px 0px;
}
.vehicle-icon-special-DISCONNECTED {
  background-position: 16px 0px;
}
.vehicle-icon-special-ON_TIME {
  background-position: 0px;
}
.vehicle-icon-special-EARLY {
  background-position: 16px;
}
.vehicle-icon-special-LATE {
  background-position: -16px;
}
.vehicle-icon-special-NOT_ON_TRIP {
  background-position: 0px 16px;
}
.vehicle-icon-special-BETWEEN_TRIPS {
  background-position: -16px 16px;
}
.vehicle-icon-special-OFF_ROUTE {
  background-position: 16px 16px;
}
.slider-label {
  text-align: center;
  font-size: 18px;
}
rzslider {
  margin-top: 20px;
}
rzslider .rz-pointer:after {
  background: none !important;
}
rzslider .rz-limit {
  display: none;
}
rzslider .rz-ticks {
  top: -13px;
  padding: 0 15px;
}
rzslider .rz-ticks .tick {
  width: 2px;
  height: 38px;
  visibility: hidden;
}
rzslider .rz-ticks .tick.default {
  visibility: visible;
}
rzslider .rz-ticks .tick span.small-title {
  top: 25px;
  margin-left: 10px;
}
rzslider .rz-bubble {
  bottom: -48px;
  font-size: 18px;
}
rzslider .rz-pointer {
  top: -11px;
  background: #c4c4c4;
  background: radial-gradient(ellipse at center, #c4c4c4 0%, #bdbdbd 14%, #dbdbdb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#c4c4c4', endColorstr='#dbdbdb', GradientType=1);
}
rzslider .rz-bar {
  height: 10px;
  border-radius: 5px;
  background: #a8a6a8;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #a8a6a8), color-stop(32%, #a8a6a8), color-stop(64%, #c7c7c7), color-stop(89%, #f6f6f6), color-stop(100%, #ffffff));
  background: linear-gradient(to bottom, #a8a6a8 0%, #a8a6a8 32%, #c7c7c7 64%, #f6f6f6 89%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a8a6a8', endColorstr='#ffffff', GradientType=0);
}
rzslider.late-slider .rz-bar.rz-selection {
  background: #7497cc;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #7497cc), color-stop(15%, #7497cc), color-stop(50%, #537ebf), color-stop(85%, #7497cc), color-stop(100%, #7497cc));
  background: linear-gradient(to bottom, #7497cc 0%, #7497cc 15%, #537ebf 50%, #7497cc 85%, #7497cc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7497cc', endColorstr='#7497cc', GradientType=0);
  border-radius: 5px;
}
rzslider.late-slider .tick {
  background: #7497cc !important;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #7497cc), color-stop(15%, #7497cc), color-stop(50%, #537ebf), color-stop(85%, #7497cc), color-stop(100%, #7497cc)) !important;
  background: linear-gradient(to bottom, #7497cc 0%, #7497cc 15%, #537ebf 50%, #7497cc 85%, #7497cc 100%) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7497cc', endColorstr='#7497cc', GradientType=0) !important;
}
rzslider.late-slider .tick span.small-title {
  color: #7497cc;
}
rzslider.early-slider .rz-bar.rz-selection {
  background: #b55752;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #b55752), color-stop(15%, #b55752), color-stop(50%, #983d36), color-stop(85%, #b55752), color-stop(100%, #b55752));
  background: linear-gradient(to bottom, #b55752 0%, #b55752 15%, #983d36 50%, #b55752 85%, #b55752 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b55752', endColorstr='#b55752', GradientType=0);
  border-radius: 5px;
}
rzslider.early-slider .tick {
  background: #b55752 !important;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #b55752), color-stop(15%, #b55752), color-stop(50%, #983d36), color-stop(85%, #b55752), color-stop(100%, #b55752)) !important;
  background: linear-gradient(to bottom, #b55752 0%, #b55752 15%, #983d36 50%, #b55752 85%, #b55752 100%) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b55752', endColorstr='#b55752', GradientType=0) !important;
}
rzslider.early-slider .tick span.small-title {
  color: #b55752;
}
.glyphicon-spin {
  animation: spin 1s infinite ease;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.ptipsicon.disabled {
  color: #CCC;
  cursor: default;
}
/* reset everything to the default box model */
*,
:before,
:after {
  box-sizing: content-box;
}
/* set a border-box model only to elements that need it */
.container,
.container-fluid,
.form-control,
.row,
.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12,
.input-group-addon {
  box-sizing: border-box;
}
/**
 * Created by morrowd on 5/08/2014.

 Bootstrap build version: 3.0.3

    The styles defined here allow a navbar to be responsive w.r.t. its container rather than the screen. See http://confluence.transport.nsw.gov.au/display/PTIPS/Container+Responsive+Navbar for details.
 */
/*@media (min-width: 768px) {*/
.navbar-cr-right-expanded .dropdown-menu-expanded {
  right: 0 !important;
  left: auto !important;
}
/*}*/
.navbar-cr {
  position: relative;
  min-height: 50px;
  margin-bottom: 20px;
  border: 1px solid transparent;
}
.navbar-cr:before,
.navbar-cr:after {
  display: table;
  content: " ";
}
.navbar-cr:after {
  clear: both;
}
.navbar-cr:before,
.navbar-cr:after {
  display: table;
  content: " ";
}
.navbar-cr:after {
  clear: both;
}
/*@media (min-width: 768px) {*/
.navbar-cr-expanded {
  border-radius: 4px !important;
}
/*}*/
.navbar-cr-header:before,
.navbar-cr-header:after {
  display: table;
  content: " ";
}
.navbar-cr-header:after {
  clear: both;
}
.navbar-cr-header:before,
.navbar-cr-header:after {
  display: table;
  content: " ";
}
.navbar-cr-header:after {
  clear: both;
}
/*@media (min-width: 768px) {*/
.navbar-cr-header-expanded {
  float: left !important;
}
/*}*/
.navbar-cr-collapse {
  max-height: 340px;
  padding-right: 15px;
  padding-left: 15px;
  overflow-x: visible;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-cr-collapse:before,
.navbar-cr-collapse:after {
  display: table;
  content: " ";
}
.navbar-cr-collapse:after {
  clear: both;
}
.navbar-cr-collapse:before,
.navbar-cr-collapse:after {
  display: table;
  content: " ";
}
.navbar-cr-collapse:after {
  clear: both;
}
.navbar-cr-collapse.in {
  overflow-y: auto;
}
/*@media (min-width: 768px) {*/
.navbar-cr-collapse-expanded {
  width: auto !important;
  border-top: 0 !important;
  box-shadow: none !important;
}
.navbar-cr-collapse-expanded.collapse {
  display: block !important;
  height: auto !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
}
.navbar-cr-collapse-expanded.in {
  overflow-y: visible !important;
}
/*}*/
.container > .navbar-cr-header,
.container > .navbar-cr-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
/*@media (min-width: 768px) {*/
.container > .navbar-cr-header-expanded,
.container > .navbar-cr-collapse-expanded {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
/*}*/
.navbar-cr-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
.navbar-cr-brand {
  float: left;
  padding: 15px 15px;
  font-size: 18px;
  line-height: 20px;
}
.navbar-cr-brand:hover,
.navbar-cr-brand:focus {
  text-decoration: none;
}
/*@media (min-width: 768px) {*/
.navbar-cr-expanded > .container .navbar-cr-brand-expanded {
  margin-left: -15px !important;
}
/*}*/
.navbar-cr-toggle {
  position: relative;
  float: right;
  padding: 9px 10px;
  margin-top: 8px;
  margin-right: 15px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.navbar-cr-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-cr-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
/*@media (min-width: 768px) {*/
.navbar-cr-toggle-expanded {
  display: none !important;
}
/*}*/
.navbar-cr-nav {
  margin: 7.5px -15px;
}
.navbar-cr-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}
/*@media (max-width: 767px) {*/
.navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed {
  position: static !important;
  float: none !important;
  width: auto !important;
  margin-top: 0 !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.navbar-cr-nav-collapsed .open .dropdown-menu > li > a,
.navbar-cr-nav-collapsed .open .dropdown-menu .dropdown-header {
  padding: 5px 15px 5px 25px !important;
}
.navbar-cr-nav-collapsed .open .dropdown-menu > li > a {
  line-height: 20px !important;
}
.navbar-cr-nav-collapsed .open .dropdown-menu > li > a:hover,
.navbar-cr-nav-collapsed .open .dropdown-menu > li > a:focus {
  background-image: none !important;
}
/*}*/
/*@media (min-width: 768px) {*/
.navbar-cr-nav-expanded {
  float: left !important;
  margin: 0 !important;
}
.navbar-cr-nav-expanded > li {
  float: left !important;
}
.navbar-cr-nav-expanded > li > a {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}
.navbar-cr-nav-expanded.navbar-cr-right:last-child {
  margin-right: -15px !important;
}
/*}*/
/*@media (min-width: 768px) {*/
.navbar-cr-left-expanded {
  float: left !important;
}
.navbar-cr-right-expanded {
  float: right !important;
}
/*}*/
.navbar-cr-form {
  padding: 10px 15px;
  margin-top: 8px;
  margin-right: -15px;
  margin-bottom: 8px;
  margin-left: -15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
}
/*@media (min-width: 768px) {*/
.navbar-cr-form-expanded .form-group-expanded {
  display: inline-block !important;
  margin-bottom: 0 !important;
  vertical-align: middle !important;
}
.navbar-cr-form-expanded .form-control-expanded {
  display: inline-block !important;
  width: auto !important;
  vertical-align: middle !important;
}
.navbar-cr-form-expanded select.form-control-expanded {
  width: auto !important;
}
.navbar-cr-form-expanded .radio-expanded,
.navbar-cr-form-expanded .checkbox-expanded {
  display: inline-block !important;
  padding-left: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.navbar-cr-form-expanded .radio-expanded input[type="radio"],
.navbar-cr-form-expanded .checkbox-expanded input[type="checkbox"] {
  float: none !important;
  margin-left: 0 !important;
}
/*}*/
/*@media (max-width: 767px) {*/
.navbar-cr-form-collapsed .form-group-collapsed {
  margin-bottom: 5px !important;
}
/*}*/
/*@media (min-width: 768px) {*/
.navbar-cr-form-expanded {
  width: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.navbar-cr-form-expanded.navbar-cr-right:last-child {
  margin-right: -15px;
}
/*}*/
.navbar-cr-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-cr-nav > li > .dropdown-menu {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-cr-nav.pull-right > li > .dropdown-menu,
.navbar-cr-nav > li > .dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.navbar-cr-btn {
  margin-top: 8px;
  margin-bottom: 8px;
}
.navbar-cr-btn.btn-sm {
  margin-top: 10px;
  margin-bottom: 10px;
}
.navbar-cr-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
}
.navbar-cr-text {
  margin-top: 15px;
  margin-bottom: 15px;
}
/*@media (min-width: 768px) {*/
.navbar-cr-text-expanded {
  float: left !important;
  margin-right: 15px !important;
  margin-left: 15px !important;
}
.navbar-cr-text-expanded.navbar-cr-right:last-child {
  margin-right: 0 !important;
}
/*}*/
.navbar-cr-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-cr-default .navbar-cr-brand {
  color: #777777;
}
.navbar-cr-default .navbar-cr-brand:hover,
.navbar-cr-default .navbar-cr-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-cr-default .navbar-cr-text {
  color: #777777;
}
.navbar-cr-default .navbar-cr-nav > li > a {
  color: #777777;
}
.navbar-cr-default .navbar-cr-nav > li > a:hover,
.navbar-cr-default .navbar-cr-nav > li > a:focus {
  color: #333333;
  background-color: transparent;
}
.navbar-cr-default .navbar-cr-nav > .active > a,
.navbar-cr-default .navbar-cr-nav > .active > a:hover,
.navbar-cr-default .navbar-cr-nav > .active > a:focus {
  color: #555555;
  background-color: #e7e7e7;
}
.navbar-cr-default .navbar-cr-nav > .disabled > a,
.navbar-cr-default .navbar-cr-nav > .disabled > a:hover,
.navbar-cr-default .navbar-cr-nav > .disabled > a:focus {
  color: #cccccc;
  background-color: transparent;
}
.navbar-cr-default .navbar-cr-toggle {
  border-color: #dddddd;
}
.navbar-cr-default .navbar-cr-toggle:hover,
.navbar-cr-default .navbar-cr-toggle:focus {
  background-color: #dddddd;
}
.navbar-cr-default .navbar-cr-toggle .icon-bar {
  background-color: #cccccc;
}
.navbar-cr-default .navbar-cr-collapse,
.navbar-cr-default .navbar-cr-form {
  border-color: #e7e7e7;
}
.navbar-cr-default .navbar-cr-nav > .open > a,
.navbar-cr-default .navbar-cr-nav > .open > a:hover,
.navbar-cr-default .navbar-cr-nav > .open > a:focus {
  color: #555555;
  background-color: #e7e7e7;
}
/*@media (max-width: 767px) {*/
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > li > a {
  color: #777777 !important;
}
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > li > a:hover,
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > li > a:focus {
  color: #333333 !important;
  background-color: transparent !important;
}
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .active > a,
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .active > a:hover,
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .active > a:focus {
  color: #555555 !important;
  background-color: #e7e7e7 !important;
}
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .disabled > a,
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .disabled > a:hover,
.navbar-cr-default-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .disabled > a:focus {
  color: #cccccc !important;
  background-color: transparent !important;
}
/*}*/
.navbar-cr-default .navbar-cr-link {
  color: #777777;
}
.navbar-cr-default .navbar-cr-link:hover {
  color: #333333;
}
.navbar-cr-inverse {
  background-color: #222222;
  border-color: #080808;
}
.navbar-cr-inverse .navbar-cr-brand {
  color: #999999;
}
.navbar-cr-inverse .navbar-cr-brand:hover,
.navbar-cr-inverse .navbar-cr-brand:focus {
  color: #ffffff;
  background-color: transparent;
}
.navbar-cr-inverse .navbar-cr-text {
  color: #999999;
}
.navbar-cr-inverse .navbar-cr-nav > li > a {
  color: #999999;
}
.navbar-cr-inverse .navbar-cr-nav > li > a:hover,
.navbar-cr-inverse .navbar-cr-nav > li > a:focus {
  color: #ffffff;
  background-color: transparent;
}
.navbar-cr-inverse .navbar-cr-nav > .active > a,
.navbar-cr-inverse .navbar-cr-nav > .active > a:hover,
.navbar-cr-inverse .navbar-cr-nav > .active > a:focus {
  color: #ffffff;
  background-color: #080808;
}
.navbar-cr-inverse .navbar-cr-nav > .disabled > a,
.navbar-cr-inverse .navbar-cr-nav > .disabled > a:hover,
.navbar-cr-inverse .navbar-cr-nav > .disabled > a:focus {
  color: #444444;
  background-color: transparent;
}
.navbar-cr-inverse .navbar-cr-toggle {
  border-color: #333333;
}
.navbar-cr-inverse .navbar-cr-toggle:hover,
.navbar-cr-inverse .navbar-cr-toggle:focus {
  background-color: #333333;
}
.navbar-cr-inverse .navbar-cr-toggle .icon-bar {
  background-color: #ffffff;
}
.navbar-cr-inverse .navbar-cr-collapse,
.navbar-cr-inverse .navbar-cr-form {
  border-color: #101010;
}
.navbar-cr-inverse .navbar-cr-nav > .open > a,
.navbar-cr-inverse .navbar-cr-nav > .open > a:hover,
.navbar-cr-inverse .navbar-cr-nav > .open > a:focus {
  color: #ffffff;
  background-color: #080808;
}
/*@media (max-width: 767px) {*/
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .dropdown-header {
  border-color: #080808 !important;
}
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed .divider-collapsed {
  background-color: #080808 !important;
}
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > li > a {
  color: #999999 !important;
}
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > li > a:hover,
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > li > a:focus {
  color: #ffffff !important;
  background-color: transparent !important;
}
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .active > a,
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .active > a:hover,
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .active > a:focus {
  color: #ffffff !important;
  background-color: #080808 !important;
}
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .disabled > a,
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .disabled > a:hover,
.navbar-cr-inverse-collapsed .navbar-cr-nav-collapsed .open-collapsed .dropdown-menu-collapsed > .disabled > a:focus {
  color: #444444 !important;
  background-color: transparent !important;
}
/*}*/
.navbar-cr-inverse .navbar-cr-link {
  color: #999999;
}
.navbar-cr-inverse .navbar-cr-link:hover {
  color: #ffffff;
}
.route-summary-plot-container {
  width: 100%;
}
.route-summary-vehicle-count-box {
  width: 100%;
}
.route-summary-plot-box {
  width: 100%;
  height: 22px;
  border: 1px solid lightgrey;
  padding: 2px;
}
.route-summary-line {
  margin: 0 auto;
  width: 100%;
  border-left: 1px solid dimgrey;
  border-right: 1px solid dimgrey;
  height: 16px;
  padding-top: 8px;
}
.route-summary-line hr {
  margin: 0 auto;
  width: 100%;
  border-color: dimgrey;
}
.route-summary-plot {
  position: relative;
  width: calc(100% - 16px);
  height: 18px;
  left: 1px;
  top: -15px;
}
.route-summary-plot-vehicle {
  position: absolute;
  top: 0px;
  width: 14px;
  height: 14px;
  border-radius: 7px;
  background: #339933;
  border: 1px solid black;
}
.between-trips {
  background: #FFC000;
}
.late {
  background: #0070C0;
}
.early {
  background: #C00000;
}
.on-time {
  background: #339933;
}
.inactive {
  background: grey;
}
.route-summary-plot-wait {
  margin: 20px auto 0;
  height: 16px;
  width: 16px;
  text-align: center;
  vertical-align: middle;
  background-image: url('../../img/animated-loading-16x16.gif');
}
.route-summary-plot-wait img {
  display: inline;
}
.route-summary-min-max-container {
  margin-top: 10px;
  width: 300px;
}
.route-summary-min-max-container div div dl dt {
  font-size: xx-small;
}
@media print {
  .gmnoprint {
    display: block!important;
  }
  img {
    max-width: none!important;
  }
}
.user-preferences-body.modal-body {
  padding: 0 20px;
}
.user-preferences-body .nav-pills {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  float: left;
  width: 33.33333333%;
  box-sizing: border-box;
  float: left !important;
  border-bottom: none;
}
.user-preferences-body .nav-pills > li > a {
  color: #333333;
}
.user-preferences-body .nav-pills > li > a:hover {
  border: none;
}
.user-preferences-body .nav-pills > li.active > a,
.user-preferences-body .nav-pills > li.active > a:hover,
.user-preferences-body .nav-pills > li.active > a:focus {
  border: none;
  color: #fff;
  background-color: #337ab7;
}
.user-preferences-body .tab-content {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  float: left;
  width: 66.66666667%;
  box-sizing: border-box;
  float: left !important;
  min-height: 350px;
  padding: 8px;
  border-left: 1px solid #ddd;
}
.user-preferences-body .tab-content hr {
  margin-top: 0;
}
.user-preferences-tab-content {
  padding: 10px 5px;
}
.user-preferences-tab-content .ptipsicon {
  position: relative;
  top: 2px;
  font-size: 14px;
}
#vehicle-display-demo-icon {
  margin-top: 15px;
}
.filter-panel-standard-filters-trip-status {
  padding-left: 10px;
  padding-right: 10px;
  margin-top: 10px;
  font-size: inherit;
  font-weight: inherit;
}
.filter-panel-standard-filters-time-window {
  padding-left: 10px;
  padding-right: 10px;
}
.trip-summary-view {
  height: 100%;
  overflow: auto;
}
.time-window-filter-panel {
  border: 0;
}
.time-window-filter-panel .time-window {
  width: 257px;
  height: 130px;
  overflow: hidden;
  font-size: 12px;
}
.option-panel div .time-window-filter-panel {
  padding: 0;
}
.trip-summary-filter-input {
  max-width: 1300px;
}
.trip-summary-filter-input .input-group input {
  width: 400px;
}
.trip-status-filter-panel {
  padding: 10px;
  width: 237px;
}
.trip-status-filter-btn {
  margin-top: 10px;
}
.trip-status-filter-label {
  margin-top: 5px;
}
.trip-summary-lozenge-container {
  display: inline-block;
  vertical-align: middle;
  padding-top: 4px;
}
.trip-summary-lozenge-container pt-lozenges {
  padding: 0px;
}
.trip-summary-lozenge {
  margin: 0 auto;
}
.trip-status-badge {
  width: 70px;
  color: #FFF !important;
  font-weight: normal;
  text-align: center;
}
.trip-status-badge.ACTIVE {
  background-color: #90D246 !important;
}
.trip-status-badge.OVERDUE {
  background-color: #5089D6 !important;
}
.trip-status-badge.SCHEDULED {
  background-color: #CE9B00 !important;
}
.trip-status-badge.CANCELLED {
  background-color: #7E62A0 !important;
}
.trip-status-badge.P_CANCELLED {
  background-color: #53169E !important;
}
.trip-status-badge.INCOMPLETE {
  background-color: #61261E !important;
}
.trip-status-badge.COMPLETED {
  background-color: #7F7F7F !important;
}
.trip-status-badge.UNSEEN {
  background-color: #1D457F !important;
}
.assign-trip-filter-panel-container {
  padding: 10px;
  min-width: 200px;
}
.depot-selection {
  width: 100%;
  text-align: right;
}
.depot-selection button {
  width: 180px;
}
.std-selection {
  margin-top: 10px;
}
.filter-badge.smart-filter-badge {
  background-color: #77659F;
}
.progress-container {
  position: relative;
  width: 100%;
  margin-bottom: 70px;
  top: 10px;
}
.progress-container .progress-bar-line {
  position: absolute;
  left: 10px;
  top: 8px;
  border-top: 4px solid #AB98C0;
  width: calc(100% - 20px);
}
.progress-container .progress-bar-line.progress-bar-line-done {
  border-top: 4px solid #712AA1;
}
.progress-container .progress-left {
  left: 0;
}
.progress-container .progress-right {
  right: 0;
}
.progress-container .progress-point {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  z-index: 10;
}
.progress-container .progress-current {
  background: #AB98C0;
  border: 5px solid #712AA1;
}
.progress-container .progress-todo {
  background: #FFF;
  border: 5px solid #AB98C0;
}
.progress-container .progress-done {
  background: #712AA1;
  border: 5px solid #712AA1;
}
.progress-container .progress-labels {
  position: absolute;
  top: 30px;
  left: 0;
  width: calc(100% - 5px);
}
.trip-cancel-reason-selection-container {
  margin: 0px 5px 0 0;
}
.trip-cancel-reason-selection-container textarea {
  height: 100px;
}
.trip-cancel-reason-selection-container .validation-info {
  color: darkgrey;
}
.trip-cancel-reason-selection-container .validation-error {
  color: #923931;
}
.bulk-stop-cancel-m1-reason-selection-container {
  margin: 0px 5px 0 0;
}
.bulk-stop-cancel-m1-reason-selection-container textarea {
  height: 100px;
}
.bulk-stop-cancel-m1-reason-selection-container .validation-info {
  color: darkgrey;
}
.bulk-stop-cancel-m1-reason-selection-container .validation-error {
  color: #923931;
}
.vehicle-selection-container {
  margin: 0px 5px 0 0;
}
.vehicle-selection-container > section {
  display: flex;
  flex-direction: row;
}
.vehicle-selection-container header {
  min-width: 80px;
}
.vehicle-selection-container > div {
  min-width: 70px;
}
.vehicle-selection-container pt-lozenges {
  padding-top: 27px;
}
.vehicle-selection-container .filter-btn {
  padding-top: 13px;
}
.confirm-assign-trip-container {
  margin: 70px 5px 0 0;
}
.confirm-unassign-trip-container {
  margin: 10px 5px 0 0;
}
.text-search-vehicle-list {
  width: 100%;
}
.assign-vehicle-list {
  height: 300px;
  width: 100%;
}
.assign-vehicle-list .vehicle-list {
  border-radius: 5px;
  height: 300px;
  overflow-y: auto;
}
.assign-vehicle-list .vehicle-list > div {
  height: 250px;
  position: relative;
}
.assign-vehicle-list .vehicle-list > div > i {
  position: absolute;
  top: calc(50% - 25px);
  transform: translateX(-50%);
  left: calc(50% - 25px);
  font-size: 50px;
}
.assign-vehicle-list .vehicle-list li .icon-container {
  vertical-align: top;
}
.assign-vehicle-list .vehicle-list li .content-container {
  line-height: 24px;
  padding-left: 5px;
}
.assign-vehicle-list .vehicle-list li .content-container,
.assign-vehicle-list .vehicle-list li .icon-container {
  display: inline-block;
}
.assign-vehicle-list .vehicle-list li:nth-child(odd) {
  background-color: #f5f5f5;
}
.assign-vehicle-list .vehicle-list li.selected {
  background-color: #1e90ff;
  color: white;
}
.assign-vehicle-list .vehicle-list li.selected a {
  color: white;
}
.assigned-vehicle {
  padding: 10px;
  border: 1px solid #DDD;
  border-radius: 5px;
  margin-top: 20px;
}
.assigned-vehicle .vehicle-icon {
  margin: 0;
}
.unselected {
  color: #999;
}
.action-panel span {
  padding-left: 10px;
}
.trip-cancel-reason {
  word-break: break-all;
}
.trip-summary-form .multi-select .dropdown-menu {
  max-height: 210px;
  font-size: inherit;
}
.trip-summary-form .multi-select .dropdown-menu label {
  font-weight: inherit;
}
#trip-summary-help-button {
  padding: 6px 9px;
  height: 16px;
}
#trip-summary-help-button span {
  position: relative;
  bottom: 3px;
}
.trip-cancel-tsn-detail select {
  width: 70%;
}
.trip-cancel-type {
  display: inline;
  font-size: 14px;
}
.trip-cancel-tsn-detail select option:disabled {
  background-color: #d4d4d4;
}
.trip-cancel-confirm-title,
.trip-cancel-type-title,
.trip-cancel-type-title h5 {
  display: inline;
}
.config-update-container {
  width: 40%;
}
.bulk-cancel-container {
  display: flex;
  gap: 50px;
}
.bulk-cancel-left-container {
  width: 30%;
}
.bulk-stop-cancel-right-container {
  width: 40%;
}
.bulk-stop-cancel-left-container {
  width: 40%;
}
.bulk-cancel-mid-container {
  margin-top: 12%;
  width: 30%;
}
.bulk-cancel-mid-container-reinstate {
  margin-top: 10%;
  width: 30%;
}
.bulk-cancel-stop-mid-container {
  width: 30%;
}
.bulk-stop-cancel-m1-container {
  display: flex;
  gap: 50px;
}
.bulk-stop-cancel-m1-left-container {
  width: 30%;
}
.bulk-stop-cancel-m1-mid-container {
  margin-top: 12%;
  width: 30%;
}
.red-star {
  color: #923931;
}
.bulk-cancel-right-container {
  width: 30%;
}
.bulk-cancel-input {
  width: 100%;
}
.bulk-cancel-input-reason {
  margin-left: 5px;
}
.bulk-cancel-input-reason-text {
  width: 60%;
  text-align: right;
}
.bulk-stop-cancel-m1-right-container {
  width: 30%;
}
.bulk-stop-cancel-m1-input {
  width: 100%;
}
.bulk-stop-cancel-m1-input-reason {
  margin-left: 5px;
}
.bulk-stop-cancel-m1-input-reason-text {
  width: 60%;
  text-align: right;
}
.single-select-item a {
  cursor: default;
  color: black;
  display: block ;
  padding-left: 2.5px;
  padding-top: 2.5px;
}
.single-select-item a:hover {
  background-color: cornflowerblue;
  text-decoration: none;
  color: whitesmoke;
}
.single-select-item a:link {
  text-decoration: none;
}
.confirm-bulk-ui {
  padding: 10px;
  padding-left: 20px;
}
.reinstate-preheader {
  color: #923931;
  text-align: center;
}
.reinstate-preheader-stop {
  color: #923931;
}
.col-organistaion {
  width: 90px;
}
.depot-cell {
  width: 90px;
}
.user-id-cell {
  width: 90px;
}
.shift-cell {
  width: 70px;
}
.vehicle-cell {
  width: 60px;
}
.contract-cell {
  width: 70px;
}
.route-cell {
  width: 80px;
}
.time-cell {
  width: 120px;
}
.reason-cell {
  width: 80px;
}
.description-cell {
  width: 240px;
}
.cancel-cell {
  width: 120px;
}
.tripid-cell {
  width: 70px;
}
.hw-loading {
  position: absolute;
  width: auto;
  height: auto;
  top: 40%;
  right: 20%;
  left: calc(20% + 40px);
  background-color: white;
  text-align: left;
  font-size: medium;
  padding: 10px;
  border: 1px solid grey;
}
.hw-loading .glyphicon {
  font-size: xx-large !important;
  vertical-align: middle !important;
}
.center-no-data-inbound {
  position: absolute;
  width: auto;
  height: auto;
  top: 20%;
  right: 20%;
  left: calc(20% + 40px);
  background-color: white;
  text-align: center;
  font-size: medium;
  padding: 10px;
  border: 1px solid grey;
}
.center-no-data-outbound {
  position: absolute;
  width: auto;
  height: auto;
  top: 67%;
  right: 20%;
  left: calc(20% + 40px);
  background-color: white;
  text-align: center;
  font-size: medium;
  padding: 10px;
  border: 1px solid grey;
}
.scrollable-route-variant-selection {
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
}
body {
  font-family: "Open Sans", sans-serif;
  overflow: hidden;
}
/*
 * Ng-grid
 */
.ngHeaderText {
  font-weight: 100;
}
/**
   Icon Btn & Icons
*/
.btn-toolbar {
  font-size: 18px;
}
.btn-toolbar.caret {
  min-height: 25px;
  padding-right: 3px;
}
.btn-toolbar:active,
.btn-toolbar.active {
  background-color: #363636;
  color: white;
  border-color: #363636;
}
.btn-toolbar .caret,
.btn-dropdown .caret {
  position: relative;
  vertical-align: text-top;
}
.ptipsicon-small {
  font-size: 12px;
}
/**
  UIX Framework
*/
#container {
  height: 100%;
  border-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
#verticalSplitter {
  height: 100%;
  border-width: 0;
}
#horizontalSplitter {
  height: 100%;
  border-width: 0;
}
#bottomPanel {
  height: 100%;
  border-width: 0;
}
.listBox {
  border: lightgray solid 1px;
  overflow: auto;
  padding: 10px;
}
.listBox > ul {
  -webkit-padding-start: 0px;
}
.listBox > li {
  list-style-type: none;
  -webkit-padding-start: 0px;
  border-radius: 5px 5px 5px 5px;
  border: 1px solid white;
}
.listBox > li:hover {
  background-color: lightgrey;
  border: 1px solid darkgrey;
}
.listBox > li > input,
.listBox > li > span {
  vertical-align: middle;
  padding: 0;
  margin: 0;
}
/*
 *  Padded
 */
.pad-right {
  padding-right: 16px;
}
.pad-left {
  padding-left: 16px;
}
.pad-bottom {
  padding-bottom: 16px;
}
.pad-top {
  padding-top: 16px;
}
.no-padding {
  padding: 0px;
}
.pad-left-small {
  padding-left: 10px;
}
.btn-brdr-box {
  box-sizing: border-box;
}
/**
 * Option Panels
 */
.option-panel {
  padding: 0 10px;
}
.option-panel div {
  padding-top: 6px;
  white-space: nowrap;
}
.option-panel .ptipsicon {
  padding-right: 8px;
}
.option-panel div.no-icon-small {
  padding-left: 20px;
  /* ptipsicon-small width (12px) plus the padding-right (8px) */
}
.option-panel div.suboption {
  padding-top: 2px;
}
/*
 * Info Windows (intended for re-use by multiple views such as charts and maps).
 */
div.info-window {
  display: none;
}
.info-window-wait {
  height: 16px;
  width: 16px;
  text-align: center;
  vertical-align: middle;
  background-image: url('../../img/animated-loading-16x16.gif');
}
.info-window-wait-center {
  position: fixed;
  top: 50%;
  left: 50%;
  font-size: 18px;
}
.info-window-wait img {
  display: inline;
}
.info-window-block-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
.info-window-organisationId {
  /* For both InfoWindows the organisationId is tiny, unlabelled and at the top right. */
  margin-right: 0px;
  margin-bottom: 0.5em;
  text-align: right;
  clear: both;
  font-size: 8px;
  font-weight: normal;
}
/** These can be put side-by-side in an info-window-block-container, and contain info-window-rows. */
.info-window-block {
  margin: 0 7px;
}
.info-window-row {
  display: block !important;
  white-space: nowrap !important;
  float: none !important;
}
.info-window-row dl {
  display: inline-block;
  margin: 3px 7px;
}
.info-window-row dl:first-child {
  margin-left: 0px;
}
.info-window-row dl:last-child {
  margin-right: 0px;
}
.info-window-column {
  vertical-align: top;
}
.info-window-column dl {
  display: block;
  margin-bottom: 7px;
}
.info-window-column:not('.info-window-to-be-continued') dl:last-child {
  margin-bottom: 0px;
}
.info-window-row dt,
.info-window-column dt {
  font-weight: normal;
}
.info-window-row dt,
.info-window-column dt {
  font-size: 10px;
}
.info-window-row dd,
.info-window-column dd {
  font-weight: bold;
  font-size: 15px;
}
.info-window-row dd .dd-detail,
.info-window-column dd .dd-detail {
  font-weight: normal;
  font-size: 12px;
}
.units {
  font-size: smaller;
}
/**********************************************************
 *
 * Styles specific to PTIPS views start here.
 *
 * Each view has its own subsection, which may also be
 * divided into sections. Please stick to this convention.
 *
 **********************************************************/
/*
 * Header
 */
.bg-color-unknown {
  background-color: #525252 !important;
}
.bg-color-total-vehicle {
  background-color: #828282 !important;
}
.bg-color-active-vehicle {
  background-color: #356E35 !important;
}
.bg-color-inset-vehicle {
  background-color: #FFF !important;
  color: #000;
  font-size: xx-small !important;
}
.bg-color-inset-vehicle.disabled {
  color: #D8D8D8;
}
/**
  Background styles for Route Progress directive.
*/
.bg-colour-lightgray {
  background-color: lightgray !important;
}
.bg-colour-clear {
  background-color: rgba(0, 0, 0, 0) !important;
}
/**
	Vehicle Summary Panel
*/
.ng-grid-cell-vehicleId {
  font-weight: bold;
  overflow: visible;
}
.ng-grid-cell-routeId {
  font-weight: bold;
  overflow: visible;
}
/**
	Value changed from "fixed"; see issue PWP-2935.
*/
.ngHeaderScroller {
  position: relative;
}
.scheduledOffsetBox {
  position: relative;
  top: 3px;
  left: 0;
  height: 85%;
}
.vehicleOffsetBox {
  position: relative;
  top: -17px;
  left: 0;
  height: 40%;
}
.redRow {
  color: red;
  font-weight: 500;
}
.blueRow {
  color: blue;
  font-weight: 500;
}
.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.export-dialog-button {
  margin-top: 15px;
  float: right;
}
#dashboardContentsLoading {
  position: absolute;
  top: 445px;
  right: 50%;
  z-index: 100;
  font-size: 32px;
}
.dashboardIconButton {
  cursor: pointer;
}
.status-badge-content {
  max-height: 400px;
  overflow-y: auto;
}
#messageManagerBox {
  color: #38557A;
}
#messageManagerBoxLabel {
  display: inline-block;
  margin: 20px 20px 0 55px;
}
#messageManagerBoxButton {
  display: inline-block;
}
#messageManagerBoxButton label {
  font-size: 11px;
}
.larger-text {
  font-size: 1.2em;
}
.view-container {
  padding: 10px;
}
.scrollable {
  overflow-y: auto;
  height: 100%;
}
.btn-wide {
  width: 205px;
}
.centre {
  text-align: center;
}
.has-success .btn {
  border-color: #3C763D;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .btn {
  border-color: #A94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.grid {
  border: 1px solid #d4d4d4;
  width: 100%;
}
.grid th {
  font-size: 1.2em;
  padding: 3px 0 3px 5px;
}
.grid tr {
  border: 1px solid #d4d4d4;
  background-color: #eaeaea;
}
.grid td {
  border: 1px solid #d4d4d4;
  padding-left: 2px;
  padding-bottom: 5px;
}
.grid .even-row {
  background-color: #f3f3f3;
}
.grid div {
  box-sizing: content-box;
}
.grid .cell-title {
  font-size: 1.2em;
  font-weight: bold;
}
.flex-right {
  display: flex;
  justify-content: flex-end;
}
.remove-span {
  cursor: pointer;
  padding-left: 5px;
}
.whats-new-body {
  overflow-y: auto;
  max-height: 600px;
}
.vehicle-stale {
  color: #C00000;
}
.btn-search {
  position: relative;
}
.btn-search:before {
  content: '';
  position: absolute;
  display: inline;
  top: -1px;
  left: 30px;
  left: 35px;
  width: 2px;
  bottom: -1px;
  opacity: 0.8;
  border-left: 2px solid white;
}
.btn-search span {
  margin-left: 20px;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4taVIGxA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4kaVIGxA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4saVIGxA.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4jaVIGxA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4iaVIGxA.woff2) format('woff2');
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B5caVIGxA.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B5OaVIGxA.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4vaVIGxA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4uaVIGxA.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

