/* ---------------------------------
   Embedded maps
   --------------------------------- */

.small_map { height: 300px; width: 100% !important; }
.large_map { height: 450px; width: 100% !important; }

/* ---------------------------------
   Standard city/route map page 
   --------------------------------- */

.tall_map {
	height: 100% !important;
	overflow: hidden;
	position: relative;
}
#map_container {
	position: absolute;
	top: 7.65em; bottom: 0; left: 0; right: 0;
}
.fullscreen #map_container { top: 3.7em; }
#map_container>div { 
	display: block;
	border-width: 0; margin: 0;
	position: absolute;
	top: 0em;
	bottom: 0em;
}
#map_container>#map_sidebar {
    box-sizing: border-box;
	padding-top: 0.5em;
	background-color: #F5F7F8;
    box-sizing: content-box\0;   /* IE9 hack */
}
#map_container #sidebar_footer {
	position: absolute;
	bottom: 0;
	color: #51878B;
	text-align: right;
	width: 90%; 
	border-top: 1px solid #CCC;
	padding-top: 3px;
	font-size: 0.8em;
}
#map_container .leaflet-container {
	font: 1em/1.5 'PT Sans' !important;	/* otherwise standard Leaflet CSS breaks the layout */
}

#map_sidebar table { width: 100%; }
#map_sidebar td { padding-bottom: 4px; }

#map_sidebar { font-family: 'PT Sans'; }
#map_sidebar h3 { font-size: 1em; }
#map_sidebar p,#map_sidebar table { font-size: 0.8em; }

/* Embedded map */

.embedded_map { height: 200px; width: 100%; margin-bottom: 1.5em; }
.explore_map  { height: 350px; width: 100%; }
.guide_map    { height: 450px; width: 100%; }

/* Route guide map navigation */

#stage_navigator {
	position: absolute;
	bottom: 10px;
	left: 10px;
	right: 10px;
	background: white;
	border: 4px solid white;
	color: black;
	text-align: center;
	font-family: 'PT Sans';
	z-index: 10;
}
#stage_navigator a:hover { text-decoration: none; }
#navigate_previous { text-align: left ; float: left ; display: block; width: 40%; }
#navigate_next     { text-align: right; float: right; display: block; width: 40%; }
#stage_previous, #stage_next { background-color: #EB632B; color: white; padding: 1px 5px; border: 0; margin: 0; font-family: 'PT Sans Narrow'; }

/* Leaflet widgets */

.leaflet-div-icon { background: transparent !important; border: none !important; }
.leaflet-marker-icon .number { position: relative; top: -43px; font-size: 12px; width: 25px; text-align: center; }
.numbered_mile_icon .number { position: relative; top: -21px; font-size: 10px; width: 25px; text-align: center; color: black; letter-spacing: -1px; }
.leaflet-accommodation-icon .number { position: relative; top: -54px; font-size: 12px; width: 31px; text-align: center; }
.leaflet-accommodation-icon .number.friendly { color: yellow; font-weight: bold; }

/* Leaflet popup */

.direction_popup { font-size: small; }
.wider_popup { min-width: 280px; }
#step_photos { display: none; }
.small_geophoto { min-width: 250px; }

