/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU AFFERO General Public License as published by
the Free Software Foundation; either version 3 of the License, or
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
or see http://www.gnu.org/licenses/agpl.txt.
*/

/* OSRM CSS styles */

/* ------------------------------------------------------------------------ */

/* fullscreen map */
html, body
{
    padding: 0;
    margin: 0;
    height: 100%;
    overflow:hidden;
}
#map
{
	height: 100%;
	z-index: 0;
	display: none;
}

/* ------------------------------------------------------------------------ */
/* progress::-moz-progress-bar {width:50px !important; background-color: orange !important;} */
meter {
  width: 92px;
  height: 13px;
  border-radius:4px;
  margin-top: 1px;
  margin-bottom: 1px;
}
progress {
  width: 90px;
  height: 11px;
  margin-top: 1px;
  margin-bottom: 1px;
}

/* changes/additions to leaflet styles */
.leaflet-container {
	cursor: default;
}
	
.via-counter
{
	position:absolute;
	top:-3px;
	right:-6px;
	width:16px;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	background-color:#FFFFFF;
	text-align:center;
	vertical-align:middle;	
	font-size:9px;
	display:none;
}
.via-number
{
	position:relative;
	border-radius:45%;
	-moz-border-radius:45%;
	-webkit-border-radius:45%;
	background-color:#FFFFFF;
	padding: 2px;
	padding-left: 4px;
	padding-right: 4px;
	text-align:center;
	vertical-align:middle;	
}

/* ------------------------------------------------------------------------ */

/* styles for error messages (browser too old / no javascript) */
.error-header
{
	font-weight:bold;
	margin: 20px 20px 10px 20px;
}
.error-body
{
	margin-left: 20px;
	margin-right: 20px;
}
#old-browser-warning
{
	display:none;
}
#gui
{
	display:none;
}

/* ------------------------------------------------------------------------ */

/* general styles for gui boxes */
.box-wrapper
{
	position:absolute;
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	background-color:rgba(0, 0, 0, 0.25);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3f000000, endColorstr=#3f000000);	
}
.box-animated
{	
	transition:left 1s, right 1s;
	-moz-transition:left 1s,right 1s;
	-webkit-transition:left 1s,right 1s;
	-o-transition:left 1s,right 1s;
	-ms-transition:left 1s,right 1s;	
}
.box-content
{
	position:absolute;
	background-color:#ffffff;	
	background-color:rgba(255,255,255,1);
	border-radius:8px;
	-moz-border-radius:8px;
	-webkit-border-radius:8px;	
	margin:5px;
	padding:5px;	
}
.box-handle-wrapper-right
{
	width:36px;
	height:36px;
	border-top-right-radius:0px;
	border-bottom-right-radius:0px;
	-moz-border-radius-topright:0px;
	-moz-border-radius-bottomright:0px;
	-webkit-border-top-right-radius:0px;
	-webkit-border-bottom-right-radius:0px;
}
.box-handle-content-right
{
	width:16px;
	height:16px;
	border-top-right-radius:0px;
	border-bottom-right-radius:0px;
	-moz-border-radius-topright:0px;
	-moz-border-radius-bottomright:0px;
	-webkit-border-top-right-radius:0px;
	-webkit-border-bottom-right-radius:0px;	
}
.box-handle-wrapper-left
{
	width:36px;
	height:36px;
	border-top-left-radius:0px;
	border-bottom-left-radius:0px;
	-moz-border-radius-topleft:0px;
	-moz-border-radius-bottomleft:0px;
	-webkit-border-top-left-radius:0px;
	-webkit-border-bottom-left-radius:0px;
}
.box-handle-content-left
{
	width:16px;
	height:16px;
	border-top-left-radius:0px;
	border-bottom-left-radius:0px;
	-moz-border-radius-topleft:0px;
	-moz-border-radius-bottomleft:0px;
	-webkit-border-top-left-radius:0px;
	-webkit-border-bottom-left-radius:0px;	
}


/* general styles for gui box headers */
.top-left-button
{
	float:left;
	vertical-align:top;
}
.top-right-button
{
	float:right;
	vertical-align:top;
}

/* ------------------------------------------------------------------------ */

/* styles for main gui boxes */
#main-wrapper
{
	width:410px;
	top:5px;
	bottom:25px;
	left:5px;
}
#main-input
{
	width:390px;
	height:140px;
}
#main-output
{
	width:390px;
	top:160px;			/* main-input.height+2*gui-box.margin+2*gui-box.padding */
	bottom:0px;
}


/* styles for main-input areas */
#input-mask-header
{
	left:0px;
	right:0px;
	top:0px;
	height:50px;
	background-repeat:no-repeat;
	background-position:center;
}
#input-mask
{
	margin:3px;
}
#input-mask-options
{
	margin:3px;
}


