html,
body {
  height: 100%;
  font-size: 14px;
  /* The html and body elements cannot have any padding or margin. */
}

.fluid-layout{
    min-width: 750px;
}

.responsive-padding {
    padding-right: 6% !important;
    padding-left: 6% !important;
}
/* We don't want form tags to break lines */
form {
   display:inline;
   margin:0;
   padding:0;
}

input.nospinner[type=number]::-webkit-outer-spin-button,
input.nospinner[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

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

.table-centered-text, .table-centered-text th, .table-centered-text td {
  text-align: center;
  vertical-align: middle !important;
}

.table-v-centered, .table-v-centered th, .table-v-centered td {
  vertical-align: middle !important;
}

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
.ng-cloak, .x-ng-cloak,
.ng-hide:not(.ng-hide-animate) {
  display: none !important;
}

.ng-invalid.ng-dirty, .ng-dirty .ng-invalid {
  border-color: red;
  outline-color: red;
}

ng\:form {
  display: block;
}

.navbar-inverse {
  background-image: linear-gradient(to bottom, #a0a0a0 0%, #868686 100%) !important;
}
.navbar-inverse a, .navbar-inverse p {
  color: white !important;
}
.navbar-inverse .dropdown-menu a {
  color: black !important;
}

.modal-xlg {
    width: 98%;
    padding: 0;
}

.modal-lg {
  min-width: 992px;
}

/* Wrapper for page content to push down footer */
#wrap {
  min-height: 100%;
  height: auto;
  /* Negative indent footer by its height */
  margin: 0 auto -40px;
  /* Pad bottom by footer height */
  padding: 0 0 60px;
}

.front-page #wrap {
  background-image: url('../img/roadgrid.jpg');
  background-size: 100% 100%;
}

.front-page .jumbotron {
  background-color: rgba(238, 238, 238, 0.8);
}

.front-page .jumbotron-signin, .front-page-minimal .jumbotron-signin {
  background-color: rgba(50, 50, 50, 0.5);
}

.jumbotron-signin {
  max-width: 400px;
  margin-left: 80px !important;
  margin-top: 80px !important;
  padding-top: 15px;
  padding-bottom: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

/* Set the fixed height of the footer here */
#footer {
  padding-top: 10px;
  height: 40px;
  background-color: #f5f5f5;
}

/* Main Page marketing message and sign up button */
.jumbotron {
  margin: 80px 0;
  text-align: center;
}

.jumbotron h1 {
  font-size: 100px;
  line-height: 1;
}
.jumbotron .lead {
  font-size: 24px;
  line-height: 1.25;
}

.jumbotron .btn-signin {
  font-size: 21px;
}

/* Sign in form */
.form-signin{
    color: #fff;
}
.form-signin .checkbox{
    text-align: left;
    padding-left: 0;
}
.form-signin .form-control{
    border-radius: 0;
}

.form-signin .bootstrap-checkbox .btn{
    margin-top: -4px;
}

/* Registration form */
.after-invitation-checked {
  display: none;
}

/* TestOrder Form */

/* Location picker */
.locationPicker-map {
  height: 500px;
}

.locationPicker-buttons {
  border-bottom: 1px solid #ddd;
  margin-bottom: 5px;
  padding-bottom: 5px;
}

/* Input group (date) fix */
.input-group.date {
  width: 100%;
}


/* Requirements */
.hide-parameters .hidden-parameter {
  display: none;
}

.requirements-color-col {
  width: 80px;
  vertical-align: middle;
  text-align: center;
}

.requirements-color-col input {
  width: 60px;
}

.parameter-requirement-green,
.parameter-requirement-yellow,
.parameter-requirement-red {
  width: 10px;
  height: 10px;
  border: 1px solid #ccc;
  float: right;
  margin-top: 3px;
}

.parameter-requirement-green {
  background-color: green;
}

.parameter-requirement-red {
  background-color: red;
}

.parameter-requirement-yellow {
  background-color: yellow;
}

