body, html {
	margin: 0;
	padding: 0;
}

/* remove svg transition, fix map drag delay */
#lefleat_map svg {
	transition: none !important;
}

#lefleat_map {
	height: 100vh;
}

.wrapper_expand.active {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: #333;
}
.wrapper {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	position: relative;
}
.top_layer {
	position: absolute;
	top: 30px;
	left: 36px;
	z-index: 1000;
	width: 300px;
}

#query {
	width: 100%;
	border: none;
	padding: 12px 72px 12px 50px;
	border-radius: 3px;
	outline: none;
	background: #fff url('icons/ic_pin_outline.svg') no-repeat left 13px center;
	box-shadow: 0 0 3px #777;
	box-sizing: border-box;
	line-height: 1;
}
#query[readonly] {
	cursor: default;
}

#search_results {
	display: none;
	height: 370px;
	background: #fff;
	border-radius: 3px;
	margin-top: 6px;
	overflow-y: auto;
	scrollbar-width: none;
	box-shadow: 0 0 3px #777;
}
#search_results::-webkit-scrollbar { width: 0; }
#search_results { -ms-overflow-style: none; }
#search_results { overflow: -moz-scrollbars-none; }

.result_line {
	padding: 10px;
	border-bottom: 1px solid #ddd;
	font-size: 13px;
}
.result_line.active {
	background: #f5f5f5;
}
.result_line:hover {
	background: #f5f5f5;
	cursor: pointer;
}
.result_line .result_line_label {
	font-size: 14px;
	font-weight: 500;
	padding: 4px 0 4px 41px;
	background: url('icons/ic_pin.svg') no-repeat left 4px center;
	color: #444;
}
.result_line .result_line_label2 {
	color: #848484;
	padding: 0 0 0 41px;
	font-size: 12px;
}
.result_line .result_line_addr {
	font-size: 12px;
	color: #202020;
}
.result_line_more {
	display: none;
}
.result_line_btns_wrap {
	overflow: hidden;
	margin: 12px 0;
}
.result_line_btns_wrap button {
	width: 135px;
	border: none;
	padding: 8px;
	border-radius: 4px;
	line-height: 1;
	font-size: 12px;
	text-transform: uppercase;
	cursor: pointer;
	outline: none;
	border: 1px solid transparent;
}
.result_line_btn_start {
	background: #fff;
	color: #4caf50;
	float: left;
}
.result_line_btn_start:hover {
	border-color: #4caf50;
}
.result_line_btn_start:active {
	background: #f0f0f0;
}
.result_line_btn_route {
	background: #4caf50;
	color: #fff;
	float: right;
	font-size: 13px;
}
.result_line_btn_route:hover {
	border-color: #4caf50;
	background: #5eb561;
}
.result_line_btn_route:active {
	background: #43a347;
}
.result_line_coord {
	margin: 10px 0 0 0;
}
.result_line_coord a {
	color: #202020;
}
.search_btn {
	width: 40px;
	height: 26px;
	position: absolute;
	top: 7px;
	right: 0;
	border-left: 1px solid #ddd;
	cursor: pointer;
}
.search_btn_close {
	display: none;
	background: url('icons/ic_close.svg') no-repeat center;
	background-size: 18px;
	right: 37px;
	border: none;
}
.search_btn_search {
	display:none;
	background: url('icons/ic_search.svg') no-repeat center;
	background-size: 18px;
}
.search_btn_route {
	background: url('icons/ic_route.svg') no-repeat center;
	background-size: 18px;
}

