/* ---------------------------------
   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; }
.floating.fullscreen #map_container { top: 0; }
#map { background-color: #FFFFFF; } /* sea is AECAD0 */
#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_container .leaflet-control-container {
	font-size: 0.8em; /* Leaflet 1.8+ fix */
}

#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: 500;
}
#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 bugfix for Safari in iOS 15 */

.leaflet-control-container .leaflet-top, .leaflet-control-container .leaflet-bottom { will-change: transform; }

/* Mask tile borders */

.leaflet-safari .leaflet-tile-container img { box-shadow: 0 0 1px rgba(0,0,0,0.05); }

/* 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_via .number { 
	font-family: 'PT Sans', sans-serif;
	color: white;
	font-weight: bold;
	letter-spacing: -1px;
	position: relative; top: -26px; font-size: 11px; width: 24px; text-align: center;
}
.numbered_mile_icon .number { position: relative; top: -22px; 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 SVG icons */

.svg_poi { width: 19px; height: 19px; position: absolute; left: 3px; top: 3px; }
.svg_poi_icon { fill: white; }

/* Leaflet popup */

.direction_popup { font-size: small; }
.direction_popup .leaflet-popup-content-wrapper { border-radius: 5px; background-color: #F3F3F3; }
.direction_popup .leaflet-popup-tip { background-color: #F3F3F3; }
.direction_popup .leaflet-popup-content { margin: 5px 10px; }
.direction_popup .more-button {
    position: absolute;
    border-radius: 12px;/*50%;*/
    bottom: 6px; right: 6px;
    padding: 4px 6px;
    text-align: center;
	font-weight: bold;
    /*width: 8px;*/
    height: 8px;
    font: 10px/10px 'PT Sans';
    color: white; background: #b3b3b3;
    cursor: pointer;
}
#directionText,#viaLinks,#stepPhotos {
    margin-left: -11px; padding-left: 11px;
    margin-right: -11px; padding-right: 11px;
    background-color: white;
}
#directionText {
    margin-top: -6px; padding-top: 6px;
    background-color: white;
}
#viaLinks {
    padding-bottom: 3px;
}
#accommLinks { margin-top: 6px; }
.wider_popup { min-width: 280px; }
#stepPhotos { display: none; }
.small_geophoto { min-width: 250px; }
#weather_table td { padding-right: 10px; }

.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, #overnight_link { cursor: pointer; text-decoration: underline; }
.mm #add_at { font-size: small; font-size: small; color: #999; margin-left: 45px; }
#add_at_mobile { padding-top: 0; }
#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; width: 160px; }
.placename_input .twitter-typeahead input { width: 160px; } 
.pn_route_type { font-size: 0.8em; }
.route_type_icons { padding-top: 4px; cursor: pointer; }
.route_type_icons>div { display: inline-block; max-width: 25%; border: 2px solid rgba(0,0,0,0); padding: 2px 2px 2px 2px; text-align: center; }
.route_type_icons>div>img { width: 30px; display: block; text-align: center; }
.route_type_icons>div>span { display: block; font-size: 0.75em; padding-top: 3px; text-align: center;}
.route_type_icons>div.selected { background-color: rgba(250,173,57,0.4); border: 2px solid rgba(250,173,57,0.6); border-radius: 2px; }
.route_type_icons>div.selected>span { font-weight: bold; }

/*#rt_gravel,#rt_night { display: none; }*/

/* Route descriptions */

#route_posts { display: none; }
#route_posts>div { background-color: white; padding: 8px; font-family: PT Sans; border: 1px dotted #999; }
#route_posts>div h3 { font-size: small; color: #EB632B; }
#route_posts>div p { font-size: x-small; color: #333; }

/* Route tools */

#title_area { padding-bottom: 0.5em; }
h2#route_title { font-size: medium; font-family: PT Serif; font-style: italic; padding-bottom: 0; }
p#route_author { font-size: 0.7em; font-family: PT Serif; font-style: italic; padding-bottom: 0; color: #999; }

