@defra/interactive-map 0.0.30-alpha → 0.0.32-alpha
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/README.md +2 -2
- package/assets/images/bright-ofm-thumb.jpg +0 -0
- package/assets/images/dark-ofm-thumb.jpg +0 -0
- package/assets/images/road-ofm-thumb.jpg +0 -0
- package/assets/templates/add-polygons.njk +143 -0
- package/assets/templates/add-symbols.njk +119 -0
- package/assets/templates/{map.njk → basic-map.njk} +9 -17
- package/assets/templates/button-map.njk +56 -0
- package/assets/templates/draw-tools.njk +161 -0
- package/assets/templates/marker-panel.njk +91 -0
- package/assets/templates/place-marker.njk +104 -0
- package/assets/templates/search-control.njk +98 -0
- package/assets/templates/select-feature.njk +101 -0
- package/assets/templates/style-switcher.njk +87 -0
- package/assets/templates/toggle-marker-label.njk +74 -0
- package/dist/css/index.css +1 -1
- package/dist/esm/im-core.js +1 -1
- package/dist/esm/im-shell.js +1 -1
- package/dist/umd/im-core.js +1 -1
- package/dist/umd/index.js +1 -1
- package/docs/api/context.md +4 -4
- package/docs/api.md +166 -37
- package/docs/assets/css/docusaurus.scss +36 -4
- package/docs/assets/images/add-polygons.jpg +0 -0
- package/docs/assets/images/add-symbols.jpg +0 -0
- package/docs/assets/images/basic-map.jpg +0 -0
- package/docs/assets/images/button-first.jpg +0 -0
- package/docs/assets/images/deuteranopia-ozs-map-thumb.jpg +0 -0
- package/docs/assets/images/draw.jpg +0 -0
- package/docs/assets/images/marker-panel.jpg +0 -0
- package/docs/assets/images/night-ozs-map-thumb.jpg +0 -0
- package/docs/assets/images/outdoor-ozs-map-thumb.jpg +0 -0
- package/docs/assets/images/place-marker.jpg +0 -0
- package/docs/assets/images/screenshot.jpg +0 -0
- package/docs/assets/images/search.jpg +0 -0
- package/docs/assets/images/select-feature.jpg +0 -0
- package/docs/assets/images/style-switcher.jpg +0 -0
- package/docs/assets/images/toggle-marker-label.jpg +0 -0
- package/docs/assets/images/tritanopia-ozs-map-thumb.jpg +0 -0
- package/docs/examples/add-marker-with-panel.mdx +3 -3
- package/docs/examples/add-polygons.mdx +225 -0
- package/docs/examples/add-symbols.mdx +177 -0
- package/docs/examples/basic-map.mdx +2 -2
- package/docs/examples/draw-tools.mdx +271 -0
- package/docs/examples/index.mdx +95 -11
- package/docs/examples/place-marker.mdx +151 -0
- package/docs/examples/search-control.mdx +71 -0
- package/docs/examples/select-feature.mdx +146 -0
- package/docs/examples/style-switcher.mdx +135 -0
- package/docs/examples/toggle-marker-label.mdx +3 -3
- package/docs/plugins/datasets.md +157 -122
- package/docs/plugins/interact.md +1 -4
- package/docusaurus.config.cjs +9 -2
- package/govuk-prototype-kit.config.json +52 -2
- package/package.json +1 -1
- package/plugins/beta/datasets/dist/css/index.css +5 -2
- package/plugins/beta/datasets/dist/esm/im-datasets-ml-adapter.js +1 -0
- package/plugins/beta/datasets/dist/esm/im-datasets-plugin.js +1 -1
- package/plugins/beta/datasets/dist/esm/index.js +1 -1
- package/plugins/beta/datasets/dist/umd/im-datasets-ml-adapter.js +2 -0
- package/plugins/beta/datasets/dist/umd/im-datasets-plugin.js +2 -0
- package/plugins/beta/datasets/dist/umd/index.js +2 -0
- package/plugins/beta/datasets/src/adapters/loadLayerAdapter.js +33 -0
- package/plugins/beta/datasets/src/adapters/maplibre/layerBuilders.js +44 -120
- package/plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.js +145 -245
- package/plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js +516 -0
- package/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.js +209 -0
- package/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js +483 -0
- package/plugins/beta/datasets/src/api/addDataset.js +2 -5
- package/plugins/beta/datasets/src/api/addDataset.test.js +16 -0
- package/plugins/beta/datasets/src/api/getOpacity.js +14 -14
- package/plugins/beta/datasets/src/api/getOpacity.test.js +72 -0
- package/plugins/beta/datasets/src/api/getStyle.js +8 -9
- package/plugins/beta/datasets/src/api/getStyle.test.js +42 -0
- package/plugins/beta/datasets/src/api/removeDataset.js +7 -7
- package/plugins/beta/datasets/src/api/removeDataset.test.js +45 -0
- package/plugins/beta/datasets/src/api/setData.js +9 -3
- package/plugins/beta/datasets/src/api/setData.test.js +62 -0
- package/plugins/beta/datasets/src/api/setDatasetVisibility.js +5 -30
- package/plugins/beta/datasets/src/api/setDatasetVisibility.test.js +31 -0
- package/plugins/beta/datasets/src/api/setFeatureVisibility.js +9 -18
- package/plugins/beta/datasets/src/api/setFeatureVisibility.test.js +74 -0
- package/plugins/beta/datasets/src/api/setGlobals.js +20 -0
- package/plugins/beta/datasets/src/api/setGlobals.test.js +63 -0
- package/plugins/beta/datasets/src/api/setOpacity.js +8 -27
- package/plugins/beta/datasets/src/api/setOpacity.test.js +31 -0
- package/plugins/beta/datasets/src/api/setStyle.js +5 -21
- package/plugins/beta/datasets/src/api/setStyle.test.js +53 -0
- package/plugins/beta/datasets/src/components/Key/Key.jsx +51 -0
- package/plugins/beta/datasets/src/components/Key/KeyGroupItem.jsx +18 -0
- package/plugins/beta/datasets/src/components/Key/KeyItem.jsx +20 -0
- package/plugins/beta/datasets/src/components/Key/KeySvg.jsx +22 -0
- package/plugins/beta/datasets/src/components/Key/KeySvg.test.jsx +87 -0
- package/plugins/beta/datasets/src/components/Key/KeySvgLine.jsx +19 -0
- package/plugins/beta/datasets/src/components/Key/KeySvgLine.test.jsx +71 -0
- package/plugins/beta/datasets/src/components/{KeySvgPattern.jsx → Key/KeySvgPattern.jsx} +3 -4
- package/plugins/beta/datasets/src/components/Key/KeySvgPattern.test.jsx +55 -0
- package/plugins/beta/datasets/src/components/Key/KeySvgRect.jsx +22 -0
- package/plugins/beta/datasets/src/components/Key/KeySvgRect.test.jsx +85 -0
- package/plugins/beta/datasets/src/components/{KeySvgSymbol.jsx → Key/KeySvgSymbol.jsx} +5 -5
- package/plugins/beta/datasets/src/components/Key/KeySvgSymbol.test.jsx +80 -0
- package/plugins/beta/datasets/src/components/Key/svgProperties.test.js +61 -0
- package/plugins/beta/datasets/src/{panels → components/LayersMenu}/Layers.module.scss +15 -11
- package/plugins/beta/datasets/src/components/LayersMenu/LayersMenu.jsx +33 -0
- package/plugins/beta/datasets/src/components/LayersMenu/LayersMenuCheckbox.jsx +31 -0
- package/plugins/beta/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx +19 -0
- package/plugins/beta/datasets/src/datasets.scss +2 -2
- package/plugins/beta/datasets/src/fetch/createDynamicSource.js +8 -8
- package/plugins/beta/datasets/src/{DatasetsInit.jsx → initialise/DatasetsInit.jsx} +19 -21
- package/plugins/beta/datasets/src/{defaults.js → initialise/defaults.js} +17 -2
- package/plugins/beta/datasets/src/initialise/defaults.test.js +127 -0
- package/plugins/beta/datasets/src/{datasets.js → initialise/initialiseDatasets.js} +30 -26
- package/plugins/beta/datasets/src/initialise/initialiseDatasets.test.js +273 -0
- package/plugins/beta/datasets/src/manifest.js +8 -6
- package/plugins/beta/datasets/src/reducers/__data__/demoDatasets.js +253 -0
- package/plugins/beta/datasets/src/reducers/datasetsToMenu.js +83 -0
- package/plugins/beta/datasets/src/reducers/datasetsToMenu.test.js +84 -0
- package/plugins/beta/datasets/src/reducers/mappedDatasetsReducer.js +41 -0
- package/plugins/beta/datasets/src/reducers/mappedDatasetsReducer.test.js +117 -0
- package/plugins/beta/datasets/src/reducers/pluginState.js +206 -0
- package/plugins/beta/datasets/src/reducers/pluginState.test.js +386 -0
- package/plugins/beta/datasets/src/registry/__mocks__/datasetRegistry.js +29 -0
- package/plugins/beta/datasets/src/registry/createDataset.js +5 -0
- package/plugins/beta/datasets/src/registry/dataset.js +176 -0
- package/plugins/beta/datasets/src/registry/dataset.test.js +497 -0
- package/plugins/beta/datasets/src/registry/datasetDefinitionCache.js +35 -0
- package/plugins/beta/datasets/src/registry/datasetRegistry.js +116 -0
- package/plugins/beta/datasets/src/registry/datasetRegistry.test.js +335 -0
- package/plugins/beta/datasets/src/registry/dynamicGeoJson.js +17 -0
- package/plugins/beta/datasets/src/registry/globalDataset.js +36 -0
- package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js +1 -1
- package/plugins/beta/draw-es/src/api/addFeature.js +12 -3
- package/plugins/beta/draw-es/src/events.js +8 -3
- package/plugins/beta/draw-es/src/events.test.js +2 -0
- package/plugins/beta/draw-es/src/graphic.js +26 -2
- package/plugins/beta/draw-ml/dist/esm/im-draw-ml-plugin.js +1 -1
- package/plugins/beta/draw-ml/dist/umd/im-draw-ml-plugin.js +1 -1
- package/plugins/beta/draw-ml/src/DrawInit.jsx +8 -0
- package/plugins/beta/draw-ml/src/api/newLine.js +1 -0
- package/plugins/beta/draw-ml/src/api/newPolygon.js +1 -0
- package/plugins/beta/draw-ml/src/events.js +13 -1
- package/plugins/beta/draw-ml/src/index.js +1 -1
- package/plugins/beta/draw-ml/src/manifest.js +3 -0
- package/plugins/beta/draw-ml/src/modes/createDrawMode.js +21 -12
- package/plugins/beta/draw-ml/src/modes/editVertexMode.js +4 -0
- package/plugins/beta/draw-ol/dist/esm/EditMode.js +1 -1
- package/plugins/beta/draw-ol/dist/esm/im-draw-ol-plugin.js +1 -1
- package/plugins/beta/draw-ol/src/edit/keyboardHandler.js +4 -2
- package/plugins/beta/map-styles/src/mapStyles.scss +41 -41
- package/plugins/interact/dist/esm/im-interact-plugin.js +1 -1
- package/plugins/interact/dist/umd/im-interact-plugin.js +1 -1
- package/plugins/interact/dist/umd/index.js +1 -1
- package/plugins/interact/src/InteractInit.jsx +3 -5
- package/plugins/interact/src/InteractInit.test.js +1 -3
- package/plugins/interact/src/events.js +2 -29
- package/plugins/interact/src/events.test.js +4 -102
- package/plugins/interact/src/hooks/useAttachEvents.js +3 -4
- package/plugins/interact/src/hooks/useAttachEvents.test.js +1 -3
- package/plugins/interact/src/hooks/useCrossHairVisibility.js +4 -10
- package/plugins/interact/src/hooks/useCrossHairVisibility.test.js +5 -10
- package/plugins/interact/src/hooks/useHighlightSync.js +1 -10
- package/plugins/interact/src/hooks/useHighlightSync.test.js +2 -21
- package/plugins/interact/src/hooks/useInteractionHandlers.js +15 -12
- package/plugins/interact/src/hooks/useInteractionHandlers.test.js +28 -29
- package/plugins/interact/src/manifest.js +0 -35
- package/plugins/interact/src/manifest.test.js +3 -43
- package/plugins/interact/src/reducer.js +4 -22
- package/plugins/interact/src/reducer.test.js +11 -39
- package/plugins/search/dist/css/index.css +5 -2
- package/plugins/search/src/components/Form/Form.module.scss +5 -2
- package/plugins/search/src/search.scss +4 -4
- package/providers/beta/esri/dist/esm/im-esri-provider.js +1 -1
- package/providers/beta/esri/src/esriProvider.js +4 -0
- package/providers/beta/openlayers/dist/esm/im-openlayers-provider.js +1 -1
- package/providers/beta/openlayers/dist/umd/im-openlayers-provider.js +1 -1
- package/providers/beta/openlayers/src/openlayersProvider.js +4 -0
- package/providers/beta/openlayers/src/openlayersProvider.test.js +5 -0
- package/providers/maplibre/dist/esm/im-maplibre-provider.js +1 -1
- package/providers/maplibre/dist/umd/im-maplibre-provider.js +1 -1
- package/providers/maplibre/src/maplibreProvider.js +6 -4
- package/providers/maplibre/src/maplibreProvider.test.js +5 -0
- package/providers/maplibre/src/utils/highlightFeatures.js +74 -25
- package/providers/maplibre/src/utils/highlightFeatures.test.js +132 -0
- package/providers/maplibre/src/utils/patternImages.js +2 -4
- package/providers/maplibre/src/utils/symbolImages.js +1 -4
- package/rollup.esm.mjs +2 -8
- package/src/App/components/CrossHair/CrossHair.module.scss +8 -8
- package/src/App/components/MapButton/MapButton.jsx +16 -1
- package/src/App/components/MapButton/MapButton.module.scss +12 -1
- package/src/App/components/MapButton/MapButton.test.jsx +40 -1
- package/src/App/hooks/useContinueEnabledEvaluator.js +31 -0
- package/src/App/hooks/useContinueEnabledEvaluator.test.js +118 -0
- package/src/App/hooks/useEvaluateProp.js +15 -15
- package/src/App/hooks/useEvaluateProp.test.js +80 -76
- package/src/App/hooks/useLayoutMeasurements.js +11 -5
- package/src/App/hooks/useResizeObserver.js +15 -2
- package/src/App/hooks/useResizeObserver.test.js +1 -0
- package/src/App/renderer/PluginInits.jsx +2 -0
- package/src/App/renderer/mapButtons.js +21 -1
- package/src/App/renderer/mapButtons.test.js +46 -1
- package/src/App/store/appReducer.js +1 -1
- package/src/App/store/appReducer.test.js +37 -0
- package/src/InteractiveMap/InteractiveMap.js +14 -4
- package/src/InteractiveMap/InteractiveMap.test.js +11 -3
- package/src/InteractiveMap/behaviourController.js +3 -1
- package/src/InteractiveMap/behaviourController.test.js +6 -3
- package/src/InteractiveMap/domStateManager.js +2 -0
- package/src/config/appConfig.js +25 -0
- package/src/config/appConfig.test.js +50 -0
- package/src/config/defaults.js +1 -0
- package/src/config/events.js +21 -3
- package/src/scss/settings/_dimensions.scss +1 -0
- package/src/services/patternRegistry.js +8 -4
- package/src/types.js +7 -0
- package/src/utils/patternUtils.js +1 -2
- package/src/utils/patternUtils.test.js +9 -0
- package/webpack.dev.mjs +10 -0
- package/webpack.umd.mjs +1 -1
- package/docs/assets/images/screens-blue.jpg +0 -0
- package/docs/assets/images/screens-white.jpg +0 -0
- package/plugins/beta/datasets/dist/adapters/maplibre/esm/im-datasets-ml-adapter.js +0 -1
- package/plugins/beta/datasets/dist/adapters/maplibre/esm/index.js +0 -1
- package/plugins/beta/datasets/dist/umd/maplibre/im-datasets-maplibre-adapter.js +0 -2
- package/plugins/beta/datasets/dist/umd/maplibre/im-datasets-plugin.js +0 -2
- package/plugins/beta/datasets/dist/umd/maplibre/index.js +0 -2
- package/plugins/beta/datasets/src/adapters/maplibre/index.js +0 -18
- package/plugins/beta/datasets/src/adapters/maplibre/layerIds.js +0 -75
- package/plugins/beta/datasets/src/adapters/maplibre/patternImages.js +0 -27
- package/plugins/beta/datasets/src/adapters/maplibre/symbolImages.js +0 -31
- package/plugins/beta/datasets/src/components/KeySvg.jsx +0 -24
- package/plugins/beta/datasets/src/components/KeySvgLine.jsx +0 -19
- package/plugins/beta/datasets/src/components/KeySvgRect.jsx +0 -22
- package/plugins/beta/datasets/src/index.maplibre.umd.js +0 -23
- package/plugins/beta/datasets/src/panels/Key.jsx +0 -62
- package/plugins/beta/datasets/src/panels/Layers.jsx +0 -141
- package/plugins/beta/datasets/src/reducer.js +0 -219
- package/plugins/beta/datasets/src/reducers/keyReducer.js +0 -34
- package/plugins/beta/datasets/src/utils/filters.js +0 -34
- package/plugins/beta/datasets/src/utils/mergeSublayer.js +0 -86
- package/plugins/beta/draw-ml/dist/css/index.css +0 -21
- /package/plugins/beta/datasets/dist/umd/{maplibre/im-datasets-maplibre-adapter.js.LICENSE.txt → im-datasets-ml-adapter.js.LICENSE.txt} +0 -0
- /package/plugins/beta/datasets/dist/umd/{maplibre/im-datasets-plugin.js.LICENSE.txt → im-datasets-plugin.js.LICENSE.txt} +0 -0
- /package/plugins/beta/datasets/dist/umd/{maplibre/index.js.LICENSE.txt → index.js.LICENSE.txt} +0 -0
- /package/plugins/beta/datasets/src/components/{EmptyKey.jsx → Key/EmptyKey.jsx} +0 -0
- /package/plugins/beta/datasets/src/components/{EmptyKey.test.jsx → Key/EmptyKey.test.jsx} +0 -0
- /package/plugins/beta/datasets/src/{panels → components/Key}/Key.module.scss +0 -0
- /package/plugins/beta/datasets/src/components/{svgProperties.js → Key/svgProperties.js} +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{% extends "layouts/main.html" %}
|
|
2
|
+
|
|
3
|
+
{% block pageTitle %}
|
|
4
|
+
Place a marker to continue – GOV.UK Prototype Kit
|
|
5
|
+
{% endblock %}
|
|
6
|
+
|
|
7
|
+
{% block head %}
|
|
8
|
+
<link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
|
|
9
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
10
|
+
{% endblock %}
|
|
11
|
+
|
|
12
|
+
{% block bodyStart %}
|
|
13
|
+
<script>document.body.classList.add('im-is-loading')</script>
|
|
14
|
+
{% endblock %}
|
|
15
|
+
|
|
16
|
+
{% block beforeContent %}
|
|
17
|
+
{{ govukBackLink({
|
|
18
|
+
text: "Back",
|
|
19
|
+
href: "javascript:window.history.back()"
|
|
20
|
+
}) }}
|
|
21
|
+
{% endblock %}
|
|
22
|
+
|
|
23
|
+
{% block content %}
|
|
24
|
+
<div class="govuk-grid-row">
|
|
25
|
+
<div class="govuk-grid-column-two-thirds">
|
|
26
|
+
|
|
27
|
+
<h1 class="govuk-heading-l">
|
|
28
|
+
Place a marker to continue
|
|
29
|
+
</h1>
|
|
30
|
+
|
|
31
|
+
<div id="map"></div>
|
|
32
|
+
|
|
33
|
+
<div id="external-buttons" hidden>
|
|
34
|
+
<button class="govuk-button govuk-!-margin-top-4" id="continue-btn" disabled>Continue</button>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
{% endblock %}
|
|
40
|
+
|
|
41
|
+
{% block pageScripts %}
|
|
42
|
+
<!-- Defra library scripts -->
|
|
43
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
|
|
44
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
|
|
45
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/plugins/interact/dist/umd/index.js"></script>
|
|
46
|
+
|
|
47
|
+
<script>
|
|
48
|
+
var interactPlugin = defra.interactPlugin({
|
|
49
|
+
interactionModes: ['placeMarker']
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
var map = new defra.InteractiveMap('map', {
|
|
53
|
+
behaviour: 'hybrid',
|
|
54
|
+
mapProvider: defra.maplibreProvider(),
|
|
55
|
+
mapStyle: {
|
|
56
|
+
url: 'https://tiles.openfreemap.org/styles/liberty',
|
|
57
|
+
attribution: 'OpenFreeMap © OpenMapTiles Data from OpenStreetMap',
|
|
58
|
+
backgroundColor: '#f5f5f0'
|
|
59
|
+
},
|
|
60
|
+
center: [-0.1276, 51.5074],
|
|
61
|
+
zoom: 12,
|
|
62
|
+
containerHeight: '516px',
|
|
63
|
+
plugins: [interactPlugin],
|
|
64
|
+
backAndContinue: {
|
|
65
|
+
backLabel: 'Back',
|
|
66
|
+
continueLabel: 'Continue',
|
|
67
|
+
continueEnabledWhen: function (context) {
|
|
68
|
+
return context.mapState.markers.items.some(function (m) { return m.id === 'location' })
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
map.on('map:ready', function () {
|
|
74
|
+
interactPlugin.enable()
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
map.on('app:continue', function (context) {
|
|
78
|
+
var marker = context.mapState.markers.items.find(function (m) { return m.id === 'location' })
|
|
79
|
+
// navigate to next step with marker.coords
|
|
80
|
+
if (marker) {
|
|
81
|
+
console.log('Continuing with marker at:', marker.coords)
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
var continueBtn = document.getElementById('continue-btn')
|
|
86
|
+
var externalButtons = document.getElementById('external-buttons')
|
|
87
|
+
|
|
88
|
+
function setInline(isFullscreen) {
|
|
89
|
+
externalButtons.hidden = isFullscreen
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
map.on('app:opened', function (e) { setInline(e.isFullscreen) })
|
|
93
|
+
map.on('app:closed', function () { externalButtons.hidden = true })
|
|
94
|
+
map.on('app:fullscreenchange', function (e) { setInline(e.isFullscreen) })
|
|
95
|
+
|
|
96
|
+
map.on('interact:markerchange', function () {
|
|
97
|
+
continueBtn.disabled = false
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
continueBtn.addEventListener('click', function () {
|
|
101
|
+
// navigate to next step
|
|
102
|
+
})
|
|
103
|
+
</script>
|
|
104
|
+
{% endblock %}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{% extends "layouts/main.html" %}
|
|
2
|
+
|
|
3
|
+
{% block pageTitle %}
|
|
4
|
+
Add a search control – GOV.UK Prototype Kit
|
|
5
|
+
{% endblock %}
|
|
6
|
+
|
|
7
|
+
{% block head %}
|
|
8
|
+
<link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
|
|
9
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
10
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/plugins/search/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
11
|
+
{% endblock %}
|
|
12
|
+
|
|
13
|
+
{% block bodyStart %}
|
|
14
|
+
<script>document.body.classList.add('im-is-loading')</script>
|
|
15
|
+
{% endblock %}
|
|
16
|
+
|
|
17
|
+
{% block beforeContent %}
|
|
18
|
+
{{ govukBackLink({
|
|
19
|
+
text: "Back",
|
|
20
|
+
href: "javascript:window.history.back()"
|
|
21
|
+
}) }}
|
|
22
|
+
{% endblock %}
|
|
23
|
+
|
|
24
|
+
{% block content %}
|
|
25
|
+
<div class="govuk-grid-row">
|
|
26
|
+
<div class="govuk-grid-column-two-thirds">
|
|
27
|
+
|
|
28
|
+
<h1 class="govuk-heading-l">
|
|
29
|
+
Add a search control
|
|
30
|
+
</h1>
|
|
31
|
+
|
|
32
|
+
<div id="map"></div>
|
|
33
|
+
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
{% endblock %}
|
|
37
|
+
|
|
38
|
+
{% block pageScripts %}
|
|
39
|
+
<!-- Defra library scripts -->
|
|
40
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
|
|
41
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
|
|
42
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/plugins/search/dist/umd/index.js"></script>
|
|
43
|
+
|
|
44
|
+
<script>
|
|
45
|
+
const SETTLEMENT_TYPES = new Set(['city', 'town', 'village', 'hamlet', 'suburb', 'quarter', 'neighbourhood', 'municipality', 'borough', 'district', 'county'])
|
|
46
|
+
|
|
47
|
+
const nominatimDataset = {
|
|
48
|
+
name: 'nominatim',
|
|
49
|
+
buildRequest: function (query) {
|
|
50
|
+
const params = new URLSearchParams({
|
|
51
|
+
q: query,
|
|
52
|
+
format: 'json',
|
|
53
|
+
limit: '8',
|
|
54
|
+
countrycodes: 'gb'
|
|
55
|
+
})
|
|
56
|
+
return new Request('https://nominatim.openstreetmap.org/search?' + params, {
|
|
57
|
+
headers: { 'Accept-Language': 'en' }
|
|
58
|
+
})
|
|
59
|
+
},
|
|
60
|
+
parseResults: function (json, query) {
|
|
61
|
+
if (!Array.isArray(json)) return []
|
|
62
|
+
const escaped = query.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
|
63
|
+
const results = json
|
|
64
|
+
.filter(function (item) { return SETTLEMENT_TYPES.has(item.addresstype) })
|
|
65
|
+
.map(function (item) {
|
|
66
|
+
const bb = item.boundingbox.map(Number)
|
|
67
|
+
return {
|
|
68
|
+
id: String(item.place_id),
|
|
69
|
+
text: item.display_name,
|
|
70
|
+
marked: item.display_name.replace(new RegExp('(' + escaped + ')', 'i'), '<mark>$1</mark>'),
|
|
71
|
+
point: [Number(item.lon), Number(item.lat)],
|
|
72
|
+
bounds: [bb[2], bb[0], bb[3], bb[1]]
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
return Array.from(new Map(results.map(function (r) { return [r.text, r] })).values())
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const searchPlugin = defra.searchPlugin({
|
|
80
|
+
customDatasets: [nominatimDataset],
|
|
81
|
+
width: '300px'
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
new defra.InteractiveMap('map', {
|
|
85
|
+
behaviour: 'inline',
|
|
86
|
+
mapProvider: defra.maplibreProvider(),
|
|
87
|
+
mapStyle: {
|
|
88
|
+
url: 'https://tiles.openfreemap.org/styles/liberty',
|
|
89
|
+
attribution: 'OpenFreeMap © OpenMapTiles Data from OpenStreetMap',
|
|
90
|
+
backgroundColor: '#f5f5f0'
|
|
91
|
+
},
|
|
92
|
+
center: [-1.6, 53.1],
|
|
93
|
+
zoom: 6,
|
|
94
|
+
containerHeight: '516px',
|
|
95
|
+
plugins: [searchPlugin]
|
|
96
|
+
})
|
|
97
|
+
</script>
|
|
98
|
+
{% endblock %}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{% extends "layouts/main.html" %}
|
|
2
|
+
|
|
3
|
+
{% block pageTitle %}
|
|
4
|
+
Select a feature – GOV.UK Prototype Kit
|
|
5
|
+
{% endblock %}
|
|
6
|
+
|
|
7
|
+
{% block head %}
|
|
8
|
+
<link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
|
|
9
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
10
|
+
{% endblock %}
|
|
11
|
+
|
|
12
|
+
{% block bodyStart %}
|
|
13
|
+
<script>document.body.classList.add('im-is-loading')</script>
|
|
14
|
+
{% endblock %}
|
|
15
|
+
|
|
16
|
+
{% block beforeContent %}
|
|
17
|
+
{{ govukBackLink({
|
|
18
|
+
text: "Back",
|
|
19
|
+
href: "javascript:window.history.back()"
|
|
20
|
+
}) }}
|
|
21
|
+
{% endblock %}
|
|
22
|
+
|
|
23
|
+
{% block content %}
|
|
24
|
+
<div class="govuk-grid-row">
|
|
25
|
+
<div class="govuk-grid-column-two-thirds">
|
|
26
|
+
|
|
27
|
+
<h1 class="govuk-heading-l">
|
|
28
|
+
Select a feature
|
|
29
|
+
</h1>
|
|
30
|
+
|
|
31
|
+
<div id="map"></div>
|
|
32
|
+
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
{% endblock %}
|
|
36
|
+
|
|
37
|
+
{% block pageScripts %}
|
|
38
|
+
<!-- Defra library scripts -->
|
|
39
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
|
|
40
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
|
|
41
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/plugins/interact/dist/umd/index.js"></script>
|
|
42
|
+
|
|
43
|
+
<script>
|
|
44
|
+
const PANEL_ID = 'building-info'
|
|
45
|
+
|
|
46
|
+
const interactPlugin = defra.interactPlugin({
|
|
47
|
+
interactionModes: ['selectFeature'],
|
|
48
|
+
deselectOnClickOutside: true,
|
|
49
|
+
layers: [
|
|
50
|
+
{ layerId: 'buildings 3D', idProperty: 'uuid' }
|
|
51
|
+
]
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
const map = new defra.InteractiveMap('map', {
|
|
55
|
+
behaviour: 'inline',
|
|
56
|
+
mapProvider: defra.maplibreProvider(),
|
|
57
|
+
mapStyle: {
|
|
58
|
+
url: 'https://labs.os.uk/tiles/styles/open-zoomstack-outdoor/style.json',
|
|
59
|
+
attribution: `Contains OS data © Crown copyright and database rights ${new Date().getFullYear()}`,
|
|
60
|
+
backgroundColor: '#f5f5f0'
|
|
61
|
+
},
|
|
62
|
+
center: [-1.5491, 53.8008],
|
|
63
|
+
zoom: 14.5,
|
|
64
|
+
maxZoom: 14.5,
|
|
65
|
+
containerHeight: '516px',
|
|
66
|
+
plugins: [interactPlugin]
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
map.on('map:ready', () => {
|
|
70
|
+
interactPlugin.enable()
|
|
71
|
+
|
|
72
|
+
map.addPanel(PANEL_ID, {
|
|
73
|
+
focus: false,
|
|
74
|
+
label: 'Selected building',
|
|
75
|
+
html: '<div id="building-info-content"></div>',
|
|
76
|
+
mobile: { slot: 'drawer', dismissible: true, open: false },
|
|
77
|
+
tablet: { slot: 'left-top', dismissible: true, width: '300px', open: false },
|
|
78
|
+
desktop: { slot: 'left-top', dismissible: true, width: '300px', open: false }
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
map.on('interact:selectionchange', ({ selectedFeatures }) => {
|
|
83
|
+
if (selectedFeatures.length > 0) {
|
|
84
|
+
let html = ''
|
|
85
|
+
for (const [k, v] of Object.entries(selectedFeatures[0].properties)) {
|
|
86
|
+
html += '<p class="govuk-body govuk-!-margin-bottom-1"><strong>' + k + ':</strong> ' + v + '</p>'
|
|
87
|
+
}
|
|
88
|
+
document.getElementById('building-info-content').innerHTML = html
|
|
89
|
+
map.showPanel(PANEL_ID)
|
|
90
|
+
} else {
|
|
91
|
+
map.hidePanel(PANEL_ID)
|
|
92
|
+
}
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
map.on('app:panelclosed', ({ panelId }) => {
|
|
96
|
+
if (panelId === PANEL_ID) {
|
|
97
|
+
interactPlugin.clear()
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
</script>
|
|
101
|
+
{% endblock %}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{% extends "layouts/main.html" %}
|
|
2
|
+
|
|
3
|
+
{% block pageTitle %}
|
|
4
|
+
Change map style – GOV.UK Prototype Kit
|
|
5
|
+
{% endblock %}
|
|
6
|
+
|
|
7
|
+
{% block head %}
|
|
8
|
+
<link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
|
|
9
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
10
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/plugins/beta/map-styles/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
11
|
+
{% endblock %}
|
|
12
|
+
|
|
13
|
+
{% block bodyStart %}
|
|
14
|
+
<script>document.body.classList.add('im-is-loading')</script>
|
|
15
|
+
{% endblock %}
|
|
16
|
+
|
|
17
|
+
{% block beforeContent %}
|
|
18
|
+
{{ govukBackLink({
|
|
19
|
+
text: "Back",
|
|
20
|
+
href: "javascript:window.history.back()"
|
|
21
|
+
}) }}
|
|
22
|
+
{% endblock %}
|
|
23
|
+
|
|
24
|
+
{% block content %}
|
|
25
|
+
<div class="govuk-grid-row">
|
|
26
|
+
<div class="govuk-grid-column-two-thirds">
|
|
27
|
+
|
|
28
|
+
<h1 class="govuk-heading-l">
|
|
29
|
+
Change map style
|
|
30
|
+
</h1>
|
|
31
|
+
|
|
32
|
+
<div id="map"></div>
|
|
33
|
+
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
{% endblock %}
|
|
37
|
+
|
|
38
|
+
{% block pageScripts %}
|
|
39
|
+
<!-- Defra library scripts -->
|
|
40
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
|
|
41
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
|
|
42
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/plugins/beta/map-styles/dist/umd/index.js"></script>
|
|
43
|
+
|
|
44
|
+
<script>
|
|
45
|
+
const attribution = 'OpenFreeMap © OpenMapTiles Data from OpenStreetMap'
|
|
46
|
+
|
|
47
|
+
const mapStyles = [
|
|
48
|
+
{
|
|
49
|
+
id: 'road',
|
|
50
|
+
label: 'Road',
|
|
51
|
+
url: 'https://tiles.openfreemap.org/styles/liberty',
|
|
52
|
+
thumbnail: '/plugin-assets/%40defra%2Finteractive-map/assets/images/road-ofm-thumb.jpg',
|
|
53
|
+
attribution,
|
|
54
|
+
backgroundColor: '#f5f5f0'
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: 'bright',
|
|
58
|
+
label: 'Bright',
|
|
59
|
+
url: 'https://tiles.openfreemap.org/styles/bright',
|
|
60
|
+
thumbnail: '/plugin-assets/%40defra%2Finteractive-map/assets/images/bright-ofm-thumb.jpg',
|
|
61
|
+
attribution,
|
|
62
|
+
backgroundColor: '#f5f5f0'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: 'dark',
|
|
66
|
+
label: 'Dark',
|
|
67
|
+
url: 'https://tiles.openfreemap.org/styles/fiord',
|
|
68
|
+
thumbnail: '/plugin-assets/%40defra%2Finteractive-map/assets/images/dark-ofm-thumb.jpg',
|
|
69
|
+
attribution,
|
|
70
|
+
mapColorScheme: 'dark',
|
|
71
|
+
appColorScheme: 'dark'
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
const mapStylesPlugin = defra.mapStylesPlugin({ mapStyles })
|
|
76
|
+
|
|
77
|
+
new defra.InteractiveMap('map', {
|
|
78
|
+
behaviour: 'inline',
|
|
79
|
+
mapProvider: defra.maplibreProvider(),
|
|
80
|
+
mapStyle: mapStyles[0],
|
|
81
|
+
center: [-0.1276, 51.5074],
|
|
82
|
+
zoom: 12,
|
|
83
|
+
containerHeight: '516px',
|
|
84
|
+
plugins: [mapStylesPlugin]
|
|
85
|
+
})
|
|
86
|
+
</script>
|
|
87
|
+
{% endblock %}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{% extends "layouts/main.html" %}
|
|
2
|
+
|
|
3
|
+
{% block pageTitle %}
|
|
4
|
+
Toggle marker label – GOV.UK Prototype Kit
|
|
5
|
+
{% endblock %}
|
|
6
|
+
|
|
7
|
+
{% block head %}
|
|
8
|
+
<link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
|
|
9
|
+
<link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
|
|
10
|
+
{% endblock %}
|
|
11
|
+
|
|
12
|
+
{% block bodyStart %}
|
|
13
|
+
<script>document.body.classList.add('im-is-loading')</script>
|
|
14
|
+
{% endblock %}
|
|
15
|
+
|
|
16
|
+
{% block beforeContent %}
|
|
17
|
+
{{ govukBackLink({
|
|
18
|
+
text: "Back",
|
|
19
|
+
href: "javascript:window.history.back()"
|
|
20
|
+
}) }}
|
|
21
|
+
{% endblock %}
|
|
22
|
+
|
|
23
|
+
{% block content %}
|
|
24
|
+
<div class="govuk-grid-row">
|
|
25
|
+
<div class="govuk-grid-column-two-thirds">
|
|
26
|
+
|
|
27
|
+
<h1 class="govuk-heading-l">
|
|
28
|
+
Toggle marker label
|
|
29
|
+
</h1>
|
|
30
|
+
|
|
31
|
+
<div id="map"></div>
|
|
32
|
+
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
{% endblock %}
|
|
36
|
+
|
|
37
|
+
{% block pageScripts %}
|
|
38
|
+
<!-- Defra library scripts -->
|
|
39
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
|
|
40
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
|
|
41
|
+
<script src="/plugin-assets/%40defra%2Finteractive-map/plugins/interact/dist/umd/index.js"></script>
|
|
42
|
+
|
|
43
|
+
<script>
|
|
44
|
+
const interactPlugin = defra.interactPlugin({
|
|
45
|
+
deselectOnClickOutside: true
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
const map = new defra.InteractiveMap('map', {
|
|
49
|
+
behaviour: 'inline',
|
|
50
|
+
mapProvider: defra.maplibreProvider(),
|
|
51
|
+
mapStyle: {
|
|
52
|
+
url: 'https://tiles.openfreemap.org/styles/liberty',
|
|
53
|
+
attribution: 'OpenFreeMap © OpenMapTiles Data from OpenStreetMap',
|
|
54
|
+
backgroundColor: '#f5f5f0'
|
|
55
|
+
},
|
|
56
|
+
center: [-2.96, 54.43],
|
|
57
|
+
zoom: 15,
|
|
58
|
+
containerHeight: '516px',
|
|
59
|
+
plugins: [interactPlugin]
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
map.on('map:ready', () => {
|
|
63
|
+
map.addMarker('my-marker', [-2.96, 54.43], {
|
|
64
|
+
label: 'My location',
|
|
65
|
+
showLabel: false
|
|
66
|
+
})
|
|
67
|
+
interactPlugin.enable()
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
map.on('interact:selectionchange', ({ selectedMarkers }) => {
|
|
71
|
+
map.updateMarker('my-marker', { showLabel: selectedMarkers.includes('my-marker') })
|
|
72
|
+
})
|
|
73
|
+
</script>
|
|
74
|
+
{% endblock %}
|
package/dist/css/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--foreground-color: #0b0c0c;--background-color: #ffffff;--focus-border-color: #0b0c0c;--focus-outline-color: #ffdd00;--button-background-color: #ffffff;--button-hover-color: #f3f2f1;--primary-button-color: #00703c;--primary-button-hover-color: #005a30;--primary-button-box-shadow: inset 0 -2px 0 #002d18;--tertiary-button-border-color: #505a5f;--disabled-button-opacity: 0.4;--pressed-button-foreground-color: #ffffff;--pressed-button-border-color: #0b0c0c;--pressed-button-background-color: #0b0c0c;--scrollable-outline: 3px solid #ffdd00;--scrollable-outline-offset: -3px;--scrollable-box-shadow: inset 0 0 0 6px #002d18;--tooltip-background-color: #383F43;--tooltip-foreground-color: #ffffff;--modal-background-color: #0b0c0c;--modal-backdrop-opacity: 0.4;--attributions-foreground-color: #0b0c0c;--attributions-background-color: #ffffff80;--fixed-foreground-color: #0b0c0c;--app-border-color: #cecece;--content-border-color: #f3f2f1;--secondary-text-color: #505a5f;--image-placeholder-color: #b1b4b6;--content-link-color: #1d70b8}:root .im-o-app--dark-app{--foreground-color: #ffffff;--background-color: #383F43;--focus-border-color: #0b0c0c;--focus-outline-color: #ffdd00;--button-background-color: #383F43;--button-hover-color: #505a5f;--primary-button-color: #ffffff;--primary-button-hover-color: #b1b4b6;--primary-button-box-shadow: none;--tertiary-button-border-color: #f3f2f1;--tertiary-button-box-shadow: none;--disabled-button-opacity: 0.4;--pressed-button-foreground-color: #0b0c0c;--pressed-button-border-color: #ffffff;--pressed-button-background-color: #ffffff;--content-border-color: #505a5f;--secondary-text-color: #f3f2f1;--content-link-color: #ffffff}:root{--font-family: gds transport,arial,sans-serif;--font-size: 16px;--line-height: 1.25em}:root{--button-box-shadow: 0 -2px 20px rgba(0,0,0,.1), 0 0 12px rgba(0,0,0,.1);--panel-box-shadow: 0 -2px 20px rgba(0,0,0,.1), 0 0 12px rgba(0,0,0,.1);--shadow-clip-size: 20px}:root{--duration: 0.2s}:root{--primary-gap: 15px;--divider-gap: 10px;--button-size: 40px;--icon-size: 24px;--button-padding: 8px;--button-icon-label-offset: 7px;--label-button-padding: 10px;--app-border-width: 1px;--button-border-radius: 0px;--panel-border-radius: 0px;--focus-border-width: 3px;--focus-outline-width: 3px;--modal-offset-top: 0px;--modal-offset-right: 0px;--tooltip-padding: 10px;--tooltip-offset: 10px;--tooltip-arrow-size: 8px;--tooltip-font-size: 14px;--tooltip-border-radius: 3px;--min-panel-width: 260px;--panel-close-button-gap: 4px;--panel-heading-margin-top: 12px;--panel-margin: 15px;--banner-close-button-gap: 0px;--banner-max-desktop-width: 400px;--banner-collapse-margin: 14px;--popup-menu-min-width: 200px;--popup-menu-max-width: 300px;--action-bar-max-width: calc(100% - (var(--button-size) * 2) - (var(--primary-gap) * 4));--attributions-padding: 2px 5px;--attributions-font-size: 12px}:root{--kbd-font-family: monospace;--kbd-background-color: var(--background-color);--kbd-foreground-color: var(--tooltip-background-color);--kbd-border: 2px solid #e7e7e7;--kbd-border-radius: 4px;--kbd-font-size: .825rem;--kbd-padding: 2px 4px;--kbd-tooltip-border: none}:root .im-o-app--dark-app{--kbd-background-color: var(--background-color);--kbd-foreground-color: var(--tooltip-foreground-color);--kbd-tooltip-border: 2px solid #505a5f;--kbd-border: 2px solid #505a5f}.im-o-app *,.im-o-app *::before,.im-o-app *::after{box-sizing:border-box}.im-o-app *{margin:0}.im-o-app img,.im-o-app picture,.im-o-app video,.im-o-app canvas,.im-o-app svg{display:block}.im-o-app input,.im-o-app button,.im-o-app textarea,.im-o-app select{font:inherit}.im-o-app p,.im-o-app h1,.im-o-app h2,.im-o-app h3,.im-o-app h4,.im-o-app h5,.im-o-app h6{overflow-wrap:break-word}.im-o-app{visibility:visible;font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--foreground-color);background-color:var(--background-color);-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.im-is-fullscreen>.im-o-app{position:fixed;z-index:999;top:0;bottom:0;left:0;right:0;width:100%}.im-o-app__overlay,.im-o-app__modal{pointer-events:none}.im-e-heading-s,.im-e-heading-m,.im-e-heading-l{margin:0;font-weight:600}.im-e-heading-l{font-size:1.5rem;line-height:1.25}.im-e-heading-m{font-size:1.25rem;line-height:1.25}.im-e-heading-s{font-size:1rem;line-height:1.25}kbd{font-family:var(--kbd-font-family);border:var(--kbd-border);background-color:var(--kbd-background-color);color:var(--kbd-foreground-color);border-radius:var(--kbd-border-radius);font-size:var(--kbd-font-size);padding:var(--kbd-padding)}.im-o-app{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;touch-action:none}.im-o-app__overlay{position:absolute;z-index:1;box-sizing:border-box;flex-direction:row;display:flex;justify-content:space-between;top:0;left:0;width:100%;height:100%;min-height:0;visibility:visible;opacity:1}@media(prefers-reduced-motion: no-preference){.im-o-app__overlay{transition:opacity var(--duration) ease-in}}.im-o-app__side{position:relative;display:flex;flex-direction:column;z-index:3;flex-shrink:0;height:100%}.im-o-app__main{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;flex-wrap:nowrap;padding:var(--primary-gap)}.im-o-app__side .im-c-panel{height:100%;border:0;border-radius:var(--panel-border-radius)}.im-o-app__side .im-c-panel::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-o-app__side .im-c-panel:focus{outline:0}.im-o-app__side .im-c-panel[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-o-app__side .im-c-panel::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-o-app__side .im-c-panel::after{transition:opacity var(--duration) ease}}.im-o-app__side .im-c-panel[data-focus-visible=true]::after{opacity:1}.im-o-app__side .im-c-panel,.im-o-app__side .im-c-panel::before,.im-o-app__side .im-c-panel::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__side .im-c-panel::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app__banner{display:flex;flex-direction:column;gap:var(--divider-gap)}.im-o-app__banner .im-c-panel:last-child{margin-bottom:var(--divider-gap)}.im-o-app__top{display:flex;margin-bottom:auto;justify-content:space-between;align-items:flex-start;width:100%;gap:var(--divider-gap)}.im-o-app__top-col{display:flex;flex:1 1 auto;gap:var(--divider-gap)}.im-o-app__top-col:not(:empty){padding-bottom:var(--divider-gap)}.im-o-app__top-col:first-child,.im-o-app__top-col:last-child{flex:1 1 calc(var(--button-size) + var(--primary-gap)*2);max-width:var(--top-col-width, 100%)}.im-o-app__top-col:first-child{justify-content:flex-start}.im-o-app__top-col:last-child{justify-content:flex-end}.im-o-app__top-col:nth-child(2){justify-content:center}.im-o-app__inset{display:flex;flex-direction:column;position:absolute;gap:var(--divider-gap);top:var(--left-offset-top)}.im-o-app__left{position:absolute;display:flex;flex-direction:column;left:var(--primary-gap);top:var(--left-offset-top);bottom:var(--left-offset-bottom);gap:var(--divider-gap)}.im-o-app__left>*:empty{display:none}.im-o-app__left-top{display:flex;flex-direction:column;align-items:flex-start;min-height:0;position:relative;gap:var(--divider-gap)}.im-o-app__left-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:0;margin-top:auto;position:relative;gap:var(--divider-gap)}.im-o-app__middle{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:-1}.im-o-app__right{position:absolute;display:flex;flex-direction:column;right:var(--primary-gap);top:var(--right-offset-top);bottom:var(--right-offset-bottom);gap:var(--divider-gap)}.im-o-app__right-top{display:flex;flex-direction:column;flex:0 0 auto;align-items:flex-end;position:relative;gap:var(--divider-gap)}.im-o-app__right-bottom{display:flex;flex-direction:column;flex:0 0 auto;margin-top:auto;align-items:flex-end;position:relative;gap:var(--divider-gap)}.im-o-app__bottom{display:flex;justify-content:space-between;align-items:flex-end;z-index:-2}.im-o-app__bottom-col{display:flex;min-width:auto}.im-o-app__bottom-col:first-child{flex-direction:row;align-items:flex-end;flex-shrink:0;gap:var(--divider-gap)}.im-o-app__bottom-col:last-child{position:relative;flex:1 1 auto;flex-direction:column;align-items:flex-end;min-width:0}.im-o-app__bottom-left,.im-o-app__bottom-right{display:flex;flex-direction:row;gap:var(--divider-gap)}.im-o-app__bottom-right{justify-content:flex-end}.im-o-app__attributions:not(:empty){position:absolute;bottom:calc(var(--primary-gap)*-1);right:calc(var(--primary-gap)*-1);display:flex;justify-content:flex-end}.im-o-app__drawer{z-index:1}.im-o-app__drawer .im-c-panel,.im-o-app__drawer .im-c-panel::before,.im-o-app__drawer .im-c-panel::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__drawer .im-c-panel::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app__actions{display:flex;flex-shrink:0;justify-content:center;text-align:center}.im-o-app__actions .im-c-panel__body{overflow:visible}.im-o-app .im-o-app__modal{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;z-index:99}.im-o-app .im-o-app__modal .im-c-panel{position:absolute;top:0;right:0;bottom:auto;left:0;z-index:1000}.im-o-app .im-o-app__modal .im-c-panel+.im-o-app__modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--modal-background-color);opacity:var(--modal-backdrop-opacity);pointer-events:auto}.im-o-app .im-o-app__modal .im-c-panel--side{width:100%;max-width:80%;bottom:0;border:0;border-radius:var(--panel-border-radius)}.im-o-app .im-o-app__modal .im-c-panel--side::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-o-app .im-o-app__modal .im-c-panel--side:focus{outline:0}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-o-app .im-o-app__modal .im-c-panel--side::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-o-app .im-o-app__modal .im-c-panel--side::after{transition:opacity var(--duration) ease}}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]::after{opacity:1}.im-o-app .im-o-app__modal .im-c-panel--side,.im-o-app .im-o-app__modal .im-c-panel--side::before,.im-o-app .im-o-app__modal .im-c-panel--side::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app .im-o-app__modal .im-c-panel--side::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app .im-o-app__modal .im-c-panel--inset{inset:var(--modal-inset);max-width:calc(100% - var(--primary-gap)*2);max-height:var(--modal-max-height)}.im-o-app .im-o-app__modal .im-c-panel--left-top,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--left-top-button{inset:var(--left-offset-top) auto auto var(--primary-gap);max-height:calc(100% - var(--left-offset-top) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--left-bottom,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--left-bottom-button{inset:auto auto var(--left-offset-bottom) var(--primary-gap);max-height:calc(100% - var(--left-offset-bottom) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--right-top,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--right-top-button{inset:var(--right-offset-top) var(--primary-gap) auto auto;max-height:calc(100% - var(--right-offset-top) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--right-bottom,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--right-bottom-button{inset:auto var(--primary-gap) var(--right-offset-bottom) auto;max-height:calc(100% - var(--right-offset-bottom) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--middle{position:relative;margin:auto;width:100%;max-width:calc(100% - var(--primary-gap)*2);max-height:calc(100% - var(--primary-gap)*2)}.im-o-app .im-o-app__modal .im-c-panel--drawer{top:auto;bottom:0;max-height:85%}.im-o-app .im-o-app__modal .im-c-panel--drawer,.im-o-app .im-o-app__modal .im-c-panel--drawer::before,.im-o-app .im-o-app__modal .im-c-panel--drawer::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app .im-o-app__modal .im-c-panel--drawer::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app .im-o-app__modal [class*=im-c-panel--][class*=-button]{inset:var(--modal-inset);max-height:var(--modal-max-height)}.im-o-app--mobile .im-o-app__modal .im-c-panel--banner,.im-o-app--tablet .im-o-app__modal .im-c-panel--banner{margin:var(--primary-gap)}.im-o-app--mobile .im-o-app__banner,.im-o-app--tablet .im-o-app__banner{z-index:9}.im-o-app--desktop .im-o-app__modal .im-c-panel--banner{margin-top:var(--primary-gap)}.im-o-app--inline{border:var(--app-border-width) solid var(--app-border-color);box-sizing:border-box}.im-o-app__overlay--not-ready{visibility:hidden;opacity:0}.im-o-app--desktop .im-c-panel--banner{margin-left:auto;margin-right:auto;max-width:var(--banner-max-desktop-width)}.im-o-app--tablet .im-o-app__actions,.im-o-app--desktop .im-o-app__actions{position:absolute;width:100%;left:0;bottom:calc(var(--primary-gap)*2)}.im-o-app--tablet .im-o-app__actions .im-c-panel,.im-o-app--desktop .im-o-app__actions .im-c-panel{max-width:var(--action-bar-max-width)}@media(prefers-reduced-motion: no-preference){.im-o-app--tablet .im-o-app__actions .im-c-actions,.im-o-app--desktop .im-o-app__actions .im-c-actions{transition:opacity var(--duration) ease}}.im-o-app--tablet .im-o-app__actions .im-c-actions--hidden,.im-o-app--desktop .im-o-app__actions .im-c-actions--hidden{opacity:0}.im-o-app--mobile .im-o-app__drawer,.im-o-app--mobile .im-o-app__actions{margin:var(--primary-gap) calc(var(--primary-gap)*-1) calc(var(--primary-gap)*-1) calc(var(--primary-gap)*-1)}.im-o-app--mobile .im-o-app__drawer .im-c-panel,.im-o-app--mobile .im-o-app__actions .im-c-panel{width:100%}.im-o-app--mobile .im-o-app__drawer .im-c-panel,.im-o-app--mobile .im-o-app__drawer .im-c-panel::before,.im-o-app--mobile .im-o-app__drawer .im-c-panel::after,.im-o-app--mobile .im-o-app__actions .im-c-panel,.im-o-app--mobile .im-o-app__actions .im-c-panel::before,.im-o-app--mobile .im-o-app__actions .im-c-panel::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app--mobile .im-o-app__drawer .im-c-panel::before,.im-o-app--mobile .im-o-app__actions .im-c-panel::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app--mobile .im-o-app__drawer .im-c-panel{clip-path:inset(-20px 0 0 0)}.im-o-app--mobile .im-o-app__drawer .im-c-panel::after,.im-o-app--mobile .im-o-app__actions .im-c-panel::after,.im-o-app__modal .im-c-panel--drawer::after{top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width)}.im-o-app--mobile .im-o-app__side{position:absolute;left:0;top:0;width:100%;max-width:80%;pointer-events:none}.im-c-keyboard-help__list{margin:0;color:var(--foreground-color)}.im-c-keyboard-help__item{display:table;padding:10px 0;width:100%;border-top:1px solid var(--content-border-color)}.im-c-keyboard-help__item:last-child{padding-bottom:0}.im-c-keyboard-help__group:last-child .im-c-keyboard-help__item:last-child{padding-bottom:0}.im-c-keyboard-help__title{display:table-cell;width:45%}.im-c-keyboard-help__description{display:table-cell}.im-o-app--mobile .im-c-keyboard-help__title{width:100%;display:block}.im-o-app--mobile .im-c-keyboard-help__description{display:block;margin-top:5px}.im-c-tabs__panel .im-c-keyboard-help__item:first-child{border-top:0}.im-c-tabs__list{position:relative;display:flex;flex-wrap:wrap;padding:0;margin:0;border-bottom:1px solid var(--app-border-color);z-index:1}.im-c-tabs__tab{position:relative;appearance:none;background:var(--button-hover-color);border:1px solid rgba(0,0,0,0);border-bottom:none;padding:7.5px 15px;margin:5px 5px 5px 0;cursor:pointer;color:var(--foreground-color);font-size:inherit;font-weight:normal;outline:3px solid rgba(0,0,0,0)}.im-c-tabs__tab[aria-selected=true]{background:var(--background-color);border-color:var(--app-border-color);border-bottom-color:var(--background-color);margin-top:0;margin-bottom:-1px}.im-c-tabs__tab:focus .im-c-tabs__label{outline:3px solid rgba(0,0,0,0);color:var(--focus-border-color);background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);text-decoration:none}.im-c-tabs__tab:not([aria-selected=true]):hover{background-color:var(--content-border-color)}.im-c-tabs__tab:not([aria-selected=true]) .im-c-tabs__label{text-decoration:underline;text-underline-offset:3px}.im-c-tabs__tab:not([aria-selected=true]):hover .im-c-tabs__label{text-decoration-thickness:3px}.im-c-button-wrapper{position:relative}.im-c-button-wrapper .im-c-panel{position:absolute;right:calc(100% + var(--divider-gap));top:0}.im-c-map-button{border:0;border-radius:var(--button-border-radius)}.im-c-map-button::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow)}.im-c-map-button:focus{outline:0}.im-c-map-button[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-map-button::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--button-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-map-button::after{transition:opacity var(--duration) ease}}.im-c-map-button[data-focus-visible=true]::after{opacity:1}.im-c-map-button{display:flex;justify-content:center;align-items:center;padding-left:var(--button-padding);padding-right:var(--button-padding);pointer-events:auto;color:var(--foreground-color);background-color:var(--button-background-color);min-height:var(--button-size);min-width:var(--button-size);user-select:none;cursor:pointer}.im-c-map-button--primary[aria-disabled=true],.im-c-map-button--tertiary[aria-disabled=true]{opacity:var(--disabled-button-opacity)}.im-c-map-button svg{pointer-events:none;width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.im-c-map-button svg+span{margin-left:var(--button-icon-label-offset);white-space:nowrap}@media(hover: hover)and (pointer: fine){.im-c-map-button:hover{background-color:var(--button-hover-color)}}@media(hover: hover)and (pointer: fine)and (prefers-reduced-motion: no-preference){.im-c-map-button:hover{transition:background-color var(--duration) ease}}.im-c-map-button--with-label{padding-left:var(--label-button-padding);padding-right:var(--label-button-padding)}.im-c-map-button--primary{color:var(--background-color);background-color:var(--primary-button-color);box-shadow:var(--primary-button-box-shadow)}.im-c-map-button--primary span{white-space:nowrap;padding:0 var(--button-icon-label-offset)}.im-c-map-button--primary svg+span{padding-left:0}.im-c-map-button--primary::before{box-shadow:none}@media(hover: hover)and (pointer: fine){.im-c-map-button--primary:hover{background-color:var(--primary-button-hover-color)}}.im-c-map-button--tertiary{border:1px solid var(--tertiary-button-border-color);box-shadow:var(--tertiary-button-box-shadow)}.im-c-map-button--tertiary span{white-space:nowrap;padding:0 5px}.im-c-map-button--tertiary svg+span{padding-left:0}.im-c-map-button--tertiary::before{box-shadow:none}.im-o-app__right .im-c-button-group{display:flex;flex-direction:column}.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button,.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before,.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button,.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before,.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(0 -20px 0 -20px)}.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button{margin-top:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button,.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before,.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::after{border-top-left-radius:0;border-top-right-radius:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before{clip-path:inset(0 -20px -20px -20px)}.im-o-app__top .im-c-button-group{display:flex;flex-direction:row}.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button,.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before,.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::after{border-top-right-radius:0;border-bottom-right-radius:0}.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before{clip-path:inset(-20px 0 -20px -20px)}.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button,.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before,.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(-20px 0 -20px 0)}.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button,.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before,.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::after{border-top-left-radius:0;border-bottom-left-radius:0}.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before{clip-path:inset(-20px -20px -20px 0)}.im-c-map-button[aria-haspopup=true][aria-expanded=true] svg{transform:rotate(180deg)}.im-c-map-button[aria-disabled=true]:not(.im-c-map-button--primary):not(.im-c-map-button--tertiary) svg,.im-c-map-button[aria-disabled=true]:not(.im-c-map-button--primary):not(.im-c-map-button--tertiary) span{opacity:var(--disabled-button-opacity)}.im-o-app__actions .im-c-map-button[aria-pressed=true]{color:var(--pressed-button-foreground-color);border-color:var(--pressed-button-border-color);background-color:var(--pressed-button-background-color)}.im-c-panel{border:0;border-radius:var(--panel-border-radius)}.im-c-panel::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-c-panel:focus{outline:0}.im-c-panel[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-panel::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-panel::after{transition:opacity var(--duration) ease}}.im-c-panel[data-focus-visible=true]::after{opacity:1}.im-c-panel{position:relative;display:flex;flex-direction:column;max-height:100vh;min-height:0;min-width:var(--min-panel-width);pointer-events:auto;background-color:var(--background-color)}.im-c-panel__heading{display:flex;padding:var(--panel-heading-margin-top) calc(var(--panel-close-button-gap)*2 + var(--button-size)) var(--panel-margin) var(--panel-margin);color:var(--foreground-color)}.im-c-panel__close{border:0;border-radius:var(--button-border-radius)}.im-c-panel__close::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow)}.im-c-panel__close:focus{outline:0}.im-c-panel__close[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-panel__close::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--button-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-panel__close::after{transition:opacity var(--duration) ease}}.im-c-panel__close[data-focus-visible=true]::after{opacity:1}.im-c-panel__close{border:0;position:absolute;top:var(--panel-close-button-gap);right:var(--panel-close-button-gap);padding-left:var(--button-padding);padding-right:var(--button-padding);min-height:var(--button-size);min-width:var(--button-size);color:var(--foreground-color);background-color:rgba(0,0,0,0);cursor:pointer}.im-c-panel__body{padding:0 var(--panel-margin) var(--panel-margin);overflow:auto}.im-c-panel__body[data-focus-visible=true]{outline:var(--scrollable-outline);outline-offset:var(--scrollable-outline-offset);box-shadow:var(--scrollable-box-shadow)}.im-c-panel__close::before{content:none}@media(prefers-reduced-motion: no-preference){.im-c-panel__close:hover{transition:background-color var(--duration) ease}}.im-c-panel__close:hover{background-color:var(--button-hover-color)}.im-o-app--mobile .im-c-panel--bottom{border:0;border-radius:var(--panel-border-radius)}.im-o-app--mobile .im-c-panel--bottom::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-o-app--mobile .im-c-panel--bottom:focus{outline:0}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-o-app--mobile .im-c-panel--bottom::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-o-app--mobile .im-c-panel--bottom::after{transition:opacity var(--duration) ease}}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]::after{opacity:1}.im-o-app--mobile .im-c-panel--bottom,.im-o-app--mobile .im-c-panel--bottom::before,.im-o-app--mobile .im-c-panel--bottom::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app--mobile .im-c-panel--bottom::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app--desktop .im-c-panel--banner.im-c-panel--no-heading .im-c-panel__close{top:var(--banner-close-button-gap);right:var(--banner-close-button-gap)}.im-o-app--desktop .im-c-panel--banner.im-c-panel--no-heading .im-c-panel__body--offset{padding-top:10px;padding-bottom:10px}.im-c-panel__body--offset{padding-right:calc(var(--button-size) + var(--divider-gap))}.im-c-icon--narrow{margin-left:-3px;margin-right:-3px}.im-c-viewport{width:100%;height:100%;background-color:var(--background-colour);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);border:0;border-radius:0px}.im-c-viewport::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:0px}.im-c-viewport:focus{outline:0}.im-c-viewport[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-viewport::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:-2px;opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-viewport::after{transition:opacity var(--duration) ease}}.im-c-viewport[data-focus-visible=true]::after{opacity:1}.im-c-viewport__map-container{width:100%;height:100%}.im-c-viewport__map-container>*:first-child{overflow:visible;transform-origin:top left}.im-c-viewport__safezone{position:absolute;pointer-events:none;z-index:1}.im-c-viewport__markers{position:absolute;inset:0;pointer-events:none}.im-c-viewport--medium .im-c-viewport__map-container{width:66.66%;height:66.66%}.im-c-viewport--medium .im-c-viewport__map-container>*:first-child{transform:scale(1.5)}.im-c-viewport--large .im-c-viewport__map-container{width:50%;height:50%}.im-c-viewport--large .im-c-viewport__map-container>*:first-child{transform:scale(2)}.im-c-tooltip-wrapper{position:relative;display:inline-block;z-index:1}.im-c-tooltip-wrapper:hover,.im-c-tooltip-wrapper--has-focus{z-index:2}.im-c-tooltip{position:absolute;z-index:10;visibility:hidden;pointer-events:none;opacity:0;color:var(--tooltip-foreground-color);background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);white-space:nowrap;padding:var(--tooltip-padding);font-size:var(--tooltip-font-size);line-height:1.2}@media(prefers-reduced-motion: no-preference){.im-c-tooltip{transition:opacity var(--duration) ease,visibility var(--duration) ease}}.im-c-tooltip::after{content:"";position:absolute;box-sizing:border-box;z-index:-1;width:var(--tooltip-arrow-size);height:var(--tooltip-arrow-size);color:var(--tooltip-background-color);border:calc(var(--tooltip-arrow-size)/2) solid currentcolor}.im-c-tooltip--is-visible{opacity:1;visibility:visible;pointer-events:auto}.im-c-tooltip--hidden{width:0;overflow:hidden}.im-c-tooltip--left{top:50%;transform:translateY(-50%);left:auto;right:calc(100% + var(--tooltip-offset))}.im-c-tooltip--left::after{top:50%;transform:translateY(-50%) rotate(45deg);right:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-tooltip--right{top:50%;transform:translateY(-50%);right:auto;left:calc(100% + var(--tooltip-offset))}.im-c-tooltip--right::after{top:50%;transform:translateY(-50%) rotate(45deg);left:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-tooltip--bottom{top:calc(100% + var(--tooltip-offset));left:50%;transform:translateX(-50%)}.im-c-tooltip--bottom::after{left:50%;transform:translateX(-50%) rotate(45deg);top:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-tooltip--top{bottom:calc(100% + var(--tooltip-offset));left:50%;transform:translateX(-50%)}.im-c-tooltip--top::after{left:50%;transform:translateX(-50%) rotate(45deg);bottom:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-popup-menu{border:0;border-radius:var(--button-border-radius)}.im-c-popup-menu::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow)}.im-c-popup-menu:focus{outline:0}.im-c-popup-menu[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-popup-menu::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--button-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-popup-menu::after{transition:opacity var(--duration) ease}}.im-c-popup-menu[data-focus-visible=true]::after{opacity:1}.im-c-popup-menu[data-focus-visible=true]::after{opacity:0}.im-c-popup-menu{background-color:var(--background-color);position:fixed;z-index:9999;list-style:none;margin:0;padding:0}.im-c-popup-menu[data-direction=below]{margin-top:var(--divider-gap)}.im-c-popup-menu[data-direction=above]{margin-bottom:var(--divider-gap)}.im-c-popup-menu[data-halign=center]{transform:translateX(-50%)}.im-c-popup-menu__item{display:flex;position:relative;align-items:center;padding:var(--divider-gap);border-top:1px solid var(--button-hover-color);text-align:left;cursor:pointer;min-width:var(--popup-menu-min-width);max-width:var(--popup-menu-max-width)}.im-c-popup-menu__item:first-child{border-top:0}@media(hover: hover)and (pointer: fine){.im-c-popup-menu__item:hover:not(.im-c-popup-menu__item--selected){background-color:var(--button-hover-color)}}.im-c-popup-menu__item:hover:not(.im-c-popup-menu__item--selected) .im-c-popup-menu__item-label{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px;text-decoration-color:var(--foreground-color);text-decoration-skip-ink:none}.im-c-popup-menu__item--selected{background-color:var(--button-hover-color)}.im-c-popup-menu__item--selected .im-c-popup-menu__item-label{outline:3px solid rgba(0,0,0,0);color:var(--focus-border-color);background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);text-decoration:none}.im-c-popup-menu__item svg+span{margin-left:calc(var(--button-icon-label-offset) + 3px);white-space:nowrap}.im-c-popup-menu__item[aria-disabled=true] .im-c-popup-menu__item-label,.im-c-popup-menu__item[aria-disabled=true] svg{opacity:.5}.im-c-popup-menu__item[role=menuitemcheckbox]{padding-right:75px}.im-c-popup-menu__item[role=menuitemcheckbox]::before{content:"";position:absolute;border:1px solid var(--foreground-color);left:auto;top:12px;right:12px;width:20px;height:20px;opacity:.2}.im-c-popup-menu__item[role=menuitemcheckbox]::after{content:"";position:absolute;top:17px;left:auto;right:16px;width:12px;height:6.5px;border:solid;border-width:0 0 3px 3px;transform:rotate(-45deg);opacity:0}.im-c-popup-menu__item[role=menuitemcheckbox][aria-checked=true]::before{top:10px;right:10px;width:24px;height:24px;border-width:2px;opacity:1}.im-c-popup-menu__item[role=menuitemcheckbox][aria-checked=true]::after{opacity:1}.im-c-popup-menu__item[role=menuitemcheckbox]:hover::before,.im-c-popup-menu__item--selected[role=menuitemcheckbox]::before,.im-c-popup-menu__item--selected[role=menuitemcheckbox][aria-checked=true]::before{top:10px;right:10px;width:24px;height:24px;border-width:4px;outline:3px solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 3px #fd0;opacity:1}.im-c-attributions{color:var(--attributions-foreground-color);background-color:var(--attributions-background-color);padding:var(--attributions-padding);font-size:var(--attributions-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.im-c-logo{align-self:center;flex-shrink:0;height:auto;width:auto;user-select:none}.im-o-hints{position:absolute;bottom:var(--hint-bottom, var(--primary-gap));left:50%;transform:translateX(-50%);z-index:1001}.im-c-hints{display:flex;flex-direction:column;align-items:center;gap:var(--divider-gap)}.im-c-hints__hint{text-wrap:nowrap;color:var(--tooltip-foreground-color);background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);padding:var(--tooltip-padding);font-size:var(--tooltip-font-size);line-height:1.2}.im-c-hints__hint kbd{border:var(--kbd-tooltip-border)}.im-c-cross-hair{position:absolute;top:0;left:0;pointer-events:none;margin:-19px 0 0 -19px}.im-c-cross-hair path{stroke-width:3;stroke:var(--map-overlay-halo-color);fill:var(--map-overlay-foreground-color);paint-order:stroke fill}.im-c-markers{position:absolute;top:0;left:0;pointer-events:none}.im-c-marker{position:absolute;left:0;top:0;pointer-events:none}.im-c-marker-wrapper{position:absolute;left:0;top:0;pointer-events:none}.im-c-marker__svg{display:block;pointer-events:none}.im-c-marker__label{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none;color:var(--tooltip-foreground-color);background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);padding:var(--tooltip-padding);font-size:var(--tooltip-font-size);line-height:1.2}.im-c-marker__label--standalone{bottom:0}.im-c-marker__label--standalone::after{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);border:calc(var(--tooltip-arrow-size) - 2px) solid rgba(0,0,0,0);border-top-color:var(--tooltip-background-color)}.im-c-features{position:absolute;inset:0;pointer-events:none;list-style:none;margin:0;padding:0;border:0;border-radius:0px}.im-c-features::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:0px}.im-c-features:focus{outline:0}.im-c-features[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-features::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:-2px;opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-features::after{transition:opacity var(--duration) ease}}.im-c-features[data-focus-visible=true]::after{opacity:1}.im-c-features[data-focus-visible=true][aria-activedescendant]::after{opacity:0}.im-c-features [role=option]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.im-c-actions{position:relative;display:flex;flex-direction:row;justify-content:center;gap:calc(var(--divider-gap)/2);padding:var(--panel-margin);max-height:200px}.im-c-actions--border-top{border-top:1px solid var(--app-border-color)}.im-c-actions--hidden{max-height:0;padding-top:0;padding-bottom:0;border:0}.im-c-actions .im-c-button-wrapper--wide{display:flex;flex:1 1 0}.im-c-actions .im-c-map-button--primary,.im-c-actions .im-c-map-button--tertiary{width:100%}.im-o-app--tablet .im-c-actions,.im-o-app--desktop .im-c-actions{min-width:0}.im-c-open-map-button{font-family:-apple-system,blinkmacsystemfont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;display:inline-flex;text-decoration:none;border:1px solid #505a5f;white-space:nowrap;padding:10px}.im-c-open-map-button svg+span{padding-left:8px}.im-c-open-map-button span{color:#1d70b8}.im-c-open-map-button:hover{background-color:#f3f2f1}.im-c-open-map-button:active span{color:#0b0c0c}.im-c-open-map-button:focus{border-color:rgba(0,0,0,0);outline:3px solid rgba(0,0,0,0);color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.im-c-open-map-button:focus span{color:#0b0c0c}.im-c-error{padding:15px;margin-bottom:30px;border:5px solid #b1b4b6}.im-is-loading{visibility:hidden}.im-has-js{position:fixed;overflow:hidden;top:0;right:0;bottom:0;left:0}.im-is-fullscreen{height:100%;overflow-y:visible;overscroll-behavior-y:none}.im-is-fullscreen body{position:fixed;overflow:hidden;top:0;right:0;bottom:0;left:0}.maplibregl-canvas-container canvas{image-rendering:pixelated;outline:0}.maplibregl-control-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.maplibregl-control-container *{pointer-events:auto}.maplibregl-symbols{display:none}.im-u-visually-hidden{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;white-space:nowrap}
|
|
1
|
+
:root{--foreground-color: #0b0c0c;--background-color: #ffffff;--focus-border-color: #0b0c0c;--focus-outline-color: #ffdd00;--button-background-color: #ffffff;--button-hover-color: #f3f2f1;--primary-button-color: #00703c;--primary-button-hover-color: #005a30;--primary-button-box-shadow: inset 0 -2px 0 #002d18;--tertiary-button-border-color: #505a5f;--disabled-button-opacity: 0.4;--pressed-button-foreground-color: #ffffff;--pressed-button-border-color: #0b0c0c;--pressed-button-background-color: #0b0c0c;--scrollable-outline: 3px solid #ffdd00;--scrollable-outline-offset: -3px;--scrollable-box-shadow: inset 0 0 0 6px #002d18;--tooltip-background-color: #383F43;--tooltip-foreground-color: #ffffff;--modal-background-color: #0b0c0c;--modal-backdrop-opacity: 0.4;--attributions-foreground-color: #0b0c0c;--attributions-background-color: #ffffff80;--fixed-foreground-color: #0b0c0c;--app-border-color: #cecece;--content-border-color: #f3f2f1;--secondary-text-color: #505a5f;--image-placeholder-color: #b1b4b6;--content-link-color: #1d70b8}:root .im-o-app--dark-app{--foreground-color: #ffffff;--background-color: #383F43;--focus-border-color: #0b0c0c;--focus-outline-color: #ffdd00;--button-background-color: #383F43;--button-hover-color: #505a5f;--primary-button-color: #ffffff;--primary-button-hover-color: #b1b4b6;--primary-button-box-shadow: none;--tertiary-button-border-color: #f3f2f1;--tertiary-button-box-shadow: none;--disabled-button-opacity: 0.4;--pressed-button-foreground-color: #0b0c0c;--pressed-button-border-color: #ffffff;--pressed-button-background-color: #ffffff;--content-border-color: #505a5f;--secondary-text-color: #f3f2f1;--content-link-color: #ffffff}:root{--font-family: gds transport,arial,sans-serif;--font-size: 16px;--line-height: 1.25em}:root{--button-box-shadow: 0 -2px 20px rgba(0,0,0,.1), 0 0 12px rgba(0,0,0,.1);--panel-box-shadow: 0 -2px 20px rgba(0,0,0,.1), 0 0 12px rgba(0,0,0,.1);--shadow-clip-size: 20px}:root{--duration: 0.2s}:root{--primary-gap: 15px;--divider-gap: 10px;--button-size: 40px;--icon-size: 24px;--button-padding: 8px;--button-icon-label-offset: 7px;--label-button-padding: 10px;--app-border-width: 1px;--button-border-radius: 0px;--panel-border-radius: 0px;--focus-border-width: 3px;--focus-outline-width: 3px;--modal-offset-top: 0px;--modal-offset-right: 0px;--tooltip-padding: 10px;--tooltip-offset: 10px;--tooltip-arrow-size: 8px;--tooltip-font-size: 14px;--tooltip-border-radius: 3px;--min-panel-width: 260px;--panel-close-button-gap: 4px;--panel-heading-margin-top: 12px;--panel-margin: 15px;--banner-close-button-gap: 0px;--banner-max-desktop-width: 400px;--banner-collapse-margin: 14px;--popup-menu-min-width: 200px;--popup-menu-max-width: 300px;--action-bar-max-width: calc(100% - (var(--button-size) * 2) - (var(--primary-gap) * 4));--action-button-min-width: 120px;--attributions-padding: 2px 5px;--attributions-font-size: 12px}:root{--kbd-font-family: monospace;--kbd-background-color: var(--background-color);--kbd-foreground-color: var(--tooltip-background-color);--kbd-border: 2px solid #e7e7e7;--kbd-border-radius: 4px;--kbd-font-size: .825rem;--kbd-padding: 2px 4px;--kbd-tooltip-border: none}:root .im-o-app--dark-app{--kbd-background-color: var(--background-color);--kbd-foreground-color: var(--tooltip-foreground-color);--kbd-tooltip-border: 2px solid #505a5f;--kbd-border: 2px solid #505a5f}.im-o-app *,.im-o-app *::before,.im-o-app *::after{box-sizing:border-box}.im-o-app *{margin:0}.im-o-app img,.im-o-app picture,.im-o-app video,.im-o-app canvas,.im-o-app svg{display:block}.im-o-app input,.im-o-app button,.im-o-app textarea,.im-o-app select{font:inherit}.im-o-app p,.im-o-app h1,.im-o-app h2,.im-o-app h3,.im-o-app h4,.im-o-app h5,.im-o-app h6{overflow-wrap:break-word}.im-o-app{visibility:visible;font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--foreground-color);background-color:var(--background-color);-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.im-is-fullscreen>.im-o-app{position:fixed;z-index:999;top:0;bottom:0;left:0;right:0;width:100%}.im-o-app__overlay,.im-o-app__modal{pointer-events:none}.im-e-heading-s,.im-e-heading-m,.im-e-heading-l{margin:0;font-weight:600}.im-e-heading-l{font-size:1.5rem;line-height:1.25}.im-e-heading-m{font-size:1.25rem;line-height:1.25}.im-e-heading-s{font-size:1rem;line-height:1.25}kbd{font-family:var(--kbd-font-family);border:var(--kbd-border);background-color:var(--kbd-background-color);color:var(--kbd-foreground-color);border-radius:var(--kbd-border-radius);font-size:var(--kbd-font-size);padding:var(--kbd-padding)}.im-o-app{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;touch-action:none}.im-o-app__overlay{position:absolute;z-index:1;box-sizing:border-box;flex-direction:row;display:flex;justify-content:space-between;top:0;left:0;width:100%;height:100%;min-height:0;visibility:visible;opacity:1}@media(prefers-reduced-motion: no-preference){.im-o-app__overlay{transition:opacity var(--duration) ease-in}}.im-o-app__side{position:relative;display:flex;flex-direction:column;z-index:3;flex-shrink:0;height:100%}.im-o-app__main{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;flex-wrap:nowrap;padding:var(--primary-gap)}.im-o-app__side .im-c-panel{height:100%;border:0;border-radius:var(--panel-border-radius)}.im-o-app__side .im-c-panel::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-o-app__side .im-c-panel:focus{outline:0}.im-o-app__side .im-c-panel[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-o-app__side .im-c-panel::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-o-app__side .im-c-panel::after{transition:opacity var(--duration) ease}}.im-o-app__side .im-c-panel[data-focus-visible=true]::after{opacity:1}.im-o-app__side .im-c-panel,.im-o-app__side .im-c-panel::before,.im-o-app__side .im-c-panel::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__side .im-c-panel::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app__banner{display:flex;flex-direction:column;gap:var(--divider-gap)}.im-o-app__banner .im-c-panel:last-child{margin-bottom:var(--divider-gap)}.im-o-app__top{display:flex;margin-bottom:auto;justify-content:space-between;align-items:flex-start;width:100%;gap:var(--divider-gap)}.im-o-app__top-col{display:flex;flex:1 1 auto;gap:var(--divider-gap)}.im-o-app__top-col:not(:empty){padding-bottom:var(--divider-gap)}.im-o-app__top-col:first-child,.im-o-app__top-col:last-child{flex:1 1 calc(var(--button-size) + var(--primary-gap)*2);max-width:var(--top-col-width, 100%)}.im-o-app__top-col:first-child{justify-content:flex-start}.im-o-app__top-col:last-child{justify-content:flex-end}.im-o-app__top-col:nth-child(2){justify-content:center}.im-o-app__inset{display:flex;flex-direction:column;position:absolute;gap:var(--divider-gap);top:var(--left-offset-top)}.im-o-app__left{position:absolute;display:flex;flex-direction:column;left:var(--primary-gap);top:var(--left-offset-top);bottom:var(--left-offset-bottom);gap:var(--divider-gap)}.im-o-app__left>*:empty{display:none}.im-o-app__left-top{display:flex;flex-direction:column;align-items:flex-start;min-height:0;position:relative;gap:var(--divider-gap)}.im-o-app__left-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:0;margin-top:auto;position:relative;gap:var(--divider-gap)}.im-o-app__middle{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:-1}.im-o-app__right{position:absolute;display:flex;flex-direction:column;right:var(--primary-gap);top:var(--right-offset-top);bottom:var(--right-offset-bottom);gap:var(--divider-gap)}.im-o-app__right-top{display:flex;flex-direction:column;flex:0 0 auto;align-items:flex-end;position:relative;gap:var(--divider-gap)}.im-o-app__right-bottom{display:flex;flex-direction:column;flex:0 0 auto;margin-top:auto;align-items:flex-end;position:relative;gap:var(--divider-gap)}.im-o-app__bottom{display:flex;justify-content:space-between;align-items:flex-end;z-index:-2}.im-o-app__bottom-col{display:flex;min-width:auto}.im-o-app__bottom-col:first-child{flex-direction:row;align-items:flex-end;flex-shrink:0;gap:var(--divider-gap)}.im-o-app__bottom-col:last-child{position:relative;flex:1 1 auto;flex-direction:column;align-items:flex-end;min-width:0}.im-o-app__bottom-left,.im-o-app__bottom-right{display:flex;flex-direction:row;gap:var(--divider-gap)}.im-o-app__bottom-right{justify-content:flex-end}.im-o-app__attributions:not(:empty){position:absolute;bottom:calc(var(--primary-gap)*-1);right:calc(var(--primary-gap)*-1);display:flex;justify-content:flex-end}.im-o-app__drawer{z-index:1}.im-o-app__drawer .im-c-panel,.im-o-app__drawer .im-c-panel::before,.im-o-app__drawer .im-c-panel::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__drawer .im-c-panel::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app__actions{display:flex;flex-shrink:0;justify-content:center;text-align:center}.im-o-app__actions .im-c-panel__body{overflow:visible}.im-o-app .im-o-app__modal{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;z-index:99}.im-o-app .im-o-app__modal .im-c-panel{position:absolute;top:0;right:0;bottom:auto;left:0;z-index:1000}.im-o-app .im-o-app__modal .im-c-panel+.im-o-app__modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--modal-background-color);opacity:var(--modal-backdrop-opacity);pointer-events:auto}.im-o-app .im-o-app__modal .im-c-panel--side{width:100%;max-width:80%;bottom:0;border:0;border-radius:var(--panel-border-radius)}.im-o-app .im-o-app__modal .im-c-panel--side::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-o-app .im-o-app__modal .im-c-panel--side:focus{outline:0}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-o-app .im-o-app__modal .im-c-panel--side::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-o-app .im-o-app__modal .im-c-panel--side::after{transition:opacity var(--duration) ease}}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]::after{opacity:1}.im-o-app .im-o-app__modal .im-c-panel--side,.im-o-app .im-o-app__modal .im-c-panel--side::before,.im-o-app .im-o-app__modal .im-c-panel--side::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app .im-o-app__modal .im-c-panel--side::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app .im-o-app__modal .im-c-panel--inset{inset:var(--modal-inset);max-width:calc(100% - var(--primary-gap)*2);max-height:var(--modal-max-height)}.im-o-app .im-o-app__modal .im-c-panel--left-top,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--left-top-button{inset:var(--left-offset-top) auto auto var(--primary-gap);max-height:calc(100% - var(--left-offset-top) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--left-bottom,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--left-bottom-button{inset:auto auto var(--left-offset-bottom) var(--primary-gap);max-height:calc(100% - var(--left-offset-bottom) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--right-top,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--right-top-button{inset:var(--right-offset-top) var(--primary-gap) auto auto;max-height:calc(100% - var(--right-offset-top) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--right-bottom,.im-o-app .im-o-app__modal .im-c-panel.im-c-panel--right-bottom-button{inset:auto var(--primary-gap) var(--right-offset-bottom) auto;max-height:calc(100% - var(--right-offset-bottom) - var(--primary-gap))}.im-o-app .im-o-app__modal .im-c-panel--middle{position:relative;margin:auto;width:100%;max-width:calc(100% - var(--primary-gap)*2);max-height:calc(100% - var(--primary-gap)*2)}.im-o-app .im-o-app__modal .im-c-panel--drawer{top:auto;bottom:0;max-height:85%}.im-o-app .im-o-app__modal .im-c-panel--drawer,.im-o-app .im-o-app__modal .im-c-panel--drawer::before,.im-o-app .im-o-app__modal .im-c-panel--drawer::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app .im-o-app__modal .im-c-panel--drawer::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app .im-o-app__modal [class*=im-c-panel--][class*=-button]{inset:var(--modal-inset);max-height:var(--modal-max-height)}.im-o-app--mobile .im-o-app__modal .im-c-panel--banner,.im-o-app--tablet .im-o-app__modal .im-c-panel--banner{margin:var(--primary-gap)}.im-o-app--mobile .im-o-app__banner,.im-o-app--tablet .im-o-app__banner{z-index:9}.im-o-app--desktop .im-o-app__modal .im-c-panel--banner{margin-top:var(--primary-gap)}.im-o-app--inline{border:var(--app-border-width) solid var(--app-border-color);box-sizing:border-box}.im-o-app__overlay--not-ready{visibility:hidden;opacity:0}.im-o-app--desktop .im-c-panel--banner{margin-left:auto;margin-right:auto;max-width:var(--banner-max-desktop-width)}.im-o-app--tablet .im-o-app__actions,.im-o-app--desktop .im-o-app__actions{position:absolute;width:100%;left:0;bottom:calc(var(--primary-gap)*2)}.im-o-app--tablet .im-o-app__actions .im-c-panel,.im-o-app--desktop .im-o-app__actions .im-c-panel{max-width:var(--action-bar-max-width)}@media(prefers-reduced-motion: no-preference){.im-o-app--tablet .im-o-app__actions .im-c-actions,.im-o-app--desktop .im-o-app__actions .im-c-actions{transition:opacity var(--duration) ease}}.im-o-app--tablet .im-o-app__actions .im-c-actions--hidden,.im-o-app--desktop .im-o-app__actions .im-c-actions--hidden{opacity:0}.im-o-app--mobile .im-o-app__drawer,.im-o-app--mobile .im-o-app__actions{margin:var(--primary-gap) calc(var(--primary-gap)*-1) calc(var(--primary-gap)*-1) calc(var(--primary-gap)*-1)}.im-o-app--mobile .im-o-app__drawer .im-c-panel,.im-o-app--mobile .im-o-app__actions .im-c-panel{width:100%}.im-o-app--mobile .im-o-app__drawer .im-c-panel,.im-o-app--mobile .im-o-app__drawer .im-c-panel::before,.im-o-app--mobile .im-o-app__drawer .im-c-panel::after,.im-o-app--mobile .im-o-app__actions .im-c-panel,.im-o-app--mobile .im-o-app__actions .im-c-panel::before,.im-o-app--mobile .im-o-app__actions .im-c-panel::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app--mobile .im-o-app__drawer .im-c-panel::before,.im-o-app--mobile .im-o-app__actions .im-c-panel::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app--mobile .im-o-app__drawer .im-c-panel{clip-path:inset(-20px 0 0 0)}.im-o-app--mobile .im-o-app__drawer .im-c-panel::after,.im-o-app--mobile .im-o-app__actions .im-c-panel::after,.im-o-app__modal .im-c-panel--drawer::after{top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width)}.im-o-app--mobile .im-o-app__side{position:absolute;left:0;top:0;width:100%;max-width:80%;pointer-events:none}.im-c-keyboard-help__list{margin:0;color:var(--foreground-color)}.im-c-keyboard-help__item{display:table;padding:10px 0;width:100%;border-top:1px solid var(--content-border-color)}.im-c-keyboard-help__item:last-child{padding-bottom:0}.im-c-keyboard-help__group:last-child .im-c-keyboard-help__item:last-child{padding-bottom:0}.im-c-keyboard-help__title{display:table-cell;width:45%}.im-c-keyboard-help__description{display:table-cell}.im-o-app--mobile .im-c-keyboard-help__title{width:100%;display:block}.im-o-app--mobile .im-c-keyboard-help__description{display:block;margin-top:5px}.im-c-tabs__panel .im-c-keyboard-help__item:first-child{border-top:0}.im-c-tabs__list{position:relative;display:flex;flex-wrap:wrap;padding:0;margin:0;border-bottom:1px solid var(--app-border-color);z-index:1}.im-c-tabs__tab{position:relative;appearance:none;background:var(--button-hover-color);border:1px solid rgba(0,0,0,0);border-bottom:none;padding:7.5px 15px;margin:5px 5px 5px 0;cursor:pointer;color:var(--foreground-color);font-size:inherit;font-weight:normal;outline:3px solid rgba(0,0,0,0)}.im-c-tabs__tab[aria-selected=true]{background:var(--background-color);border-color:var(--app-border-color);border-bottom-color:var(--background-color);margin-top:0;margin-bottom:-1px}.im-c-tabs__tab:focus .im-c-tabs__label{outline:3px solid rgba(0,0,0,0);color:var(--focus-border-color);background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);text-decoration:none}.im-c-tabs__tab:not([aria-selected=true]):hover{background-color:var(--content-border-color)}.im-c-tabs__tab:not([aria-selected=true]) .im-c-tabs__label{text-decoration:underline;text-underline-offset:3px}.im-c-tabs__tab:not([aria-selected=true]):hover .im-c-tabs__label{text-decoration-thickness:3px}.im-c-button-wrapper{position:relative}.im-c-button-wrapper .im-c-panel{position:absolute;right:calc(100% + var(--divider-gap));top:0}.im-c-map-button{border:0;border-radius:var(--button-border-radius)}.im-c-map-button::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow)}.im-c-map-button:focus{outline:0}.im-c-map-button[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-map-button::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--button-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-map-button::after{transition:opacity var(--duration) ease}}.im-c-map-button[data-focus-visible=true]::after{opacity:1}.im-c-map-button{display:flex;justify-content:center;align-items:center;padding-left:var(--button-padding);padding-right:var(--button-padding);pointer-events:auto;color:var(--foreground-color);background-color:var(--button-background-color);min-height:var(--button-size);min-width:var(--button-size);user-select:none;cursor:pointer}.im-c-map-button--primary[aria-disabled=true],.im-c-map-button--tertiary[aria-disabled=true]{opacity:var(--disabled-button-opacity)}.im-c-map-button svg{pointer-events:none;width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.im-c-map-button svg+span{margin-left:var(--button-icon-label-offset);white-space:nowrap}@media(hover: hover)and (pointer: fine){.im-c-map-button:hover{background-color:var(--button-hover-color)}}@media(hover: hover)and (pointer: fine)and (prefers-reduced-motion: no-preference){.im-c-map-button:hover{transition:background-color var(--duration) ease}}.im-c-map-button--with-label{padding-left:var(--label-button-padding);padding-right:var(--label-button-padding)}.im-c-map-button--primary{color:var(--background-color);background-color:var(--primary-button-color);box-shadow:var(--primary-button-box-shadow)}.im-c-map-button--primary span{white-space:nowrap;padding:0 var(--button-icon-label-offset)}.im-c-map-button--primary svg+span{padding-left:0}.im-c-map-button--primary::before{box-shadow:none}@media(hover: hover)and (pointer: fine){.im-c-map-button--primary:hover{background-color:var(--primary-button-hover-color)}}.im-c-map-button--tertiary{border:1px solid var(--tertiary-button-border-color);box-shadow:var(--tertiary-button-box-shadow)}.im-c-map-button--tertiary span{white-space:nowrap;padding:0 5px}.im-c-map-button--tertiary svg+span{padding-left:0}.im-c-map-button--tertiary::before{box-shadow:none}.im-o-app__right .im-c-button-group{display:flex;flex-direction:column}.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button,.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before,.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button,.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before,.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(0 -20px 0 -20px)}.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button{margin-top:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button,.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before,.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::after{border-top-left-radius:0;border-top-right-radius:0}.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before{clip-path:inset(0 -20px -20px -20px)}.im-o-app__top .im-c-button-group{display:flex;flex-direction:row}.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button,.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before,.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::after{border-top-right-radius:0;border-bottom-right-radius:0}.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button::before{clip-path:inset(-20px 0 -20px -20px)}.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button,.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before,.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(-20px -20px -20px -20px)}.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button::before{clip-path:inset(-20px 0 -20px 0)}.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button,.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before,.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::after{border-top-left-radius:0;border-bottom-left-radius:0}.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button::before{clip-path:inset(-20px -20px -20px 0)}.im-c-map-button[aria-haspopup=true][aria-expanded=true] svg{transform:rotate(180deg)}.im-c-map-button[aria-disabled=true]:not(.im-c-map-button--primary):not(.im-c-map-button--tertiary) svg,.im-c-map-button[aria-disabled=true]:not(.im-c-map-button--primary):not(.im-c-map-button--tertiary) span{opacity:var(--disabled-button-opacity)}.im-o-app__actions .im-c-map-button[aria-pressed=true]{color:var(--pressed-button-foreground-color);border-color:var(--pressed-button-border-color);background-color:var(--pressed-button-background-color)}.im-o-app--tablet .im-c-map-button--journey-back,.im-o-app--tablet .im-c-map-button--journey-continue,.im-o-app--tablet .im-c-map-button--select-at-target,.im-o-app--tablet .im-c-map-button--draw-cancel,.im-o-app--tablet .im-c-map-button--draw-done,.im-o-app--tablet .im-c-map-button--draw-add-point,.im-o-app--desktop .im-c-map-button--journey-back,.im-o-app--desktop .im-c-map-button--journey-continue,.im-o-app--desktop .im-c-map-button--select-at-target,.im-o-app--desktop .im-c-map-button--draw-cancel,.im-o-app--desktop .im-c-map-button--draw-done,.im-o-app--desktop .im-c-map-button--draw-add-point{min-width:var(--action-button-min-width)}.im-c-panel{border:0;border-radius:var(--panel-border-radius)}.im-c-panel::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-c-panel:focus{outline:0}.im-c-panel[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-panel::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-panel::after{transition:opacity var(--duration) ease}}.im-c-panel[data-focus-visible=true]::after{opacity:1}.im-c-panel{position:relative;display:flex;flex-direction:column;max-height:100vh;min-height:0;min-width:var(--min-panel-width);pointer-events:auto;background-color:var(--background-color)}.im-c-panel__heading{display:flex;padding:var(--panel-heading-margin-top) calc(var(--panel-close-button-gap)*2 + var(--button-size)) var(--panel-margin) var(--panel-margin);color:var(--foreground-color)}.im-c-panel__close{border:0;border-radius:var(--button-border-radius)}.im-c-panel__close::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow)}.im-c-panel__close:focus{outline:0}.im-c-panel__close[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-panel__close::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--button-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-panel__close::after{transition:opacity var(--duration) ease}}.im-c-panel__close[data-focus-visible=true]::after{opacity:1}.im-c-panel__close{border:0;position:absolute;top:var(--panel-close-button-gap);right:var(--panel-close-button-gap);padding-left:var(--button-padding);padding-right:var(--button-padding);min-height:var(--button-size);min-width:var(--button-size);color:var(--foreground-color);background-color:rgba(0,0,0,0);cursor:pointer}.im-c-panel__body{padding:0 var(--panel-margin) var(--panel-margin);overflow:auto}.im-c-panel__body[data-focus-visible=true]{outline:var(--scrollable-outline);outline-offset:var(--scrollable-outline-offset);box-shadow:var(--scrollable-box-shadow)}.im-c-panel__close::before{content:none}@media(prefers-reduced-motion: no-preference){.im-c-panel__close:hover{transition:background-color var(--duration) ease}}.im-c-panel__close:hover{background-color:var(--button-hover-color)}.im-o-app--mobile .im-c-panel--bottom{border:0;border-radius:var(--panel-border-radius)}.im-o-app--mobile .im-c-panel--bottom::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow)}.im-o-app--mobile .im-c-panel--bottom:focus{outline:0}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-o-app--mobile .im-c-panel--bottom::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--panel-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-o-app--mobile .im-c-panel--bottom::after{transition:opacity var(--duration) ease}}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]::after{opacity:1}.im-o-app--mobile .im-c-panel--bottom,.im-o-app--mobile .im-c-panel--bottom::before,.im-o-app--mobile .im-c-panel--bottom::after{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-o-app--mobile .im-c-panel--bottom::before{clip-path:inset(-20px -20px 0 -20px)}.im-o-app--desktop .im-c-panel--banner.im-c-panel--no-heading .im-c-panel__close{top:var(--banner-close-button-gap);right:var(--banner-close-button-gap)}.im-o-app--desktop .im-c-panel--banner.im-c-panel--no-heading .im-c-panel__body--offset{padding-top:10px;padding-bottom:10px}.im-c-panel__body--offset{padding-right:calc(var(--button-size) + var(--divider-gap))}.im-c-icon--narrow{margin-left:-3px;margin-right:-3px}.im-c-viewport{width:100%;height:100%;background-color:var(--background-colour);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);border:0;border-radius:0px}.im-c-viewport::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:0px}.im-c-viewport:focus{outline:0}.im-c-viewport[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-viewport::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:-2px;opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-viewport::after{transition:opacity var(--duration) ease}}.im-c-viewport[data-focus-visible=true]::after{opacity:1}.im-c-viewport__map-container{width:100%;height:100%}.im-c-viewport__map-container>*:first-child{overflow:visible;transform-origin:top left}.im-c-viewport__safezone{position:absolute;pointer-events:none;z-index:1}.im-c-viewport__markers{position:absolute;inset:0;pointer-events:none}.im-c-viewport--medium .im-c-viewport__map-container{width:66.66%;height:66.66%}.im-c-viewport--medium .im-c-viewport__map-container>*:first-child{transform:scale(1.5)}.im-c-viewport--large .im-c-viewport__map-container{width:50%;height:50%}.im-c-viewport--large .im-c-viewport__map-container>*:first-child{transform:scale(2)}.im-c-tooltip-wrapper{position:relative;display:inline-block;z-index:1}.im-c-tooltip-wrapper:hover,.im-c-tooltip-wrapper--has-focus{z-index:2}.im-c-tooltip{position:absolute;z-index:10;visibility:hidden;pointer-events:none;opacity:0;color:var(--tooltip-foreground-color);background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);white-space:nowrap;padding:var(--tooltip-padding);font-size:var(--tooltip-font-size);line-height:1.2}@media(prefers-reduced-motion: no-preference){.im-c-tooltip{transition:opacity var(--duration) ease,visibility var(--duration) ease}}.im-c-tooltip::after{content:"";position:absolute;box-sizing:border-box;z-index:-1;width:var(--tooltip-arrow-size);height:var(--tooltip-arrow-size);color:var(--tooltip-background-color);border:calc(var(--tooltip-arrow-size)/2) solid currentcolor}.im-c-tooltip--is-visible{opacity:1;visibility:visible;pointer-events:auto}.im-c-tooltip--hidden{width:0;overflow:hidden}.im-c-tooltip--left{top:50%;transform:translateY(-50%);left:auto;right:calc(100% + var(--tooltip-offset))}.im-c-tooltip--left::after{top:50%;transform:translateY(-50%) rotate(45deg);right:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-tooltip--right{top:50%;transform:translateY(-50%);right:auto;left:calc(100% + var(--tooltip-offset))}.im-c-tooltip--right::after{top:50%;transform:translateY(-50%) rotate(45deg);left:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-tooltip--bottom{top:calc(100% + var(--tooltip-offset));left:50%;transform:translateX(-50%)}.im-c-tooltip--bottom::after{left:50%;transform:translateX(-50%) rotate(45deg);top:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-tooltip--top{bottom:calc(100% + var(--tooltip-offset));left:50%;transform:translateX(-50%)}.im-c-tooltip--top::after{left:50%;transform:translateX(-50%) rotate(45deg);bottom:calc(var(--tooltip-arrow-size)/2*-1)}.im-c-popup-menu{border:0;border-radius:var(--button-border-radius)}.im-c-popup-menu::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow)}.im-c-popup-menu:focus{outline:0}.im-c-popup-menu[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-popup-menu::after{content:"";pointer-events:none;position:absolute;z-index:99;top:-1px;right:-1px;bottom:-1px;left:-1px;border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:calc(var(--button-border-radius) - 2px);opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-popup-menu::after{transition:opacity var(--duration) ease}}.im-c-popup-menu[data-focus-visible=true]::after{opacity:1}.im-c-popup-menu[data-focus-visible=true]::after{opacity:0}.im-c-popup-menu{background-color:var(--background-color);position:fixed;z-index:9999;list-style:none;margin:0;padding:0}.im-c-popup-menu[data-direction=below]{margin-top:var(--divider-gap)}.im-c-popup-menu[data-direction=above]{margin-bottom:var(--divider-gap)}.im-c-popup-menu[data-halign=center]{transform:translateX(-50%)}.im-c-popup-menu__item{display:flex;position:relative;align-items:center;padding:var(--divider-gap);border-top:1px solid var(--button-hover-color);text-align:left;cursor:pointer;min-width:var(--popup-menu-min-width);max-width:var(--popup-menu-max-width)}.im-c-popup-menu__item:first-child{border-top:0}@media(hover: hover)and (pointer: fine){.im-c-popup-menu__item:hover:not(.im-c-popup-menu__item--selected){background-color:var(--button-hover-color)}}.im-c-popup-menu__item:hover:not(.im-c-popup-menu__item--selected) .im-c-popup-menu__item-label{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px;text-decoration-color:var(--foreground-color);text-decoration-skip-ink:none}.im-c-popup-menu__item--selected{background-color:var(--button-hover-color)}.im-c-popup-menu__item--selected .im-c-popup-menu__item-label{outline:3px solid rgba(0,0,0,0);color:var(--focus-border-color);background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);text-decoration:none}.im-c-popup-menu__item svg+span{margin-left:calc(var(--button-icon-label-offset) + 3px);white-space:nowrap}.im-c-popup-menu__item[aria-disabled=true] .im-c-popup-menu__item-label,.im-c-popup-menu__item[aria-disabled=true] svg{opacity:.5}.im-c-popup-menu__item[role=menuitemcheckbox]{padding-right:75px}.im-c-popup-menu__item[role=menuitemcheckbox]::before{content:"";position:absolute;border:1px solid var(--foreground-color);left:auto;top:12px;right:12px;width:20px;height:20px;opacity:.2}.im-c-popup-menu__item[role=menuitemcheckbox]::after{content:"";position:absolute;top:17px;left:auto;right:16px;width:12px;height:6.5px;border:solid;border-width:0 0 3px 3px;transform:rotate(-45deg);opacity:0}.im-c-popup-menu__item[role=menuitemcheckbox][aria-checked=true]::before{top:10px;right:10px;width:24px;height:24px;border-width:2px;opacity:1}.im-c-popup-menu__item[role=menuitemcheckbox][aria-checked=true]::after{opacity:1}.im-c-popup-menu__item[role=menuitemcheckbox]:hover::before,.im-c-popup-menu__item--selected[role=menuitemcheckbox]::before,.im-c-popup-menu__item--selected[role=menuitemcheckbox][aria-checked=true]::before{top:10px;right:10px;width:24px;height:24px;border-width:4px;outline:3px solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 3px #fd0;opacity:1}.im-c-attributions{color:var(--attributions-foreground-color);background-color:var(--attributions-background-color);padding:var(--attributions-padding);font-size:var(--attributions-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.im-c-logo{align-self:center;flex-shrink:0;height:auto;width:auto;user-select:none}.im-o-hints{position:absolute;bottom:var(--hint-bottom, var(--primary-gap));left:50%;transform:translateX(-50%);z-index:1001}.im-c-hints{display:flex;flex-direction:column;align-items:center;gap:var(--divider-gap)}.im-c-hints__hint{text-wrap:nowrap;color:var(--tooltip-foreground-color);background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);padding:var(--tooltip-padding);font-size:var(--tooltip-font-size);line-height:1.2}.im-c-hints__hint kbd{border:var(--kbd-tooltip-border)}.im-c-cross-hair{position:absolute;top:0;left:0;pointer-events:none;margin:-19px 0 0 -19px}.im-c-cross-hair path{stroke-width:3;stroke:var(--map-overlay-halo-color);fill:var(--map-overlay-foreground-color);paint-order:stroke fill}.im-c-markers{position:absolute;top:0;left:0;pointer-events:none}.im-c-marker{position:absolute;left:0;top:0;pointer-events:none}.im-c-marker-wrapper{position:absolute;left:0;top:0;pointer-events:none}.im-c-marker__svg{display:block;pointer-events:none}.im-c-marker__label{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none;color:var(--tooltip-foreground-color);background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);padding:var(--tooltip-padding);font-size:var(--tooltip-font-size);line-height:1.2}.im-c-marker__label--standalone{bottom:0}.im-c-marker__label--standalone::after{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);border:calc(var(--tooltip-arrow-size) - 2px) solid rgba(0,0,0,0);border-top-color:var(--tooltip-background-color)}.im-c-features{position:absolute;inset:0;pointer-events:none;list-style:none;margin:0;padding:0;border:0;border-radius:0px}.im-c-features::before{content:"";pointer-events:none;position:absolute;top:0;left:0;height:100%;width:100%;border-radius:0px}.im-c-features:focus{outline:0}.im-c-features[data-focus-visible=true]{outline:3px solid rgba(0,0,0,0)}.im-c-features::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-border-width);right:var(--focus-border-width);bottom:var(--focus-border-width);left:var(--focus-border-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid var(--focus-outline-color);border-radius:-2px;opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-features::after{transition:opacity var(--duration) ease}}.im-c-features[data-focus-visible=true]::after{opacity:1}.im-c-features[data-focus-visible=true][aria-activedescendant]::after{opacity:0}.im-c-features [role=option]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.im-c-actions{position:relative;display:flex;flex-direction:row;justify-content:center;gap:calc(var(--divider-gap)/2);padding:var(--panel-margin);max-height:200px}.im-c-actions--border-top{border-top:1px solid var(--app-border-color)}.im-c-actions--hidden{max-height:0;padding-top:0;padding-bottom:0;border:0}.im-c-actions .im-c-button-wrapper--wide{display:flex;flex:1 1 0}.im-c-actions .im-c-map-button--primary,.im-c-actions .im-c-map-button--tertiary{width:100%}.im-o-app--tablet .im-c-actions,.im-o-app--desktop .im-c-actions{min-width:0}.im-c-open-map-button{font-family:-apple-system,blinkmacsystemfont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;display:inline-flex;text-decoration:none;border:1px solid #505a5f;white-space:nowrap;padding:10px}.im-c-open-map-button svg+span{padding-left:8px}.im-c-open-map-button span{color:#1d70b8}.im-c-open-map-button:hover{background-color:#f3f2f1}.im-c-open-map-button:active span{color:#0b0c0c}.im-c-open-map-button:focus{border-color:rgba(0,0,0,0);outline:3px solid rgba(0,0,0,0);color:#0b0c0c;background-color:#fd0;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none}.im-c-open-map-button:focus span{color:#0b0c0c}.im-c-error{padding:15px;margin-bottom:30px;border:5px solid #b1b4b6}.im-is-loading{visibility:hidden}.im-has-js{position:fixed;overflow:hidden;top:0;right:0;bottom:0;left:0}.im-is-fullscreen{height:100%;overflow-y:visible;overscroll-behavior-y:none}.im-is-fullscreen body{position:fixed;overflow:hidden;top:0;right:0;bottom:0;left:0}.maplibregl-canvas-container canvas{image-rendering:pixelated;outline:0}.maplibregl-control-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.maplibregl-control-container *{pointer-events:auto}.maplibregl-symbols{display:none}.im-u-visually-hidden{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;white-space:nowrap}
|