/* styles for main-input input-mask-header */
#gui-language-toggle
{
	position:absolute;
}


/* styles for main-input input-mask */
.input-marker
{
	display:table-row;
}
.input-marker > div
{
	padding-bottom:4px;
}
.input-label
{
	margin:0px 2px 0px 0px;
}
.input-delete 
{
	margin:0px 15px 0px 8px;
 	visibility:hidden;
}
.input-box
{
	width: 100%;
}


/* styles for main-input input-mask-options */
#gui-engine-toggle
{
	max-width: 200px;
}


/* styles for main-output areas */
#information-box-header
{
	margin:5px;
	height:60px;
}
#information-box
{
	position:absolute;
	bottom:20px;
	width:380px;
	overflow:auto;
	margin:5px;
}
.information-box-with-normal-header
{
	top:65px;
}
.information-box-with-large-header
{
	top:85px;
}
.information-box-with-larger-header
{
	top:100px;
}
#legal-notice
{
	position:absolute;
	right:0px;
	bottom:0px;
	margin:5px;
}


/* styles for main-output information-box-header */
.header-title
{
	font-weight:bold;
	margin-bottom:10px;
}
.header-subtitle
{
	font-weight:normal;
	margin-top:5px;
	margin-left:10px;
}
.header-label
{
	font-weight:normal;
	padding:0px 5px 0px 0px;
}
.header-content
{
	font-weight:normal;
}
.text-link
{
	color:#0000ff;
	text-decoration:none;
	cursor:pointer;
	white-space: nowrap;
}
.text-link:hover
{
	color:#ff0000;
}
.text-link-inactive
{
	text-decoration:none;
	white-space: nowrap;
}


/* styles for main-output information-box -> workaround for invisible scrollbars in Chrome */
#information-box::-webkit-scrollbar
{
	height: 10px;
	width: 10px;
}
#information-box::-webkit-scrollbar-track
{
    background: #FFFFFF;
}
#information-box::-webkit-scrollbar-thumb
{
	min-height: 30px;
    background: #EEEEEE;
    border: 1px solid #999999;
    -webkit-border-radius: 5ex;
}
#information-box::-webkit-scrollbar-thumb:hover
{
    background: #F9F9F9;
}
#information-box::-webkit-scrollbar-thumb:active
{
    background: #F4F4F4;
}


/* style for main-output information-box -> table (general) */
.no-results
{
	text-align:center;
	margin:28px;
}


/* style for main-output information-box -> table (search results) */
.results
{
	border-spacing:0px;
	width:100%;
}
.results-body-summary-odd
{
	background-color: #808080;
}
.results-body-summary-even
{
	background-color: #B8B8B8;
}
.results-body-odd
{
	background-color: #FFFDE3;
}
.results-body-even
{
	background-color: #FFF9BB;
}
.results-body-counter
{
	text-align:right;
	vertical-align:middle;
	font-weight:bold;
	padding:1px 5px 1px 5px;
}
.results-body-items
{
	text-align:left;
	vertical-align:top;
	width:100%;
	padding:1px;
}
.results-body-item
{
	cursor:pointer;
	color:#000000
}
.results-body-item:hover
{
	color:#ff0000
}
.results-body-item-remark
{
	color:#999999
}


/* style for main-output information-box -> table (driving directions) */
.description
{
	border-spacing:0px;
	width:100%;
}
.description-body-summary-start
{
	background-color: #A8A8FF;
}
.description-body-summary-odd
{
	background-color: #F0F0F0;
}
.description-body-summary-even
{
	background-color: #E0E0E0;
}
.description-body-odd
{
	background-color: #FFFDE3;
}
.description-body-even
{
	background-color: #FFF9BB;
}
.description-body-start
{
	background-color: #98FB98;
}
.description-body-stop
{
	background-color: #FFAEAE;
}
.description-body-via
{
	background-color: #F9CA80;
}
.description-body-items
{
	text-align:left;
	vertical-align: middle;
	width:100%;
	padding:1px;
}
.description-body-directions
{
	text-align:left;
	vertical-align: middle;
	padding:1px 5px 1px 5px;
}
.description-body-direction
{
	width:18px;
	height:18px;
}
.description-body-distance
{
	text-align:right;
	vertical-align: middle;
	padding:1px 1px 1px 5px;

}
.description-body-item
{
	cursor:pointer;
	color:#000000;
}
.description-body-item:hover
{
	color:#ff0000;
}
.description-body-item-selected
{
	cursor:pointer;
	color:#ff00ff;
}
.road-tolld
{
	padding: 1px 1px 1px 1px;
	color:white;
	background-color:#3a3acc;
}
.road-toll
{
	padding: 1px 2px 1px 2px;
	color:white;
	background-color:#3a3acc;
}
.road-dkd
{
	padding: 1px 2px 1px 2px;
	color:white;
	background-color:red;
}
.road-dk
{
	padding: 1px 5px 1px 5px;
	color:white;
	background-color:red;
}
.road-dwd
{
	padding: 1px 3px 1px 3px;
	color:black;
	background-color:orange;
	align:right;
}
.road-dw
{
	padding: 1px 5px 1px 5px;
	color:black;
	background-color:orange;
	align:right;
}
.road-da
{
	padding: 1px 5px 1px 5px;
	color:white;
	background-color:#4a4afc;
}
.road-ds
{
	padding: 1px 5px 1px 5px;
	color:white;
	background-color:green;
}
.road-dp
{
	padding: 1px 4px 1px 4px;
	color:white;
	background-color:#707070;
}
.road-dg
{
	padding: 1px 4px 1px 4px;
	color:black;
	background-color:#C0C0C0;
}