#route_tools, #journey_list, #turnbyturn, #route_stats,
#journey_hints_general, #journey_hints_plan, #journey_suggestions, #journey_alternatives { display: none; }
#warnings, #overnight_link { color: #777; }
#route_buttons { padding-top: 5px; }
#suggest_button, #suggestions_back { background-color: #9AA588; }
#alternative_button { display: none; }
#route_tools button { height: 21px; font-weight: normal; margin-top: 3px; padding-top: 2px !important; padding-left: 3px; padding-right: 3px; }
#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; }
#hotels_button { background-color: #CCC; margin-right: 0; vertical-align: baseline !important; }
#hotels_button:hover { background-color: #FBAD39; }
p.buttons_container button { vertical-align: bottom; max-height: 21px; }
p.buttons_container button img { vertical-align: middle; }

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

#tbt_button { border-radius: 8px; border: 2px solid #9AA588; background-color: rgba(0,0,0,0); color: #9AA588; }
#tbt_buttondiv { text-align: center; }

#route_stats td { text-align: center; }
#route_stats_km td { font-weight: bold; }
#route_stats_img td { padding: 2px 0 2px 0; }
#route_stats_img img { width: 30px !important; cursor: pointer; }
#route_stats_desc td { font-size: smaller; vertical-align: top; line-height: 1.2em; cursor: pointer; }

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

#price_select {
	background: #FBAD39;
	padding-bottom: 2px;
	padding-top: 3px;
	font-family: PT Sans;
}
#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; font-weight: bold; letter-spacing: 0.5px; }
.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; }