#dir-size-modal pre {
  max-height: 400px;
  overflow: auto;
}

/* File tree progress bar */
.progress-global {
  display: none;
}
.progress {
    position: relative;
}

.progress-bar > span {
    position: absolute;
    display: block;
    width: 100%;
    color: #000;
    font-size: 12px;
    top: 2px;
    text-align: center;
}

 .progress-header {
    font-weight: bold;
 }

 /* Filesystem scanner */
#scanner_response {
  padding: 10px;
  min-height: 400px;
  background-color: #ffffff;
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

#scanner_response p {
  margin: 0;
}

/* Test orders */
.records_list .label {
  display: inline-block;
  white-space: normal;
}

#orderIndexMap .map-osm, #orderIndexMap .map-gm{
  min-height: 625px;
}

.map .map-osm, .map .map-gm{
  min-height: 625px;
}

:-webkit-full-screen {
  width: 100%;
  position: fixed;
  top: 0;
  height: 100%;

  /* webkit keeps the original background color, so reset */
  background: none;
}
:fullscreen {
  /* not currently needed, but just in case */
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;

  /* keeps correct aspect ratio and full image visible */
  -o-object-fit: contain; /* Opera 12.1 */
  object-fit: contain;
}

.records_list > thead > tr > td.active, .records_list > tbody > tr > td.active, .records_list > tfoot > tr > td.active, .records_list > thead > tr > th.active, .records_list > tbody > tr > th.active, .records_list > tfoot > tr > th.active, .records_list > thead > tr.active > td, .records_list > tbody > tr.active > td, .records_list > tfoot > tr.active > td, .records_list > thead > tr.active > th, .records_list > tbody > tr.active > th, .records_list > tfoot > tr.active > th {
    background-color: #DDDDDD;
}

.lang-menu {
  margin-left: 1em;
  color: white;
}

.lang-menu a {
  color: #428bca;
}

.lang-menu a.active {
  color: #bbb;
}

#finances-stat-sum, #finances-stat-count, #finances-stat-categories {
  height: 300px;
}

#finances-stat-legend table {
    width: 100%;
}

#finances-stat-legend .legendColorBox {
    width: 22px;
}

#finances-stat-legend .legendColorBox > div > div {
    border-width: 10px !important;
}

#finances-stat-legend .legendLabel {
  padding-left: 10px;
    font-size: 14px;
    padding-right: 10px;
}

/* Tablesort */
th.sort-header {
  cursor:pointer;
  }
th.sort-header::-moz-selection,
th.sort-header::selection {
  background:transparent;
  }
table th.sort-header:after {
  content:'';
  float:right;
  margin-top:7px;
  border-width:0 4px 4px;
  border-style:solid;
  border-color:#404040 transparent;
  visibility:hidden;
  }
table th.sort-header:hover:after {
  visibility:visible;
  }
table th.sort-up:after,
table th.sort-down:after,
table th.sort-down:hover:after {
  visibility:visible;
  opacity:0.4;
  }
table th.sort-up:after {
  border-bottom:none;
  border-width:4px 4px 0;
  }

#order-list th {
  vertical-align: middle;
}

#order-list {
  font-size: 0.85em;
}

#order-list .order-actions:hover  ul.dropdown-menu {
    display: block;    
    text-align: left;
}

#order-list .order-actions {
  text-align: center
}

/* DASHBOARD */
.dashboard-bg{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: -1;
    background-image: url('../img/dashboard.png');
    background-size: 100% 100%;
}
.dashboard-menus .pull-left {
  width: 165px;
  height: 200px;
  padding: 20px;
}

.dashboard-menus {
  text-align: center;
  padding-top: 50px;
}
.dashboard-menus a {
  color: black;
  font-size: 1.2em;
  font-weight: bold;
}

.borderless tbody tr td, .borderless thead tr th, .borderless {
    border: none !important;
}

/* Control width of the tables */
td {
    width: auto;
}