/* ------------------------------------------------------------------------ */

/* styles for other gui boxes */
#mapping-wrapper
{
	width:410px;
	height:100px;
	bottom:25px;
	right:5px;
}
#mapping-content
{
	width:390px;
	height:80px;	
}
#config-wrapper
{
	width:410px;
	height:100px;
	bottom:25px;
	right:5px;
}
#config-content
{
	width:390px;
	height:80px;	
}
#exclusive-notification-wrapper
{
	width:600px;
	height:170px;
	top: 50%;
	left: 50%;
	margin-top:-85px;
	margin-left:-300px;
}
#exclusive-notification-content
{
	width:580px;
	height:150px;
}
#exclusive-notification-blanket
{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	background-color:rgba(0, 0, 0, 0.25);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3f000000, endColorstr=#3f000000);
	z-index:100;
	display:none;
}
#tooltip-notification-wrapper
{
	width:700px;
	height:38px;
	top: 20px;
	left: 50%;
	margin-left:-350px;
	z-index:98;
	display: none;	
}
#tooltip-notification-content
{
	width:680px;
	height:18px;
}


/* styles for content of other gui boxes */
#gui-language-2-toggle
{
	position:relative;
}
#gui-units-toggle
{
	position:relative;
}
.box-label
{
	font-weight:bold;
	margin-bottom:10px;
}
.config-label
{
	margin: 0px 0px 0px 5px;
}
.config-select
{
	width:100px;
}
#config-timestamps
{
	display:table;
	position:absolute;
	right: 5px;				/* equal to box-content padding */
	bottom: 5px;
}
#mapping-checkboxes
{
	margin-top: -2px;
}
#mapping-checkboxes input
{
	cursor:pointer;
	position: relative;	
	margin: 0px 5px 5px 5px;
	padding: 0px;
    top: 3px;    
}
#mapping-checkboxes label
{
	display: block;
    vertical-align:middle;
}
.mapping-button
{
	float: right;
}
.mapping-label
{
	padding:3px 10px 2px 10px;
	font-size:9px;
	float: right;
}
#notification-box
{
	margin:5px 5px 5px 5px;
}

/* ------------------------------------------------------------------------ */

/* map buttons */
.gui-control-wrapper
{
	position:relative;
}
.gui-control
{
	cursor:pointer;
	position:relative;	
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
}
.gui-control-inactive {
	cursor:default;
	position:relative;	
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
}


/* zoom buttons */
.gui-zoom-in,
.gui-zoom-out,
.gui-zoom-in-inactive,
.gui-zoom-out-inactive
{
	width: 15px;
	height: 15px;	
}
.leaflet-touch .gui-zoom-in,
.leaflet-touch .gui-zoom-out,
.leaflet-touch .gui-zoom-in-inactive,
.leaflet-touch .gui-zoom-out-inactive
{
	width: 23px;
	height: 23px;
}


/* locations buttons */
.gui-locations-user,
.gui-locations-route,
.gui-locations-user-inactive,
.gui-locations-route-inactive
{
	float:left;
	width: 26px;
	height: 26px;	
}
.leaflet-touch .gui-locations-user,
.leaflet-touch .gui-locations-route,
.leaflet-touch .gui-locations-user-inactive,
.leaflet-touch .gui-locations-route-inactive
{
	width: 32px;
	height: 32px;
}


/* layer selection */
.gui-layers
{
	width: 26px;
	height: 26px;	
}
.leaflet-touch .gui-layers
{
	width: 32px;
	height: 32px;	
}
.gui-layers-expanded .gui-layers
{
	display: none;
}