.icn_name { font-weight: bold; color: blue; }
.ncn_name { font-weight: bold; color: #DE5A31; }
.rcn_name { font-weight: bold; color: darkcyan; }
.lcn_name { font-weight: bold; color: #51878B; }
.route_step>.icn_name,.route_step>.ncn_name,.route_step>.rcn_name,.route_step>.lcn_name {
    color: white; padding: 1px 4px 0px 4px; font-weight: bold; 
	font-size: 0.8em;
	display: table-cell;
}
.route_step>.icn_name { background-color: blue; }
.route_step>.ncn_name { background-color: #DE5A31; }
.route_step>.rcn_name { background-color: darkcyan; }
.route_step>.lcn_name { background-color: #51878B; }

.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;}
.instruction a { font-weight: bold; }
.mode_icon { float: right; margin-left: 3px;}
.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,.ford { 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; }
.suggestion_row .ncn_number { font-size: 1em; }

.suggestion_block {
	background-color: white;
	padding:6px 8px 8px 8px;
	border:2px solid #CCC;
	border-radius:5px;
	margin-bottom: 10px;
}
.suggestion_block.unselected {
	background-color: #EEE;
}
.suggestion_block.unselected h4 { padding-bottom: 0; }
.suggestion_block.unselected button.show_button { float: right; }
.suggestion_block.unselected div, .suggestion_block.unselected table { display: none; }
.suggestion_block.selected button.show_button { display: none; }
.suggestion_block.selected button.refresh_button { 
	float: right; 
	font-size: 20px; font-weight: normal; 
	padding: 0; background-color: #AAA; 
	border-radius: 9px; 
	height: 18px; width: 18px;
	line-height: 18px;
}
.suggestion_block.unselected button.refresh_button { display: none; }
#suggestion_days, #suggestion_days span { user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; }
.suggestion_day_slider { display: inline-block; width: 95px; margin: 0 4px;}

/* Minor UI elements */

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

#tags_popup { max-width: 500px; max-height: 480px; left: 10px; top: unset; bottom: 10px; right: unset;}
#tags_popup table { border-width: 0; padding-bottom: 1em; }
#tags_popup textarea { height: 50px; width: 400px; }
#tags_popup .wym_box { width: 400px; }
#tags_popup input { width: 100%; }
#tags_popup tr>td:first-child { padding-right: 5px; vertical-align: top; }

.routes_header { display: flex; justify-content: space-between; }
.sort_control { text-align: right; display: inline-block; }
.sort_control>span { color: #DDD; cursor: pointer; font-size: smaller; }
.sort_control>span:hover { color: #000; }
.sort_dropdown { 
	display: none; position: absolute; background-color: #FFF; padding: 8px; z-index: 1;
	right: 1em;
	box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}
.sort_dropdown>div { cursor: pointer; font-weight: normal; font-size: smaller; color: #111; }
.sort_dropdown>div:hover { background-color: #DDD; }

/* Plus/minus */

.circular {
  border: 2px solid #2E7993;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  position: relative;
  margin: 4px;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
.circular:hover { border-color: #FBAD39; background: #FBAD39; }
.circular.plus:before,.circular.plus:after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #2E7993;
}
.circular.plus:before { width: 2px; margin: 2px auto; }
.circular.plus:after { margin: auto 2px; height: 2px; }

.circular.minus:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2E7993;
    margin: auto 2px;
    height: 2px;
}

#day_control {
    vertical-align: middle;
    font-size: 1.2em;
    font-family: PT Sans;
}
#multiple_day_dialog {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#split_prompt { padding-bottom: 0; }
#overwrite_existing { font-style: italic; font-size: 0.8em; margin-top: 1em; }

/* ----------------------------------------
   User POIs
   ---------------------------------------- */

#up_icon_headers span {
	font-size: smaller;
	text-transform: uppercase;
	color: #AAA;
	font-weight: bold;
	cursor: pointer;
	border: 2px solid #DDD;
	padding: 1px 3px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
}
#up_icon_headers span.selected {
	color: #444;
	border-color: #CCC;
	border-bottom-color: white;
	background: white;
}
#up_icons {
	margin-top: -1px;
	background: white;
	border: 2px solid #CCC;
	padding: 7px 5px 2px 5px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
	width: calc(100% - 9px);
}
.up_picker_poi {
	width: 20px; height: 20px;
	margin-right; 6px;
	padding: 0px 1px;
	cursor: pointer;
}
.up_picker_poi:hover { background-color: #DDD; }
.up_picker_poi.selected {
	background-color: #666;
	fill: yellow;
}
.up_viewer_poi {
	width: 20px; height: 20px;
	margin-right; 9px;
	vertical-align: top;
}
.up_field_hint {
	font-size: smaller;
	text-transform: uppercase;
	color: #AAA;
	font-weight: bold;
	display: block;
	margin-top: 6px;
}
#up_body textarea { font-size: 0.8em; }
#up_images { min-width: 200px; }
#up_footer_links { text-align: right; font-size: small; margin: 8px -12px 0 0; }
#up_footer_links span { color: #0078A8; cursor: pointer; }
#up_footer_links span:hover { text-decoration: underline; }
#up_save>span { float: right; font-size: small; cursor: pointer; margin: 6px -12px 0 0; }
#up_form_name, #up_form_body { width: 100%; border: 2px solid #CCC; padding: 3px; }
#up_visibility span { font-size: small; margin-right: 5px; white-space: nowrap; }
#up_visibility label, #up_visibility input { cursor: pointer !important; }
#up_form_body { height: 60px; }
#up_save { margin-top: 6px; }

.poi_popup .leaflet-popup-content-wrapper { border-radius: 5px; background-color: #F3F3F3; }
.poi_popup .leaflet-popup-tip { background-color: #F3F3F3; }


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

#elevation {
	display: none;
    position: absolute;
	background: #F5F7F8;
	font-family: 'PT Sans';
    /*left: 35%; */ bottom: 0px; right: 0; height: 200px;
    top: auto !important; left: 0;
}
.mm #elevation { /*bottom: 40px;*/ left: 0 !important; }
#elevation>* { border-width: 0 !important; }
.elevation_select,#elevation_reset { cursor: pointer; color: #51878B; }
.elevation_select:hover,#elevation_reset:hover { text-decoration: underline; }
#gradient_max { cursor: pointer; }
#total_climb {
    position: absolute; right: 10px; top: 10px; width: auto; text-align: right;
}
.flotTip { letter-spacing: 0px; font-family: 'PT Sans'; }
.peakAnnotationAbove, .peakAnnotationBelow, .dayAnnotation { 
	position: absolute; 
	font-size: 0.7em; line-height: 1em;
	width: 100px; height: 30px;
	border: 0;
	user-select: none; -ms-user-select: none; -webkit-user-select: none; pointer-events: none;
	text-shadow: -1.5px -1.5px 0 white, 1.5px -1.5px 0 white, -1.5px 1.5px 0 white, 1.5px 1.5px 0 white; /*0px 0px 2px white, 0px 0px 2px white, 0px 0px 2px white;*/
}
.dayAnnotationWider { width: 200px; }
.peakAnnotationAbove { display: flex; justify-content: center; align-items: flex-end; }
.peakAnnotationBelow { text-align: center; }
.dayAnnotation { text-align: center; font-style: italic; }

.permalink,#total_climb {
	background-color: rgba(255,255,255,0.7);
	box-shadow: 0 0 5px #bbb;
	color: black;
	font-size: 0.85em;
	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; }
.leaflet-control-layers-toggle { width: 34px !important; height: 34px !important; }
.key_symbol { width: 50px; height: 17px; }
.leaflet-zoomright { position: absolute; z-index: 1000; pointer-events: none; top: 10px; left: 50px; }
#logo_attribution { position: absolute; bottom: 10px; left: 10px; display: none; background-color: white; padding: 4px 4px 0 4px; }

.selectedVia, .unselectedVia:hover { cursor: pointer; color: #0078A8; border-bottom: 2px solid gray; }
.unselectedVia { color: #0078A8; cursor: pointer; }

#layerExtras { margin-top: 4px; }
#layerExtras>span { font-size: small; cursor: pointer; background-color: #FBAD39; color: white; padding: 2px 4px; font-weight: bold; }

/* 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);-moz-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 body { touch-action: pan-x pan-y; } /* disable pinch zoom */

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

.mm #map { 
	left: 0 !important; right: 0 !important; margin-right: 0 !important; width: 100% !important;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
}
.mm #map_container { top: 85px !important; bottom: 40px !important; }

#mm_placebar { background-color: #F8F6F2; position: fixed; height: 47px; left: 0; right: 0; padding: 9px 0 0 4px; top: 38px; color: black; }
#mm_placefrom, #mm_placeto, #mm_suggestionSlider { width: calc(50% - 25px); padding: 2px; border-width: 0px !important; font-family: 'PT Sans'; padding: 5px; }
#mm_suggestionSlider { display: none; }
#mm_suggestionSlider>input { width: calc(100% - 60px); }
#mm_suggestionSlider>span { width: 60px; }
#mm_hamburger { cursor: pointer; border-width: 0px !important; padding: 5px; width: 40px; }
#mm_hamburger img { width: 20px; height: 20px; }
#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_menu { 
	display: none;
	top: 85px; right: 0; position: fixed; background-color: #F8F6F2; padding: 8px;
    max-height: calc(100% - 90px);
    overflow-y: scroll;
	z-index: 1003;
	font-family: 'PT Sans';
	box-shadow: -2px 2px 5px #CCC;
}
#mm_menu ul {
	cursor: pointer;
	display: block;
	padding: 0;
	list-style-type: none;
	margin: 0;
	border: 0;
	padding-bottom: 8px;
	border-bottom: 1px solid gray;
	margin-bottom: 8px;
}
#mm_menu ul:last-child { padding-bottom: 0; border-bottom-width: 0; margin-bottom: 0; }
#mm_menu li { padding: 4px; }
#mm_alt_menu { display: none; }
@supports (-webkit-touch-callout: none) {
	.iphone { display: block; }
	.android { display: none; }
}
@supports not (-webkit-touch-callout: none) {
	.iphone { display: none; }
	.android { display: block; }
}

.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: 33%; 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 #route_stats { border-top: none; padding-top: 0; margin-top: 0; 
	border-bottom: 1px solid #CCC; padding-bottom: 0.5em; margin-bottom: 0.5em; }
.mm #route_stats table { padding: 8px 0; }
.mm #route_stats td { padding: 0 8px; }

.mm .full_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: 10px;
	left: 10px; right: 10px;
	border: 1px solid #888;
	margin: 0px;
	display: none;
	z-index: 10000;
	overflow: auto; 
	background-color: white;
	font-family: PT Sans;
	font-size: 1.2em;
	padding: 0.5em;
	line-height: 1.2em;
	-webkit-box-shadow: 2px 2px 5px 2px #444;
	-moz-box-shadow: 2px 2px 5px 2px #444;
	box-shadow: 2px 2px 5px 2px #444;
}
.place_popup>div {
	border-width: 0;
	padding: 4px;
}
.place_popup .close_box { margin-top: 1px; }
.place_popup button { font-size: 0.8em; }
.place_popup input[type="text"], .mm select { font-size: 12px; }
.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; }
.elevationControl { margin-top:5px; margin-left: -1px; }
.fullscreenControl { width: 20px; height: 20px; margin-top: 3px; }