td.min {
    width: 1%;
    white-space: nowrap;
}

/* Road sketch */
.road-sketch-legend label{
  vertical-align: middle;
  margin-top: -8px;
}
.road-sketch-wide, .road-sketch-narrow {
  fill: #ccc;
}
.road-sketch-start {
  fill: #00aa00;
}
.road-sketch-speed-limit {
  stroke-width: 2;
  stroke: #FF00FF;
}
.road-sketch-end {
  stroke-width: 2;
  stroke: #FF0000;
}
.road-sketch-event {
  stroke-width: 2;
  stroke: #FFFF00;
}
.table-space td {
  border-left: #fff 1px solid !important;
  border-right: #fff 1px solid !important;
  border-top: #fff 1px solid !important;
}

.report-info-line {
  background-color: #f6f6f6;
}

.map-directive,
.map-directive .map-gm,
.map-directive .map-osm {
    min-height: auto;
}
.map-directive .map-inner {
    position: relative;
    padding-top: 64%;  /* This achieves aspect ratio W/H = 1.57 */
}
.map-directive .map-gm,
.map-directive .map-osm {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.map-directive.fixed-size {
    display: flex;
    justify-content: center;
}

.map-directive.fixed-size .map-inner {
    padding-top: 0;
}

.bs-callout {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
}
.bs-callout h4 {
    margin-top: 0;
    margin-bottom: 5px;
}
.bs-callout p:last-child {
    margin-bottom: 0;
}
.bs-callout code {
    border-radius: 3px;
}
.bs-callout+.bs-callout {
    margin-top: -5px;
}
.bs-callout-default {
    border-left-color: #777;
}
.bs-callout-default h4 {
    color: #777;
}
.bs-callout-primary {
    border-left-color: #428bca;
}
.bs-callout-primary h4 {
    color: #428bca;
}
.bs-callout-success {
    border-left-color: #5cb85c;
}
.bs-callout-success h4 {
    color: #5cb85c;
}
.bs-callout-danger {
    border-left-color: #d9534f;
}
.bs-callout-danger h4 {
    color: #d9534f;
}
.bs-callout-warning {
    border-left-color: #f0ad4e;
}
.bs-callout-warning h4 {
    color: #f0ad4e;
}
.bs-callout-info {
    border-left-color: #5bc0de;
}
.bs-callout-info h4 {
    color: #5bc0de;
}

 .ol-popup {
  position: absolute;
  background-color: white;
  -webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
  filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
  padding: 15px;
  border-radius: 10px;
  border: 1px solid #cccccc;
  bottom: 12px;
  left: -50px;
  width: 300px;
}
.ol-popup:after, .ol-popup:before {
  top: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.ol-popup:after {
  border-top-color: white;
  border-width: 10px;
  left: 48px;
  margin-left: -10px;
}
.ol-popup:before {
  border-top-color: #cccccc;
  border-width: 11px;
  left: 48px;
  margin-left: -11px;
}
.ol-popup-closer {
  text-decoration: none;
  position: absolute;
  top: 2px;
  right: 8px;
}
.ol-popup-closer:after {
  content: "✖";
}

/**
 * Loader overlay
 */
.loaderOverlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    z-index: 2000;
    background-color: #ccc;
    font-family: sans-serif;
}

.loaderOverlay-container h1 {
    color: #333;
    text-align: center;
    font-weight: normal;
    font-size: 32px;
}

.loaderOverlay-container {
    width: 512px;
    margin: auto;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    height: 400px;
}

.loader,
.loader:before,
.loader:after {
  background: #666;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: '';
}
.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader {
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:after {
  left: 1.5em;
}
@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0 #666;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em #666;
    height: 5em;
  }
}
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0 #666;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em #666;
    height: 5em;
  }
}



.blink_red {
    animation: blink_red 1s linear infinite;
    color: red;
}

@keyframes blink_red {
    50% { opacity: 0; }
  }

.report-project-parts-photo .popover {
  max-width: none;
}