.friendly_icon { vertical-align: text-top; }
.friendly_flash { background-color: #DD5A31; padding: 3px; font-weight: bold; color: white; display: inline; }
.friendly_flash img { vertical-align: -10%; }
.friendly_flash_single { font-family: PT Sans; font-size: small; vertical-align: 30%; margin-left: 7px; }
.friendly_listing { vertical-align: text-top; border: 1px solid #DD5A31; margin-left: 3px; }

/* Explore */

.nearby_icon { display: inline; float: none !important; margin: 0 3px 0 3px !important; }

/* ----------------------------------------
   Routing
   ---------------------------------------- */

/* Placename input (see also elements.css) */

.pn_options { padding: 0.3em 0 0 0; }
.pn_options>ul { margin: 0; padding: 0 0 1em 0; list-style-type: none; }
.pn_options li { font-size: small; }

#prefer_local { display: none; font-size: small; margin-top: 0.3em; color: #999; }
#follow_clicks { display: none; font-size: small; margin-top: 0.3em; color: #999; }
#add_at { cursor: pointer; }
#add_at:hover { text-decoration: underline; }
#add_via_placename { width: 200px; }
#journeyFrom_status, #journeyTo_status, #journeyFrom_zoom, #journeyTo_zoom { width: 16px; height: 16px; visibility: hidden; }
#journeyFrom_zoom, #journeyTo_zoom { cursor: pointer; }
#getRoute_status { width: 16px; height: 16px; display: none; }
#journeyFrom, #journeyTo { border: 1px solid #DDD; }


/* Route tools */

h2#route_title { font-size: medium; font-family: PT Serif; font-style: italic; }

#route_tools, #journey_list, #turnbyturn, #journey_hints_general, #journey_hints_plan, #suggestions { display: none; }
#warnings { color: #777; }
#route_buttons { padding-top: 5px; }
#suggest_button { background-color: #9AA588; }
#route_tools button { height: 21px; font-weight: normal; margin-top: 3px; padding-top: 2px !important; }
#route_tools button img { vertical-align: middle; padding-bottom: 3px; }
#route_tools p { line-height: 1.2em; }
#slim_route { border: 4px solid #9AA588; padding: 4px; background: #DEE6D4; font-size: 0.8em; margin-bottom: 5px; display: none; }
#shortlist_button { display: none; }

#turnbyturn, #journey_list, #journey_hints_general, #journey_hints_plan, #journey_suggestions,
#route_tools { border-top: 1px solid #CCC; padding-top: 0.5em; margin-top: 0.5em; }
#journey_list .route_date { width: 6em; }

#close_route { margin-top: 2px; font-size: 0.8em; color: #888; float: right; cursor: pointer; }
#close_route img { vertical-align: top; }

#price_select {
	background: #FBAD39;
	padding-bottom: 2px;
	padding-top: 3px;
}
#price_select select {
	cursor: pointer;
	background: transparent;
	color: white;
	font-weight: bold;
	border: 0;
	-webkit-appearance: none;
	-moz-appearance: window;
	padding: 3px 0 3px 3px;
	margin-right: 0;
}
#price_select option { font-family: PT Sans; color: black; background-color: white; }
#price_select::after {
	content: "\25BC";
	color: white;
	opacity: 0.7;
	font-size: 0.5em;
	padding-right: 0.5em;
}

.journey_login_prompt { font-family: PT Serif; }
.journey_login_prompt img { vertical-align: bottom; }

/* Route directions
   See http://stackoverflow.com/a/5587563/536275 (making inline-block fill the whole line) 
   and http://www.impressivewebs.com/centered-heading-horizontal-line/#comment-10955 (line behind text) */

