@geotrekce/geotrek-rando-widget 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/grw-common-button_24.cjs.entry.js +72 -953
- package/dist/cjs/grw-common-button_24.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-common-button_24.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-common-button_24.cjs.entry.js.map +1 -1
- package/dist/collection/components/grw-map/grw-map.css +133 -48
- package/dist/collection/components/grw-map/grw-map.css.br +0 -0
- package/dist/collection/components/grw-map/grw-map.css.gz +0 -0
- package/dist/collection/components/grw-map/grw-map.js +7 -4
- package/dist/collection/components/grw-map/grw-map.js.br +0 -0
- package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
- package/dist/collection/components/grw-map/grw-map.js.map +1 -1
- package/dist/collection/utils/leaflet-simple-locate.min.js +64 -0
- package/dist/collection/utils/leaflet-simple-locate.min.js.br +0 -0
- package/dist/collection/utils/leaflet-simple-locate.min.js.gz +0 -0
- package/dist/esm/grw-common-button_24.entry.js +72 -953
- package/dist/esm/grw-common-button_24.entry.js.br +0 -0
- package/dist/esm/grw-common-button_24.entry.js.gz +0 -0
- package/dist/esm/grw-common-button_24.entry.js.map +1 -1
- package/dist/esm-es5/grw-common-button_24.entry.js +2 -8
- package/dist/esm-es5/grw-common-button_24.entry.js.br +0 -0
- package/dist/esm-es5/grw-common-button_24.entry.js.gz +0 -0
- package/dist/esm-es5/grw-common-button_24.entry.js.map +1 -1
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6a13026b.entry.js +4 -0
- package/dist/geotrek-rando-widget/p-6a13026b.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6a13026b.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6a13026b.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-8ed46f0e.system.entry.js +4 -0
- package/dist/geotrek-rando-widget/p-8ed46f0e.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-8ed46f0e.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-8ed46f0e.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-ab483655.system.js +1 -1
- package/dist/geotrek-rando-widget/p-ab483655.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-ab483655.system.js.gz +0 -0
- package/dist/types/components/grw-map/grw-map.d.ts +1 -1
- package/package.json +1 -2
- package/dist/geotrek-rando-widget/p-6371c3ed.entry.js +0 -10
- package/dist/geotrek-rando-widget/p-6371c3ed.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6371c3ed.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6371c3ed.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-8602521c.system.entry.js +0 -10
- package/dist/geotrek-rando-widget/p-8602521c.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-8602521c.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-8602521c.system.entry.js.map +0 -1
|
@@ -161,955 +161,6 @@ const GrwLoader = class {
|
|
|
161
161
|
};
|
|
162
162
|
GrwLoader.style = GrwLoaderStyle0;
|
|
163
163
|
|
|
164
|
-
var L_Control_Locate = {exports: {}};
|
|
165
|
-
|
|
166
|
-
/*!
|
|
167
|
-
Copyright (c) 2016 Dominik Moritz
|
|
168
|
-
|
|
169
|
-
This file is part of the leaflet locate control. It is licensed under the MIT license.
|
|
170
|
-
You can find the project at: https://github.com/domoritz/leaflet-locatecontrol
|
|
171
|
-
*/
|
|
172
|
-
|
|
173
|
-
(function (module, exports) {
|
|
174
|
-
(function (factory, window) {
|
|
175
|
-
// see https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md#module-loaders
|
|
176
|
-
// for details on how to structure a leaflet plugin.
|
|
177
|
-
|
|
178
|
-
// define an AMD module that relies on 'leaflet'
|
|
179
|
-
{
|
|
180
|
-
if (typeof window !== "undefined" && window.L) {
|
|
181
|
-
module.exports = factory(L);
|
|
182
|
-
} else {
|
|
183
|
-
module.exports = factory(grwDb_service.leafletSrc.exports);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// attach your plugin to the global 'L' variable
|
|
188
|
-
if (typeof window !== "undefined" && window.L) {
|
|
189
|
-
window.L.Control.Locate = factory(L);
|
|
190
|
-
}
|
|
191
|
-
})(function (L) {
|
|
192
|
-
const LDomUtilApplyClassesMethod = (method, element, classNames) => {
|
|
193
|
-
classNames = classNames.split(" ");
|
|
194
|
-
classNames.forEach(function (className) {
|
|
195
|
-
L.DomUtil[method].call(this, element, className);
|
|
196
|
-
});
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
const addClasses = (el, names) => LDomUtilApplyClassesMethod("addClass", el, names);
|
|
200
|
-
const removeClasses = (el, names) => LDomUtilApplyClassesMethod("removeClass", el, names);
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Compatible with L.Circle but a true marker instead of a path
|
|
204
|
-
*/
|
|
205
|
-
const LocationMarker = L.Marker.extend({
|
|
206
|
-
initialize(latlng, options) {
|
|
207
|
-
L.Util.setOptions(this, options);
|
|
208
|
-
this._latlng = latlng;
|
|
209
|
-
this.createIcon();
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Create a styled circle location marker
|
|
214
|
-
*/
|
|
215
|
-
createIcon() {
|
|
216
|
-
const opt = this.options;
|
|
217
|
-
|
|
218
|
-
let style = "";
|
|
219
|
-
|
|
220
|
-
if (opt.color !== undefined) {
|
|
221
|
-
style += `stroke:${opt.color};`;
|
|
222
|
-
}
|
|
223
|
-
if (opt.weight !== undefined) {
|
|
224
|
-
style += `stroke-width:${opt.weight};`;
|
|
225
|
-
}
|
|
226
|
-
if (opt.fillColor !== undefined) {
|
|
227
|
-
style += `fill:${opt.fillColor};`;
|
|
228
|
-
}
|
|
229
|
-
if (opt.fillOpacity !== undefined) {
|
|
230
|
-
style += `fill-opacity:${opt.fillOpacity};`;
|
|
231
|
-
}
|
|
232
|
-
if (opt.opacity !== undefined) {
|
|
233
|
-
style += `opacity:${opt.opacity};`;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
const icon = this._getIconSVG(opt, style);
|
|
237
|
-
|
|
238
|
-
this._locationIcon = L.divIcon({
|
|
239
|
-
className: icon.className,
|
|
240
|
-
html: icon.svg,
|
|
241
|
-
iconSize: [icon.w, icon.h]
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
this.setIcon(this._locationIcon);
|
|
245
|
-
},
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Return the raw svg for the shape
|
|
249
|
-
*
|
|
250
|
-
* Split so can be easily overridden
|
|
251
|
-
*/
|
|
252
|
-
_getIconSVG(options, style) {
|
|
253
|
-
const r = options.radius;
|
|
254
|
-
const w = options.weight;
|
|
255
|
-
const s = r + w;
|
|
256
|
-
const s2 = s * 2;
|
|
257
|
-
const svg =
|
|
258
|
-
`<svg xmlns="http://www.w3.org/2000/svg" width="${s2}" height="${s2}" version="1.1" viewBox="-${s} -${s} ${s2} ${s2}">` +
|
|
259
|
-
'<circle r="' +
|
|
260
|
-
r +
|
|
261
|
-
'" style="' +
|
|
262
|
-
style +
|
|
263
|
-
'" />' +
|
|
264
|
-
"</svg>";
|
|
265
|
-
return {
|
|
266
|
-
className: "leaflet-control-locate-location",
|
|
267
|
-
svg,
|
|
268
|
-
w: s2,
|
|
269
|
-
h: s2
|
|
270
|
-
};
|
|
271
|
-
},
|
|
272
|
-
|
|
273
|
-
setStyle(style) {
|
|
274
|
-
L.Util.setOptions(this, style);
|
|
275
|
-
this.createIcon();
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
|
|
279
|
-
const CompassMarker = LocationMarker.extend({
|
|
280
|
-
initialize(latlng, heading, options) {
|
|
281
|
-
L.Util.setOptions(this, options);
|
|
282
|
-
this._latlng = latlng;
|
|
283
|
-
this._heading = heading;
|
|
284
|
-
this.createIcon();
|
|
285
|
-
},
|
|
286
|
-
|
|
287
|
-
setHeading(heading) {
|
|
288
|
-
this._heading = heading;
|
|
289
|
-
},
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Create a styled arrow compass marker
|
|
293
|
-
*/
|
|
294
|
-
_getIconSVG(options, style) {
|
|
295
|
-
const r = options.radius;
|
|
296
|
-
const w = options.width + options.weight;
|
|
297
|
-
const h = (r + options.depth + options.weight) * 2;
|
|
298
|
-
const path = `M0,0 l${options.width / 2},${options.depth} l-${w},0 z`;
|
|
299
|
-
const svgstyle = `transform: rotate(${this._heading}deg)`;
|
|
300
|
-
const svg =
|
|
301
|
-
`<svg xmlns="http://www.w3.org/2000/svg" width="${w}" height="${h}" version="1.1" viewBox="-${w / 2} 0 ${w} ${h}" style="${svgstyle}">` +
|
|
302
|
-
'<path d="' +
|
|
303
|
-
path +
|
|
304
|
-
'" style="' +
|
|
305
|
-
style +
|
|
306
|
-
'" />' +
|
|
307
|
-
"</svg>";
|
|
308
|
-
return {
|
|
309
|
-
className: "leaflet-control-locate-heading",
|
|
310
|
-
svg,
|
|
311
|
-
w,
|
|
312
|
-
h
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
});
|
|
316
|
-
|
|
317
|
-
const LocateControl = L.Control.extend({
|
|
318
|
-
options: {
|
|
319
|
-
/** Position of the control */
|
|
320
|
-
position: "topleft",
|
|
321
|
-
/** The layer that the user's location should be drawn on. By default creates a new layer. */
|
|
322
|
-
layer: undefined,
|
|
323
|
-
/**
|
|
324
|
-
* Automatically sets the map view (zoom and pan) to the user's location as it updates.
|
|
325
|
-
* While the map is following the user's location, the control is in the `following` state,
|
|
326
|
-
* which changes the style of the control and the circle marker.
|
|
327
|
-
*
|
|
328
|
-
* Possible values:
|
|
329
|
-
* - false: never updates the map view when location changes.
|
|
330
|
-
* - 'once': set the view when the location is first determined
|
|
331
|
-
* - 'always': always updates the map view when location changes.
|
|
332
|
-
* The map view follows the user's location.
|
|
333
|
-
* - 'untilPan': like 'always', except stops updating the
|
|
334
|
-
* view if the user has manually panned the map.
|
|
335
|
-
* The map view follows the user's location until she pans.
|
|
336
|
-
* - 'untilPanOrZoom': (default) like 'always', except stops updating the
|
|
337
|
-
* view if the user has manually panned the map.
|
|
338
|
-
* The map view follows the user's location until she pans.
|
|
339
|
-
*/
|
|
340
|
-
setView: "untilPanOrZoom",
|
|
341
|
-
/** Keep the current map zoom level when setting the view and only pan. */
|
|
342
|
-
keepCurrentZoomLevel: false,
|
|
343
|
-
/** After activating the plugin by clicking on the icon, zoom to the selected zoom level, even when keepCurrentZoomLevel is true. Set to 'false' to disable this feature. */
|
|
344
|
-
initialZoomLevel: false,
|
|
345
|
-
/**
|
|
346
|
-
* This callback can be used to override the viewport tracking
|
|
347
|
-
* This function should return a LatLngBounds object.
|
|
348
|
-
*
|
|
349
|
-
* For example to extend the viewport to ensure that a particular LatLng is visible:
|
|
350
|
-
*
|
|
351
|
-
* getLocationBounds: function(locationEvent) {
|
|
352
|
-
* return locationEvent.bounds.extend([-33.873085, 151.219273]);
|
|
353
|
-
* },
|
|
354
|
-
*/
|
|
355
|
-
getLocationBounds(locationEvent) {
|
|
356
|
-
return locationEvent.bounds;
|
|
357
|
-
},
|
|
358
|
-
/** Smooth pan and zoom to the location of the marker. Only works in Leaflet 1.0+. */
|
|
359
|
-
flyTo: false,
|
|
360
|
-
/**
|
|
361
|
-
* The user location can be inside and outside the current view when the user clicks on the
|
|
362
|
-
* control that is already active. Both cases can be configures separately.
|
|
363
|
-
* Possible values are:
|
|
364
|
-
* - 'setView': zoom and pan to the current location
|
|
365
|
-
* - 'stop': stop locating and remove the location marker
|
|
366
|
-
*/
|
|
367
|
-
clickBehavior: {
|
|
368
|
-
/** What should happen if the user clicks on the control while the location is within the current view. */
|
|
369
|
-
inView: "stop",
|
|
370
|
-
/** What should happen if the user clicks on the control while the location is outside the current view. */
|
|
371
|
-
outOfView: "setView",
|
|
372
|
-
/**
|
|
373
|
-
* What should happen if the user clicks on the control while the location is within the current view
|
|
374
|
-
* and we could be following but are not. Defaults to a special value which inherits from 'inView';
|
|
375
|
-
*/
|
|
376
|
-
inViewNotFollowing: "inView"
|
|
377
|
-
},
|
|
378
|
-
/**
|
|
379
|
-
* If set, save the map bounds just before centering to the user's
|
|
380
|
-
* location. When control is disabled, set the view back to the
|
|
381
|
-
* bounds that were saved.
|
|
382
|
-
*/
|
|
383
|
-
returnToPrevBounds: false,
|
|
384
|
-
/**
|
|
385
|
-
* Keep a cache of the location after the user deactivates the control. If set to false, the user has to wait
|
|
386
|
-
* until the locate API returns a new location before they see where they are again.
|
|
387
|
-
*/
|
|
388
|
-
cacheLocation: true,
|
|
389
|
-
/** If set, a circle that shows the location accuracy is drawn. */
|
|
390
|
-
drawCircle: true,
|
|
391
|
-
/** If set, the marker at the users' location is drawn. */
|
|
392
|
-
drawMarker: true,
|
|
393
|
-
/** If set and supported then show the compass heading */
|
|
394
|
-
showCompass: true,
|
|
395
|
-
/** The class to be used to create the marker. For example L.CircleMarker or L.Marker */
|
|
396
|
-
markerClass: LocationMarker,
|
|
397
|
-
/** The class us be used to create the compass bearing arrow */
|
|
398
|
-
compassClass: CompassMarker,
|
|
399
|
-
/** Accuracy circle style properties. NOTE these styles should match the css animations styles */
|
|
400
|
-
circleStyle: {
|
|
401
|
-
className: "leaflet-control-locate-circle",
|
|
402
|
-
color: "#136AEC",
|
|
403
|
-
fillColor: "#136AEC",
|
|
404
|
-
fillOpacity: 0.15,
|
|
405
|
-
weight: 0
|
|
406
|
-
},
|
|
407
|
-
/** Inner marker style properties. Only works if your marker class supports `setStyle`. */
|
|
408
|
-
markerStyle: {
|
|
409
|
-
className: "leaflet-control-locate-marker",
|
|
410
|
-
color: "#fff",
|
|
411
|
-
fillColor: "#2A93EE",
|
|
412
|
-
fillOpacity: 1,
|
|
413
|
-
weight: 3,
|
|
414
|
-
opacity: 1,
|
|
415
|
-
radius: 9
|
|
416
|
-
},
|
|
417
|
-
/** Compass */
|
|
418
|
-
compassStyle: {
|
|
419
|
-
fillColor: "#2A93EE",
|
|
420
|
-
fillOpacity: 1,
|
|
421
|
-
weight: 0,
|
|
422
|
-
color: "#fff",
|
|
423
|
-
opacity: 1,
|
|
424
|
-
radius: 9, // How far is the arrow is from the center of of the marker
|
|
425
|
-
width: 9, // Width of the arrow
|
|
426
|
-
depth: 6 // Length of the arrow
|
|
427
|
-
},
|
|
428
|
-
/**
|
|
429
|
-
* Changes to accuracy circle and inner marker while following.
|
|
430
|
-
* It is only necessary to provide the properties that should change.
|
|
431
|
-
*/
|
|
432
|
-
followCircleStyle: {},
|
|
433
|
-
followMarkerStyle: {
|
|
434
|
-
// color: '#FFA500',
|
|
435
|
-
// fillColor: '#FFB000'
|
|
436
|
-
},
|
|
437
|
-
followCompassStyle: {},
|
|
438
|
-
/** The CSS class for the icon. For example fa-location-arrow or fa-map-marker */
|
|
439
|
-
icon: "leaflet-control-locate-location-arrow",
|
|
440
|
-
iconLoading: "leaflet-control-locate-spinner",
|
|
441
|
-
/** The element to be created for icons. For example span or i */
|
|
442
|
-
iconElementTag: "span",
|
|
443
|
-
/** The element to be created for the text. For example small or span */
|
|
444
|
-
textElementTag: "small",
|
|
445
|
-
/** Padding around the accuracy circle. */
|
|
446
|
-
circlePadding: [0, 0],
|
|
447
|
-
/** Use metric units. */
|
|
448
|
-
metric: true,
|
|
449
|
-
/**
|
|
450
|
-
* This callback can be used in case you would like to override button creation behavior.
|
|
451
|
-
* This is useful for DOM manipulation frameworks such as angular etc.
|
|
452
|
-
* This function should return an object with HtmlElement for the button (link property) and the icon (icon property).
|
|
453
|
-
*/
|
|
454
|
-
createButtonCallback(container, options) {
|
|
455
|
-
const link = L.DomUtil.create("a", "leaflet-bar-part leaflet-bar-part-single", container);
|
|
456
|
-
link.title = options.strings.title;
|
|
457
|
-
link.href = "#";
|
|
458
|
-
link.setAttribute("role", "button");
|
|
459
|
-
const icon = L.DomUtil.create(options.iconElementTag, options.icon, link);
|
|
460
|
-
|
|
461
|
-
if (options.strings.text !== undefined) {
|
|
462
|
-
const text = L.DomUtil.create(options.textElementTag, "leaflet-locate-text", link);
|
|
463
|
-
text.textContent = options.strings.text;
|
|
464
|
-
link.classList.add("leaflet-locate-text-active");
|
|
465
|
-
link.parentNode.style.display = "flex";
|
|
466
|
-
if (options.icon.length > 0) {
|
|
467
|
-
icon.classList.add("leaflet-locate-icon");
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
return { link, icon };
|
|
472
|
-
},
|
|
473
|
-
/** This event is called in case of any location error that is not a time out error. */
|
|
474
|
-
onLocationError(err, control) {
|
|
475
|
-
alert(err.message);
|
|
476
|
-
},
|
|
477
|
-
/**
|
|
478
|
-
* This event is called when the user's location is outside the bounds set on the map.
|
|
479
|
-
* The event is called repeatedly when the location changes.
|
|
480
|
-
*/
|
|
481
|
-
onLocationOutsideMapBounds(control) {
|
|
482
|
-
control.stop();
|
|
483
|
-
alert(control.options.strings.outsideMapBoundsMsg);
|
|
484
|
-
},
|
|
485
|
-
/** Display a pop-up when the user click on the inner marker. */
|
|
486
|
-
showPopup: true,
|
|
487
|
-
strings: {
|
|
488
|
-
title: "Show me where I am",
|
|
489
|
-
metersUnit: "meters",
|
|
490
|
-
feetUnit: "feet",
|
|
491
|
-
popup: "You are within {distance} {unit} from this point",
|
|
492
|
-
outsideMapBoundsMsg: "You seem located outside the boundaries of the map"
|
|
493
|
-
},
|
|
494
|
-
/** The default options passed to leaflets locate method. */
|
|
495
|
-
locateOptions: {
|
|
496
|
-
maxZoom: Infinity,
|
|
497
|
-
watch: true, // if you overwrite this, visualization cannot be updated
|
|
498
|
-
setView: false // have to set this to false because we have to
|
|
499
|
-
// do setView manually
|
|
500
|
-
}
|
|
501
|
-
},
|
|
502
|
-
|
|
503
|
-
initialize(options) {
|
|
504
|
-
// set default options if nothing is set (merge one step deep)
|
|
505
|
-
for (const i in options) {
|
|
506
|
-
if (typeof this.options[i] === "object") {
|
|
507
|
-
L.extend(this.options[i], options[i]);
|
|
508
|
-
} else {
|
|
509
|
-
this.options[i] = options[i];
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
// extend the follow marker style and circle from the normal style
|
|
514
|
-
this.options.followMarkerStyle = L.extend({}, this.options.markerStyle, this.options.followMarkerStyle);
|
|
515
|
-
this.options.followCircleStyle = L.extend({}, this.options.circleStyle, this.options.followCircleStyle);
|
|
516
|
-
this.options.followCompassStyle = L.extend({}, this.options.compassStyle, this.options.followCompassStyle);
|
|
517
|
-
},
|
|
518
|
-
|
|
519
|
-
/**
|
|
520
|
-
* Add control to map. Returns the container for the control.
|
|
521
|
-
*/
|
|
522
|
-
onAdd(map) {
|
|
523
|
-
const container = L.DomUtil.create("div", "leaflet-control-locate leaflet-bar leaflet-control");
|
|
524
|
-
this._container = container;
|
|
525
|
-
this._map = map;
|
|
526
|
-
this._layer = this.options.layer || new L.LayerGroup();
|
|
527
|
-
this._layer.addTo(map);
|
|
528
|
-
this._event = undefined;
|
|
529
|
-
this._compassHeading = null;
|
|
530
|
-
this._prevBounds = null;
|
|
531
|
-
|
|
532
|
-
const linkAndIcon = this.options.createButtonCallback(container, this.options);
|
|
533
|
-
this._link = linkAndIcon.link;
|
|
534
|
-
this._icon = linkAndIcon.icon;
|
|
535
|
-
|
|
536
|
-
L.DomEvent.on(
|
|
537
|
-
this._link,
|
|
538
|
-
"click",
|
|
539
|
-
function (ev) {
|
|
540
|
-
L.DomEvent.stopPropagation(ev);
|
|
541
|
-
L.DomEvent.preventDefault(ev);
|
|
542
|
-
this._onClick();
|
|
543
|
-
},
|
|
544
|
-
this
|
|
545
|
-
).on(this._link, "dblclick", L.DomEvent.stopPropagation);
|
|
546
|
-
|
|
547
|
-
this._resetVariables();
|
|
548
|
-
|
|
549
|
-
this._map.on("unload", this._unload, this);
|
|
550
|
-
|
|
551
|
-
return container;
|
|
552
|
-
},
|
|
553
|
-
|
|
554
|
-
/**
|
|
555
|
-
* This method is called when the user clicks on the control.
|
|
556
|
-
*/
|
|
557
|
-
_onClick() {
|
|
558
|
-
this._justClicked = true;
|
|
559
|
-
const wasFollowing = this._isFollowing();
|
|
560
|
-
this._userPanned = false;
|
|
561
|
-
this._userZoomed = false;
|
|
562
|
-
|
|
563
|
-
if (this._active && !this._event) {
|
|
564
|
-
// click while requesting
|
|
565
|
-
this.stop();
|
|
566
|
-
} else if (this._active) {
|
|
567
|
-
const behaviors = this.options.clickBehavior;
|
|
568
|
-
let behavior = behaviors.outOfView;
|
|
569
|
-
if (this._map.getBounds().contains(this._event.latlng)) {
|
|
570
|
-
behavior = wasFollowing ? behaviors.inView : behaviors.inViewNotFollowing;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
// Allow inheriting from another behavior
|
|
574
|
-
if (behaviors[behavior]) {
|
|
575
|
-
behavior = behaviors[behavior];
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
switch (behavior) {
|
|
579
|
-
case "setView":
|
|
580
|
-
this.setView();
|
|
581
|
-
break;
|
|
582
|
-
case "stop":
|
|
583
|
-
this.stop();
|
|
584
|
-
if (this.options.returnToPrevBounds) {
|
|
585
|
-
const f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;
|
|
586
|
-
f.bind(this._map)(this._prevBounds);
|
|
587
|
-
}
|
|
588
|
-
break;
|
|
589
|
-
}
|
|
590
|
-
} else {
|
|
591
|
-
if (this.options.returnToPrevBounds) {
|
|
592
|
-
this._prevBounds = this._map.getBounds();
|
|
593
|
-
}
|
|
594
|
-
this.start();
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
this._updateContainerStyle();
|
|
598
|
-
},
|
|
599
|
-
|
|
600
|
-
/**
|
|
601
|
-
* Starts the plugin:
|
|
602
|
-
* - activates the engine
|
|
603
|
-
* - draws the marker (if coordinates available)
|
|
604
|
-
*/
|
|
605
|
-
start() {
|
|
606
|
-
this._activate();
|
|
607
|
-
|
|
608
|
-
if (this._event) {
|
|
609
|
-
this._drawMarker(this._map);
|
|
610
|
-
|
|
611
|
-
// if we already have a location but the user clicked on the control
|
|
612
|
-
if (this.options.setView) {
|
|
613
|
-
this.setView();
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
this._updateContainerStyle();
|
|
617
|
-
},
|
|
618
|
-
|
|
619
|
-
/**
|
|
620
|
-
* Stops the plugin:
|
|
621
|
-
* - deactivates the engine
|
|
622
|
-
* - reinitializes the button
|
|
623
|
-
* - removes the marker
|
|
624
|
-
*/
|
|
625
|
-
stop() {
|
|
626
|
-
this._deactivate();
|
|
627
|
-
|
|
628
|
-
this._cleanClasses();
|
|
629
|
-
this._resetVariables();
|
|
630
|
-
|
|
631
|
-
this._removeMarker();
|
|
632
|
-
},
|
|
633
|
-
|
|
634
|
-
/**
|
|
635
|
-
* Keep the control active but stop following the location
|
|
636
|
-
*/
|
|
637
|
-
stopFollowing() {
|
|
638
|
-
this._userPanned = true;
|
|
639
|
-
this._updateContainerStyle();
|
|
640
|
-
this._drawMarker();
|
|
641
|
-
},
|
|
642
|
-
|
|
643
|
-
/**
|
|
644
|
-
* This method launches the location engine.
|
|
645
|
-
* It is called before the marker is updated,
|
|
646
|
-
* event if it does not mean that the event will be ready.
|
|
647
|
-
*
|
|
648
|
-
* Override it if you want to add more functionalities.
|
|
649
|
-
* It should set the this._active to true and do nothing if
|
|
650
|
-
* this._active is true.
|
|
651
|
-
*/
|
|
652
|
-
_activate() {
|
|
653
|
-
if (this._active || !this._map) {
|
|
654
|
-
return;
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
this._map.locate(this.options.locateOptions);
|
|
658
|
-
this._map.fire("locateactivate", this);
|
|
659
|
-
this._active = true;
|
|
660
|
-
|
|
661
|
-
// bind event listeners
|
|
662
|
-
this._map.on("locationfound", this._onLocationFound, this);
|
|
663
|
-
this._map.on("locationerror", this._onLocationError, this);
|
|
664
|
-
this._map.on("dragstart", this._onDrag, this);
|
|
665
|
-
this._map.on("zoomstart", this._onZoom, this);
|
|
666
|
-
this._map.on("zoomend", this._onZoomEnd, this);
|
|
667
|
-
if (this.options.showCompass) {
|
|
668
|
-
const oriAbs = "ondeviceorientationabsolute" in window;
|
|
669
|
-
if (oriAbs || "ondeviceorientation" in window) {
|
|
670
|
-
const _this = this;
|
|
671
|
-
const deviceorientation = function () {
|
|
672
|
-
L.DomEvent.on(window, oriAbs ? "deviceorientationabsolute" : "deviceorientation", _this._onDeviceOrientation, _this);
|
|
673
|
-
};
|
|
674
|
-
if (DeviceOrientationEvent && typeof DeviceOrientationEvent.requestPermission === "function") {
|
|
675
|
-
DeviceOrientationEvent.requestPermission().then(function (permissionState) {
|
|
676
|
-
if (permissionState === "granted") {
|
|
677
|
-
deviceorientation();
|
|
678
|
-
}
|
|
679
|
-
});
|
|
680
|
-
} else {
|
|
681
|
-
deviceorientation();
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
-
},
|
|
686
|
-
|
|
687
|
-
/**
|
|
688
|
-
* Called to stop the location engine.
|
|
689
|
-
*
|
|
690
|
-
* Override it to shutdown any functionalities you added on start.
|
|
691
|
-
*/
|
|
692
|
-
_deactivate() {
|
|
693
|
-
if (!this._active || !this._map) {
|
|
694
|
-
return;
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
this._map.stopLocate();
|
|
698
|
-
this._map.fire("locatedeactivate", this);
|
|
699
|
-
this._active = false;
|
|
700
|
-
|
|
701
|
-
if (!this.options.cacheLocation) {
|
|
702
|
-
this._event = undefined;
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
// unbind event listeners
|
|
706
|
-
this._map.off("locationfound", this._onLocationFound, this);
|
|
707
|
-
this._map.off("locationerror", this._onLocationError, this);
|
|
708
|
-
this._map.off("dragstart", this._onDrag, this);
|
|
709
|
-
this._map.off("zoomstart", this._onZoom, this);
|
|
710
|
-
this._map.off("zoomend", this._onZoomEnd, this);
|
|
711
|
-
if (this.options.showCompass) {
|
|
712
|
-
this._compassHeading = null;
|
|
713
|
-
if ("ondeviceorientationabsolute" in window) {
|
|
714
|
-
L.DomEvent.off(window, "deviceorientationabsolute", this._onDeviceOrientation, this);
|
|
715
|
-
} else if ("ondeviceorientation" in window) {
|
|
716
|
-
L.DomEvent.off(window, "deviceorientation", this._onDeviceOrientation, this);
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
},
|
|
720
|
-
|
|
721
|
-
/**
|
|
722
|
-
* Zoom (unless we should keep the zoom level) and an to the current view.
|
|
723
|
-
*/
|
|
724
|
-
setView() {
|
|
725
|
-
this._drawMarker();
|
|
726
|
-
if (this._isOutsideMapBounds()) {
|
|
727
|
-
this._event = undefined; // clear the current location so we can get back into the bounds
|
|
728
|
-
this.options.onLocationOutsideMapBounds(this);
|
|
729
|
-
} else {
|
|
730
|
-
if (this._justClicked && this.options.initialZoomLevel !== false) {
|
|
731
|
-
var f = this.options.flyTo ? this._map.flyTo : this._map.setView;
|
|
732
|
-
f.bind(this._map)([this._event.latitude, this._event.longitude], this.options.initialZoomLevel);
|
|
733
|
-
} else if (this.options.keepCurrentZoomLevel) {
|
|
734
|
-
var f = this.options.flyTo ? this._map.flyTo : this._map.panTo;
|
|
735
|
-
f.bind(this._map)([this._event.latitude, this._event.longitude]);
|
|
736
|
-
} else {
|
|
737
|
-
var f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;
|
|
738
|
-
// Ignore zoom events while setting the viewport as these would stop following
|
|
739
|
-
this._ignoreEvent = true;
|
|
740
|
-
f.bind(this._map)(this.options.getLocationBounds(this._event), {
|
|
741
|
-
padding: this.options.circlePadding,
|
|
742
|
-
maxZoom: this.options.initialZoomLevel || this.options.locateOptions.maxZoom
|
|
743
|
-
});
|
|
744
|
-
L.Util.requestAnimFrame(function () {
|
|
745
|
-
// Wait until after the next animFrame because the flyTo can be async
|
|
746
|
-
this._ignoreEvent = false;
|
|
747
|
-
}, this);
|
|
748
|
-
}
|
|
749
|
-
}
|
|
750
|
-
},
|
|
751
|
-
|
|
752
|
-
/**
|
|
753
|
-
*
|
|
754
|
-
*/
|
|
755
|
-
_drawCompass() {
|
|
756
|
-
if (!this._event) {
|
|
757
|
-
return;
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
const latlng = this._event.latlng;
|
|
761
|
-
|
|
762
|
-
if (this.options.showCompass && latlng && this._compassHeading !== null) {
|
|
763
|
-
const cStyle = this._isFollowing() ? this.options.followCompassStyle : this.options.compassStyle;
|
|
764
|
-
if (!this._compass) {
|
|
765
|
-
this._compass = new this.options.compassClass(latlng, this._compassHeading, cStyle).addTo(this._layer);
|
|
766
|
-
} else {
|
|
767
|
-
this._compass.setLatLng(latlng);
|
|
768
|
-
this._compass.setHeading(this._compassHeading);
|
|
769
|
-
// If the compassClass can be updated with setStyle, update it.
|
|
770
|
-
if (this._compass.setStyle) {
|
|
771
|
-
this._compass.setStyle(cStyle);
|
|
772
|
-
}
|
|
773
|
-
}
|
|
774
|
-
//
|
|
775
|
-
}
|
|
776
|
-
if (this._compass && (!this.options.showCompass || this._compassHeading === null)) {
|
|
777
|
-
this._compass.removeFrom(this._layer);
|
|
778
|
-
this._compass = null;
|
|
779
|
-
}
|
|
780
|
-
},
|
|
781
|
-
|
|
782
|
-
/**
|
|
783
|
-
* Draw the marker and accuracy circle on the map.
|
|
784
|
-
*
|
|
785
|
-
* Uses the event retrieved from onLocationFound from the map.
|
|
786
|
-
*/
|
|
787
|
-
_drawMarker() {
|
|
788
|
-
if (this._event.accuracy === undefined) {
|
|
789
|
-
this._event.accuracy = 0;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
const radius = this._event.accuracy;
|
|
793
|
-
const latlng = this._event.latlng;
|
|
794
|
-
|
|
795
|
-
// circle with the radius of the location's accuracy
|
|
796
|
-
if (this.options.drawCircle) {
|
|
797
|
-
const style = this._isFollowing() ? this.options.followCircleStyle : this.options.circleStyle;
|
|
798
|
-
|
|
799
|
-
if (!this._circle) {
|
|
800
|
-
this._circle = L.circle(latlng, radius, style).addTo(this._layer);
|
|
801
|
-
} else {
|
|
802
|
-
this._circle.setLatLng(latlng).setRadius(radius).setStyle(style);
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
let distance;
|
|
807
|
-
let unit;
|
|
808
|
-
if (this.options.metric) {
|
|
809
|
-
distance = radius.toFixed(0);
|
|
810
|
-
unit = this.options.strings.metersUnit;
|
|
811
|
-
} else {
|
|
812
|
-
distance = (radius * 3.2808399).toFixed(0);
|
|
813
|
-
unit = this.options.strings.feetUnit;
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
// small inner marker
|
|
817
|
-
if (this.options.drawMarker) {
|
|
818
|
-
const mStyle = this._isFollowing() ? this.options.followMarkerStyle : this.options.markerStyle;
|
|
819
|
-
if (!this._marker) {
|
|
820
|
-
this._marker = new this.options.markerClass(latlng, mStyle).addTo(this._layer);
|
|
821
|
-
} else {
|
|
822
|
-
this._marker.setLatLng(latlng);
|
|
823
|
-
// If the markerClass can be updated with setStyle, update it.
|
|
824
|
-
if (this._marker.setStyle) {
|
|
825
|
-
this._marker.setStyle(mStyle);
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
}
|
|
829
|
-
|
|
830
|
-
this._drawCompass();
|
|
831
|
-
|
|
832
|
-
const t = this.options.strings.popup;
|
|
833
|
-
function getPopupText() {
|
|
834
|
-
if (typeof t === "string") {
|
|
835
|
-
return L.Util.template(t, { distance, unit });
|
|
836
|
-
} else if (typeof t === "function") {
|
|
837
|
-
return t({ distance, unit });
|
|
838
|
-
} else {
|
|
839
|
-
return t;
|
|
840
|
-
}
|
|
841
|
-
}
|
|
842
|
-
if (this.options.showPopup && t && this._marker) {
|
|
843
|
-
this._marker.bindPopup(getPopupText())._popup.setLatLng(latlng);
|
|
844
|
-
}
|
|
845
|
-
if (this.options.showPopup && t && this._compass) {
|
|
846
|
-
this._compass.bindPopup(getPopupText())._popup.setLatLng(latlng);
|
|
847
|
-
}
|
|
848
|
-
},
|
|
849
|
-
|
|
850
|
-
/**
|
|
851
|
-
* Remove the marker from map.
|
|
852
|
-
*/
|
|
853
|
-
_removeMarker() {
|
|
854
|
-
this._layer.clearLayers();
|
|
855
|
-
this._marker = undefined;
|
|
856
|
-
this._circle = undefined;
|
|
857
|
-
},
|
|
858
|
-
|
|
859
|
-
/**
|
|
860
|
-
* Unload the plugin and all event listeners.
|
|
861
|
-
* Kind of the opposite of onAdd.
|
|
862
|
-
*/
|
|
863
|
-
_unload() {
|
|
864
|
-
this.stop();
|
|
865
|
-
this._map.off("unload", this._unload, this);
|
|
866
|
-
},
|
|
867
|
-
|
|
868
|
-
/**
|
|
869
|
-
* Sets the compass heading
|
|
870
|
-
*/
|
|
871
|
-
_setCompassHeading(angle) {
|
|
872
|
-
if (!isNaN(parseFloat(angle)) && isFinite(angle)) {
|
|
873
|
-
angle = Math.round(angle);
|
|
874
|
-
|
|
875
|
-
this._compassHeading = angle;
|
|
876
|
-
L.Util.requestAnimFrame(this._drawCompass, this);
|
|
877
|
-
} else {
|
|
878
|
-
this._compassHeading = null;
|
|
879
|
-
}
|
|
880
|
-
},
|
|
881
|
-
|
|
882
|
-
/**
|
|
883
|
-
* If the compass fails calibration just fail safely and remove the compass
|
|
884
|
-
*/
|
|
885
|
-
_onCompassNeedsCalibration() {
|
|
886
|
-
this._setCompassHeading();
|
|
887
|
-
},
|
|
888
|
-
|
|
889
|
-
/**
|
|
890
|
-
* Process and normalise compass events
|
|
891
|
-
*/
|
|
892
|
-
_onDeviceOrientation(e) {
|
|
893
|
-
if (!this._active) {
|
|
894
|
-
return;
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
if (e.webkitCompassHeading) {
|
|
898
|
-
// iOS
|
|
899
|
-
this._setCompassHeading(e.webkitCompassHeading);
|
|
900
|
-
} else if (e.absolute && e.alpha) {
|
|
901
|
-
// Android
|
|
902
|
-
this._setCompassHeading(360 - e.alpha);
|
|
903
|
-
}
|
|
904
|
-
},
|
|
905
|
-
|
|
906
|
-
/**
|
|
907
|
-
* Calls deactivate and dispatches an error.
|
|
908
|
-
*/
|
|
909
|
-
_onLocationError(err) {
|
|
910
|
-
// ignore time out error if the location is watched
|
|
911
|
-
if (err.code == 3 && this.options.locateOptions.watch) {
|
|
912
|
-
return;
|
|
913
|
-
}
|
|
914
|
-
|
|
915
|
-
this.stop();
|
|
916
|
-
this.options.onLocationError(err, this);
|
|
917
|
-
},
|
|
918
|
-
|
|
919
|
-
/**
|
|
920
|
-
* Stores the received event and updates the marker.
|
|
921
|
-
*/
|
|
922
|
-
_onLocationFound(e) {
|
|
923
|
-
// no need to do anything if the location has not changed
|
|
924
|
-
if (this._event && this._event.latlng.lat === e.latlng.lat && this._event.latlng.lng === e.latlng.lng && this._event.accuracy === e.accuracy) {
|
|
925
|
-
return;
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
if (!this._active) {
|
|
929
|
-
// we may have a stray event
|
|
930
|
-
return;
|
|
931
|
-
}
|
|
932
|
-
|
|
933
|
-
this._event = e;
|
|
934
|
-
|
|
935
|
-
this._drawMarker();
|
|
936
|
-
this._updateContainerStyle();
|
|
937
|
-
|
|
938
|
-
switch (this.options.setView) {
|
|
939
|
-
case "once":
|
|
940
|
-
if (this._justClicked) {
|
|
941
|
-
this.setView();
|
|
942
|
-
}
|
|
943
|
-
break;
|
|
944
|
-
case "untilPan":
|
|
945
|
-
if (!this._userPanned) {
|
|
946
|
-
this.setView();
|
|
947
|
-
}
|
|
948
|
-
break;
|
|
949
|
-
case "untilPanOrZoom":
|
|
950
|
-
if (!this._userPanned && !this._userZoomed) {
|
|
951
|
-
this.setView();
|
|
952
|
-
}
|
|
953
|
-
break;
|
|
954
|
-
case "always":
|
|
955
|
-
this.setView();
|
|
956
|
-
break;
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
this._justClicked = false;
|
|
960
|
-
},
|
|
961
|
-
|
|
962
|
-
/**
|
|
963
|
-
* When the user drags. Need a separate event so we can bind and unbind event listeners.
|
|
964
|
-
*/
|
|
965
|
-
_onDrag() {
|
|
966
|
-
// only react to drags once we have a location
|
|
967
|
-
if (this._event && !this._ignoreEvent) {
|
|
968
|
-
this._userPanned = true;
|
|
969
|
-
this._updateContainerStyle();
|
|
970
|
-
this._drawMarker();
|
|
971
|
-
}
|
|
972
|
-
},
|
|
973
|
-
|
|
974
|
-
/**
|
|
975
|
-
* When the user zooms. Need a separate event so we can bind and unbind event listeners.
|
|
976
|
-
*/
|
|
977
|
-
_onZoom() {
|
|
978
|
-
// only react to drags once we have a location
|
|
979
|
-
if (this._event && !this._ignoreEvent) {
|
|
980
|
-
this._userZoomed = true;
|
|
981
|
-
this._updateContainerStyle();
|
|
982
|
-
this._drawMarker();
|
|
983
|
-
}
|
|
984
|
-
},
|
|
985
|
-
|
|
986
|
-
/**
|
|
987
|
-
* After a zoom ends update the compass and handle sideways zooms
|
|
988
|
-
*/
|
|
989
|
-
_onZoomEnd() {
|
|
990
|
-
if (this._event) {
|
|
991
|
-
this._drawCompass();
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
if (this._event && !this._ignoreEvent) {
|
|
995
|
-
// If we have zoomed in and out and ended up sideways treat it as a pan
|
|
996
|
-
if (this._marker && !this._map.getBounds().pad(-0.3).contains(this._marker.getLatLng())) {
|
|
997
|
-
this._userPanned = true;
|
|
998
|
-
this._updateContainerStyle();
|
|
999
|
-
this._drawMarker();
|
|
1000
|
-
}
|
|
1001
|
-
}
|
|
1002
|
-
},
|
|
1003
|
-
|
|
1004
|
-
/**
|
|
1005
|
-
* Compute whether the map is following the user location with pan and zoom.
|
|
1006
|
-
*/
|
|
1007
|
-
_isFollowing() {
|
|
1008
|
-
if (!this._active) {
|
|
1009
|
-
return false;
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
|
-
if (this.options.setView === "always") {
|
|
1013
|
-
return true;
|
|
1014
|
-
} else if (this.options.setView === "untilPan") {
|
|
1015
|
-
return !this._userPanned;
|
|
1016
|
-
} else if (this.options.setView === "untilPanOrZoom") {
|
|
1017
|
-
return !this._userPanned && !this._userZoomed;
|
|
1018
|
-
}
|
|
1019
|
-
},
|
|
1020
|
-
|
|
1021
|
-
/**
|
|
1022
|
-
* Check if location is in map bounds
|
|
1023
|
-
*/
|
|
1024
|
-
_isOutsideMapBounds() {
|
|
1025
|
-
if (this._event === undefined) {
|
|
1026
|
-
return false;
|
|
1027
|
-
}
|
|
1028
|
-
return this._map.options.maxBounds && !this._map.options.maxBounds.contains(this._event.latlng);
|
|
1029
|
-
},
|
|
1030
|
-
|
|
1031
|
-
/**
|
|
1032
|
-
* Toggles button class between following and active.
|
|
1033
|
-
*/
|
|
1034
|
-
_updateContainerStyle() {
|
|
1035
|
-
if (!this._container) {
|
|
1036
|
-
return;
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
|
-
if (this._active && !this._event) {
|
|
1040
|
-
// active but don't have a location yet
|
|
1041
|
-
this._setClasses("requesting");
|
|
1042
|
-
} else if (this._isFollowing()) {
|
|
1043
|
-
this._setClasses("following");
|
|
1044
|
-
} else if (this._active) {
|
|
1045
|
-
this._setClasses("active");
|
|
1046
|
-
} else {
|
|
1047
|
-
this._cleanClasses();
|
|
1048
|
-
}
|
|
1049
|
-
},
|
|
1050
|
-
|
|
1051
|
-
/**
|
|
1052
|
-
* Sets the CSS classes for the state.
|
|
1053
|
-
*/
|
|
1054
|
-
_setClasses(state) {
|
|
1055
|
-
if (state == "requesting") {
|
|
1056
|
-
removeClasses(this._container, "active following");
|
|
1057
|
-
addClasses(this._container, "requesting");
|
|
1058
|
-
|
|
1059
|
-
removeClasses(this._icon, this.options.icon);
|
|
1060
|
-
addClasses(this._icon, this.options.iconLoading);
|
|
1061
|
-
} else if (state == "active") {
|
|
1062
|
-
removeClasses(this._container, "requesting following");
|
|
1063
|
-
addClasses(this._container, "active");
|
|
1064
|
-
|
|
1065
|
-
removeClasses(this._icon, this.options.iconLoading);
|
|
1066
|
-
addClasses(this._icon, this.options.icon);
|
|
1067
|
-
} else if (state == "following") {
|
|
1068
|
-
removeClasses(this._container, "requesting");
|
|
1069
|
-
addClasses(this._container, "active following");
|
|
1070
|
-
|
|
1071
|
-
removeClasses(this._icon, this.options.iconLoading);
|
|
1072
|
-
addClasses(this._icon, this.options.icon);
|
|
1073
|
-
}
|
|
1074
|
-
},
|
|
1075
|
-
|
|
1076
|
-
/**
|
|
1077
|
-
* Removes all classes from button.
|
|
1078
|
-
*/
|
|
1079
|
-
_cleanClasses() {
|
|
1080
|
-
L.DomUtil.removeClass(this._container, "requesting");
|
|
1081
|
-
L.DomUtil.removeClass(this._container, "active");
|
|
1082
|
-
L.DomUtil.removeClass(this._container, "following");
|
|
1083
|
-
|
|
1084
|
-
removeClasses(this._icon, this.options.iconLoading);
|
|
1085
|
-
addClasses(this._icon, this.options.icon);
|
|
1086
|
-
},
|
|
1087
|
-
|
|
1088
|
-
/**
|
|
1089
|
-
* Reinitializes state variables.
|
|
1090
|
-
*/
|
|
1091
|
-
_resetVariables() {
|
|
1092
|
-
// whether locate is active or not
|
|
1093
|
-
this._active = false;
|
|
1094
|
-
|
|
1095
|
-
// true if the control was clicked for the first time
|
|
1096
|
-
// we need this so we can pan and zoom once we have the location
|
|
1097
|
-
this._justClicked = false;
|
|
1098
|
-
|
|
1099
|
-
// true if the user has panned the map after clicking the control
|
|
1100
|
-
this._userPanned = false;
|
|
1101
|
-
|
|
1102
|
-
// true if the user has zoomed the map after clicking the control
|
|
1103
|
-
this._userZoomed = false;
|
|
1104
|
-
}
|
|
1105
|
-
});
|
|
1106
|
-
|
|
1107
|
-
L.control.locate = (options) => new L.Control.Locate(options);
|
|
1108
|
-
|
|
1109
|
-
return LocateControl;
|
|
1110
|
-
}, window);
|
|
1111
|
-
}(L_Control_Locate));
|
|
1112
|
-
|
|
1113
164
|
var Leaflet_i18n = {exports: {}};
|
|
1114
165
|
|
|
1115
166
|
(function (module, exports) {
|
|
@@ -1168,6 +219,71 @@ var leaflet_markercluster = {exports: {}};
|
|
|
1168
219
|
|
|
1169
220
|
}(leaflet_markercluster, leaflet_markercluster.exports));
|
|
1170
221
|
|
|
222
|
+
!function(factory){if("function"==typeof define&&define.amd)define(["leaflet"],factory);else if("object"==typeof exports)module.exports=factory(require("leaflet"));else if("undefined"!=typeof window){if(void 0===window.L)throw "Leaflet must be loaded first.";window.L.Control.SimpleLocate=factory(window.L);}}(function(L){let SimpleLocate=L.Control.extend({options:{className:"",title:"Locate Geolocation and Orientation",ariaLabel:"",minAngleChange:3,clickTimeoutDelay:500,setViewAfterClick:!0,zoomLevel:void 0,drawCircle:!0,afterClick:null,afterMarkerAdd:null,afterDeviceMove:null,htmlInit:`
|
|
223
|
+
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
224
|
+
<path d="M 8,1.5 A 6.5,6.5 0 0 0 1.5,8 6.5,6.5 0 0 0 8,14.5 6.5,6.5 0 0 0 14.5,8 6.5,6.5 0 0 0 8,1.5 Z m 0,2 A 4.5,4.5 0 0 1 12.5,8 4.5,4.5 0 0 1 8,12.5 4.5,4.5 0 0 1 3.5,8 4.5,4.5 0 0 1 8,3.5 Z" />
|
|
225
|
+
<rect width="1.5" height="4" x="7.25" y="0.5" rx="0.5" ry="0.5" />
|
|
226
|
+
<rect width="1.5" height="4" x="7.25" y="11.5" rx="0.5" ry="0.5" />
|
|
227
|
+
<rect width="4" height="1.5" x="0.5" y="7.25" rx="0.5" ry="0.5" />
|
|
228
|
+
<rect width="4" height="1.5" x="11.5" y="7.25" ry="0.5" rx="0.5" />
|
|
229
|
+
<circle cx="8" cy="8" r="1" />
|
|
230
|
+
</svg>`,htmlSpinner:`
|
|
231
|
+
<svg width="16" height="16" viewBox="-8 -8 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
232
|
+
<g>
|
|
233
|
+
<circle opacity=".7" cx="0" cy="-6" r=".9" transform="rotate(90)" />
|
|
234
|
+
<circle opacity=".9" cx="0" cy="-6" r="1.3" transform="rotate(45)" />
|
|
235
|
+
<circle opacity="1" cx="0" cy="-6" r="1.5" />
|
|
236
|
+
<circle opacity=".95" cx="0" cy="-6" r="1.42" transform="rotate(-45)" />
|
|
237
|
+
<circle opacity=".85" cx="0" cy="-6" r="1.26" transform="rotate(-90)" />
|
|
238
|
+
<circle opacity=".7" cx="0" cy="-6" r="1.02" transform="rotate(-135)" />
|
|
239
|
+
<circle opacity=".5" cx="0" cy="-6" r=".7" transform="rotate(-180)" />
|
|
240
|
+
<circle opacity=".25" cx="0" cy="-6" r=".3" transform="rotate(-225)" />
|
|
241
|
+
<animateTransform attributeName="transform" type="rotate" values="0;0;45;45;90;90;135;135;180;180;225;225;270;270;315;315;360" keyTimes="0;.125;.125;.25;.25;.375;.375;.5;.5;.675;.675;.75;.75;.875;.875;1;1" dur="1.3s" repeatCount="indefinite" />
|
|
242
|
+
</g>
|
|
243
|
+
</svg>`,htmlGeolocation:`
|
|
244
|
+
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
245
|
+
<path d="M 13.329384,2.6706085 C 13.133096,2.4743297 12.77601,2.4382611 12.303066,2.6103882 L 6.6307133,4.6742285 1.1816923,6.6577732 C 1.0668479,6.6995703 0.95157337,6.752486 0.83540381,6.8133451 0.27343954,7.1201064 0.41842508,7.4470449 1.2644998,7.5962244 l 6.0688263,1.0701854 1.0714872,6.0698222 c 0.1491847,0.84604 0.4751513,0.990031 0.7816575,0.427825 0.060857,-0.116165 0.1137803,-0.231436 0.1555779,-0.346273 L 11.324426,9.3702482 13.389608,3.6968841 C 13.56174,3.2239596 13.52567,2.8668883 13.329392,2.6706094 Z" />
|
|
246
|
+
</svg>`,htmlOrientation:`
|
|
247
|
+
<svg class="leaflet-simple-locate-orientation" width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
248
|
+
<path fill="#c00000" d="M 8,0 C 7.7058986,0 7.4109021,0.30139625 7.1855469,0.90234375 L 5.3378906,5.8300781 C 5.2559225,6.0486598 5.1908259,6.292468 5.1386719,6.5507812 6.0506884,6.193573 7.0205489,6.0068832 8,6 8.9768002,6.0005071 9.945249,6.1798985 10.857422,6.5292969 10.805917,6.2790667 10.741782,6.0425374 10.662109,5.8300781 L 8.8144531,0.90234375 C 8.5890978,0.30139615 8.2941007,0 8,0 Z" />
|
|
249
|
+
<path d="M 8,5.9999998 C 7.0205501,6.006884 6.0506874,6.1935733 5.138672,6.5507817 4.9040515,7.7126196 4.9691485,9.1866095 5.3378906,10.169922 l 1.8476563,4.927734 c 0.4507105,1.201895 1.1781958,1.201894 1.628906,0 L 10.662109,10.169922 C 11.033147,9.1804875 11.097283,7.6944254 10.857422,6.5292967 9.9452497,6.1798989 8.9767993,6.0005076 8,5.9999998 Z m -1e-7,0.7499999 A 1.25,1.258 90 0 1 9.2578124,7.9999996 1.25,1.258 90 0 1 8,9.2500001 a 1.25,1.258 90 0 1 -1.2578124,-1.25 1.25,1.258 90 0 1 1.2578123,-1.2500004 z" />
|
|
250
|
+
</svg>`,iconGeolocation:L.divIcon({html:`
|
|
251
|
+
<svg width="24" height="24" viewBox="-12 -12 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
252
|
+
<defs>
|
|
253
|
+
<filter id="gaussian">
|
|
254
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
255
|
+
</filter>
|
|
256
|
+
</defs>
|
|
257
|
+
<g id="leaflet-simple-locate-icon-spot">
|
|
258
|
+
<circle fill="#000000" style="opacity:0.3;filter:url(#gaussian)" cx="1" cy="1" r="10" />
|
|
259
|
+
<circle fill="#ffffff" r="10" />
|
|
260
|
+
<circle r="6">
|
|
261
|
+
<animate attributeName="r" values="6;8;6" dur="2s" repeatCount="indefinite" />
|
|
262
|
+
</circle>
|
|
263
|
+
</g>
|
|
264
|
+
</svg>`,className:"leaflet-simple-locate-icon",iconSize:[24,24],iconAnchor:[12,12]}),iconOrientation:L.divIcon({html:`
|
|
265
|
+
<svg width="96" height="96" viewBox="-48 -48 96 96" xmlns="http://www.w3.org/2000/svg">
|
|
266
|
+
<defs>
|
|
267
|
+
<linearGradient id="gradient" x2="0" y2="-48" gradientUnits="userSpaceOnUse">
|
|
268
|
+
<stop style="stop-opacity:1" offset="0" />
|
|
269
|
+
<stop style="stop-opacity:0" offset="1" />
|
|
270
|
+
</linearGradient>
|
|
271
|
+
<filter id="gaussian">
|
|
272
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
273
|
+
</filter>
|
|
274
|
+
</defs>
|
|
275
|
+
<path class="orientation" opacity="1" style="fill:url(#gradient)" d="M -24,-48 H 24 L 10,0 H -10 z">
|
|
276
|
+
<animate attributeName="opacity" values=".75;.33;.75" dur="2s" repeatCount="indefinite" />
|
|
277
|
+
</path>
|
|
278
|
+
<g id="leaflet-simple-locate-icon-spot">
|
|
279
|
+
<circle fill="#000000" style="opacity:0.3;filter:url(#gaussian)" cx="1" cy="1" r="10" />
|
|
280
|
+
<circle fill="#ffffff" r="10" />
|
|
281
|
+
<circle r="6">
|
|
282
|
+
<animate attributeName="r" values="6;9;6" dur="2s" repeatCount="indefinite" />
|
|
283
|
+
</circle>
|
|
284
|
+
</g>
|
|
285
|
+
</svg>`,className:"leaflet-simple-locate-icon",iconSize:[96,96],iconAnchor:[48,48]})},initialize:function(options){L.Util.setOptions(this,options),this._map=void 0,this._button=void 0,this._marker=void 0,this._circle=void 0,this._clicked=void 0,this._geolocation=void 0,this._orientation=void 0,this._clickTimeout=void 0,this._latitude=void 0,this._longitude=void 0,this._accuracy=void 0,this._angle=void 0;},onAdd:function(map){return this._map=map,this._button=L.DomUtil.create("button","leaflet-simple-locate"),this.options.className&&L.DomUtil.addClass(this._button,this.options.className),L.DomEvent.disableClickPropagation(this._button),this._button.innerHTML=this.options.htmlInit,this._button.title=this.options.title,this._button.setAttribute("aria-label",this.options.ariaLabel||this.options.title),L.DomEvent.on(this._button,"click",L.DomEvent.stopPropagation).on(this._button,"click",L.DomEvent.preventDefault).on(this._button,"click",this._onClick,this),this._button},getLatLng:function(){return this._latitude&&this._longitude?{lat:this._latitude,lng:this._longitude}:null},getAccuracy:function(){return this._accuracy||null},getAngle:function(){return this._angle||null},setZoomLevel:function(level){this.options.zoomLevel=level;},_onClick:async function(){this._clickTimeout?(clearTimeout(this._clickTimeout),this._clickTimeout=void 0,this._clicked&&(this._geolocation&&this._unwatchGeolocation(),this._orientation&&this._unwatchOrientation(),this._clicked=void 0,this._geolocation=void 0,this._orientation=void 0,this._updateButton(),this._map.off("layeradd",this._onLayerAdd,this))):this._clickTimeout=setTimeout(()=>{clearTimeout(this._clickTimeout),this._clickTimeout=void 0,this._map&&(this._clicked&&this.options.setViewAfterClick?this._setView():(this._clicked=!0,this._updateButton(),this._map.on("layeradd",this._onLayerAdd,this),this._checkGeolocation().then(event=>{this._geolocation=!0,this._onLocationFound(event.coords),this.options.setViewAfterClick&&this._setView(),this._watchGeolocation(),this._checkClickResult();}).catch(()=>{this._geolocation=!1,this._checkClickResult();}),this._checkOrientation().then(()=>{this._orientation=!0,this._watchOrientation(),this._checkClickResult();}).catch(()=>{this._orientation=!1,this._checkClickResult();})));},this.options.clickTimeoutDelay);},_checkClickResult:function(){this._updateButton(),this.options.afterClick&&void 0!==this._geolocation&&void 0!==this._orientation&&this.options.afterClick({geolocation:this._geolocation,orientation:this._orientation}),!1===this._geolocation&&!1===this._orientation&&(this._clicked=void 0,this._geolocation=void 0,this._orientation=void 0);},_checkGeolocation:function(){return "object"==typeof navigator&&"geolocation"in navigator&&"function"==typeof navigator.geolocation.getCurrentPosition&&"function"==typeof navigator.geolocation.watchPosition?new Promise((resolve,reject)=>{navigator.geolocation.getCurrentPosition(resolve,reject,{maximumAge:0,enableHighAccuracy:!0});}):Promise.reject()},_checkOrientation:function(){return ("ondeviceorientationabsolute"in window||"ondeviceorientation"in window)&&DeviceOrientationEvent?"function"!=typeof DeviceOrientationEvent.requestPermission?Promise.resolve():DeviceOrientationEvent.requestPermission().then(permission=>"granted"===permission||Promise.reject()):Promise.reject()},_watchGeolocation:function(){this._map.locate({watch:!0,enableHighAccuracy:!0}),this._map.on("locationfound",this._onLocationFound,this),this._map.on("zoomstart",this._onZoomStart,this),this._map.on("zoomend",this._onZoomEnd,this);},_unwatchGeolocation:function(){this._map.stopLocate(),this._map.off("locationfound",this._onLocationFound,this),this._map.off("zoomstart",this._onZoomStart,this),this._map.off("zoomend",this._onZoomEnd,this),this._circle&&(this._map.removeLayer(this._circle),this._circle=void 0),this._marker&&(this._map.removeLayer(this._marker),this._marker=void 0),this._latitude=void 0,this._longitude=void 0,this._accuracy=void 0;},_watchOrientation:function(){L.DomEvent.on(window,"ondeviceorientationabsolute"in window?"deviceorientationabsolute":"deviceorientation",this._onOrientation,this);},_unwatchOrientation:function(){L.DomEvent.off(window,"ondeviceorientationabsolute"in window?"deviceorientationabsolute":"deviceorientation",this._onOrientation,this),document.documentElement.style.setProperty("--leaflet-simple-locate-orientation","0deg"),this._angle=void 0;},_onLocationFound:function(event){this._latitude&&event.latitude&&Math.round(1e6*this._latitude)===Math.round(1e6*event.latitude)&&this._longitude&&event.longitude&&Math.round(1e6*this._longitude)===Math.round(1e6*event.longitude)&&this._accuracy&&event.accuracy&&Math.round(100*this._accuracy)===Math.round(100*event.accuracy)||(this._latitude=event.latitude,this._longitude=event.longitude,this._accuracy=event.accuracy,this._updateMarker());},_onOrientation:function(event){let angle;angle=event.webkitCompassHeading||360-event.alpha,this._angle&&Math.abs(angle-this._angle)<this.options.minAngleChange||(this._angle=angle,"orientation"in screen&&(this._angle+=screen.orientation.angle),this._angle=(this._angle+360)%360,document.documentElement.style.setProperty("--leaflet-simple-locate-orientation",-this._angle+"deg"),this._updateMarker());},_onZoomStart:function(){this._circle&&document.documentElement.style.setProperty("--leaflet-simple-locate-circle-display","none");},_onZoomEnd:function(){this._circle&&document.documentElement.style.setProperty("--leaflet-simple-locate-circle-display","inline");},_onLayerAdd:function(event){this.options.afterMarkerAdd&&event.layer==this._marker&&this.options.afterMarkerAdd();},_setView:function(){this._map&&this._latitude&&this._longitude&&(this.options.zoomLevel?this._map.setView([this._latitude,this._longitude],this.options.zoomLevel):this._map.setView([this._latitude,this._longitude]));},_updateButton:function(){this._clicked?void 0===this._geolocation||void 0===this._orientation?"spinner"!==this._button.html_name&&(this._button.innerHTML=this.options.htmlSpinner,this._button.html_name="spinner"):this._orientation&&"orientation"!==this._button.html_name?(this._button.innerHTML=this.options.htmlOrientation,this._button.html_name="orientation"):this._geolocation&&"geolocation"!==this._button.html_name&&(this._button.innerHTML=this.options.htmlGeolocation,this._button.html_name="geolocation"):"init"!==this._button.html_name&&(this._button.innerHTML=this.options.htmlInit,this._button.html_name="init");},_updateMarker:function(){if(this.options.afterDeviceMove&&this.options.afterDeviceMove({lat:this._latitude,lng:this._longitude,accuracy:this._accuracy,angle:this._angle}),this._latitude&&this._longitude&&(!this.options.drawCircle||this._accuracy)){let icon_name;if(this._geolocation&&this._orientation&&this._angle)icon_name="iconOrientation";else {if(!this._geolocation)return;icon_name="iconGeolocation";}this._circle?(this._circle.setLatLng([this._latitude,this._longitude]),this._circle.setRadius(this._accuracy)):this.options.drawCircle&&(this._circle=L.circle([this._latitude,this._longitude],{className:"leaflet-simple-locate-circle",radius:this._accuracy}).addTo(this._map)),this._marker&&this._marker.icon_name===icon_name?this._marker.setLatLng([this._latitude,this._longitude]):(this._marker&&this._map.removeLayer(this._marker),this._marker=L.marker([this._latitude,this._longitude],{icon:this.options[icon_name]}),this._marker.icon_name=icon_name,this._marker.addTo(this._map));}}});return L.control.simpleLocate=function(options){return new SimpleLocate(options)},SimpleLocate});
|
|
286
|
+
|
|
1171
287
|
/**
|
|
1172
288
|
* @module helpers
|
|
1173
289
|
*/
|
|
@@ -2224,7 +1340,7 @@ function pointOnSegment(x, y, x1, y1, x2, y2) {
|
|
|
2224
1340
|
return ab === ap + pb;
|
|
2225
1341
|
}
|
|
2226
1342
|
|
|
2227
|
-
const grwMapCss = "@charset \"UTF-8\";.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none !important;max-height:none !important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none !important;max-height:none !important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51, 181, 229, 0.4)}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);-moz-transition:-moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:-webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:transform 0.25s cubic-bezier(0, 0, 0.25, 1), -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255, 255, 255, 0.5)}.leaflet-container{font-family:\"Helvetica Neue\", Arial, Helvetica, sans-serif;font-size:12px;font-size:0.75rem;line-height:1.5}.leaflet-bar{-webkit-box-shadow:0 1px 5px rgba(0, 0, 0, 0.65);box-shadow:0 1px 5px rgba(0, 0, 0, 0.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px \"Lucida Console\", Monaco, monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{-webkit-box-shadow:0 1px 5px rgba(0, 0, 0, 0.4);box-shadow:0 1px 5px rgba(0, 0, 0, 0.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255, 255, 255, 0.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline !important;vertical-align:baseline !important;width:1em;height:0.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{-webkit-box-shadow:none;box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0, 0, 0, 0.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;-webkit-box-shadow:0 3px 14px rgba(0, 0, 0, 0.4);box-shadow:0 3px 14px rgba(0, 0, 0, 0.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma, Verdana, sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:\"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.4);box-shadow:0 1px 3px rgba(0, 0, 0, 0.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:\"\"}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-control-locate a{cursor:pointer}.leaflet-control-locate a .leaflet-control-locate-location-arrow{display:inline-block;width:16px;height:16px;margin:7px;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"black\" d=\"M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z\"/></svg>')}.leaflet-control-locate a .leaflet-control-locate-spinner{display:inline-block;width:16px;height:16px;margin:7px;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"black\" d=\"M304 48a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48 368a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm208-208a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM96 256a48 48 0 1 0-96 0 48 48 0 0 0 96 0zm13 99a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm294 0a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM109 61a48 48 0 1 0 0 96 48 48 0 0 0 0-96z\"/></svg>');-webkit-animation:leaflet-control-locate-spin 2s linear infinite;animation:leaflet-control-locate-spin 2s linear infinite}.leaflet-control-locate.active a .leaflet-control-locate-location-arrow{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"rgb(32, 116, 182)\" d=\"M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z\"/></svg>')}.leaflet-control-locate.following a .leaflet-control-locate-location-arrow{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"rgb(252, 132, 40)\" d=\"M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z\"/></svg>')}.leaflet-touch .leaflet-bar .leaflet-locate-text-active{width:100%;max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 10px}.leaflet-touch .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon{padding:0 5px 0 0}.leaflet-control-locate-location circle{-webkit-animation:leaflet-control-locate-throb 4s ease infinite;animation:leaflet-control-locate-throb 4s ease infinite}@-webkit-keyframes leaflet-control-locate-throb{0%{stroke-width:1}50%{stroke-width:3;-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}100%{stroke-width:1}}@keyframes leaflet-control-locate-throb{0%{stroke-width:1}50%{stroke-width:3;-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}100%{stroke-width:1}}@-webkit-keyframes leaflet-control-locate-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes leaflet-control-locate-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.leaflet-hidden{visibility:hidden}.legend{cursor:pointer}.leaflet-container{z-index:0}.elevation-detached{font:12px/1.5 Helvetica Neue, Arial, Helvetica, sans-serif;height:auto;width:100%;position:relative;z-index:0}.elevation-detached .elevation{width:100%}.elevation-detached .background{max-width:100%}.elevation-control.elevation .background{background-color:rgba(70, 130, 180, 0.2);border-radius:5px;overflow:visible;display:block;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elevation-control.elevation .axis line,.elevation-control.elevation .axis path{stroke:#2d1130;stroke-width:1;fill:none}.elevation-control.elevation .grid .tick line{stroke:#eee;stroke-width:1px;shape-rendering:crispEdges}.elevation-control.elevation .grid path{stroke-width:0;pointer-events:none}.elevation-control.elevation .axis text,.elevation-control.elevation .point text{fill:#000;font-weight:700;paint-order:stroke fill;stroke:#fff;stroke-width:2px}.elevation-control.elevation .y.axis text{text-anchor:end}.elevation-control.elevation .area{fill:#4682b4;stroke:#000;stroke-width:1.2;paint-order:stroke fill}.elevation-detached .elevation-control.elevation .area{fill-opacity:0.8}.elevation-control.elevation .horizontal-drag-line{stroke:transparent;cursor:row-resize;stroke-width:1.1;stroke-dasharray:5}.elevation-control.elevation .active .horizontal-drag-line{stroke:#000}.elevation-control.elevation .horizontal-drag-label{font-weight:700;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px;pointer-events:none}.elevation-control.elevation .ruler{cursor:row-resize;color:#000}.elevation-control.elevation .mouse-focus-line{stroke:#0d1821;stroke-width:1;pointer-events:none}.elevation-control.elevation .mouse-focus-label-rect{fill:#000;fill-opacity:0.75;pointer-events:none;stroke-width:1;stroke:#444}.elevation-control.elevation .mouse-focus-label-text{fill:#fff;pointer-events:none;font-size:10px}.elevation-control.elevation .brush .overlay{cursor:unset}.elevation-control.elevation .brush .selection{fill:rgba(23, 74, 117, 0.4);stroke:none;fill-opacity:unset}.elevation-control.elevation .elevation-toggle{cursor:pointer;-webkit-box-shadow:0 1px 7px rgba(0, 0, 0, 0.4);box-shadow:0 1px 7px rgba(0, 0, 0, 0.4);border-radius:5px;width:36px;height:36px;background-color:#f8f8f9}.elevation-summary{font-family:Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif;font-size:12px;margin:0 auto}.leaflet-control-container .elevation-summary{text-shadow:1.5px 0 0 #fff, -1.5px 0 0 #fff, 0 1.5px 0 #fff, 0 -1.5px 0 #fff, 1px 1px #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff}.elevation-detached .elevation-summary{margin:0 45px}.elevation-summary.multiline-summary{margin-right:30px}.elevation-detached .elevation-summary.multiline-summary{margin-bottom:12px;margin-top:12px;line-height:2}.elevation-summary.inline-summary>span:not(:last-child):after{content:\" — \"}.elevation-summary.multiline-summary>span{display:block}.elevation-summary.multiline-summary .download{float:right;margin-top:-2.5em;font-weight:700;font-size:1.2em}.elevation-detached .elevation-summary.multiline-summary .download{margin-top:-3.5em}.elevation-summary .summaryvalue{font-weight:700}.elevation-control.elevation-collapsed .background,.elevation-control.elevation-collapsed .elevation-summary{display:none}.elevation-control.elevation-collapsed .elevation-toggle{display:block}.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation.svg) no-repeat 50%}.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button{background:transparent;position:absolute;right:5px;top:5px;height:20px;width:20px}.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button:before{content:\"✖\";display:inline-block;color:#000;position:absolute;left:0;right:0;top:0;bottom:0;line-height:20px;text-align:center;font-weight:700;font-size:15px}.elevation-control.elevation g.area>foreignObject{pointer-events:none}.leaflet-elevation-pane .height-focus,.leaflet-overlay-pane .height-focus{stroke:#000;fill:#fff}.leaflet-elevation-pane .height-focus.line,.leaflet-overlay-pane .height-focus.line{pointer-events:none;stroke-width:2}.leaflet-elevation-pane .height-focus-label,.leaflet-overlay-pane .height-focus-label{font-size:12px;font-weight:600;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px}.elevation-waypoint-icon:before{background:url(../images/elevation-pushpin.svg) no-repeat 50%/contain;content:\"\";width:100%;height:100%;display:inline-block}.elevation-position-icon:before{background:url(../images/elevation-position.svg) no-repeat 50%/contain;content:\"\";width:100%;height:100%;display:inline-block}.elevation-polyline{-webkit-filter:drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF);filter:drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF)}.elevation-placeholder{margin:auto;height:auto;width:100%}.elevation-placeholder~*{display:none !important}.lime-theme.elevation-control.elevation .background{background-color:rgba(156, 194, 34, 0.2)}.lime-theme.elevation-control.elevation .axis line,.lime-theme.elevation-control.elevation .axis path{stroke:#566b13}.lime-theme.elevation-control.elevation .grid .tick line{stroke:#ccc}.lime-theme.elevation-control.elevation .brush .selection{fill:rgba(99, 126, 11, 0.4)}.lime-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-lime.svg) no-repeat 50%}.lime-theme.elevation-control.elevation .area{fill:#9cc222}.lime-theme.elevation-control.elevation .mouse-focus-line{stroke:#101404}.lime-theme.height-focus{stroke:#000;fill:#9cc222}.lime-theme.elevation-polyline{stroke:#566b13}.steelblue-theme.elevation-control.elevation .background{background-color:rgba(70, 130, 180, 0.2)}.steelblue-theme.elevation-control.elevation .axis line,.steelblue-theme.elevation-control.elevation .axis path{stroke:#0d1821}.steelblue-theme.elevation-control.elevation .brush .selection{fill:rgba(23, 74, 117, 0.4)}.steelblue-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-steelblue.svg) no-repeat 50%}.steelblue-theme.elevation-control.elevation .area{fill:#4682b4}.steelblue-theme.elevation-control.elevation .mouse-focus-line{stroke:#0d1821}.steelblue-theme.height-focus{stroke:#000;fill:#4682b4}.steelblue-theme.elevation-polyline{stroke:#4682b4}.purple-theme.elevation-control.elevation .background{background-color:rgba(115, 44, 123, 0.2)}.purple-theme.elevation-control.elevation .axis line,.purple-theme.elevation-control.elevation .axis path{stroke:#2d1130}.purple-theme.elevation-control.elevation .brush .selection{fill:rgba(74, 14, 80, 0.4)}.purple-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-purple.svg) no-repeat 50%}.purple-theme.elevation-control.elevation .area{fill:#732c7b}.purple-theme.elevation-control.elevation .mouse-focus-line{stroke:#000}.purple-theme.height-focus{stroke:#000;fill:#732c7b}.purple-theme.elevation-polyline{stroke:#732c7b}.yellow-theme.elevation-control.elevation .area{fill:#ff0}.yellow-theme.elevation-polyline{stroke:#ff0}.red-theme.elevation-control.elevation .area{fill:red}.red-theme.elevation-polyline{stroke:red}.magenta-theme.elevation-control.elevation .background{background-color:hsla(0, 0%, 100%, 0.47)}.magenta-theme.elevation-control.elevation .area{fill:#ff005e}.magenta-theme.elevation-polyline{stroke:#ff005e}.lightblue-theme.elevation-control.elevation .area{fill:#36c;stroke:#000}.elevation-detached .lightblue-theme.elevation-control.elevation .area{fill-opacity:0.45;stroke:#36c}.lightblue-theme.height-focus{stroke:#000;fill:#fff}.lightblue-theme.elevation-polyline{stroke:#36c}.dist-marker{font-size:0.5rem;border:1px solid #777;border-radius:10px;text-align:center;color:#000;background:#fff}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform 0.3s ease-out, opacity 0.3s ease-in;-moz-transition:-moz-transform 0.3s ease-out, opacity 0.3s ease-in;-o-transition:-o-transform 0.3s ease-out, opacity 0.3s ease-in;-webkit-transition:opacity 0.3s ease-in, -webkit-transform 0.3s ease-out;transition:opacity 0.3s ease-in, -webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out, opacity 0.3s ease-in;transition:transform 0.3s ease-out, opacity 0.3s ease-in, -webkit-transform 0.3s ease-out}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;-moz-transition:-moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;-o-transition:-o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;-webkit-transition:stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;transition:stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in}#map{position:relative;font-family:var(--font-family);display:block}.leaflet-control-layers-toggle,.leaflet-retina .leaflet-control-layers-toggle{background-image:var(--layers-image-src)}.treks-map{height:100%}.trek-map{height:calc(100% - var(--elevation-height))}.common-map{height:100%}#elevation{position:relative;background-color:#ffffff}.elevation-control .background{border-radius:0px}.custom-theme.elevation-control .axis text{fill:var(--color-on-surface)}.custom-theme.elevation-control .axis line,.custom-theme.elevation-control .axis path{stroke:var(--color-on-surface)}.custom-theme.elevation-control .mouse-focus-label-rect{fill:var(--color-primary-container);stroke:var(--color-on-primary-container)}.custom-theme.elevation-control .mouse-focus-label-text{fill:var(--color-on-primary-container)}.custom-theme.elevation-control .background{background-color:var(--color-background)}.custom-theme.elevation-control .mouse-focus-line{stroke:var(--color-on-surface)}.use-theme-color.elevation-control .area path.altitude,.use-theme-color .legend-altitude rect.area{fill:var(--color-primary-app);stroke:var(--color-trek-line)}.custom-theme.height-focus.circle-lower{fill:#ffffff;stroke:var(--color-on-surface)}.custom-theme.elevation-polyline{stroke:var(--color-trek-line)}.custom-theme.height-focus.line,.custom-theme.height-focus-label{display:none}.custom-theme .elevation-summary{margin:-12px 0px 0px 36px;font-size:8px;font-family:var(--font-family)}.custom-theme .elevation-summary :nth-child(3)::after{display:none}.custom-theme .elevation-summary .avgele{display:none}.treks-marker-cluster-group-icon,.touristic-content-marker-cluster-group-icon,.touristic-event-marker-cluster-group-icon,.outdoor-site-marker-cluster-group-icon{background-color:var(--color-clusters);border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:var(--color-on-primary);font-size:16px;height:100%;width:100%}.trek-marker,.step-marker,.touristic-content-marker,.touristic-event-marker,.outdoor-site-marker,.selected-trek-marker,.selected-step-marker,.selected-touristic-content-marker,.selected-touristic-event-marker,.selected-outdoor-site-marker,.departure-marker,.arrival-marker{width:100%;height:100%}.trek-marker .trek-marker-container,.trek-marker .step-marker-container,.trek-marker .touristic-content-marker-container,.trek-marker .touristic-event-marker-container,.trek-marker .outdoor-site-marker-container,.step-marker .trek-marker-container,.step-marker .step-marker-container,.step-marker .touristic-content-marker-container,.step-marker .touristic-event-marker-container,.step-marker .outdoor-site-marker-container,.touristic-content-marker .trek-marker-container,.touristic-content-marker .step-marker-container,.touristic-content-marker .touristic-content-marker-container,.touristic-content-marker .touristic-event-marker-container,.touristic-content-marker .outdoor-site-marker-container,.touristic-event-marker .trek-marker-container,.touristic-event-marker .step-marker-container,.touristic-event-marker .touristic-content-marker-container,.touristic-event-marker .touristic-event-marker-container,.touristic-event-marker .outdoor-site-marker-container,.outdoor-site-marker .trek-marker-container,.outdoor-site-marker .step-marker-container,.outdoor-site-marker .touristic-content-marker-container,.outdoor-site-marker .touristic-event-marker-container,.outdoor-site-marker .outdoor-site-marker-container,.selected-trek-marker .trek-marker-container,.selected-trek-marker .step-marker-container,.selected-trek-marker .touristic-content-marker-container,.selected-trek-marker .touristic-event-marker-container,.selected-trek-marker .outdoor-site-marker-container,.selected-step-marker .trek-marker-container,.selected-step-marker .step-marker-container,.selected-step-marker .touristic-content-marker-container,.selected-step-marker .touristic-event-marker-container,.selected-step-marker .outdoor-site-marker-container,.selected-touristic-content-marker .trek-marker-container,.selected-touristic-content-marker .step-marker-container,.selected-touristic-content-marker .touristic-content-marker-container,.selected-touristic-content-marker .touristic-event-marker-container,.selected-touristic-content-marker .outdoor-site-marker-container,.selected-touristic-event-marker .trek-marker-container,.selected-touristic-event-marker .step-marker-container,.selected-touristic-event-marker .touristic-content-marker-container,.selected-touristic-event-marker .touristic-event-marker-container,.selected-touristic-event-marker .outdoor-site-marker-container,.selected-outdoor-site-marker .trek-marker-container,.selected-outdoor-site-marker .step-marker-container,.selected-outdoor-site-marker .touristic-content-marker-container,.selected-outdoor-site-marker .touristic-event-marker-container,.selected-outdoor-site-marker .outdoor-site-marker-container,.departure-marker .trek-marker-container,.departure-marker .step-marker-container,.departure-marker .touristic-content-marker-container,.departure-marker .touristic-event-marker-container,.departure-marker .outdoor-site-marker-container,.arrival-marker .trek-marker-container,.arrival-marker .step-marker-container,.arrival-marker .touristic-content-marker-container,.arrival-marker .touristic-event-marker-container,.arrival-marker .outdoor-site-marker-container{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border-radius:50% 50% 50% 0;border:2px solid #ffffff;width:100%;height:100%;-webkit-transform:rotate(-44deg);transform:rotate(-44deg)}.trek-marker .trek-marker-container img,.trek-marker .trek-marker-container .step-number,.trek-marker .step-marker-container img,.trek-marker .step-marker-container .step-number,.trek-marker .touristic-content-marker-container img,.trek-marker .touristic-content-marker-container .step-number,.trek-marker .touristic-event-marker-container img,.trek-marker .touristic-event-marker-container .step-number,.trek-marker .outdoor-site-marker-container img,.trek-marker .outdoor-site-marker-container .step-number,.step-marker .trek-marker-container img,.step-marker .trek-marker-container .step-number,.step-marker .step-marker-container img,.step-marker .step-marker-container .step-number,.step-marker .touristic-content-marker-container img,.step-marker .touristic-content-marker-container .step-number,.step-marker .touristic-event-marker-container img,.step-marker .touristic-event-marker-container .step-number,.step-marker .outdoor-site-marker-container img,.step-marker .outdoor-site-marker-container .step-number,.touristic-content-marker .trek-marker-container img,.touristic-content-marker .trek-marker-container .step-number,.touristic-content-marker .step-marker-container img,.touristic-content-marker .step-marker-container .step-number,.touristic-content-marker .touristic-content-marker-container img,.touristic-content-marker .touristic-content-marker-container .step-number,.touristic-content-marker .touristic-event-marker-container img,.touristic-content-marker .touristic-event-marker-container .step-number,.touristic-content-marker .outdoor-site-marker-container img,.touristic-content-marker .outdoor-site-marker-container .step-number,.touristic-event-marker .trek-marker-container img,.touristic-event-marker .trek-marker-container .step-number,.touristic-event-marker .step-marker-container img,.touristic-event-marker .step-marker-container .step-number,.touristic-event-marker .touristic-content-marker-container img,.touristic-event-marker .touristic-content-marker-container .step-number,.touristic-event-marker .touristic-event-marker-container img,.touristic-event-marker .touristic-event-marker-container .step-number,.touristic-event-marker .outdoor-site-marker-container img,.touristic-event-marker .outdoor-site-marker-container .step-number,.outdoor-site-marker .trek-marker-container img,.outdoor-site-marker .trek-marker-container .step-number,.outdoor-site-marker .step-marker-container img,.outdoor-site-marker .step-marker-container .step-number,.outdoor-site-marker .touristic-content-marker-container img,.outdoor-site-marker .touristic-content-marker-container .step-number,.outdoor-site-marker .touristic-event-marker-container img,.outdoor-site-marker .touristic-event-marker-container .step-number,.outdoor-site-marker .outdoor-site-marker-container img,.outdoor-site-marker .outdoor-site-marker-container .step-number,.selected-trek-marker .trek-marker-container img,.selected-trek-marker .trek-marker-container .step-number,.selected-trek-marker .step-marker-container img,.selected-trek-marker .step-marker-container .step-number,.selected-trek-marker .touristic-content-marker-container img,.selected-trek-marker .touristic-content-marker-container .step-number,.selected-trek-marker .touristic-event-marker-container img,.selected-trek-marker .touristic-event-marker-container .step-number,.selected-trek-marker .outdoor-site-marker-container img,.selected-trek-marker .outdoor-site-marker-container .step-number,.selected-step-marker .trek-marker-container img,.selected-step-marker .trek-marker-container .step-number,.selected-step-marker .step-marker-container img,.selected-step-marker .step-marker-container .step-number,.selected-step-marker .touristic-content-marker-container img,.selected-step-marker .touristic-content-marker-container .step-number,.selected-step-marker .touristic-event-marker-container img,.selected-step-marker .touristic-event-marker-container .step-number,.selected-step-marker .outdoor-site-marker-container img,.selected-step-marker .outdoor-site-marker-container .step-number,.selected-touristic-content-marker .trek-marker-container img,.selected-touristic-content-marker .trek-marker-container .step-number,.selected-touristic-content-marker .step-marker-container img,.selected-touristic-content-marker .step-marker-container .step-number,.selected-touristic-content-marker .touristic-content-marker-container img,.selected-touristic-content-marker .touristic-content-marker-container .step-number,.selected-touristic-content-marker .touristic-event-marker-container img,.selected-touristic-content-marker .touristic-event-marker-container .step-number,.selected-touristic-content-marker .outdoor-site-marker-container img,.selected-touristic-content-marker .outdoor-site-marker-container .step-number,.selected-touristic-event-marker .trek-marker-container img,.selected-touristic-event-marker .trek-marker-container .step-number,.selected-touristic-event-marker .step-marker-container img,.selected-touristic-event-marker .step-marker-container .step-number,.selected-touristic-event-marker .touristic-content-marker-container img,.selected-touristic-event-marker .touristic-content-marker-container .step-number,.selected-touristic-event-marker .touristic-event-marker-container img,.selected-touristic-event-marker .touristic-event-marker-container .step-number,.selected-touristic-event-marker .outdoor-site-marker-container img,.selected-touristic-event-marker .outdoor-site-marker-container .step-number,.selected-outdoor-site-marker .trek-marker-container img,.selected-outdoor-site-marker .trek-marker-container .step-number,.selected-outdoor-site-marker .step-marker-container img,.selected-outdoor-site-marker .step-marker-container .step-number,.selected-outdoor-site-marker .touristic-content-marker-container img,.selected-outdoor-site-marker .touristic-content-marker-container .step-number,.selected-outdoor-site-marker .touristic-event-marker-container img,.selected-outdoor-site-marker .touristic-event-marker-container .step-number,.selected-outdoor-site-marker .outdoor-site-marker-container img,.selected-outdoor-site-marker .outdoor-site-marker-container .step-number,.departure-marker .trek-marker-container img,.departure-marker .trek-marker-container .step-number,.departure-marker .step-marker-container img,.departure-marker .step-marker-container .step-number,.departure-marker .touristic-content-marker-container img,.departure-marker .touristic-content-marker-container .step-number,.departure-marker .touristic-event-marker-container img,.departure-marker .touristic-event-marker-container .step-number,.departure-marker .outdoor-site-marker-container img,.departure-marker .outdoor-site-marker-container .step-number,.arrival-marker .trek-marker-container img,.arrival-marker .trek-marker-container .step-number,.arrival-marker .step-marker-container img,.arrival-marker .step-marker-container .step-number,.arrival-marker .touristic-content-marker-container img,.arrival-marker .touristic-content-marker-container .step-number,.arrival-marker .touristic-event-marker-container img,.arrival-marker .touristic-event-marker-container .step-number,.arrival-marker .outdoor-site-marker-container img,.arrival-marker .outdoor-site-marker-container .step-number{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;z-index:20;width:var(--main-marker-icon-width) !important}.trek-marker .trek-marker-container,.trek-marker .touristic-content-marker-container,.trek-marker .touristic-event-marker-container,.trek-marker .outdoor-site-marker-container,.step-marker .trek-marker-container,.step-marker .touristic-content-marker-container,.step-marker .touristic-event-marker-container,.step-marker .outdoor-site-marker-container,.touristic-content-marker .trek-marker-container,.touristic-content-marker .touristic-content-marker-container,.touristic-content-marker .touristic-event-marker-container,.touristic-content-marker .outdoor-site-marker-container,.touristic-event-marker .trek-marker-container,.touristic-event-marker .touristic-content-marker-container,.touristic-event-marker .touristic-event-marker-container,.touristic-event-marker .outdoor-site-marker-container,.outdoor-site-marker .trek-marker-container,.outdoor-site-marker .touristic-content-marker-container,.outdoor-site-marker .touristic-event-marker-container,.outdoor-site-marker .outdoor-site-marker-container,.selected-trek-marker .trek-marker-container,.selected-trek-marker .touristic-content-marker-container,.selected-trek-marker .touristic-event-marker-container,.selected-trek-marker .outdoor-site-marker-container,.selected-step-marker .trek-marker-container,.selected-step-marker .touristic-content-marker-container,.selected-step-marker .touristic-event-marker-container,.selected-step-marker .outdoor-site-marker-container,.selected-touristic-content-marker .trek-marker-container,.selected-touristic-content-marker .touristic-content-marker-container,.selected-touristic-content-marker .touristic-event-marker-container,.selected-touristic-content-marker .outdoor-site-marker-container,.selected-touristic-event-marker .trek-marker-container,.selected-touristic-event-marker .touristic-content-marker-container,.selected-touristic-event-marker .touristic-event-marker-container,.selected-touristic-event-marker .outdoor-site-marker-container,.selected-outdoor-site-marker .trek-marker-container,.selected-outdoor-site-marker .touristic-content-marker-container,.selected-outdoor-site-marker .touristic-event-marker-container,.selected-outdoor-site-marker .outdoor-site-marker-container,.departure-marker .trek-marker-container,.departure-marker .touristic-content-marker-container,.departure-marker .touristic-event-marker-container,.departure-marker .outdoor-site-marker-container,.arrival-marker .trek-marker-container,.arrival-marker .touristic-content-marker-container,.arrival-marker .touristic-event-marker-container,.arrival-marker .outdoor-site-marker-container{background-color:var(--color-markers)}.trek-marker .step-marker-container,.step-marker .step-marker-container,.touristic-content-marker .step-marker-container,.touristic-event-marker .step-marker-container,.outdoor-site-marker .step-marker-container,.selected-trek-marker .step-marker-container,.selected-step-marker .step-marker-container,.selected-touristic-content-marker .step-marker-container,.selected-touristic-event-marker .step-marker-container,.selected-outdoor-site-marker .step-marker-container,.departure-marker .step-marker-container,.arrival-marker .step-marker-container{background-color:var(--color-markers)}.departure-marker{background-color:#008000;border-radius:14px;width:100%;height:100%;border:4px #ffffff solid}.arrival-marker{background-color:#ff0000;border-radius:14px;width:100%;height:100%;border:4px #ffffff solid}.selected-trek-marker,.selected-step-marker,.selected-touristic-content-marker,.selected-touristic-event-marker,.selected-outdoor-site-marker{height:100%;width:100%}.selected-trek-marker .trek-marker-container,.selected-trek-marker .step-marker-container,.selected-trek-marker .touristic-content-marker-container,.selected-trek-marker .touristic-event-marker-container,.selected-trek-marker .outdoor-site-marker-container,.selected-step-marker .trek-marker-container,.selected-step-marker .step-marker-container,.selected-step-marker .touristic-content-marker-container,.selected-step-marker .touristic-event-marker-container,.selected-step-marker .outdoor-site-marker-container,.selected-touristic-content-marker .trek-marker-container,.selected-touristic-content-marker .step-marker-container,.selected-touristic-content-marker .touristic-content-marker-container,.selected-touristic-content-marker .touristic-event-marker-container,.selected-touristic-content-marker .outdoor-site-marker-container,.selected-touristic-event-marker .trek-marker-container,.selected-touristic-event-marker .step-marker-container,.selected-touristic-event-marker .touristic-content-marker-container,.selected-touristic-event-marker .touristic-event-marker-container,.selected-touristic-event-marker .outdoor-site-marker-container,.selected-outdoor-site-marker .trek-marker-container,.selected-outdoor-site-marker .step-marker-container,.selected-outdoor-site-marker .touristic-content-marker-container,.selected-outdoor-site-marker .touristic-event-marker-container,.selected-outdoor-site-marker .outdoor-site-marker-container{width:100%;height:100%}.selected-trek-marker .trek-marker-container .trek-marker,.selected-trek-marker .trek-marker-container .step-number,.selected-trek-marker .step-marker-container .trek-marker,.selected-trek-marker .step-marker-container .step-number,.selected-trek-marker .touristic-content-marker-container .trek-marker,.selected-trek-marker .touristic-content-marker-container .step-number,.selected-trek-marker .touristic-event-marker-container .trek-marker,.selected-trek-marker .touristic-event-marker-container .step-number,.selected-trek-marker .outdoor-site-marker-container .trek-marker,.selected-trek-marker .outdoor-site-marker-container .step-number,.selected-step-marker .trek-marker-container .trek-marker,.selected-step-marker .trek-marker-container .step-number,.selected-step-marker .step-marker-container .trek-marker,.selected-step-marker .step-marker-container .step-number,.selected-step-marker .touristic-content-marker-container .trek-marker,.selected-step-marker .touristic-content-marker-container .step-number,.selected-step-marker .touristic-event-marker-container .trek-marker,.selected-step-marker .touristic-event-marker-container .step-number,.selected-step-marker .outdoor-site-marker-container .trek-marker,.selected-step-marker .outdoor-site-marker-container .step-number,.selected-touristic-content-marker .trek-marker-container .trek-marker,.selected-touristic-content-marker .trek-marker-container .step-number,.selected-touristic-content-marker .step-marker-container .trek-marker,.selected-touristic-content-marker .step-marker-container .step-number,.selected-touristic-content-marker .touristic-content-marker-container .trek-marker,.selected-touristic-content-marker .touristic-content-marker-container .step-number,.selected-touristic-content-marker .touristic-event-marker-container .trek-marker,.selected-touristic-content-marker .touristic-event-marker-container .step-number,.selected-touristic-content-marker .outdoor-site-marker-container .trek-marker,.selected-touristic-content-marker .outdoor-site-marker-container .step-number,.selected-touristic-event-marker .trek-marker-container .trek-marker,.selected-touristic-event-marker .trek-marker-container .step-number,.selected-touristic-event-marker .step-marker-container .trek-marker,.selected-touristic-event-marker .step-marker-container .step-number,.selected-touristic-event-marker .touristic-content-marker-container .trek-marker,.selected-touristic-event-marker .touristic-content-marker-container .step-number,.selected-touristic-event-marker .touristic-event-marker-container .trek-marker,.selected-touristic-event-marker .touristic-event-marker-container .step-number,.selected-touristic-event-marker .outdoor-site-marker-container .trek-marker,.selected-touristic-event-marker .outdoor-site-marker-container .step-number,.selected-outdoor-site-marker .trek-marker-container .trek-marker,.selected-outdoor-site-marker .trek-marker-container .step-number,.selected-outdoor-site-marker .step-marker-container .trek-marker,.selected-outdoor-site-marker .step-marker-container .step-number,.selected-outdoor-site-marker .touristic-content-marker-container .trek-marker,.selected-outdoor-site-marker .touristic-content-marker-container .step-number,.selected-outdoor-site-marker .touristic-event-marker-container .trek-marker,.selected-outdoor-site-marker .touristic-event-marker-container .step-number,.selected-outdoor-site-marker .outdoor-site-marker-container .trek-marker,.selected-outdoor-site-marker .outdoor-site-marker-container .step-number{width:100% !important}.step-marker,.selected-step-marker{color:var(--color-on-surface-variant)}.map-loader-container{position:absolute;z-index:500;width:100%;height:100%;background-color:var(--color-background);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.map-loader-container .loader{width:48px;height:48px;border:5px solid var(--color-primary-container);border-bottom-color:var(--color-on-primary-container);border-radius:50%;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.trek-departure-popup,.touristic-content-coordinates-popup,.touristic-event-coordinates-popup,.outdoor-site-coordinates-popup{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.trek-departure-popup img,.touristic-content-coordinates-popup img,.touristic-event-coordinates-popup img,.outdoor-site-coordinates-popup img{border-top-left-radius:var(--border-radius, 8px);border-top-right-radius:var(--border-radius, 8px)}.trek-departure-popup .trek-name,.trek-departure-popup .touristic-content-name,.trek-departure-popup .touristic-event-name,.trek-departure-popup .outdoor-site-name,.touristic-content-coordinates-popup .trek-name,.touristic-content-coordinates-popup .touristic-content-name,.touristic-content-coordinates-popup .touristic-event-name,.touristic-content-coordinates-popup .outdoor-site-name,.touristic-event-coordinates-popup .trek-name,.touristic-event-coordinates-popup .touristic-content-name,.touristic-event-coordinates-popup .touristic-event-name,.touristic-event-coordinates-popup .outdoor-site-name,.outdoor-site-coordinates-popup .trek-name,.outdoor-site-coordinates-popup .touristic-content-name,.outdoor-site-coordinates-popup .touristic-event-name,.outdoor-site-coordinates-popup .outdoor-site-name{color:var(--color-primary-app);font-weight:700;font-size:16px;line-height:24px;padding:12px}.trek-departure-popup .trek-button,.trek-departure-popup .touristic-content-button,.trek-departure-popup .touristic-event-button,.trek-departure-popup .outdoor-site-button,.touristic-content-coordinates-popup .trek-button,.touristic-content-coordinates-popup .touristic-content-button,.touristic-content-coordinates-popup .touristic-event-button,.touristic-content-coordinates-popup .outdoor-site-button,.touristic-event-coordinates-popup .trek-button,.touristic-event-coordinates-popup .touristic-content-button,.touristic-event-coordinates-popup .touristic-event-button,.touristic-event-coordinates-popup .outdoor-site-button,.outdoor-site-coordinates-popup .trek-button,.outdoor-site-coordinates-popup .touristic-content-button,.outdoor-site-coordinates-popup .touristic-event-button,.outdoor-site-coordinates-popup .outdoor-site-button{margin:0px 8px 16px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:1px solid var(--color-on-primary-container);background-color:var(--color-background);color:var(--color-on-primary-container);padding:12px 24px;border-radius:var(--border-radius, 8px);-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;gap:8px;white-space:nowrap;line-height:20px;letter-spacing:0.1000000015px;font-size:14px;font-weight:500;-webkit-transition:-webkit-box-shadow 0.2s ease-in-out 0s;transition:-webkit-box-shadow 0.2s ease-in-out 0s;transition:box-shadow 0.2s ease-in-out 0s;transition:box-shadow 0.2s ease-in-out 0s, -webkit-box-shadow 0.2s ease-in-out 0s;font-family:var(--font-family)}.trek-departure-popup .trek-button:hover,.trek-departure-popup .touristic-content-button:hover,.trek-departure-popup .touristic-event-button:hover,.trek-departure-popup .outdoor-site-button:hover,.touristic-content-coordinates-popup .trek-button:hover,.touristic-content-coordinates-popup .touristic-content-button:hover,.touristic-content-coordinates-popup .touristic-event-button:hover,.touristic-content-coordinates-popup .outdoor-site-button:hover,.touristic-event-coordinates-popup .trek-button:hover,.touristic-event-coordinates-popup .touristic-content-button:hover,.touristic-event-coordinates-popup .touristic-event-button:hover,.touristic-event-coordinates-popup .outdoor-site-button:hover,.outdoor-site-coordinates-popup .trek-button:hover,.outdoor-site-coordinates-popup .touristic-content-button:hover,.outdoor-site-coordinates-popup .touristic-event-button:hover,.outdoor-site-coordinates-popup .outdoor-site-button:hover{background-color:var(--color-primary-container)}.poi-tooltip .poi-name,.poi-tooltip .information-desks-name,.poi-tooltip .sensitive-area-name,.poi-tooltip .touristic-content-name,.poi-tooltip .touristic-event-name,.poi-tooltip .parking-name,.poi-tooltip .signage-name,.information-desks-tooltip .poi-name,.information-desks-tooltip .information-desks-name,.information-desks-tooltip .sensitive-area-name,.information-desks-tooltip .touristic-content-name,.information-desks-tooltip .touristic-event-name,.information-desks-tooltip .parking-name,.information-desks-tooltip .signage-name,.sensitive-area-tooltip .poi-name,.sensitive-area-tooltip .information-desks-name,.sensitive-area-tooltip .sensitive-area-name,.sensitive-area-tooltip .touristic-content-name,.sensitive-area-tooltip .touristic-event-name,.sensitive-area-tooltip .parking-name,.sensitive-area-tooltip .signage-name,.touristic-content-tooltip .poi-name,.touristic-content-tooltip .information-desks-name,.touristic-content-tooltip .sensitive-area-name,.touristic-content-tooltip .touristic-content-name,.touristic-content-tooltip .touristic-event-name,.touristic-content-tooltip .parking-name,.touristic-content-tooltip .signage-name,.touristic-event-tooltip .poi-name,.touristic-event-tooltip .information-desks-name,.touristic-event-tooltip .sensitive-area-name,.touristic-event-tooltip .touristic-content-name,.touristic-event-tooltip .touristic-event-name,.touristic-event-tooltip .parking-name,.touristic-event-tooltip .signage-name,.parking-tooltip .poi-name,.parking-tooltip .information-desks-name,.parking-tooltip .sensitive-area-name,.parking-tooltip .touristic-content-name,.parking-tooltip .touristic-event-name,.parking-tooltip .parking-name,.parking-tooltip .signage-name,.signage-tootltip .poi-name,.signage-tootltip .information-desks-name,.signage-tootltip .sensitive-area-name,.signage-tootltip .touristic-content-name,.signage-tootltip .touristic-event-name,.signage-tootltip .parking-name,.signage-tootltip .signage-name{color:var(--color-primary-app);font-weight:400;font-size:16px;line-height:24px}.sensitiveAreasCheckboxContainer{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;background-color:#ffffff;padding:8px;border-radius:var(--border-radius, 8px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sensitiveAreasCheckboxContainer input,.sensitiveAreasCheckboxContainer label{cursor:pointer}.sensitiveAreasCheckboxContainer input{margin:0}.sensitiveAreasCheckboxContainer label{padding-left:8px}.poi-marker,.information-desks-marker,.touristic-content-marker,.touristic-event-marker,.outdoor-site-marker,.signage-marker{background-color:var(--color-markers);border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:100%;width:100%}.poi-marker img,.information-desks-marker img,.touristic-content-marker img,.touristic-event-marker img,.outdoor-site-marker img,.signage-marker img{width:var(--common-marker-icon-width) !important;height:auto}.parking-marker{width:100%;height:100%}.parking-marker img{width:100% !important;height:auto}.point-reference-icon{color:var(--reference-point-color);background-color:var(--reference-point-background-color);border:1px solid #ffffff;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;font-size:24px}.leaflet-popup{bottom:40px !important;left:-110px !important}.leaflet-popup-content-wrapper{cursor:default;padding:0px;background-color:var(--color-background);-webkit-box-shadow:var(--elevation-2);box-shadow:var(--elevation-2)}.leaflet-popup-content{width:221px;margin:0}";
|
|
1343
|
+
const grwMapCss = "@charset \"UTF-8\";.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none !important;max-height:none !important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none !important;max-height:none !important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51, 181, 229, 0.4)}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);-moz-transition:-moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:-webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:transform 0.25s cubic-bezier(0, 0, 0.25, 1), -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255, 255, 255, 0.5)}.leaflet-container{font-family:\"Helvetica Neue\", Arial, Helvetica, sans-serif;font-size:12px;font-size:0.75rem;line-height:1.5}.leaflet-bar{-webkit-box-shadow:0 1px 5px rgba(0, 0, 0, 0.65);box-shadow:0 1px 5px rgba(0, 0, 0, 0.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px \"Lucida Console\", Monaco, monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{-webkit-box-shadow:0 1px 5px rgba(0, 0, 0, 0.4);box-shadow:0 1px 5px rgba(0, 0, 0, 0.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255, 255, 255, 0.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline !important;vertical-align:baseline !important;width:1em;height:0.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{-webkit-box-shadow:none;box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0, 0, 0, 0.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;-webkit-box-shadow:0 3px 14px rgba(0, 0, 0, 0.4);box-shadow:0 3px 14px rgba(0, 0, 0, 0.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma, Verdana, sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:\"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.4);box-shadow:0 1px 3px rgba(0, 0, 0, 0.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:\"\"}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@-moz-document url-prefix(){.leaflet-simple-locate .fa,.leaflet-simple-locate .fab,.leaflet-simple-locate .far,.leaflet-simple-locate .fas{margin-top:0.05rem;margin-bottom:-0.05rem}}.leaflet-simple-locate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;width:2.5rem;height:2.5rem;padding:0;margin:0;font-size:1.375rem;color:rgba(var(--primary-rgb), 1);background-color:rgba(255, 255, 255, 1) !important;border:0.125rem solid rgba(var(--primary-rgb), 1) !important;border-radius:2.5rem;-webkit-box-shadow:rgba(0, 0, 0, 0.33) 0 0.125rem 0.375rem;box-shadow:rgba(0, 0, 0, 0.33) 0 0.125rem 0.375rem;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;text-size-adjust:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-khtml-text-size-adjust:none}.leaflet-simple-locate:active{color:white;background-color:rgba(var(--primary-rgb), 1) !important;border-color:white !important}.leaflet-simple-locate:active svg{fill:white}.leaflet-simple-locate:focus{-webkit-box-shadow:0 0 0 0.25rem rgba(var(--primary-rgb), 0.25);box-shadow:0 0 0 0.25rem rgba(var(--primary-rgb), 0.25)}.leaflet-simple-locate:focus-visible{border:0.125rem solid rgba(0, 0, 0, 1)}.leaflet-simple-locate svg{fill:rgba(var(--primary-rgb), 1);width:1.375rem;height:1.375rem}.leaflet-simple-locate.button-locate{position:absolute;margin:0 !important;left:0.5rem;top:calc(var(--vh, 1vh) * 50);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.leaflet-simple-locate-icon{fill:rgba(var(--primary-rgb), 1);pointer-events:none !important;cursor:-webkit-grab;cursor:grab}.leaflet-simple-locate-icon stop{stop-color:rgba(var(--primary-rgb), 1)}.leaflet-simple-locate-icon .orientation{-webkit-transform:rotate(calc(-1 * var(--leaflet-simple-locate-orientation, 0deg)));transform:rotate(calc(-1 * var(--leaflet-simple-locate-orientation, 0deg)))}.leaflet-simple-locate-circle{display:var(--leaflet-simple-locate-circle-display);fill:rgba(var(--primary-rgb), 1);fill-opacity:0.1;stroke:rgba(var(--primary-rgb), 1);stroke-width:1;stroke-opacity:0.3;pointer-events:none !important;cursor:-webkit-grab;cursor:grab}.leaflet-simple-locate-orientation{-webkit-transform:rotate(var(--leaflet-simple-locate-orientation, 0deg));transform:rotate(var(--leaflet-simple-locate-orientation, 0deg))}#leaflet-simple-locate-icon-spot{pointer-events:auto;cursor:pointer}.leaflet-hidden{visibility:hidden}.legend{cursor:pointer}.leaflet-container{z-index:0}.elevation-detached{font:12px/1.5 Helvetica Neue, Arial, Helvetica, sans-serif;height:auto;width:100%;position:relative;z-index:0}.elevation-detached .elevation{width:100%}.elevation-detached .background{max-width:100%}.elevation-control.elevation .background{background-color:rgba(70, 130, 180, 0.2);border-radius:5px;overflow:visible;display:block;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elevation-control.elevation .axis line,.elevation-control.elevation .axis path{stroke:#2d1130;stroke-width:1;fill:none}.elevation-control.elevation .grid .tick line{stroke:#eee;stroke-width:1px;shape-rendering:crispEdges}.elevation-control.elevation .grid path{stroke-width:0;pointer-events:none}.elevation-control.elevation .axis text,.elevation-control.elevation .point text{fill:#000;font-weight:700;paint-order:stroke fill;stroke:#fff;stroke-width:2px}.elevation-control.elevation .y.axis text{text-anchor:end}.elevation-control.elevation .area{fill:#4682b4;stroke:#000;stroke-width:1.2;paint-order:stroke fill}.elevation-detached .elevation-control.elevation .area{fill-opacity:0.8}.elevation-control.elevation .horizontal-drag-line{stroke:transparent;cursor:row-resize;stroke-width:1.1;stroke-dasharray:5}.elevation-control.elevation .active .horizontal-drag-line{stroke:#000}.elevation-control.elevation .horizontal-drag-label{font-weight:700;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px;pointer-events:none}.elevation-control.elevation .ruler{cursor:row-resize;color:#000}.elevation-control.elevation .mouse-focus-line{stroke:#0d1821;stroke-width:1;pointer-events:none}.elevation-control.elevation .mouse-focus-label-rect{fill:#000;fill-opacity:0.75;pointer-events:none;stroke-width:1;stroke:#444}.elevation-control.elevation .mouse-focus-label-text{fill:#fff;pointer-events:none;font-size:10px}.elevation-control.elevation .brush .overlay{cursor:unset}.elevation-control.elevation .brush .selection{fill:rgba(23, 74, 117, 0.4);stroke:none;fill-opacity:unset}.elevation-control.elevation .elevation-toggle{cursor:pointer;-webkit-box-shadow:0 1px 7px rgba(0, 0, 0, 0.4);box-shadow:0 1px 7px rgba(0, 0, 0, 0.4);border-radius:5px;width:36px;height:36px;background-color:#f8f8f9}.elevation-summary{font-family:Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif;font-size:12px;margin:0 auto}.leaflet-control-container .elevation-summary{text-shadow:1.5px 0 0 #fff, -1.5px 0 0 #fff, 0 1.5px 0 #fff, 0 -1.5px 0 #fff, 1px 1px #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff}.elevation-detached .elevation-summary{margin:0 45px}.elevation-summary.multiline-summary{margin-right:30px}.elevation-detached .elevation-summary.multiline-summary{margin-bottom:12px;margin-top:12px;line-height:2}.elevation-summary.inline-summary>span:not(:last-child):after{content:\" — \"}.elevation-summary.multiline-summary>span{display:block}.elevation-summary.multiline-summary .download{float:right;margin-top:-2.5em;font-weight:700;font-size:1.2em}.elevation-detached .elevation-summary.multiline-summary .download{margin-top:-3.5em}.elevation-summary .summaryvalue{font-weight:700}.elevation-control.elevation-collapsed .background,.elevation-control.elevation-collapsed .elevation-summary{display:none}.elevation-control.elevation-collapsed .elevation-toggle{display:block}.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation.svg) no-repeat 50%}.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button{background:transparent;position:absolute;right:5px;top:5px;height:20px;width:20px}.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button:before{content:\"✖\";display:inline-block;color:#000;position:absolute;left:0;right:0;top:0;bottom:0;line-height:20px;text-align:center;font-weight:700;font-size:15px}.elevation-control.elevation g.area>foreignObject{pointer-events:none}.leaflet-elevation-pane .height-focus,.leaflet-overlay-pane .height-focus{stroke:#000;fill:#fff}.leaflet-elevation-pane .height-focus.line,.leaflet-overlay-pane .height-focus.line{pointer-events:none;stroke-width:2}.leaflet-elevation-pane .height-focus-label,.leaflet-overlay-pane .height-focus-label{font-size:12px;font-weight:600;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px}.elevation-waypoint-icon:before{background:url(../images/elevation-pushpin.svg) no-repeat 50%/contain;content:\"\";width:100%;height:100%;display:inline-block}.elevation-position-icon:before{background:url(../images/elevation-position.svg) no-repeat 50%/contain;content:\"\";width:100%;height:100%;display:inline-block}.elevation-polyline{-webkit-filter:drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF);filter:drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF)}.elevation-placeholder{margin:auto;height:auto;width:100%}.elevation-placeholder~*{display:none !important}.lime-theme.elevation-control.elevation .background{background-color:rgba(156, 194, 34, 0.2)}.lime-theme.elevation-control.elevation .axis line,.lime-theme.elevation-control.elevation .axis path{stroke:#566b13}.lime-theme.elevation-control.elevation .grid .tick line{stroke:#ccc}.lime-theme.elevation-control.elevation .brush .selection{fill:rgba(99, 126, 11, 0.4)}.lime-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-lime.svg) no-repeat 50%}.lime-theme.elevation-control.elevation .area{fill:#9cc222}.lime-theme.elevation-control.elevation .mouse-focus-line{stroke:#101404}.lime-theme.height-focus{stroke:#000;fill:#9cc222}.lime-theme.elevation-polyline{stroke:#566b13}.steelblue-theme.elevation-control.elevation .background{background-color:rgba(70, 130, 180, 0.2)}.steelblue-theme.elevation-control.elevation .axis line,.steelblue-theme.elevation-control.elevation .axis path{stroke:#0d1821}.steelblue-theme.elevation-control.elevation .brush .selection{fill:rgba(23, 74, 117, 0.4)}.steelblue-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-steelblue.svg) no-repeat 50%}.steelblue-theme.elevation-control.elevation .area{fill:#4682b4}.steelblue-theme.elevation-control.elevation .mouse-focus-line{stroke:#0d1821}.steelblue-theme.height-focus{stroke:#000;fill:#4682b4}.steelblue-theme.elevation-polyline{stroke:#4682b4}.purple-theme.elevation-control.elevation .background{background-color:rgba(115, 44, 123, 0.2)}.purple-theme.elevation-control.elevation .axis line,.purple-theme.elevation-control.elevation .axis path{stroke:#2d1130}.purple-theme.elevation-control.elevation .brush .selection{fill:rgba(74, 14, 80, 0.4)}.purple-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-purple.svg) no-repeat 50%}.purple-theme.elevation-control.elevation .area{fill:#732c7b}.purple-theme.elevation-control.elevation .mouse-focus-line{stroke:#000}.purple-theme.height-focus{stroke:#000;fill:#732c7b}.purple-theme.elevation-polyline{stroke:#732c7b}.yellow-theme.elevation-control.elevation .area{fill:#ff0}.yellow-theme.elevation-polyline{stroke:#ff0}.red-theme.elevation-control.elevation .area{fill:red}.red-theme.elevation-polyline{stroke:red}.magenta-theme.elevation-control.elevation .background{background-color:hsla(0, 0%, 100%, 0.47)}.magenta-theme.elevation-control.elevation .area{fill:#ff005e}.magenta-theme.elevation-polyline{stroke:#ff005e}.lightblue-theme.elevation-control.elevation .area{fill:#36c;stroke:#000}.elevation-detached .lightblue-theme.elevation-control.elevation .area{fill-opacity:0.45;stroke:#36c}.lightblue-theme.height-focus{stroke:#000;fill:#fff}.lightblue-theme.elevation-polyline{stroke:#36c}.dist-marker{font-size:0.5rem;border:1px solid #777;border-radius:10px;text-align:center;color:#000;background:#fff}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform 0.3s ease-out, opacity 0.3s ease-in;-moz-transition:-moz-transform 0.3s ease-out, opacity 0.3s ease-in;-o-transition:-o-transform 0.3s ease-out, opacity 0.3s ease-in;-webkit-transition:opacity 0.3s ease-in, -webkit-transform 0.3s ease-out;transition:opacity 0.3s ease-in, -webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out, opacity 0.3s ease-in;transition:transform 0.3s ease-out, opacity 0.3s ease-in, -webkit-transform 0.3s ease-out}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;-moz-transition:-moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;-o-transition:-o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;-webkit-transition:stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;transition:stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in}#map{position:relative;font-family:var(--font-family);display:block}.leaflet-control-layers-toggle,.leaflet-retina .leaflet-control-layers-toggle{background-image:var(--layers-image-src)}.treks-map{height:100%}.trek-map{height:calc(100% - var(--elevation-height))}.common-map{height:100%}#elevation{position:relative;background-color:#ffffff}.elevation-control .background{border-radius:0px}.custom-theme.elevation-control .axis text{fill:var(--color-on-surface)}.custom-theme.elevation-control .axis line,.custom-theme.elevation-control .axis path{stroke:var(--color-on-surface)}.custom-theme.elevation-control .mouse-focus-label-rect{fill:var(--color-primary-container);stroke:var(--color-on-primary-container)}.custom-theme.elevation-control .mouse-focus-label-text{fill:var(--color-on-primary-container)}.custom-theme.elevation-control .background{background-color:var(--color-background)}.custom-theme.elevation-control .mouse-focus-line{stroke:var(--color-on-surface)}.use-theme-color.elevation-control .area path.altitude,.use-theme-color .legend-altitude rect.area{fill:var(--color-primary-app);stroke:var(--color-trek-line)}.custom-theme.height-focus.circle-lower{fill:#ffffff;stroke:var(--color-on-surface)}.custom-theme.elevation-polyline{stroke:var(--color-trek-line)}.custom-theme.height-focus.line,.custom-theme.height-focus-label{display:none}.custom-theme .elevation-summary{margin:-12px 0px 0px 36px;font-size:8px;font-family:var(--font-family)}.custom-theme .elevation-summary :nth-child(3)::after{display:none}.custom-theme .elevation-summary .avgele{display:none}.treks-marker-cluster-group-icon,.touristic-content-marker-cluster-group-icon,.touristic-event-marker-cluster-group-icon,.outdoor-site-marker-cluster-group-icon{background-color:var(--color-clusters);border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:var(--color-on-primary);font-size:16px;height:100%;width:100%}.trek-marker,.step-marker,.touristic-content-marker,.touristic-event-marker,.outdoor-site-marker,.selected-trek-marker,.selected-step-marker,.selected-touristic-content-marker,.selected-touristic-event-marker,.selected-outdoor-site-marker,.departure-marker,.arrival-marker{width:100%;height:100%}.trek-marker .trek-marker-container,.trek-marker .step-marker-container,.trek-marker .touristic-content-marker-container,.trek-marker .touristic-event-marker-container,.trek-marker .outdoor-site-marker-container,.step-marker .trek-marker-container,.step-marker .step-marker-container,.step-marker .touristic-content-marker-container,.step-marker .touristic-event-marker-container,.step-marker .outdoor-site-marker-container,.touristic-content-marker .trek-marker-container,.touristic-content-marker .step-marker-container,.touristic-content-marker .touristic-content-marker-container,.touristic-content-marker .touristic-event-marker-container,.touristic-content-marker .outdoor-site-marker-container,.touristic-event-marker .trek-marker-container,.touristic-event-marker .step-marker-container,.touristic-event-marker .touristic-content-marker-container,.touristic-event-marker .touristic-event-marker-container,.touristic-event-marker .outdoor-site-marker-container,.outdoor-site-marker .trek-marker-container,.outdoor-site-marker .step-marker-container,.outdoor-site-marker .touristic-content-marker-container,.outdoor-site-marker .touristic-event-marker-container,.outdoor-site-marker .outdoor-site-marker-container,.selected-trek-marker .trek-marker-container,.selected-trek-marker .step-marker-container,.selected-trek-marker .touristic-content-marker-container,.selected-trek-marker .touristic-event-marker-container,.selected-trek-marker .outdoor-site-marker-container,.selected-step-marker .trek-marker-container,.selected-step-marker .step-marker-container,.selected-step-marker .touristic-content-marker-container,.selected-step-marker .touristic-event-marker-container,.selected-step-marker .outdoor-site-marker-container,.selected-touristic-content-marker .trek-marker-container,.selected-touristic-content-marker .step-marker-container,.selected-touristic-content-marker .touristic-content-marker-container,.selected-touristic-content-marker .touristic-event-marker-container,.selected-touristic-content-marker .outdoor-site-marker-container,.selected-touristic-event-marker .trek-marker-container,.selected-touristic-event-marker .step-marker-container,.selected-touristic-event-marker .touristic-content-marker-container,.selected-touristic-event-marker .touristic-event-marker-container,.selected-touristic-event-marker .outdoor-site-marker-container,.selected-outdoor-site-marker .trek-marker-container,.selected-outdoor-site-marker .step-marker-container,.selected-outdoor-site-marker .touristic-content-marker-container,.selected-outdoor-site-marker .touristic-event-marker-container,.selected-outdoor-site-marker .outdoor-site-marker-container,.departure-marker .trek-marker-container,.departure-marker .step-marker-container,.departure-marker .touristic-content-marker-container,.departure-marker .touristic-event-marker-container,.departure-marker .outdoor-site-marker-container,.arrival-marker .trek-marker-container,.arrival-marker .step-marker-container,.arrival-marker .touristic-content-marker-container,.arrival-marker .touristic-event-marker-container,.arrival-marker .outdoor-site-marker-container{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border-radius:50% 50% 50% 0;border:2px solid #ffffff;width:100%;height:100%;-webkit-transform:rotate(-44deg);transform:rotate(-44deg)}.trek-marker .trek-marker-container img,.trek-marker .trek-marker-container .step-number,.trek-marker .step-marker-container img,.trek-marker .step-marker-container .step-number,.trek-marker .touristic-content-marker-container img,.trek-marker .touristic-content-marker-container .step-number,.trek-marker .touristic-event-marker-container img,.trek-marker .touristic-event-marker-container .step-number,.trek-marker .outdoor-site-marker-container img,.trek-marker .outdoor-site-marker-container .step-number,.step-marker .trek-marker-container img,.step-marker .trek-marker-container .step-number,.step-marker .step-marker-container img,.step-marker .step-marker-container .step-number,.step-marker .touristic-content-marker-container img,.step-marker .touristic-content-marker-container .step-number,.step-marker .touristic-event-marker-container img,.step-marker .touristic-event-marker-container .step-number,.step-marker .outdoor-site-marker-container img,.step-marker .outdoor-site-marker-container .step-number,.touristic-content-marker .trek-marker-container img,.touristic-content-marker .trek-marker-container .step-number,.touristic-content-marker .step-marker-container img,.touristic-content-marker .step-marker-container .step-number,.touristic-content-marker .touristic-content-marker-container img,.touristic-content-marker .touristic-content-marker-container .step-number,.touristic-content-marker .touristic-event-marker-container img,.touristic-content-marker .touristic-event-marker-container .step-number,.touristic-content-marker .outdoor-site-marker-container img,.touristic-content-marker .outdoor-site-marker-container .step-number,.touristic-event-marker .trek-marker-container img,.touristic-event-marker .trek-marker-container .step-number,.touristic-event-marker .step-marker-container img,.touristic-event-marker .step-marker-container .step-number,.touristic-event-marker .touristic-content-marker-container img,.touristic-event-marker .touristic-content-marker-container .step-number,.touristic-event-marker .touristic-event-marker-container img,.touristic-event-marker .touristic-event-marker-container .step-number,.touristic-event-marker .outdoor-site-marker-container img,.touristic-event-marker .outdoor-site-marker-container .step-number,.outdoor-site-marker .trek-marker-container img,.outdoor-site-marker .trek-marker-container .step-number,.outdoor-site-marker .step-marker-container img,.outdoor-site-marker .step-marker-container .step-number,.outdoor-site-marker .touristic-content-marker-container img,.outdoor-site-marker .touristic-content-marker-container .step-number,.outdoor-site-marker .touristic-event-marker-container img,.outdoor-site-marker .touristic-event-marker-container .step-number,.outdoor-site-marker .outdoor-site-marker-container img,.outdoor-site-marker .outdoor-site-marker-container .step-number,.selected-trek-marker .trek-marker-container img,.selected-trek-marker .trek-marker-container .step-number,.selected-trek-marker .step-marker-container img,.selected-trek-marker .step-marker-container .step-number,.selected-trek-marker .touristic-content-marker-container img,.selected-trek-marker .touristic-content-marker-container .step-number,.selected-trek-marker .touristic-event-marker-container img,.selected-trek-marker .touristic-event-marker-container .step-number,.selected-trek-marker .outdoor-site-marker-container img,.selected-trek-marker .outdoor-site-marker-container .step-number,.selected-step-marker .trek-marker-container img,.selected-step-marker .trek-marker-container .step-number,.selected-step-marker .step-marker-container img,.selected-step-marker .step-marker-container .step-number,.selected-step-marker .touristic-content-marker-container img,.selected-step-marker .touristic-content-marker-container .step-number,.selected-step-marker .touristic-event-marker-container img,.selected-step-marker .touristic-event-marker-container .step-number,.selected-step-marker .outdoor-site-marker-container img,.selected-step-marker .outdoor-site-marker-container .step-number,.selected-touristic-content-marker .trek-marker-container img,.selected-touristic-content-marker .trek-marker-container .step-number,.selected-touristic-content-marker .step-marker-container img,.selected-touristic-content-marker .step-marker-container .step-number,.selected-touristic-content-marker .touristic-content-marker-container img,.selected-touristic-content-marker .touristic-content-marker-container .step-number,.selected-touristic-content-marker .touristic-event-marker-container img,.selected-touristic-content-marker .touristic-event-marker-container .step-number,.selected-touristic-content-marker .outdoor-site-marker-container img,.selected-touristic-content-marker .outdoor-site-marker-container .step-number,.selected-touristic-event-marker .trek-marker-container img,.selected-touristic-event-marker .trek-marker-container .step-number,.selected-touristic-event-marker .step-marker-container img,.selected-touristic-event-marker .step-marker-container .step-number,.selected-touristic-event-marker .touristic-content-marker-container img,.selected-touristic-event-marker .touristic-content-marker-container .step-number,.selected-touristic-event-marker .touristic-event-marker-container img,.selected-touristic-event-marker .touristic-event-marker-container .step-number,.selected-touristic-event-marker .outdoor-site-marker-container img,.selected-touristic-event-marker .outdoor-site-marker-container .step-number,.selected-outdoor-site-marker .trek-marker-container img,.selected-outdoor-site-marker .trek-marker-container .step-number,.selected-outdoor-site-marker .step-marker-container img,.selected-outdoor-site-marker .step-marker-container .step-number,.selected-outdoor-site-marker .touristic-content-marker-container img,.selected-outdoor-site-marker .touristic-content-marker-container .step-number,.selected-outdoor-site-marker .touristic-event-marker-container img,.selected-outdoor-site-marker .touristic-event-marker-container .step-number,.selected-outdoor-site-marker .outdoor-site-marker-container img,.selected-outdoor-site-marker .outdoor-site-marker-container .step-number,.departure-marker .trek-marker-container img,.departure-marker .trek-marker-container .step-number,.departure-marker .step-marker-container img,.departure-marker .step-marker-container .step-number,.departure-marker .touristic-content-marker-container img,.departure-marker .touristic-content-marker-container .step-number,.departure-marker .touristic-event-marker-container img,.departure-marker .touristic-event-marker-container .step-number,.departure-marker .outdoor-site-marker-container img,.departure-marker .outdoor-site-marker-container .step-number,.arrival-marker .trek-marker-container img,.arrival-marker .trek-marker-container .step-number,.arrival-marker .step-marker-container img,.arrival-marker .step-marker-container .step-number,.arrival-marker .touristic-content-marker-container img,.arrival-marker .touristic-content-marker-container .step-number,.arrival-marker .touristic-event-marker-container img,.arrival-marker .touristic-event-marker-container .step-number,.arrival-marker .outdoor-site-marker-container img,.arrival-marker .outdoor-site-marker-container .step-number{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;z-index:20;width:var(--main-marker-icon-width) !important}.trek-marker .trek-marker-container,.trek-marker .touristic-content-marker-container,.trek-marker .touristic-event-marker-container,.trek-marker .outdoor-site-marker-container,.step-marker .trek-marker-container,.step-marker .touristic-content-marker-container,.step-marker .touristic-event-marker-container,.step-marker .outdoor-site-marker-container,.touristic-content-marker .trek-marker-container,.touristic-content-marker .touristic-content-marker-container,.touristic-content-marker .touristic-event-marker-container,.touristic-content-marker .outdoor-site-marker-container,.touristic-event-marker .trek-marker-container,.touristic-event-marker .touristic-content-marker-container,.touristic-event-marker .touristic-event-marker-container,.touristic-event-marker .outdoor-site-marker-container,.outdoor-site-marker .trek-marker-container,.outdoor-site-marker .touristic-content-marker-container,.outdoor-site-marker .touristic-event-marker-container,.outdoor-site-marker .outdoor-site-marker-container,.selected-trek-marker .trek-marker-container,.selected-trek-marker .touristic-content-marker-container,.selected-trek-marker .touristic-event-marker-container,.selected-trek-marker .outdoor-site-marker-container,.selected-step-marker .trek-marker-container,.selected-step-marker .touristic-content-marker-container,.selected-step-marker .touristic-event-marker-container,.selected-step-marker .outdoor-site-marker-container,.selected-touristic-content-marker .trek-marker-container,.selected-touristic-content-marker .touristic-content-marker-container,.selected-touristic-content-marker .touristic-event-marker-container,.selected-touristic-content-marker .outdoor-site-marker-container,.selected-touristic-event-marker .trek-marker-container,.selected-touristic-event-marker .touristic-content-marker-container,.selected-touristic-event-marker .touristic-event-marker-container,.selected-touristic-event-marker .outdoor-site-marker-container,.selected-outdoor-site-marker .trek-marker-container,.selected-outdoor-site-marker .touristic-content-marker-container,.selected-outdoor-site-marker .touristic-event-marker-container,.selected-outdoor-site-marker .outdoor-site-marker-container,.departure-marker .trek-marker-container,.departure-marker .touristic-content-marker-container,.departure-marker .touristic-event-marker-container,.departure-marker .outdoor-site-marker-container,.arrival-marker .trek-marker-container,.arrival-marker .touristic-content-marker-container,.arrival-marker .touristic-event-marker-container,.arrival-marker .outdoor-site-marker-container{background-color:var(--color-markers)}.trek-marker .step-marker-container,.step-marker .step-marker-container,.touristic-content-marker .step-marker-container,.touristic-event-marker .step-marker-container,.outdoor-site-marker .step-marker-container,.selected-trek-marker .step-marker-container,.selected-step-marker .step-marker-container,.selected-touristic-content-marker .step-marker-container,.selected-touristic-event-marker .step-marker-container,.selected-outdoor-site-marker .step-marker-container,.departure-marker .step-marker-container,.arrival-marker .step-marker-container{background-color:var(--color-markers)}.departure-marker{background-color:#008000;border-radius:14px;width:100%;height:100%;border:4px #ffffff solid}.arrival-marker{background-color:#ff0000;border-radius:14px;width:100%;height:100%;border:4px #ffffff solid}.selected-trek-marker,.selected-step-marker,.selected-touristic-content-marker,.selected-touristic-event-marker,.selected-outdoor-site-marker{height:100%;width:100%}.selected-trek-marker .trek-marker-container,.selected-trek-marker .step-marker-container,.selected-trek-marker .touristic-content-marker-container,.selected-trek-marker .touristic-event-marker-container,.selected-trek-marker .outdoor-site-marker-container,.selected-step-marker .trek-marker-container,.selected-step-marker .step-marker-container,.selected-step-marker .touristic-content-marker-container,.selected-step-marker .touristic-event-marker-container,.selected-step-marker .outdoor-site-marker-container,.selected-touristic-content-marker .trek-marker-container,.selected-touristic-content-marker .step-marker-container,.selected-touristic-content-marker .touristic-content-marker-container,.selected-touristic-content-marker .touristic-event-marker-container,.selected-touristic-content-marker .outdoor-site-marker-container,.selected-touristic-event-marker .trek-marker-container,.selected-touristic-event-marker .step-marker-container,.selected-touristic-event-marker .touristic-content-marker-container,.selected-touristic-event-marker .touristic-event-marker-container,.selected-touristic-event-marker .outdoor-site-marker-container,.selected-outdoor-site-marker .trek-marker-container,.selected-outdoor-site-marker .step-marker-container,.selected-outdoor-site-marker .touristic-content-marker-container,.selected-outdoor-site-marker .touristic-event-marker-container,.selected-outdoor-site-marker .outdoor-site-marker-container{width:100%;height:100%}.selected-trek-marker .trek-marker-container .trek-marker,.selected-trek-marker .trek-marker-container .step-number,.selected-trek-marker .step-marker-container .trek-marker,.selected-trek-marker .step-marker-container .step-number,.selected-trek-marker .touristic-content-marker-container .trek-marker,.selected-trek-marker .touristic-content-marker-container .step-number,.selected-trek-marker .touristic-event-marker-container .trek-marker,.selected-trek-marker .touristic-event-marker-container .step-number,.selected-trek-marker .outdoor-site-marker-container .trek-marker,.selected-trek-marker .outdoor-site-marker-container .step-number,.selected-step-marker .trek-marker-container .trek-marker,.selected-step-marker .trek-marker-container .step-number,.selected-step-marker .step-marker-container .trek-marker,.selected-step-marker .step-marker-container .step-number,.selected-step-marker .touristic-content-marker-container .trek-marker,.selected-step-marker .touristic-content-marker-container .step-number,.selected-step-marker .touristic-event-marker-container .trek-marker,.selected-step-marker .touristic-event-marker-container .step-number,.selected-step-marker .outdoor-site-marker-container .trek-marker,.selected-step-marker .outdoor-site-marker-container .step-number,.selected-touristic-content-marker .trek-marker-container .trek-marker,.selected-touristic-content-marker .trek-marker-container .step-number,.selected-touristic-content-marker .step-marker-container .trek-marker,.selected-touristic-content-marker .step-marker-container .step-number,.selected-touristic-content-marker .touristic-content-marker-container .trek-marker,.selected-touristic-content-marker .touristic-content-marker-container .step-number,.selected-touristic-content-marker .touristic-event-marker-container .trek-marker,.selected-touristic-content-marker .touristic-event-marker-container .step-number,.selected-touristic-content-marker .outdoor-site-marker-container .trek-marker,.selected-touristic-content-marker .outdoor-site-marker-container .step-number,.selected-touristic-event-marker .trek-marker-container .trek-marker,.selected-touristic-event-marker .trek-marker-container .step-number,.selected-touristic-event-marker .step-marker-container .trek-marker,.selected-touristic-event-marker .step-marker-container .step-number,.selected-touristic-event-marker .touristic-content-marker-container .trek-marker,.selected-touristic-event-marker .touristic-content-marker-container .step-number,.selected-touristic-event-marker .touristic-event-marker-container .trek-marker,.selected-touristic-event-marker .touristic-event-marker-container .step-number,.selected-touristic-event-marker .outdoor-site-marker-container .trek-marker,.selected-touristic-event-marker .outdoor-site-marker-container .step-number,.selected-outdoor-site-marker .trek-marker-container .trek-marker,.selected-outdoor-site-marker .trek-marker-container .step-number,.selected-outdoor-site-marker .step-marker-container .trek-marker,.selected-outdoor-site-marker .step-marker-container .step-number,.selected-outdoor-site-marker .touristic-content-marker-container .trek-marker,.selected-outdoor-site-marker .touristic-content-marker-container .step-number,.selected-outdoor-site-marker .touristic-event-marker-container .trek-marker,.selected-outdoor-site-marker .touristic-event-marker-container .step-number,.selected-outdoor-site-marker .outdoor-site-marker-container .trek-marker,.selected-outdoor-site-marker .outdoor-site-marker-container .step-number{width:100% !important}.step-marker,.selected-step-marker{color:var(--color-on-surface-variant)}.map-loader-container{position:absolute;z-index:500;width:100%;height:100%;background-color:var(--color-background);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.map-loader-container .loader{width:48px;height:48px;border:5px solid var(--color-primary-container);border-bottom-color:var(--color-on-primary-container);border-radius:50%;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.trek-departure-popup,.touristic-content-coordinates-popup,.touristic-event-coordinates-popup,.outdoor-site-coordinates-popup{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.trek-departure-popup img,.touristic-content-coordinates-popup img,.touristic-event-coordinates-popup img,.outdoor-site-coordinates-popup img{border-top-left-radius:var(--border-radius, 8px);border-top-right-radius:var(--border-radius, 8px)}.trek-departure-popup .trek-name,.trek-departure-popup .touristic-content-name,.trek-departure-popup .touristic-event-name,.trek-departure-popup .outdoor-site-name,.touristic-content-coordinates-popup .trek-name,.touristic-content-coordinates-popup .touristic-content-name,.touristic-content-coordinates-popup .touristic-event-name,.touristic-content-coordinates-popup .outdoor-site-name,.touristic-event-coordinates-popup .trek-name,.touristic-event-coordinates-popup .touristic-content-name,.touristic-event-coordinates-popup .touristic-event-name,.touristic-event-coordinates-popup .outdoor-site-name,.outdoor-site-coordinates-popup .trek-name,.outdoor-site-coordinates-popup .touristic-content-name,.outdoor-site-coordinates-popup .touristic-event-name,.outdoor-site-coordinates-popup .outdoor-site-name{color:var(--color-primary-app);font-weight:700;font-size:16px;line-height:24px;padding:12px}.trek-departure-popup .trek-button,.trek-departure-popup .touristic-content-button,.trek-departure-popup .touristic-event-button,.trek-departure-popup .outdoor-site-button,.touristic-content-coordinates-popup .trek-button,.touristic-content-coordinates-popup .touristic-content-button,.touristic-content-coordinates-popup .touristic-event-button,.touristic-content-coordinates-popup .outdoor-site-button,.touristic-event-coordinates-popup .trek-button,.touristic-event-coordinates-popup .touristic-content-button,.touristic-event-coordinates-popup .touristic-event-button,.touristic-event-coordinates-popup .outdoor-site-button,.outdoor-site-coordinates-popup .trek-button,.outdoor-site-coordinates-popup .touristic-content-button,.outdoor-site-coordinates-popup .touristic-event-button,.outdoor-site-coordinates-popup .outdoor-site-button{margin:0px 8px 16px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:1px solid var(--color-on-primary-container);background-color:var(--color-background);color:var(--color-on-primary-container);padding:12px 24px;border-radius:var(--border-radius, 8px);-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;gap:8px;white-space:nowrap;line-height:20px;letter-spacing:0.1000000015px;font-size:14px;font-weight:500;-webkit-transition:-webkit-box-shadow 0.2s ease-in-out 0s;transition:-webkit-box-shadow 0.2s ease-in-out 0s;transition:box-shadow 0.2s ease-in-out 0s;transition:box-shadow 0.2s ease-in-out 0s, -webkit-box-shadow 0.2s ease-in-out 0s;font-family:var(--font-family)}.trek-departure-popup .trek-button:hover,.trek-departure-popup .touristic-content-button:hover,.trek-departure-popup .touristic-event-button:hover,.trek-departure-popup .outdoor-site-button:hover,.touristic-content-coordinates-popup .trek-button:hover,.touristic-content-coordinates-popup .touristic-content-button:hover,.touristic-content-coordinates-popup .touristic-event-button:hover,.touristic-content-coordinates-popup .outdoor-site-button:hover,.touristic-event-coordinates-popup .trek-button:hover,.touristic-event-coordinates-popup .touristic-content-button:hover,.touristic-event-coordinates-popup .touristic-event-button:hover,.touristic-event-coordinates-popup .outdoor-site-button:hover,.outdoor-site-coordinates-popup .trek-button:hover,.outdoor-site-coordinates-popup .touristic-content-button:hover,.outdoor-site-coordinates-popup .touristic-event-button:hover,.outdoor-site-coordinates-popup .outdoor-site-button:hover{background-color:var(--color-primary-container)}.poi-tooltip .poi-name,.poi-tooltip .information-desks-name,.poi-tooltip .sensitive-area-name,.poi-tooltip .touristic-content-name,.poi-tooltip .touristic-event-name,.poi-tooltip .parking-name,.poi-tooltip .signage-name,.information-desks-tooltip .poi-name,.information-desks-tooltip .information-desks-name,.information-desks-tooltip .sensitive-area-name,.information-desks-tooltip .touristic-content-name,.information-desks-tooltip .touristic-event-name,.information-desks-tooltip .parking-name,.information-desks-tooltip .signage-name,.sensitive-area-tooltip .poi-name,.sensitive-area-tooltip .information-desks-name,.sensitive-area-tooltip .sensitive-area-name,.sensitive-area-tooltip .touristic-content-name,.sensitive-area-tooltip .touristic-event-name,.sensitive-area-tooltip .parking-name,.sensitive-area-tooltip .signage-name,.touristic-content-tooltip .poi-name,.touristic-content-tooltip .information-desks-name,.touristic-content-tooltip .sensitive-area-name,.touristic-content-tooltip .touristic-content-name,.touristic-content-tooltip .touristic-event-name,.touristic-content-tooltip .parking-name,.touristic-content-tooltip .signage-name,.touristic-event-tooltip .poi-name,.touristic-event-tooltip .information-desks-name,.touristic-event-tooltip .sensitive-area-name,.touristic-event-tooltip .touristic-content-name,.touristic-event-tooltip .touristic-event-name,.touristic-event-tooltip .parking-name,.touristic-event-tooltip .signage-name,.parking-tooltip .poi-name,.parking-tooltip .information-desks-name,.parking-tooltip .sensitive-area-name,.parking-tooltip .touristic-content-name,.parking-tooltip .touristic-event-name,.parking-tooltip .parking-name,.parking-tooltip .signage-name,.signage-tootltip .poi-name,.signage-tootltip .information-desks-name,.signage-tootltip .sensitive-area-name,.signage-tootltip .touristic-content-name,.signage-tootltip .touristic-event-name,.signage-tootltip .parking-name,.signage-tootltip .signage-name{color:var(--color-primary-app);font-weight:400;font-size:16px;line-height:24px}.sensitiveAreasCheckboxContainer{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;background-color:#ffffff;padding:8px;border-radius:var(--border-radius, 8px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sensitiveAreasCheckboxContainer input,.sensitiveAreasCheckboxContainer label{cursor:pointer}.sensitiveAreasCheckboxContainer input{margin:0}.sensitiveAreasCheckboxContainer label{padding-left:8px}.poi-marker,.information-desks-marker,.touristic-content-marker,.touristic-event-marker,.outdoor-site-marker,.signage-marker{background-color:var(--color-markers);border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:100%;width:100%}.poi-marker img,.information-desks-marker img,.touristic-content-marker img,.touristic-event-marker img,.outdoor-site-marker img,.signage-marker img{width:var(--common-marker-icon-width) !important;height:auto}.parking-marker{width:100%;height:100%}.parking-marker img{width:100% !important;height:auto}.point-reference-icon{color:var(--reference-point-color);background-color:var(--reference-point-background-color);border:1px solid #ffffff;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;font-size:24px}.leaflet-popup{bottom:40px !important;left:-110px !important}.leaflet-popup-content-wrapper{cursor:default;padding:0px;background-color:var(--color-background);-webkit-box-shadow:var(--elevation-2);box-shadow:var(--elevation-2)}.leaflet-popup-content{width:221px;margin:0}.leaflet-simple-locate svg{--primary-rgb:00, 00, 00}.leaflet-simple-locate-icon{--primary-rgb:25, 135, 84}.leaflet-simple-locate-orientation{--primary-rgb:25, 135, 84 !important}.leaflet-simple-locate.button-locate{--primary-rgb:25, 135, 84;margin:10px 0px 0px 10px !important;position:relative;-webkit-transform:none;transform:none;top:auto;left:auto;width:34px;height:34px;border-radius:4px;border:2px solid rgba(0, 0, 0, 0.2) !important;-webkit-box-shadow:none;box-shadow:none}";
|
|
2228
1344
|
const GrwMapStyle0 = grwMapCss;
|
|
2229
1345
|
|
|
2230
1346
|
const GrwMap = class {
|
|
@@ -2383,7 +1499,6 @@ const GrwMap = class {
|
|
|
2383
1499
|
componentDidLoad() {
|
|
2384
1500
|
this.map = grwDb_service.L.map(this.mapRef, { zoom: 4, center: [47, 2] });
|
|
2385
1501
|
grwDb_service.L.control.scale({ metric: true, imperial: false }).addTo(this.map);
|
|
2386
|
-
grwDb_service.L.control.locate({ showPopup: false }).addTo(this.map);
|
|
2387
1502
|
const nameLayers = this.nameLayer ? this.nameLayer.split(',') : [];
|
|
2388
1503
|
const urlLayers = this.urlLayer.split(',http').map((url, index) => (index === 0 ? url : 'http' + url));
|
|
2389
1504
|
const attributionLayers = this.attributionLayer ? this.attributionLayer.split(',') : [];
|
|
@@ -2421,6 +1536,10 @@ const GrwMap = class {
|
|
|
2421
1536
|
return new grwDb_service.L.Control.Contract(opts);
|
|
2422
1537
|
};
|
|
2423
1538
|
grwDb_service.L.control.contract({ position: 'topleft' }).addTo(this.map);
|
|
1539
|
+
new grwDb_service.L.Control.SimpleLocate({
|
|
1540
|
+
position: 'topleft',
|
|
1541
|
+
className: 'button-locate',
|
|
1542
|
+
}).addTo(this.map);
|
|
2424
1543
|
if (utils.state.currentTrek) {
|
|
2425
1544
|
this.addTrek();
|
|
2426
1545
|
}
|
|
@@ -4650,7 +3769,7 @@ const GrwMap = class {
|
|
|
4650
3769
|
render() {
|
|
4651
3770
|
const layersImageSrc = index.getAssetPath(`${''}assets/layers.svg`);
|
|
4652
3771
|
const contractImageSrc = index.getAssetPath(`${''}assets/contract.svg`);
|
|
4653
|
-
return (index.h(index.Host, { key: '
|
|
3772
|
+
return (index.h(index.Host, { key: '1498d1559f0c797afaac01f8e33d32588cc40c7d', ref: el => (this.hostElement = el), style: {
|
|
4654
3773
|
'--font-family': this.fontFamily,
|
|
4655
3774
|
'--color-primary-app': this.colorPrimaryApp,
|
|
4656
3775
|
'--color-on-surface': this.colorOnSurface,
|
|
@@ -4665,7 +3784,7 @@ const GrwMap = class {
|
|
|
4665
3784
|
'--elevation-height': (this.mapElement.getBoundingClientRect().width >= this.largeViewSize / 2 ? this.elevationHeight : this.mobileElevationHeight)
|
|
4666
3785
|
.toString()
|
|
4667
3786
|
.concat('px'),
|
|
4668
|
-
} }, index.h("div", { key: '
|
|
3787
|
+
} }, index.h("div", { key: '2e5fe72ed3191abceb64c605233e94fc8da1eb76', id: "map", part: "map", class: (utils.state.currentTouristicContent || utils.state.currentTouristicEvent || utils.state.currentOutdoorSite || utils.state.currentOutdoorCourse) && this.grwApp
|
|
4669
3788
|
? 'common-map'
|
|
4670
3789
|
: utils.state.currentTrek
|
|
4671
3790
|
? 'trek-map'
|