brouter-web/css/style.css
2019-03-16 12:44:29 +01:00

451 lines
9 KiB
CSS

html, body, #map {
height: 100%;
}
/* This is important so that bootstrap-select list goes over leaflet buttons
Since the list is in navbar and leaflet buttons within map, we create a
stacking context on their common ancestor */
body, #content {
position: relative;
z-index: 1;
}
#content {
overflow: hidden;
}
.flexcolumn,
.leaflet-sidebar-pane.active,
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollBody {
display: flex;
flex-flow: column;
}
.flexrow {
display: flex;
flex-direction: row;
}
.flexgrow {
flex: 1;
}
/* 'auto' (1 1 auto) instead of '1' (1 1 0) needed for DataTables tab in Firefox */
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollBody,
table.dataTable {
flex: auto;
}
/* wrap toolbar controls */
.leaflet-top.leaflet-left {
bottom: 0;
margin-bottom: 10px;
display: flex;
flex-direction: column;
align-items: flex-start;
flex-wrap: wrap;
}
/* bottom underneath top controls when overlapping */
.leaflet-bottom {
z-index: 999;
}
.navbar {
/* align with leaflet-control */
padding: .5rem 10px;
}
.navbar-brand {
float: right;
margin-left: 1rem;
margin-right: 0;
}
.nav-link .fa {
margin-right: 0.2em;
}
.navbar-dark .navbar-toggler {
background-image: none;
}
/* disabled style for "Custom" option, but not for selected items */
.bootstrap-select.btn-group .dropdown-menu li.disabled:not(.selected) a {
color: #777;
}
footer {
flex: none;
background-color: #f7f7f9;
}
#stats {
flex-grow: 1;
margin: 0;
padding: 0;
text-align: center;
}
#stats li {
margin: 0 1rem;
display: inline-block;
}
@media (max-width: 767px) {
#stats li {
margin: 0 0.5rem;
}
#stats {
padding-top: 0.4em;
}
p.stats-label {
margin-bottom: 0.4em;
}
}
.stats-label {
word-break: break-all;
font-weight: bold;
}
.stats-label abbr[title],
#distance {
text-decoration: none;
border-bottom: 1px dotted #818a91;
}
.form-group {
margin-bottom: 0
}
/*
* elevation diagram
*/
.steelblue-theme.leaflet-control.elevation .background {
display: block;
font-size: 80%;
border-radius: 0;
}
/* diagram colors lighter, less dominant */
.steelblue-theme.leaflet-control.elevation .background {
background-color: rgba(105, 155, 196, 0.2);
}
.steelblue-theme.leaflet-control.elevation .axis path,
.steelblue-theme.leaflet-control.elevation .axis line {
stroke: #8398aa;
shape-rendering: crispEdges;
}
.steelblue-theme.leaflet-control.elevation .axis text {
fill: #8398aa;
}
.steelblue-theme.leaflet-control.elevation .area {
fill: #699bc4;
}
#elevation-btn {
align-items: center;
margin-right: 0.5rem;
}
.routing-draw-enabled {
cursor: crosshair;
}
#map {
/* center error message horizontally */
display: flex;
justify-content: center;
/* map click/drag selects text in controls in Firefox because of display flex */
-moz-user-select: none;
}
.leaflet-control-container,
#message .alert {
-moz-user-select: text;
}
#message {
position: absolute;
margin: 10px 46px; /* 10 + 26 + 10 */
z-index: 3000;
font-size: 1rem;
cursor: auto;
}
#profile_buttons {
padding-top: 4px;
}
/* track messages (data tab) */
#tab_data, .CodeMirror {
font-size: x-small;
}
/* transit demo */
#itinerary pre {
font-size: small;
/* turn off bootstrap 'break-word' */
word-wrap: normal;
margin: 0;
}
/* dashed line animation, derived from Chris Coyier and others
https://css-tricks.com/svg-line-animation-works/
*/
.loading-trailer {
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;
}
}
/*
* opacity slider control (seiyria-bootstrap-slider)
*/
.control-slider {
background: #fff;
border-radius: 10px;
padding-top: 10px;
padding-bottom: 10px;
}
.slider.slider-vertical {
height: 80px;
}
/* invert track and selection styles to get partial gradient for "selection" */
.slider.slider-vertical .slider-track {
width: 8px;
margin-left: 1px;
background-image: linear-gradient(to right, #f0f0f0 0%, #e9e9e9 100%);
box-shadow: inset -1px -0px 1px rgba(55, 55, 55, 0.3), inset 1px 0px 1px rgba(230, 230, 230, 1);
}
.control-slider:hover .slider-track,
.control-slider:active .slider-track {
background-image: linear-gradient(to bottom, magenta 0%, white 100%);
}
.slider-selection {
background-color: #C6C6C6;
background-image: none;
box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.6);
}
.slider.slider-vertical .slider-tick,
.slider.slider-vertical .slider-handle {
cursor: ns-resize;
box-sizing: border-box;
background: none;
outline: none;
/* bootstrap .btn-default */
background-image: linear-gradient(to bottom,#fff 0,#e0e0e0 100%);
background-repeat: repeat-x;
box-shadow: inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);
border: 1px solid #adadad;
}
/* activated Font Awesome icon and Bootstrap button
(for EasyButton add ' active' to icon class property) */
.fa.active, .btn.active, .btn.active:hover, .btn.active:focus {
/* use same color as leaflet-locatecontrol */
color: #2074B6;
}
.leaflet-bar button {
/* override button for horizontal fa center in Firefox */
padding: 0;
}
.leaflet-bar .fa {
font-size: 14px;
/* override fa with Leaflet button height for vertical center */
line-height: 26px;
}
.leaflet-touch .leaflet-bar .fa {
font-size: 16px;
line-height: 30px;
}
/* smaller tab height */
.nav > li > a {
padding: 2px 15px;
}
#profile_message .alert {
margin-top: 3px;
}
.alert {
margin-bottom: 0px;
padding-left: 35px;
}
.alert span.fa {
position: relative;
left: -23px;
margin-right: -1em;
}
/*
* DataTables
*/
table.dataTable {
/* avoid getting centered and header misaligned with flex row (sidebar) */
margin: 0;
}
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;
white-space: nowrap;
}
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting {
background-position: center right -3px;
}
table.dataTable.hover tbody tr:hover,
table.dataTable.hover tbody tr.odd:hover,
table.dataTable.hover tbody tr.even:hover,
table.dataTable.display tbody tr:hover,
table.dataTable.display tbody tr.odd:hover,
table.dataTable.display tbody tr.even:hover {
background-color: rgba(255,255,0,0.2);
}
/*
* No-go areas
*/
.nogo-delete-marker {
text-align: center;
line-height: 15px;
font-size: 11px;
border-radius: 8px;
}
.leaflet-touch .nogo-delete-marker {
border-radius: 12px;
line-height: 24px;
}
/* tooltip */
.editing-tooltip,
.editing-tooltip-create {
color: #fff;
background-color: rgba(0,0,0,0.7);
/* for direction arrows that inherit */
border-color: rgba(0,0,0,0.7);
/* no border but still set a color for direction arrows */
border-width: 0px;
}
.editing-tooltip-create {
/* no (invisible) direction arrow for cursor tooltip */
border-color: transparent;
}
.leaflet-tooltip-bottom:before {
border-bottom-color: inherit;
}
.leaflet-tooltip-right:before {
border-right-color: inherit;
}
/*
* leaflet-sidebar-v2
*/
.leaflet-sidebar-pane#tab_profile,
.leaflet-sidebar-pane#tab_data,
.leaflet-sidebar-pane#tab_itinerary {
/* Full height for content with inner scrolling,
overrides scroll fix for long content in Firefox */
height: 100%;
}
/* layers control as sidebar tab */
#layers-control-wrapper label {
font-size: 0.9rem;
line-height: normal;
/* override Bootstrap/Reboot label */
display: block;
margin-bottom: 0px;
/* normalize label height
| Firefox | Chrome |
Leaflet only | 21 | 20 |
Bootstrap | 23 | 22 |*/
height: 23px;
}
/* hide currently unused bottom tabs container because of touch border artefacts */
.leaflet-sidebar-tabs > ul:last-child {
display: none;
}
/* layers svg icon not properly centered */
.leaflet-sidebar-tabs > ul > li > a[href="#tab_layers_control"] {
display: flex;
align-items: center;
justify-content: center;
}
/*
* CodeMirror
*/
.CodeMirror {
/* auto instead of 1 to avoid overflow to content height in Firefox */
flex: auto;
/* override default 300px, behaves like min-height with flex auto */
height: 0;
border: 1px solid #ddd;
font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
line-height: 1.2em;
}
#loadNogos fieldset {
display: block;
margin-left: 2px;
margin-right: 2px;
padding-top: 0.35em;
padding-bottom: 0.625em;
padding-left: 0.75em;
padding-right: 0.75em;
border: 2px groove;
}
#loadNogos legend {
display: block;
padding-left: 2px;
padding-right: 2px;
border: none;
}