#routeWrap {
	display: none;
}
#route {
	height: 370px;
	background: #fff;
	border-radius: 3px;
	margin-top: 6px;
	box-shadow: 0 0 3px #777;
}
#route_inputs {
	position: relative;
	padding: 10px 20px;
}
#route_inputs input {
	border: none;
	padding: 2px 20px 2px 0;
	border-bottom: 1px solid #ddd;
	margin: 8px 0 8px 30px;
	outline: none;
	width: 210px;
	box-sizing: border-box;
	line-height: 1;
	box-shadow: none;
}
#route_transport {
	border-top: 10px solid #ededed;
	border-bottom: 10px solid #ededed;
	font-size: 0;
	padding: 0 10px 0 6px;
}
#route_transport > div {
	display: inline-block;
	vertical-align: middle;
	width: 12.5%;
	height: 44px;
	cursor: pointer;
}
#route_transport > div:nth-child(1) {
	background: url('icons/ic_pedestrian.svg') no-repeat center;
}
#route_transport > div.active:nth-child(1) {
	background: url('icons/ic_pedestrian_green.svg') no-repeat center;
}
#route_transport > div:nth-child(2) {
	background: url('icons/ic_bicycle.svg') no-repeat center;
}
#route_transport > div.active:nth-child(2) {
	background: url('icons/ic_bicycle_green.svg') no-repeat center;
}
#route_transport > div:nth-child(3) {
	background: url('icons/ic_car.svg') no-repeat center;
}
#route_transport > div.active:nth-child(3) {
	background: url('icons/ic_car_green.svg') no-repeat center;
}
#route_transport > div:nth-child(4) {
	background: url('icons/ic_taxi.svg') no-repeat center;
}
#route_transport > div.active:nth-child(4) {
	background: url('icons/ic_taxi_green.svg') no-repeat center;
}
#route_transport > div:nth-child(5) {
	background: url('icons/ic_bus.svg') no-repeat center;
}
#route_transport > div.active:nth-child(5) {
	background: url('icons/ic_bus_green.svg') no-repeat center;
}
#route_transport > div:nth-child(6) {
	background: url('icons/ic_emergency.svg') no-repeat center;
}
#route_transport > div.active:nth-child(6) {
	background: url('icons/ic_emergency_green.svg') no-repeat center;
}
#route_transport > div:nth-child(7) {
	background: url('icons/ic_delivery.svg') no-repeat center;
}
#route_transport > div.active:nth-child(7) {
	background: url('icons/ic_delivery_green.svg') no-repeat center;
}
#route_transport > div:nth-child(8) {
	background: url('icons/ic_truck.svg') no-repeat center;
}
#route_transport > div.active:nth-child(8) {
	background: url('icons/ic_truck_green.svg') no-repeat center;
}
.route_inputs_icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	background: url('icons/ic_route_dot.svg') repeat-y center;
	margin: 21px 0;
}
.route_inputs_icon::before {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	background: url('icons/ic_route_start.svg') no-repeat center;
	margin: 0 auto;
}
.route_inputs_icon::after {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	background: url('icons/ic_route_finish.svg') no-repeat center;
	margin: 24px auto 0;
}
.route_inputs_change {
	background: url('icons/ic_change_d.svg') no-repeat center;
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 93px;
	cursor: pointer;
}
.route_btn {
	display: none;
	width: 40px;
	height: 26px;
	position: absolute;
	top: 16px;
	right: 30px;
	cursor: pointer;
}
.route_search_from_btn_close {
	background: url('icons/ic_close.svg') no-repeat center;
	background-size: 16px;
}
.route_search_to_btn_close {
	background: url('icons/ic_close.svg') no-repeat center;
	background-size: 16px;
	top: 57px;
}
#route_results {
	height: 386px;
	overflow-y: auto;
	scrollbar-width: none;
}
#route_results::-webkit-scrollbar { width: 0; }
#route_results { -ms-overflow-style: none; }
#route_results { overflow: -moz-scrollbars-none; }
#route_results .result_line_btns_wrap {
	height: 0px;
	margin: 6px 0;
}
#route_total {
	display: none;
	text-align: center;
	background: #4caf50;
	color: #fff;
	padding: 16px 0;
	font-size: 21px;
}
#route_total span {
	font-size: 14px;
}

.leaflet-control-zoom-in, .leaflet-control-zoom-out {
	font-size: 0;
}
.leaflet-bar a, .leaflet-bar a:hover {
	border: none;
	background: none;
	position: relative;
	width: 32px;
	height: 38px;
}
.leaflet-control-zoom-in:after {
	content: "";
	background: url('icons/ic_zoom_in.svg') no-repeat center;
	display: block;
	width: 32px;
	height: 38px;
	position: absolute;
	top: 0;
}
.leaflet-control-zoom-out:after {
	content: "";
	background: url('icons/ic_zoom_out.svg') no-repeat center;
	display: block;
	width: 32px;
	height: 38px;
	position: absolute;
	top: 0;
}
.leaflet-bar {
	box-shadow: 0 0 3px #777;
	border-radius: 18px;
	background: #fff;
}
.leaflet-top {
	top: 22px;
	right: 22px;
}
#geolocation {
	top: 122px;
	background: #fff url('icons/ic_return_position.svg') no-repeat center;
	z-index: 401;
}
#jamsbtn {
	top: 166px;
	background: #fff url('icons/ic_car.svg') no-repeat center 3px;
	z-index: 402;
}
#sharebtn {
	top: 210px;
	background: #fff url('icons/ic_share.svg') no-repeat center;
	z-index: 403;
}
#jamsbtn.active {
	filter: invert();
}
#geolocation, #jamsbtn, #sharebtn {
	position: absolute;
	right: 32px;
	width: 32px;
	height: 32px;
	border-radius: 18px;
	box-shadow: 0 0 3px #777;
	cursor: pointer;
}
.leaflet-control-container .leaflet-control {
	float: none;
}

/* for firefox */
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
	font-size: 0;
}
.leaflet-touch .leaflet-bar a {
	width: 32px;
	height: 38px;
}
.leaflet-bar a.leaflet-disabled {
	background: none;
}
.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
	border: none;
	box-shadow: 0 0 3px #777;
}

@media screen and (max-width: 450px) {
	.top_layer {top: 0; left: 0;}
	.wrapper_expand.active .top_layer {top: 10px; left: 10px;}
	.leaflet-top {top: inherit; bottom: 60px; right: 0;}
	#geolocation {top: inherit; bottom: 20px; right: 10px;}
	#jamsbtn {top: inherit; bottom: 144px; right: 10px;}
	#sharebtn {top: inherit; bottom: 184px; right: 10px;}
}