.gui-layers-list
{
	display: none;
}
.gui-layers-expanded .gui-layers-list
{
	display: block;
	position: relative;
}
.gui-layers-list input
{
	cursor:pointer;
	margin-top: 2px;
	position: relative;
    top: 2px;    
}
.gui-layers-list label
{
	cursor:pointer;	
	display: block;
    vertical-align:middle;
}

.gui-layers-separator
{
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px 0px 5px 0px;
}

/* ------------------------------------------------------------------------ */

/* text buttons */
.button
{
	cursor:pointer;
	padding:2px 10px 2px 10px;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	background-color:#EEEEEE;
	border:1px solid #999999;
	color:#333333;
	text-decoration:none;
	font-size:9px;
	outline-style:none;
	vertical-align:1px;
	white-space: nowrap;  
}
.button:hover
{
	background-color:#F9F9F9;
	color:#000000;
}
.button:active
{
	background-color:#F4F4F4;
	color:#FF0000;
}
.button-inactive
{
	cursor:default;
	padding:2px 10px 2px 10px;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	background-color:#F9F9F9;
	border:1px solid #CCCCCC;
	color:#999999;
	text-decoration:none;
	font-size:9px;
	outline-style:none;
	vertical-align:1px;	
	white-space: nowrap;
}
.button-pressed
{
	cursor:pointer;
	padding:2px 10px 2px 10px;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	background-color:#AAAAAA;
	border:1px solid #999999;
	color:#000000;
	text-decoration:none;
	font-size:9px;
	outline-style:none;
	vertical-align:1px;  
	white-space: nowrap;
}

/* iconic buttons */
.iconic-button
{
	cursor:pointer;
	width:16px;
	height:16px;
	background-repeat:no-repeat;
	background-position:center;
}

#gui-printer-inactive
{
	cursor:default;
}

/* road signs */
.sign-red {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  width: 30px;
  height: 29px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #f00;
}
.sign-yellow {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: yellow;
  border: 2px solid #f00;
  border-radius: 50%;
  margin: 2px;
}
.sign-normal {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: white;
  border: 2px solid #f00;
  border-radius: 50%;
  margin: 2px;
}
.sign-red span {
  font-family: "Oswald", sans-serif;
  position: absolute;
  display: block;
  font-size: 1.0em;
  color: black;
  font-weight: 600;
  padding-left: 2px;
  margin-top: 3px;
}
.sign-t {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #f00;
}
.sign-t span {
  font-family: "Oswald", sans-serif;
  position: absolute;
  display: block;
  font-size: 0.95em;
  color: black;
  font-weight: 400;
  padding-left: 1px;
  padding-top: 1px;
  margin-top: 3px;
}
.sign-h {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #f00;
}
.sign-h span {
  font-family: "Oswald", sans-serif;
  position: absolute;
  display: block;
  font-size: 0.95em;
  color: black;
  font-weight: 400;
  padding-left: 1px;
  padding-top: 1px;
  margin-top: 3px;
}
.sign-h::before {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 0;
  height: 0;
  position: absolute;
  content: "";
  top: -2px;
  left: 5px;
  border: 8 solid rgba(0,0,0,0);
  border-top: 5px solid;
  border-bottom: 0 solid black;
  font: normal 100%/normal Arial, Helvetica, sans-serif;
  color: rgba(0,0,0,1);
  -o-text-overflow: clip;
  text-overflow: clip;
  text-shadow: none;
}

/* styled select */
.styled-select-helper
{
	position:relative;
	border: 0px;
	text-decoration:none;
 	opacity: 0;
	filter: alpha(opacity=0);
	z-index: 5;
	cursor:pointer;
}
.styled-select
{
	text-align:left;
	position:absolute;
	background-repeat:no-repeat;	
	background-position: top right;
	padding: 1px 1px 1px 1px;
	overflow: hidden;
}

/* ------------------------------------------------------------------------ */

/* utility styles */
.quad
{
	min-width:10px;
	min-height:10px;
}
.absolute-hidden
{
	position:absolute;
	top:-1000px;
	left:-1000px;
}
.nowrap
{
	white-space: nowrap;
}

/* ------------------------------------------------------------------------ */

/* table styles */
.full
{
	display:table;
	width:100%;
}
.row
{
	display:table-row;
}
.left
{
	display:table-cell;
	text-align:left;
	vertical-align:middle;
}
.right
{
	display:table-cell;
	text-align:right;
	vertical-align:middle;
}
.center
{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
}
.stretch
{
	width:100%;
}
.fixed
{
	min-width:100px;
}

/* ------------------------------------------------------------------------ */

/* fonts */
.base-font
{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: normal;
}
.big-font
{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;	
}
.medium-font
{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10.5px;
	font-weight: normal;
}
.small-font
{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9px;
	font-weight: normal;
}
