html, body, #map {
    height: 100%;
}

.info {
    padding: 6px 8px;
    font: 14px/16px "Helvetica Neue", Arial, Helvetica, sans-serif;
  	box-shadow: 0px 0px 0px 3px rgba(70,130,180,0.2), 0 1px 5px rgba(0,0,0,0.4);
    background: rgba(255,255,255,0.9);
    border-radius: 5px;
}
.leaflet-control.elevation .background {
    box-shadow: 0px 0px 0px 3px rgba(70,130,180,0.2);
}
div.elevation {
    margin-bottom: -2px !important;
}

.hidden {
    display: none;
}

#message {
    position: absolute;
    left: 446px; /* 400 + 10 + 26 + 10 */
    top: 0px;
    margin-top: 10px;
    z-index: 1000;
    box-shadow: 0 1px 5px rgba(0,0,0,0.4);
}

#header {
    width: 100%;
    margin: auto;
    text-align: center;
}
#header, .heading {
    color: #333;
}
.title {
    padding-top: 4px;
}
.title-name {
    font-size: larger;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}
.version {
    font-size: x-small;
}
.header-text {
    font-size: small;
    margin-top: 0.5em;
    line-height: 1.4em;
}
.warning {
    color: darkorange;
}
.error {
    color: red;
}

.heading {
    font-weight: bold;
}
.heading, .content, .content > .label, .content > .value {
    float: left;
}

select {
    max-width: 176px;
}

table {
    border-collapse: separate;
    border-spacing: 4px;
    /* spacing between cells only */
    margin: -4px;
}

td {
    vertical-align: top;
    padding: 0;
}
#stats td:nth-child(2) {
    text-align: right;
}

.heading, tr > td:first-child, .label {
    /* 1/4 of net info control width (370), so that values start at 50% */
    width: 95px;
}

.routing-draw-enabled {
	cursor: crosshair;
}

/* left sidebar as additional control position */

.leaflet-left {
	left: 400px !important;
}

.leaflet-leftpane {
	left: 5px;
    top: 7px;
    bottom: 7px;

    position: absolute;
    z-index: 1000;
    pointer-events: none;
}

.leaflet-leftpane .leaflet-control {
    margin: 3px 5px;
    width: 386px;
}

/* Profile Control */

/* flexbox layout: maximize textarea and data table (nested container/box path) */
.flex_container,
.leaflet-leftpane,
.leaflet-leftpane .leaflet-control:last-child,
#tabs_div,
.tab-content,
.tab-pane.active,
#profile_upload,
#datatable_wrapper,
.dataTables_scroll,
.dataTables_scrollBody {
  display: -webkit-flex;
  display: flex;

  -webkit-flex-direction: column;
  flex-direction: column;
}

.flex_box_none,
.leaflet-leftpane .leaflet-control,
#tab,
.dataTables_scrollHead {
  -webkit-flex: none;
  flex: none;
}

.flex_box,
.leaflet-leftpane .leaflet-control:last-child,
#tabs_div,
.tab-content,
.tab-pane.active,
#profile_upload,
textarea,
#datatable_wrapper,
.dataTables_scroll,
.dataTables_scrollBody,
#datatable {
  -webkit-flex: auto;
  flex: auto;
}

#profile_buttons {
    padding-top: 4px;
}

textarea {
    width: 100%;
    height: 100%;
    box-sizing: border-box;

    font-size: 10px;
    font-family: "Courier New", Courier, monospace;
    line-height: 1.2em;

    background-color: rgba(255,255,255,0);
}
textarea:focus {
    background-color: rgba(255,255,255,255);
}

/* track messages (data tab) */
#tab_data {
    font-size: x-small;
}

/* dashed line animation, derived from Chris Coyier and others
   http://css-tricks.com/svg-line-animation-works/
 */
.loading-trailer {
    -webkit-animation: dash 0.4s linear infinite;
    animation: dash 0.4s linear infinite;
}
@-webkit-keyframes dash {
  from {
    stroke-dashoffset: 20;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes dash {
  from {
    stroke-dashoffset: 20;
  }
  to {
    stroke-dashoffset: 0;
  }
}

/*
 * Bootstrap
 */

/* override Bootstrap label for Leaflet layer switcher */
.leaflet-control-layers label {
    max-width: none;
    margin-bottom: 0px;
    font-weight: normal;
    /* normalize label height
                    | Firefox | Chrome |
       Leaflet only | 21      | 20     |
       Bootstrap    | 23      | 22     |*/
    height: 21px;
}

/* smaller tab height */
.nav > li > a {
    padding: 2px 15px;
}

/*
 * DataTables
 */

table.dataTable.mini thead th,
table.dataTable.mini thead td {
  padding: 3px 13px 3px 2px;
}

table.dataTable.mini tbody th,
table.dataTable.mini tbody td {
  padding: 2px 2px;
}
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting {
  background-position: center right -3px;
}