.village_header { background-color: white; padding-bottom: 3px; margin-bottom: 4px; border: 1px solid #51878B !important; }
.village_header h4 { background-color: #51878B; font-size: small; font-weight: normal; color: white; padding: 3px 5px 3px 5px; margin-top: 0px; margin-bottom: 4px; }
.village_header .number { background-color: white; color: #DE5A31; padding: 0 2px; border-radius: 1px; font-weight: bold; }

.icn_number { background-color: blue    ; color: yellow; padding: 1px 2px 0px 2px; }
.ncn_number { background-color: #DE5A31 ; color: white; padding: 1px 2px 0px 2px; }
.rcn_number { background-color: darkcyan; color: white; padding: 1px 2px 0px 2px; }
.lcn_number { background-color: #51878B ; color: white; padding: 1px 2px 0px 2px; }

.route_step { overflow: hidden; cursor: pointer; padding-top: 1px; }
.route_step:hover { background-color: lightcyan; }
.cumulative { float: left; width: 40px; text-align: right; padding-right: 10px;
			  font-size: small; color: #999; }
.step_num  { float: left; text-align: right; width: 17px; margin-right: 6px; letter-spacing: -1.5px; }
.step_num,.instruction { font-size: 0.9em; line-height: 1em; padding: 2px 0px 2px 0px; }
.step_num.thousand { font-size: 0.7em; }
.instruction { overflow: hidden; 	margin-left: 73px;}
.mode_icon { float: right; }
.mode_icon img { height: 16px; }
.village_header .mode_icon img { padding-right: 5px; }
.step_dist { 
	border-top: 1px solid #CCC;
	margin-top: 5px;
	margin-left: 73px;
	margin-bottom: -3px;
	font-size: x-small; color: #999;
}
.step_dist>span { 
	position: relative;
	top: -6px;
	padding-right: 3px;
	background-color: #F5F7F8;
}
.step_dist img { max-height: 11px; }
.village_header .step_dist { margin-right: 5px; }
.village_header .step_dist>span { background-color: white; }
.route_step:hover .step_dist>span { background-color: lightcyan; }

.step_node { margin-left: 73px; }
.step_node img { height: 14px; margin-right: 3px; }
.knooppunt { color: #51878B; font-weight: bold; }
.knooppunt img { vertical-align: top; margin-top: 2px; }
.mountain,.border_crossing { color: #51878B; font-weight: bold; font-size: 0.8em; }
.step_ele { color: #777; font-weight: normal; }

#map_sidebar { overflow: auto; z-index: 5000; }

/* Suggestions */

#suggestion_list { margin-top: 10px; }
#suggestion_list * { font-size: medium; }
.suggestion_row { cursor: pointer; }
#suggestion_help { font-size: 0.8em; }

/* Minor UI elements */

.radio_table tr>td:first-child { padding-right: 5px; }
.radio_table { padding-bottom: 1em; }

/* ----------------------------------------
   Controls
   ---------------------------------------- */

#elevation {
	display: none;
    position: absolute;
	background: #F5F7F8;
	font-family: 'PT Sans';
    left: 35%; bottom: 0px; right: 0; height: 200px;
}
#elevation>* { border-width: 0 !important; }
.elevation_select { cursor: pointer; color: #51878B; }
.elevation_select:hover { text-decoration: underline; }
#total_climb {
    position: absolute; right: 10px; top: 10px; width: auto; text-align: right;
}
    
.permalink,#total_climb {
	background-color: rgba(255,255,255,0.7);
	box-shadow: 0 0 5px #bbb;
	color: black;
	font-size: 0.7em;
	padding: 1px 3px; border-width: 0; margin: 0 !important;
	font-family: 'PT Sans';
}

.maplink {
	background-color: #51878B;
	color: white;
	box-shadow: 0 0 5px #bbb;
	padding: 1px 3px; border-width: 0; margin: 0 !important;
	font-family: 'PT Sans';
}
.maplink a { color: white; }
.leaflet-control-attribution { font-family: 'PT Sans'; text-align: right; line-height: 1.1em; padding-bottom: 2px; padding-top: 2px; }
.key_symbol { width: 50px; height: 17px; }

/* Apprise plugin */

.apprise-overlay{background-color:#fff;display:none;height:100%;left:0;position:fixed;top:0;width:100%;}
div.apprise{z-index:20000;background:#fff;border:1px solid #aaa;box-shadow:0 2px 15px rgba(0,0,0,0.2);-mox-box-shadow:0 2px 15px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 15px rgba(0,0,0,0.2);color:#111;display:none;font-family:Arial, sans-serif;font-size:14px;left:40%;max-height:90%;overflow:hidden;position:fixed;top:-100%;width:20%}
div.apprise>*{border-width:0;}
div.apprise .apprise-inner{padding:20px;}
div.apprise .apprise-input{margin-top:10px;padding:10px 0}
div.apprise .apprise-input input{border:1px solid rgba(0,0,0,0.3);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:inset 0 0 5px rgba(0,0,0,0.1);-mox-box-shadow:inset 0 0 5px rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.1);display:block;font-size:13px;width:90%;margin:0 auto;padding:5px 10px}
div.apprise .apprise-input input:focus{outline:none;border-color:#01AEF0}
div.apprise .apprise-buttons{text-align:right;padding:10px 20px;}
/*div.apprise .apprise-buttons button{background:#ededed;border:1px solid rgba(0,0,0,0.5);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);-mox-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);cursor:pointer;font-size:13px;overflow:hidden;text-shadow:0 1px 0 rgba(255,255,255,0.8);margin:0 2px;padding:5px 12px}
div.apprise .apprise-buttons button.blue{background:#01AEF0}
div.apprise .apprise-buttons button.red{background:#D23A30}
div.apprise .apprise-buttons button.blue,div.apprise .apprise-buttons button.red{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.4)}
div.apprise .apprise-buttons button:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(0,0,0,0.4);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(0,0,0,0.4);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(0,0,0,0.4)}
div.apprise .apprise-buttons button:active{box-shadow:inset 0 1px 2px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.8);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.8);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.8)}
*/



/* ----------------------------------------
   Mobile
   ---------------------------------------- */

.mm #logo { font-size: medium; padding: 0.3em 0.5em; }
.mm #title, .mm #top_nav a { padding: 0 !important; }
.mm #searchbox { display: none; }
.mm #sections { position: absolute; top: -6px; left: 100px; padding-right: 110px; }

.mm #map { left: 0 !important; right: 0 !important; margin-right: 0 !important; }
.mm #map_container { top: 70px !important; bottom: 40px !important; }

#mm_placebar { background-color: #F8F6F2; position: fixed; height: 32px; left: 0; right: 0; top: 38px; color: black; }
#mm_placefrom, #mm_placeto { width: 50%; padding: 2px; border-width: 0px !important; font-family: 'PT Sans'; padding: 5px; }
#mm_from, #mm_to { padding: 2px 5px; border: 1px solid #BBB; display: inline-block; background-color: white; cursor: pointer; white-space: nowrap; overflow: hidden; }
#mm_from { position: absolute; left: 50px; right: 5px; top: 3px; }
#mm_to { position: absolute; left: 32px; right: 10px; top: 3px; }

.mm .journey_login_prompt img { border: 4px solid #DDD; margin-left: 10px; vertical-align: middle; }

#mm_iconbar { background-color: black; position: fixed; height: 40px; left: 0; right: 0; bottom: 0; color: white; }
#mm_iconbar div { border: 0px !important; }
#mm_iconbar span { display: inline-block; width: 25%; text-align: center; }
#mm_iconbar span a { color: white; font-family: 'HelveticaNeue-Light', 'Helvetica Light', 'PT Sans'; font-size: 0.6em; }
#mm_icons span { padding-top: 5px; }
#mm_icon_legends { margin-top: -3px; }
#mm_icon_legends a { vertical-align: top; }
#mm_icon_legends span { padding-bottom: 5px; }
#mm_iconbar span.selected { background-color: #333; }

.mm .popup {
	width: auto; height: auto;
	top: 38px !important; 
	bottom: 40px !important; 
	left: 0px !important; 
	right: 0px !important; 
	border-width: 0px !important; 
	margin: 0px !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	box-shadow: none !important;
}

.place_popup {
	width: auto; height: auto;
	position: absolute;
	top: 40px; bottom: 100px;
	left: 10px; right: 10px;
	border: 1px solid #888;
	margin: 0px;
	display: none;
	z-index: 10000;
	overflow: auto; 
	background-color: white;
	font-family: PT Sans;
}
.place_popup>div {
	border-width: 0;
	padding: 4px;
}
.place_popup input[type="text"], .mm select { font-size: medium; }
.place_popup #journeyFrom_status, .place_popup #journeyTo_status { display: inline-block; margin-left: 10px; vertical-align: middle; }
.mm .cumulative { padding-left: 4px; }
.placeholder { color: #CCC; }
.mm .route_row td { padding-top: 5px; padding-bottom: 5px; font-size: 1.2em; }

.closeRouteControl { margin-top:3px; margin-left: -1px; }