/* iframe support */
.iframe_only { display: none; }

/* Toggle */
.toggle-status { display: none; }
.toggle-switch {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	vertical-align: bottom;
	cursor: pointer;
	display: inline-block;
	position: relative;
	width:  1.625em;
	height: 1.000em;
	box-sizing: border-box;
	border: solid #9AA588 0.125em;
	transition: border 0.5s;
	margin-bottom: 2px;
}
.toggle-status:checked + .toggle-switch {
	border: solid #111 0.125em;
}
.toggle-switch::after {
	content: "";
	display: inline-block;
	position: absolute;
	top:    0.0625em;
	left:   0.0625em;
	width:  0.625em;
	height: 0.625em;
	background: #9AA588;
	transition: background 0.5s, left 0.5s;
}
.toggle-status:checked + .toggle-switch::after {
	background: #111;
	left: 0.6875em;
}
.toggle-string { line-height: 1; }

.toggle-rounded { border-radius: 0.5000em; }
.toggle-rounded::after { border-radius: 0.3125em; }
.toggle-x1 { font-size: 1rem; }

/* ----------------------------------------
   iframe (but not specific to embeds)
   ---------------------------------------- */

.floating #map_container>#map_sidebar,
.iframe #map_container>#map_sidebar {
	left: 0.5em; top: 0.5em; 
	height: fit-content;
	max-height: calc(100% - 2em);
	max-width: 19em;
}
.floating #map_container>#map,
.iframe #map_container>#map { 
	left: 0 !important; right: 0 !important; margin-right: 0 !important; width: 100% !important;
}
.floating #directions, .iframe #directions { padding-bottom: 0.5em; }
.floating #controls, .iframe #controls { margin-bottom: 1em; }

/* ----------------------------------------
   Listing overlay
   ---------------------------------------- */

/* Listing overlay */

#listing_overlay {
	position: absolute;
	right: 10px; top: 166px;
	width: 35%;
	background-color: rgba(255,255,255,0.85);
	z-index: 1000;
	padding: 10px;
	overflow-y: scroll;
}
#listing_overlay.open { bottom: 10px; }
#listing_overlay.browse { top: 7.5em; background-color: rgba(255,255,255,0.92); }
#listing_overlay>*, #accomm_filter>*, #map_accomm_filter>* { border-width: 0; }
#listing_overlay img { width: auto; }
#listing_overlay ol { margin: 0; padding-left: 1.8em; }
.shortlist_note { font-style: italic; border-top: 1px solid #DDD; font-size: small; padding-top: 0.5em; margin-top: 1em; }
.lo_name { cursor: pointer; }
.lo_name:hover { text-decoration: underline; }
.lo_chainage { font-size: small; font-style: italic; }

#map_accomm_filter {
    display: none;
	position: absolute;
	left: 23em; top: 10px !important; bottom: auto !important;
	background-color: rgba(255,255,255,0.85);
	z-index: 1000;
	width: auto;
	padding: 3px;
}
#map_accomm_filter button { opacity: 0.7; }
#map_accomm_filter button:hover { opacity: 1.0; }
#map_accomm_filter td { padding-right: 3px; }
.mm #map_accomm_filter { left: 3em !important; }

/* Availability map */

#map_container>#availabilityMap {
    position: fixed; 
    top: 12px; right: 12px; left: 12px; bottom: 12px; width: auto;
    background-color: white;
    z-index: 5000;
	box-shadow: 2px 2px 5px 2px #444;
}
#availabilityClose {
    width: 100%; text-align: right; color: #888; font-size: 1.2em; padding: 0.5em 0; font-family: "PT Sans";
    border-bottom: 1px solid #222;
    cursor: pointer;
}

/* ------------------------------------------------------------------------------------------------ */

/* Signpost */

.signpost_right {
	text-align:right; margin-top:1em; right:0.5em;
}
.signpost {
	display: inline-block;
    box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
	background-color: orange;
	width: auto;
	height: 36px;
	font-style: italic;
	font-family: Aleo;
	padding: 6px 6px 6px 9px;
	letter-spacing: 0.2pt;
	vertical-align: center;
	font-size: 1.3em;
}
.signpost a { color: black !important; cursor: pointer; }
.signpost:after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	height: 0;
	width: 0;
	border-width: 18px;
	border-style: solid;
	border-color: orange;
	border-top-color: transparent;
	border-bottom-color: transparent;
	border-right-color: transparent;
}
