@defra/interactive-map 0.0.43-fmp-experimental → 0.0.45-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.
Files changed (297) hide show
  1. package/assets/templates/add-polygons.njk +11 -7
  2. package/assets/templates/add-symbols.njk +5 -1
  3. package/assets/templates/select-feature.njk +72 -15
  4. package/dist/css/index.css +1 -1
  5. package/dist/esm/im-core.js +1 -1
  6. package/dist/esm/im-shell.js +1 -1
  7. package/dist/umd/im-core.js +1 -1
  8. package/dist/umd/index.js +1 -1
  9. package/docs/api/context.md +24 -0
  10. package/docs/api/keyboard-shortcut-definition.md +102 -0
  11. package/docs/api.md +18 -8
  12. package/docs/building-a-plugin.md +1 -0
  13. package/docs/examples/add-marker-with-panel.mdx +4 -0
  14. package/docs/examples/add-polygons.mdx +16 -12
  15. package/docs/examples/add-symbols.mdx +4 -0
  16. package/docs/examples/basic-map.mdx +4 -0
  17. package/docs/examples/button-map.mdx +4 -0
  18. package/docs/examples/draw-tools.mdx +4 -0
  19. package/docs/examples/place-marker.mdx +4 -0
  20. package/docs/examples/search-control.mdx +4 -0
  21. package/docs/examples/select-feature.mdx +4 -0
  22. package/docs/examples/style-switcher.mdx +36 -44
  23. package/docs/examples/toggle-marker-label.mdx +4 -0
  24. package/docs/plugins/draw.md +2 -2
  25. package/docs/plugins/plugin-manifest.md +9 -0
  26. package/package.json +4 -2
  27. package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js +1 -1
  28. package/plugins/beta/draw-es/src/api/newPolygon.js +1 -0
  29. package/plugins/beta/draw-es/src/events.js +17 -8
  30. package/plugins/beta/draw-es/src/reducer.js +8 -1
  31. package/plugins/beta/draw-ml/dist/esm/im-draw-ml-plugin.js +1 -1
  32. package/plugins/beta/draw-ml/dist/umd/im-draw-ml-plugin.js +1 -1
  33. package/plugins/beta/draw-ol/dist/css/index.css +1 -13
  34. package/plugins/beta/draw-ol/dist/esm/im-draw-ol-plugin.js +1 -1
  35. package/plugins/beta/frame/dist/css/index.css +1 -11
  36. package/plugins/beta/frame/dist/esm/im-frame-plugin.js +1 -1
  37. package/plugins/beta/frame/dist/umd/im-frame-plugin.js +1 -1
  38. package/plugins/beta/frame/src/Frame.jsx +28 -2
  39. package/plugins/beta/map-styles/dist/css/index.css +1 -1
  40. package/plugins/beta/map-styles/dist/umd/im-map-styles-plugin.js +1 -1
  41. package/plugins/beta/map-styles/dist/umd/index.js +1 -1
  42. package/plugins/beta/scale-bar/dist/css/index.css +1 -8
  43. package/plugins/datasets/dist/css/5648.index.css +1 -5
  44. package/plugins/datasets/dist/css/index.css +1 -1
  45. package/plugins/datasets/dist/esm/im-datasets-plugin.js +1 -1
  46. package/plugins/datasets/dist/umd/im-datasets-plugin.js +1 -1
  47. package/plugins/datasets/src/components/LayersMenu/Layers.module.scss +1 -0
  48. package/plugins/datasets/src/initialise/DatasetsInit.jsx +2 -2
  49. package/plugins/datasets/src/initialise/DatasetsInit.test.jsx +6 -5
  50. package/plugins/datasets/src/registry/dataset.js +8 -12
  51. package/plugins/datasets/src/registry/dataset.test.js +17 -0
  52. package/plugins/datasets/src/registry/datasetRegistry.js +4 -5
  53. package/plugins/draw/dist/esm/im-draw-ml-adapter.js +1 -1
  54. package/plugins/draw/dist/esm/im-draw-ol-adapter.js +1 -1
  55. package/plugins/draw/dist/esm/im-draw-plugin.js +1 -1
  56. package/plugins/draw/dist/esm/index.js +1 -1
  57. package/plugins/draw/dist/umd/im-draw-ml-adapter.js +1 -1
  58. package/plugins/draw/dist/umd/im-draw-ol-adapter.js +1 -1
  59. package/plugins/draw/dist/umd/im-draw-plugin.js +1 -1
  60. package/plugins/draw/dist/umd/index.js +1 -1
  61. package/plugins/draw/src/DrawInit.jsx +41 -26
  62. package/plugins/draw/src/DrawInit.test.jsx +55 -12
  63. package/plugins/draw/src/adapters/maplibre/MaplibreDrawAdapter.js +113 -114
  64. package/plugins/draw/src/adapters/maplibre/MaplibreDrawAdapter.test.js +82 -9
  65. package/plugins/draw/src/adapters/maplibre/drawEvents.js +3 -1
  66. package/plugins/draw/src/adapters/maplibre/modes/createDrawMode.test.js +1 -1
  67. package/plugins/draw/src/adapters/maplibre/modes/drawMode/__helpers__/harness.js +18 -9
  68. package/plugins/draw/src/adapters/maplibre/modes/drawMode/clickHandlers.js +9 -1
  69. package/plugins/draw/src/adapters/maplibre/modes/drawMode/clickHandlers.test.js +11 -1
  70. package/plugins/draw/src/adapters/maplibre/modes/drawMode/lifecycle.js +23 -2
  71. package/plugins/draw/src/adapters/maplibre/modes/drawMode/lifecycle.test.js +53 -0
  72. package/plugins/draw/src/adapters/maplibre/modes/drawMode/pointerHandlers.js +29 -19
  73. package/plugins/draw/src/adapters/maplibre/modes/drawMode/pointerHandlers.test.js +17 -2
  74. package/plugins/draw/src/adapters/maplibre/modes/drawMode/undoHandlers.test.js +1 -1
  75. package/plugins/draw/src/adapters/maplibre/modes/drawPointMode.js +35 -29
  76. package/plugins/draw/src/adapters/maplibre/modes/drawPointMode.test.js +24 -6
  77. package/plugins/draw/src/adapters/maplibre/modes/editPointMode/keyboardHandlers.js +22 -20
  78. package/plugins/draw/src/adapters/maplibre/modes/editPointMode/pointOperations.js +1 -1
  79. package/plugins/draw/src/adapters/maplibre/modes/editPointMode.js +2 -2
  80. package/plugins/draw/src/adapters/maplibre/modes/editPointMode.test.js +3 -3
  81. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/geometryHelpers.js +31 -0
  82. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/geometryHelpers.test.js +8 -1
  83. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/keyboardHandlers.js +38 -30
  84. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/keyboardHandlers.test.js +20 -3
  85. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/pointerHandlers.js +5 -5
  86. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/touchHandlers.js +2 -2
  87. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/touchHandlers.test.js +2 -2
  88. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/undoHandlers.js +3 -3
  89. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/undoHandlers.test.js +7 -7
  90. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/vertexOperations.js +4 -4
  91. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/vertexOperations.test.js +14 -14
  92. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/vertexQueries.js +12 -32
  93. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode/vertexQueries.test.js +10 -10
  94. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode.js +48 -22
  95. package/plugins/draw/src/adapters/maplibre/modes/editVertexMode.test.js +74 -6
  96. package/plugins/draw/src/adapters/maplibre/utils/snapMovement.js +2 -2
  97. package/plugins/draw/src/adapters/openlayers/OLDrawAdapter.js +6 -0
  98. package/plugins/draw/src/adapters/openlayers/OLDrawAdapter.test.js +9 -0
  99. package/plugins/draw/src/adapters/openlayers/core/OLDrawManager.js +15 -2
  100. package/plugins/draw/src/adapters/openlayers/core/OLDrawManager.test.js +27 -1
  101. package/plugins/draw/src/adapters/openlayers/draw/DrawMode.test.js +1 -1
  102. package/plugins/draw/src/adapters/openlayers/draw/drawInput.js +40 -17
  103. package/plugins/draw/src/adapters/openlayers/draw/drawInput.test.js +55 -1
  104. package/plugins/draw/src/adapters/openlayers/draw/vertexPlacement.js +13 -7
  105. package/plugins/draw/src/adapters/openlayers/draw/vertexPlacement.test.js +7 -15
  106. package/plugins/draw/src/adapters/openlayers/edit/EditMode.js +36 -4
  107. package/plugins/draw/src/adapters/openlayers/edit/EditMode.test.js +41 -1
  108. package/plugins/draw/src/adapters/openlayers/edit/keyboardHandler.js +35 -25
  109. package/plugins/draw/src/adapters/openlayers/edit/keyboardHandler.test.js +40 -2
  110. package/plugins/draw/src/adapters/openlayers/edit/nudge.js +2 -2
  111. package/plugins/draw/src/adapters/openlayers/edit/nudge.test.js +2 -2
  112. package/plugins/draw/src/adapters/openlayers/point/drawPointMode.js +40 -54
  113. package/plugins/draw/src/adapters/openlayers/point/drawPointMode.test.js +32 -13
  114. package/plugins/draw/src/adapters/openlayers/point/editPointMode.js +1 -1
  115. package/plugins/draw/src/adapters/openlayers/point/editPointMode.test.js +17 -1
  116. package/plugins/draw/src/events.js +4 -4
  117. package/plugins/draw/src/events.test.js +1 -1
  118. package/plugins/draw/src/hooks/useSpatialList.js +180 -0
  119. package/plugins/draw/src/hooks/useSpatialList.test.js +339 -0
  120. package/plugins/draw/src/manifest.js +4 -1
  121. package/plugins/draw/src/manifest.test.js +19 -7
  122. package/plugins/draw/src/utils/spatial.js +1 -31
  123. package/plugins/draw/src/utils/spatial.test.js +1 -24
  124. package/plugins/interact/dist/esm/im-interact-plugin.js +1 -1
  125. package/plugins/interact/dist/umd/im-interact-plugin.js +1 -1
  126. package/plugins/interact/dist/umd/index.js +1 -1
  127. package/plugins/interact/src/InteractInit.jsx +2 -2
  128. package/plugins/interact/src/InteractInit.test.js +3 -3
  129. package/plugins/interact/src/events.js +11 -2
  130. package/plugins/interact/src/events.test.js +32 -0
  131. package/plugins/interact/src/hooks/useAttachEvents.js +20 -0
  132. package/plugins/interact/src/hooks/useAttachEvents.test.js +44 -1
  133. package/plugins/interact/src/hooks/useCrossHairVisibility.js +9 -4
  134. package/plugins/interact/src/hooks/useCrossHairVisibility.test.js +7 -7
  135. package/plugins/interact/src/hooks/useSpatialList.js +251 -0
  136. package/plugins/interact/src/hooks/{useMapItemList.test.js → useSpatialList.test.js} +216 -70
  137. package/plugins/interact/src/manifest.js +12 -1
  138. package/plugins/interact/src/manifest.test.js +20 -0
  139. package/plugins/interact/src/utils/spatial.js +24 -1
  140. package/plugins/interact/src/utils/spatial.test.js +26 -1
  141. package/plugins/map-key/dist/css/index.css +1 -106
  142. package/plugins/map-key/dist/esm/im-map-key-plugin.js +1 -1
  143. package/plugins/map-key/dist/umd/im-map-key-plugin.js +1 -1
  144. package/plugins/map-key/dist/umd/index.js +1 -1
  145. package/plugins/map-key/src/components/Key/Key.jsx +3 -4
  146. package/plugins/map-key/src/components/Key/Key.module.scss +10 -8
  147. package/plugins/map-key/src/components/Key/KeyGroupItem.test.jsx +2 -2
  148. package/plugins/map-key/src/components/Key/KeyItem.jsx +2 -2
  149. package/plugins/map-key/src/components/Key/KeySvg.jsx +9 -7
  150. package/plugins/map-key/src/components/Key/KeySvg.test.jsx +4 -4
  151. package/plugins/map-key/src/components/Key/MapKey.jsx +5 -3
  152. package/plugins/map-key/src/manifest.js +1 -1
  153. package/plugins/map-key/src/utils/groupStyles.js +7 -0
  154. package/plugins/map-key/src/utils/mergeKeyGroupItems.js +12 -0
  155. package/plugins/map-key/src/utils/mergeKeyGroupItems.test.js +53 -0
  156. package/plugins/menu/dist/css/index.css +1 -80
  157. package/plugins/menu/dist/esm/im-menu-plugin.js +1 -1
  158. package/plugins/menu/dist/umd/im-menu-plugin.js +1 -1
  159. package/plugins/menu/dist/umd/index.js +1 -1
  160. package/plugins/menu/src/initialise/MenuInit.jsx +15 -3
  161. package/plugins/menu/src/initialise/MenuInit.test.jsx +25 -0
  162. package/plugins/menu/src/initialise/createMenu.js +3 -1
  163. package/plugins/menu/src/initialise/createMenu.test.js +20 -5
  164. package/plugins/menu/src/initialise/updateUrl.js +44 -0
  165. package/plugins/menu/src/initialise/updateUrl.test.js +91 -0
  166. package/plugins/menu/src/reducers/menuStateReducer.js +19 -1
  167. package/plugins/menu/src/reducers/menuStateReducer.test.js +53 -20
  168. package/plugins/menu/src/reducers/pluginState.js +1 -6
  169. package/plugins/menu/src/reducers/pluginState.test.js +0 -25
  170. package/plugins/search/dist/css/index.css +1 -1
  171. package/plugins/search/dist/esm/im-search-plugin.js +1 -1
  172. package/plugins/search/dist/umd/im-search-plugin.js +1 -1
  173. package/plugins/search/src/components/Form/Form.jsx +3 -3
  174. package/plugins/search/src/components/Suggestions/Suggestions.jsx +2 -2
  175. package/plugins/search/src/components/Suggestions/Suggestions.test.jsx +1 -1
  176. package/plugins/search/src/manifest.js +5 -9
  177. package/plugins/search/src/manifest.test.js +5 -0
  178. package/providers/beta/esri/dist/css/index.css +1 -34
  179. package/providers/beta/esri/dist/esm/im-esri-provider.js +1 -1
  180. package/providers/beta/esri/src/utils/spatial.js +15 -13
  181. package/providers/beta/openlayers/dist/esm/im-openlayers-provider.js +1 -1
  182. package/providers/beta/openlayers/dist/umd/im-openlayers-provider.js +1 -1
  183. package/providers/beta/openlayers/src/openlayersProvider.js +3 -3
  184. package/providers/beta/openlayers/src/openlayersProvider.test.js +6 -3
  185. package/providers/beta/openlayers/src/utils/queryFeatures.js +72 -0
  186. package/providers/beta/openlayers/src/utils/queryFeatures.test.js +122 -1
  187. package/providers/beta/openlayers/src/utils/spatial.js +16 -14
  188. package/providers/beta/openlayers/src/utils/spatial.test.js +10 -6
  189. package/providers/maplibre/dist/esm/im-maplibre-provider.js +1 -1
  190. package/providers/maplibre/dist/umd/im-maplibre-provider.js +1 -1
  191. package/providers/maplibre/dist/umd/index.js +1 -1
  192. package/providers/maplibre/src/defaults.test.js +26 -0
  193. package/providers/maplibre/src/maplibreProvider.js +1 -1
  194. package/providers/maplibre/src/utils/labels.js +2 -2
  195. package/providers/maplibre/src/utils/labels.test.js +5 -5
  196. package/providers/maplibre/src/utils/spatial.js +19 -74
  197. package/providers/maplibre/src/utils/spatial.test.js +8 -32
  198. package/rollup.esm.mjs +2 -1
  199. package/scripts/publish-package.sh +36 -0
  200. package/src/App/App.jsx +1 -1
  201. package/src/App/App.test.jsx +6 -1
  202. package/src/App/components/CrossHair/CrossHair.jsx +25 -11
  203. package/src/App/components/CrossHair/CrossHair.module.scss +37 -12
  204. package/src/App/components/CrossHair/CrossHair.test.jsx +40 -11
  205. package/src/App/components/Hints/Hints.jsx +3 -3
  206. package/src/App/components/Hints/Hints.test.jsx +3 -3
  207. package/src/App/components/KeyboardHelp/KeyboardHelp.jsx +4 -1
  208. package/src/App/components/KeyboardHelp/KeyboardHelp.test.jsx +17 -0
  209. package/src/App/components/MapButton/MapButton.jsx +19 -7
  210. package/src/App/components/MapButton/MapButton.module.scss +1 -2
  211. package/src/App/components/MapButton/MapButton.test.jsx +42 -4
  212. package/src/App/components/{MoveControls/MoveControls.jsx → MapControls/MapControls.jsx} +10 -10
  213. package/src/App/components/{MoveControls/MoveControls.module.scss → MapControls/MapControls.module.scss} +25 -25
  214. package/src/App/components/{MoveControls/MoveControls.test.jsx → MapControls/MapControls.test.jsx} +48 -48
  215. package/src/App/components/Markers/Markers.jsx +2 -2
  216. package/src/App/components/Markers/Markers.test.jsx +3 -3
  217. package/src/App/components/Markers/SymbolMarker.jsx +2 -3
  218. package/src/App/components/Markers/SymbolMarker.test.jsx +8 -9
  219. package/src/App/components/Panel/Panel.jsx +19 -20
  220. package/src/App/components/Panel/Panel.module.scss +9 -0
  221. package/src/App/components/Panel/Panel.test.jsx +69 -4
  222. package/src/App/components/PopupMenu/PopupMenu.jsx +7 -3
  223. package/src/App/components/PopupMenu/PopupMenu.test.jsx +71 -0
  224. package/src/App/components/PopupMenu/usePopupMenu.js +10 -9
  225. package/src/App/components/Viewport/MapStatus.jsx +1 -1
  226. package/src/App/components/Viewport/SpatialList.jsx +47 -0
  227. package/src/App/components/Viewport/{Features.module.scss → SpatialList.module.scss} +6 -6
  228. package/src/App/components/Viewport/SpatialList.test.jsx +285 -0
  229. package/src/App/components/Viewport/Viewport.jsx +21 -11
  230. package/src/App/components/Viewport/Viewport.test.jsx +18 -2
  231. package/src/App/controls/keyboardMappings.js +7 -2
  232. package/src/App/controls/keyboardMappings.test.js +21 -0
  233. package/src/App/controls/keyboardShortcuts.js +16 -2
  234. package/src/App/controls/keyboardShortcuts.test.js +21 -0
  235. package/src/App/hooks/useCrossHairAPI.js +29 -1
  236. package/src/App/hooks/useCrossHairAPI.test.js +17 -1
  237. package/src/App/hooks/useHintsAPI.js +5 -5
  238. package/src/App/hooks/useInterfaceAPI.js +2 -1
  239. package/src/App/hooks/useInterfaceAPI.test.js +9 -0
  240. package/src/App/hooks/useKeyboardShortcuts.js +66 -35
  241. package/src/App/hooks/useKeyboardShortcuts.test.js +52 -0
  242. package/src/App/hooks/useModalPanelBehaviour.js +48 -34
  243. package/src/App/hooks/useModalPanelBehaviour.test.js +59 -0
  244. package/src/App/hooks/useSpatialListFocus.js +296 -0
  245. package/src/App/hooks/useSpatialListFocus.test.js +957 -0
  246. package/src/App/hooks/useSpatialListItems.js +51 -0
  247. package/src/App/hooks/useSpatialListItems.test.js +217 -0
  248. package/src/App/initialiseApp.js +6 -3
  249. package/src/App/initialiseApp.test.js +11 -0
  250. package/src/App/layout/Layout.jsx +4 -2
  251. package/src/App/layout/Layout.test.jsx +21 -0
  252. package/src/App/layout/layout.module.scss +7 -1
  253. package/src/App/registry/keyboardShortcutRegistry.js +2 -2
  254. package/src/App/registry/keyboardShortcutRegistry.test.js +16 -0
  255. package/src/App/registry/pluginRegistry.js +13 -0
  256. package/src/App/registry/pluginRegistry.test.js +15 -0
  257. package/src/App/registry/spatialListRegistry.js +104 -0
  258. package/src/App/registry/spatialListRegistry.test.js +218 -0
  259. package/src/App/renderer/HtmlElementHost.jsx +12 -32
  260. package/src/App/renderer/mapButtons.js +4 -0
  261. package/src/App/renderer/mapButtons.test.js +20 -0
  262. package/src/App/renderer/mapPanels.js +33 -53
  263. package/src/App/renderer/mapPanels.test.js +29 -4
  264. package/src/App/renderer/slotHelpers.js +33 -0
  265. package/src/App/renderer/slotHelpers.test.js +79 -2
  266. package/src/App/store/AppProvider.jsx +3 -2
  267. package/src/App/store/ServiceProvider.jsx +5 -3
  268. package/src/App/store/ServiceProvider.test.jsx +20 -1
  269. package/src/InteractiveMap/InteractiveMap.js +13 -2
  270. package/src/InteractiveMap/InteractiveMap.test.js +33 -0
  271. package/src/config/appConfig.js +17 -17
  272. package/src/config/appConfig.test.js +19 -19
  273. package/src/config/defaults.js +2 -2
  274. package/src/config/events.js +8 -8
  275. package/src/scss/main.scss +2 -2
  276. package/src/scss/tools/_govuk-content.scss +29 -0
  277. package/src/scss/tools/_index.scss +2 -1
  278. package/src/test-utils.js +8 -0
  279. package/src/types.js +53 -11
  280. package/src/utils/findNearestItemInDirection.js +29 -0
  281. package/src/utils/findNearestItemInDirection.test.js +67 -0
  282. package/src/utils/getPanelElementId.js +4 -0
  283. package/src/utils/getPanelElementId.test.js +11 -0
  284. package/src/utils/getPanelRole.js +22 -0
  285. package/src/utils/getPanelRole.test.js +56 -0
  286. package/src/utils/globalAltShortcuts.js +12 -0
  287. package/src/utils/globalAltShortcuts.test.js +27 -0
  288. package/src/utils/spatialNavigate.js +49 -0
  289. package/src/utils/spatialNavigate.test.js +42 -0
  290. package/webpack.umd.mjs +6 -1
  291. package/plugins/interact/src/hooks/useMapItemList.js +0 -187
  292. package/src/App/components/Viewport/Features.jsx +0 -35
  293. package/src/App/components/Viewport/Features.test.jsx +0 -124
  294. package/src/App/hooks/useFeatureFocus.js +0 -199
  295. package/src/App/hooks/useFeatureFocus.test.js +0 -635
  296. package/src/App/hooks/useFeatureItems.js +0 -39
  297. package/src/App/hooks/useFeatureItems.test.js +0 -155
@@ -8,6 +8,7 @@
8
8
  <link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
9
9
  <link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
10
10
  <link href="/plugin-assets/%40defra%2Finteractive-map/plugins/datasets/dist/css/index.css" rel="stylesheet" type="text/css">
11
+ <link href="/plugin-assets/%40defra%2Finteractive-map/plugins/map-key/dist/css/index.css" rel="stylesheet" type="text/css">
11
12
  {% endblock %}
12
13
 
13
14
  {% block bodyStart %}
@@ -40,6 +41,7 @@
40
41
  <script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
41
42
  <script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
42
43
  <script src="/plugin-assets/%40defra%2Finteractive-map/plugins/datasets/dist/umd/index.js"></script>
44
+ <script src="/plugin-assets/%40defra%2Finteractive-map/plugins/map-key/dist/umd/index.js"></script>
43
45
 
44
46
  <script>
45
47
  // GeoJSON can also be loaded from a URL; use the tiles property for vector tile sources
@@ -97,9 +99,9 @@
97
99
  label: 'Arable',
98
100
  filter: ['==', ['get', 'land_use'], 'Arable'],
99
101
  style: {
100
- stroke: '#6D4C41',
102
+ stroke: '#573C34',
101
103
  fillPattern: 'horizontal-hatch',
102
- fillPatternForegroundColor: '#6D4C41',
104
+ fillPatternForegroundColor: '#573C34',
103
105
  fillPatternBackgroundColor: 'transparent'
104
106
  }
105
107
  }, {
@@ -107,9 +109,9 @@
107
109
  label: 'Permanent grassland',
108
110
  filter: ['==', ['get', 'land_use'], 'Permanent grassland'],
109
111
  style: {
110
- stroke: '#00897B',
112
+ stroke: '#005149',
111
113
  fillPattern: 'diagonal-cross-hatch',
112
- fillPatternForegroundColor: '#00897B',
114
+ fillPatternForegroundColor: '#005149',
113
115
  fillPatternBackgroundColor: 'transparent'
114
116
  }
115
117
  }, {
@@ -117,15 +119,17 @@
117
119
  label: 'Woodland',
118
120
  filter: ['==', ['get', 'land_use'], 'Woodland'],
119
121
  style: {
120
- stroke: '#2E7D32',
122
+ stroke: '#1E5020',
121
123
  fillPattern: 'dot',
122
- fillPatternForegroundColor: '#2E7D32',
124
+ fillPatternForegroundColor: '#1E5020',
123
125
  fillPatternBackgroundColor: 'transparent'
124
126
  }
125
127
  }]
126
128
  }]
127
129
  })
128
130
 
131
+ const mapKeyPlugin = defra.mapKeyPlugin()
132
+
129
133
  new defra.InteractiveMap('map', {
130
134
  behaviour: 'inline',
131
135
  mapProvider: defra.maplibreProvider(),
@@ -137,7 +141,7 @@
137
141
  center: [-2.464, 54.558],
138
142
  zoom: 14,
139
143
  containerHeight: '516px',
140
- plugins: [datasetsPlugin]
144
+ plugins: [datasetsPlugin, mapKeyPlugin]
141
145
  })
142
146
  </script>
143
147
  {% endblock %}
@@ -8,6 +8,7 @@
8
8
  <link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
9
9
  <link href="/plugin-assets/%40defra%2Finteractive-map/dist/css/index.css" rel="stylesheet" type="text/css">
10
10
  <link href="/plugin-assets/%40defra%2Finteractive-map/plugins/datasets/dist/css/index.css" rel="stylesheet" type="text/css">
11
+ <link href="/plugin-assets/%40defra%2Finteractive-map/plugins/map-key/dist/css/index.css" rel="stylesheet" type="text/css">
11
12
  {% endblock %}
12
13
 
13
14
  {% block bodyStart %}
@@ -40,6 +41,7 @@
40
41
  <script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
41
42
  <script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
42
43
  <script src="/plugin-assets/%40defra%2Finteractive-map/plugins/datasets/dist/umd/index.js"></script>
44
+ <script src="/plugin-assets/%40defra%2Finteractive-map/plugins/map-key/dist/umd/index.js"></script>
43
45
 
44
46
  <script>
45
47
  const symbolGraphic = 'M3 15H1V1h2v2h2V1h2v5h2V4h2v2h2V4h2v11H6V9H3v6z'
@@ -102,6 +104,8 @@
102
104
  }]
103
105
  })
104
106
 
107
+ const mapKeyPlugin = defra.mapKeyPlugin()
108
+
105
109
  new defra.InteractiveMap('map', {
106
110
  behaviour: 'inline',
107
111
  mapProvider: defra.maplibreProvider(),
@@ -113,7 +117,7 @@
113
117
  center: [-2.4608, 54.5574],
114
118
  zoom: 14,
115
119
  containerHeight: '516px',
116
- plugins: [datasetsPlugin]
120
+ plugins: [datasetsPlugin, mapKeyPlugin]
117
121
  })
118
122
  </script>
119
123
  {% endblock %}
@@ -7,6 +7,7 @@
7
7
  {% block head %}
8
8
  <link href="/public/stylesheets/application.css" rel="stylesheet" type="text/css">
9
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/datasets/dist/css/index.css" rel="stylesheet" type="text/css">
10
11
  {% endblock %}
11
12
 
12
13
  {% block bodyStart %}
@@ -38,16 +39,75 @@
38
39
  <!-- Defra library scripts -->
39
40
  <script src="/plugin-assets/%40defra%2Finteractive-map/dist/umd/index.js"></script>
40
41
  <script src="/plugin-assets/%40defra%2Finteractive-map/providers/maplibre/dist/umd/index.js"></script>
42
+ <script src="/plugin-assets/%40defra%2Finteractive-map/plugins/datasets/dist/umd/index.js"></script>
41
43
  <script src="/plugin-assets/%40defra%2Finteractive-map/plugins/interact/dist/umd/index.js"></script>
42
44
 
43
45
  <script>
44
- const PANEL_ID = 'building-info'
46
+ // GeoJSON can also be loaded from a URL; use the tiles property for vector tile sources
47
+ const geojson = {
48
+ type: 'FeatureCollection',
49
+ features: [{
50
+ type: 'Feature',
51
+ id: 1,
52
+ properties: { name: 'Bottom meadow', land_use: 'Permanent grassland' },
53
+ geometry: { type: 'Polygon', coordinates: [[[-2.4691585,54.5552164],[-2.4692202,54.5553906],[-2.4690646,54.5554155],[-2.4690002,54.5555088],[-2.4690297,54.5556690],[-2.4690995,54.5557919],[-2.4669269,54.5566971],[-2.4662375,54.5562819],[-2.4637780,54.5574391],[-2.4628580,54.5568169],[-2.4607612,54.5560985],[-2.4608248,54.5560719],[-2.4611789,54.5558914],[-2.4613774,54.5558168],[-2.4615973,54.5557577],[-2.4617475,54.5557297],[-2.4618816,54.5556519],[-2.4620104,54.5556115],[-2.4624771,54.5555275],[-2.4627131,54.5555150],[-2.4628741,54.5554839],[-2.4630082,54.5554404],[-2.4632335,54.5553346],[-2.4633944,54.5552164],[-2.4634749,54.5551106],[-2.4635178,54.5550235],[-2.4635285,54.5548213],[-2.4635768,54.5546346],[-2.4635875,54.5544884],[-2.4636090,54.5544075],[-2.4636465,54.5543515],[-2.4636573,54.5542769],[-2.4636358,54.5541804],[-2.4637377,54.5540155],[-2.4639094,54.5538724],[-2.4643493,54.5535831],[-2.4645370,54.5535084],[-2.4647141,54.5534804],[-2.4648052,54.5534836],[-2.4648213,54.5535116],[-2.4648750,54.5535396],[-2.4650842,54.5535893],[-2.4652451,54.5536516],[-2.4652719,54.5536796],[-2.4653900,54.5537355],[-2.4655455,54.5537853],[-2.4658459,54.5539502],[-2.4663556,54.5542738],[-2.4668008,54.5545164],[-2.4668330,54.5545506],[-2.4668437,54.5546782],[-2.4668598,54.5547031],[-2.4670798,54.5548306],[-2.4671817,54.5549053],[-2.4674177,54.5549364],[-2.4677664,54.5550484],[-2.4681956,54.5551448],[-2.4684101,54.5551759],[-2.4691129,54.5552195],[-2.4691585,54.5552164]]] }
54
+ }, {
55
+ type: 'Feature',
56
+ id: 2,
57
+ properties: { name: 'Stoney Flatt', land_use: 'Arable' },
58
+ geometry: { type: 'Polygon', coordinates: [[[-2.4611682,54.5562375],[-2.4628580,54.5568161],[-2.4636841,54.5573753],[-2.4637793,54.5574398],[-2.4641401,54.5576751],[-2.4642567,54.5577999],[-2.4641307,54.5578823],[-2.4636841,54.5582502],[-2.4624221,54.5592884],[-2.4623376,54.5592534],[-2.4615370,54.5586429],[-2.4611869,54.5582852],[-2.4605258,54.5581071],[-2.4598472,54.5578186],[-2.4611682,54.5562375]]] }
59
+ }, {
60
+ type: 'Feature',
61
+ id: 3,
62
+ properties: { name: 'Small hay field', land_use: 'Arable' },
63
+ geometry: { type: 'Polygon', coordinates: [[[-2.4598472,54.5578186],[-2.4605258,54.5581067],[-2.4611869,54.5582852],[-2.4615376,54.5586433],[-2.4623108,54.5592332],[-2.4623376,54.5592534],[-2.4624221,54.5592884],[-2.4623108,54.5594120],[-2.4616731,54.5601189],[-2.4586053,54.5601189],[-2.4584410,54.5600299],[-2.4580038,54.5596574],[-2.4581815,54.5593953],[-2.4585778,54.5590702],[-2.4587287,54.5589353],[-2.4589198,54.5586736],[-2.4591116,54.5582136],[-2.4598472,54.5578186]]] }
64
+ }, {
65
+ type: 'Feature',
66
+ id: 4,
67
+ properties: { name: 'The pasture', land_use: 'Permanent grassland' },
68
+ geometry: { type: 'Polygon', coordinates: [[[-2.4633756,54.5612877],[-2.4613908,54.5604315],[-2.4624221,54.5592884],[-2.4641307,54.5578823],[-2.4642567,54.5577999],[-2.4653631,54.5591733],[-2.4659613,54.5597013],[-2.4633756,54.5612877]]] }
69
+ }, {
70
+ type: 'Feature',
71
+ id: 5,
72
+ properties: { name: 'Brake Field', land_use: 'Arable' },
73
+ geometry: { type: 'Polygon', coordinates: [[[-2.4678040,54.5590679],[-2.4661879,54.5595952],[-2.4659613,54.5597013],[-2.4653638,54.5591737],[-2.4642567,54.5577999],[-2.4641401,54.5576751],[-2.4637793,54.5574398],[-2.4662369,54.5562822],[-2.4669282,54.5566975],[-2.4678040,54.5563320],[-2.4678040,54.5590679]]] }
74
+ }, {
75
+ type: 'Feature',
76
+ id: 6,
77
+ properties: { name: 'Herdwick Croft', land_use: 'Permanent grassland' },
78
+ geometry: { type: 'Polygon', coordinates: [[[-2.4669316,54.5603767],[-2.4676430,54.5613102],[-2.4673292,54.5614556],[-2.4671616,54.5617468],[-2.4658446,54.5625528],[-2.4651546,54.5621528],[-2.4639215,54.5633040],[-2.4633146,54.5633040],[-2.4628372,54.5630921],[-2.4631195,54.5628195],[-2.4643741,54.5618374],[-2.4665071,54.5604793],[-2.4667056,54.5604187],[-2.4669316,54.5603767]]] }
79
+ }, {
80
+ type: 'Feature',
81
+ id: 7,
82
+ properties: { name: 'Badger Sett Copse', land_use: 'Woodland' },
83
+ geometry: { type: 'Polygon', coordinates: [[[-2.4599129,54.5564203],[-2.4599773,54.5565478],[-2.4599773,54.5565852],[-2.4599344,54.5566256],[-2.4596876,54.5566069],[-2.4594945,54.5566132],[-2.4593657,54.5566505],[-2.4592584,54.5567158],[-2.4592048,54.5567780],[-2.4591780,54.5568496],[-2.4591887,54.5569616],[-2.4591297,54.5570829],[-2.4590009,54.5572726],[-2.4589419,54.5573162],[-2.4588561,54.5574686],[-2.4587435,54.5575588],[-2.4586684,54.5575837],[-2.4585879,54.5575962],[-2.4584001,54.5575837],[-2.4583304,54.5575899],[-2.4580836,54.5576397],[-2.4579817,54.5576895],[-2.4579227,54.5576988],[-2.4578154,54.5576988],[-2.4576384,54.5576739],[-2.4574614,54.5576739],[-2.4573044,54.5577050],[-2.4563093,54.5573092],[-2.4563871,54.5569849],[-2.4564891,54.5560664],[-2.4565601,54.5559039],[-2.4567747,54.5559412],[-2.4571985,54.5559817],[-2.4573219,54.5560097],[-2.4576116,54.5560936],[-2.4582446,54.5562181],[-2.4584913,54.5562959],[-2.4590331,54.5563705],[-2.4599129,54.5564203]]] }
84
+ }]
85
+ }
86
+
87
+ // Same field parcels as the Add polygons example — a plain, single-style dataset
88
+ // (no sublayers, no key/menu entry) purely so there's something with real ids and
89
+ // properties to click on.
90
+ const datasetsPlugin = defra.datasetsPlugin({
91
+ datasets: [{
92
+ id: 'field-parcels',
93
+ geojson: geojson,
94
+ minZoom: 10,
95
+ maxZoom: 24,
96
+ style: {
97
+ fill: 'rgba(29, 112, 184, 0.1)',
98
+ stroke: '#1d70b8',
99
+ strokeWidth: 2
100
+ }
101
+ }]
102
+ })
103
+
104
+ const PANEL_ID = 'parcel-info'
45
105
 
46
106
  const interactPlugin = defra.interactPlugin({
47
107
  interactionModes: ['selectFeature'],
48
108
  deselectOnClickOutside: true,
49
109
  layers: [
50
- { layerId: 'buildings 3D', idProperty: 'uuid' }
110
+ { layerId: 'field-parcels', idProperty: 'name', labelProperty: 'name' }
51
111
  ]
52
112
  })
53
113
 
@@ -55,15 +115,14 @@
55
115
  behaviour: 'inline',
56
116
  mapProvider: defra.maplibreProvider(),
57
117
  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()}`,
118
+ url: 'https://tiles.openfreemap.org/styles/liberty',
119
+ attribution: 'OpenFreeMap © OpenMapTiles Data from OpenStreetMap',
60
120
  backgroundColor: '#f5f5f0'
61
121
  },
62
- center: [-1.5491, 53.8008],
63
- zoom: 14.5,
64
- maxZoom: 14.5,
122
+ center: [-2.464,54.5585475],
123
+ zoom: 14,
65
124
  containerHeight: '516px',
66
- plugins: [interactPlugin]
125
+ plugins: [datasetsPlugin, interactPlugin]
67
126
  })
68
127
 
69
128
  map.on('map:ready', () => {
@@ -71,8 +130,8 @@
71
130
 
72
131
  map.addPanel(PANEL_ID, {
73
132
  focus: false,
74
- label: 'Selected building',
75
- html: '<div id="building-info-content"></div>',
133
+ label: 'Selected parcel',
134
+ html: '<div id="parcel-info-content"></div>',
76
135
  mobile: { slot: 'drawer', dismissible: true, open: false },
77
136
  tablet: { slot: 'left-top', dismissible: true, width: '300px', open: false },
78
137
  desktop: { slot: 'left-top', dismissible: true, width: '300px', open: false }
@@ -81,11 +140,9 @@
81
140
 
82
141
  map.on('interact:selectionchange', ({ selectedFeatures }) => {
83
142
  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
143
+ const { name } = selectedFeatures[0].properties
144
+ document.getElementById('parcel-info-content').innerHTML =
145
+ `<p class="govuk-body govuk-!-margin-bottom-1">${name}</p>`
89
146
  map.showPanel(PANEL_ID)
90
147
  } else {
91
148
  map.hidePanel(PANEL_ID)
@@ -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 7px #002d18;--tooltip-background-color: #383F43;--tooltip-foreground-color: #ffffff;--tooltip-hover-color: #505a5f;--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: 0s}: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: 4px;--focus-box-shadow-width: 3px;--focus-highlight-width: 4px;--focus-outline-width: 3px;--hover-outline-width: 2px;--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;--hint-max-width: 320px;--min-panel-width: 260px;--panel-close-button-gap: 4px;--panel-heading-margin-top: 12px;--panel-margin: 15px;--banner-preferred-width: 280px;--banner-border-radius: 0px;--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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app__side .im-c-panel::before{content:none}}.im-o-app__side .im-c-panel:focus{outline:0}.im-o-app__side .im-c-panel::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-box-shadow-width);right:var(--focus-box-shadow-width);bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app__side .im-c-panel::after{outline-color:Highlight}}.im-o-app__side .im-c-panel[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app__side .im-c-panel[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app__side .im-c-panel[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(-1*var(--focus-outline-width))}}.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{position:absolute;top:var(--banner-top);left:var(--banner-left);right:var(--banner-right);z-index:9;display:flex;flex-direction:column;gap:var(--divider-gap)}.im-o-app__banner--docked .im-c-panel--banner{max-width:var(--banner-preferred-width);margin-inline:auto}.im-o-app__header{z-index:11;display:flex;flex-direction:column;width:100%}.im-o-app__header:not(:empty){margin-bottom:var(--divider-gap)}.im-o-app__top{z-index:10;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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app .im-o-app__modal .im-c-panel--side::before{content:none}}.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::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-box-shadow-width);right:var(--focus-box-shadow-width);bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app .im-o-app__modal .im-c-panel--side::after{outline-color:Highlight}}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(-1*var(--focus-outline-width))}}.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--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--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-box-shadow-width);right:var(--focus-box-shadow-width);bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-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-c-tabs__panel .im-c-keyboard-help__item:first-child{border-top:0}@supports not (container-type: inline-size){.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}}@supports(container-type: inline-size){.im-c-keyboard-help{container:im-keyboard-help/inline-size}@container im-keyboard-help (max-width: 26rem){.im-c-keyboard-help__title{width:100%;display:block}.im-c-keyboard-help__description{display:block;margin-top:5px}}}.im-c-tabs{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.im-c-tabs__list{position:relative;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0;margin:0;border-bottom:1px solid var(--app-border-color);z-index:1}.im-c-tabs__panel{flex:1 1 auto;overflow:auto}.im-c-tabs__tab{position:relative;z-index:0;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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-tabs__tab{outline:none}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-tabs__tab .im-c-tabs__label{color:Highlight}}.im-c-tabs__tab[aria-selected=true]{z-index:1;background:rgba(0,0,0,0)}.im-c-tabs__tab[aria-selected=true]::before{content:"";position:absolute;z-index:-1;top:-5px;right:-1px;bottom:-6px;left:-1px;background:var(--background-color);border:1px solid var(--app-border-color);border-bottom-color:var(--background-color)}.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}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-tabs__tab:focus .im-c-tabs__label{outline-color:Highlight;color:Highlight}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-tabs__tab:hover,.im-c-tabs__tab:focus{border-color:ButtonBorder}}.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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-map-button::before{content:none}}.im-c-map-button:focus{outline: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 rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-map-button::after{outline-color:Highlight}}.im-c-map-button[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-map-button[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-map-button[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0px}}.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}}@media(hover: hover)and (pointer: fine)and (-ms-high-contrast: active),screen and (hover: hover)and (pointer: fine)and (forced-colors: active){.im-c-map-button:hover:not([data-focus-visible=true]){outline:var(--hover-outline-width) solid Highlight}}.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=menu][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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel::before{content:none}}.im-c-panel:focus{outline: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 rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel::after{outline-color:Highlight}}.im-c-panel[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0px}}.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;color:var(--foreground-color);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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel__close::before{content:none}}.im-c-panel__close:focus{outline: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 rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel__close::after{outline-color:Highlight}}.im-c-panel__close[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel__close[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel__close[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0px}}.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;display:flex;flex-direction:column}.im-c-panel__body .im-c-tabs__panel{margin:0 calc(-1*var(--panel-margin)) calc(-1*var(--panel-margin));padding:0 var(--panel-margin) var(--panel-margin)}.im-c-panel__body[data-focus-visible=true],.im-c-tabs__panel[data-focus-visible=true]{outline:var(--scrollable-outline);outline-offset:var(--scrollable-outline-offset);box-shadow:var(--scrollable-box-shadow)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel__body[data-focus-visible=true],.im-c-tabs__panel[data-focus-visible=true]{outline-width:4px}}.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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-panel__close:hover{border:2px solid Highlight;padding:calc(var(--button-padding) - 2px)}}.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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app--mobile .im-c-panel--bottom::before{content:none}}.im-o-app--mobile .im-c-panel--bottom:focus{outline:0}.im-o-app--mobile .im-c-panel--bottom::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-box-shadow-width);right:var(--focus-box-shadow-width);bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app--mobile .im-c-panel--bottom::after{outline-color:Highlight}}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(-1*var(--focus-outline-width))}}.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-c-panel--banner,.im-c-panel--banner::before{border-radius:var(--banner-border-radius)}.im-c-panel--banner::after{border-radius:calc(var(--banner-border-radius) - 2px)}.im-c-panel--no-heading .im-c-panel__body{padding-top:var(--panel-margin)}.im-c-panel--no-heading .im-c-panel__body--offset{min-height:calc(var(--panel-close-button-gap)*2 + var(--button-size))}.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}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-viewport::before{content:none}}.im-c-viewport:focus{outline:0}.im-c-viewport::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-box-shadow-width);right:var(--focus-box-shadow-width);bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);border-radius:-2px;opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-viewport::after{transition:opacity var(--duration) ease}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-viewport::after{outline-color:Highlight}}.im-c-viewport[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-viewport[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-viewport[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(-1*var(--focus-outline-width))}}.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}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-tooltip::after{border-color:Canvas}}.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)}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-popup-menu::before{content:none}}.im-c-popup-menu:focus{outline: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 rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) 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}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-popup-menu::after{outline-color:Highlight}}.im-c-popup-menu[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-popup-menu[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-popup-menu[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0px}}.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}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-popup-menu__item--selected .im-c-popup-menu__item-label{outline-color:Highlight;color:Highlight}}.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;pointer-events:auto}.im-c-attributions a{color:inherit}.im-c-attributions a[data-focus-visible=true]{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}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-attributions a[data-focus-visible=true]{outline-color:Highlight;color:Highlight}}.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:0;right:0;margin-inline:auto;z-index:1001;width:fit-content;max-width:min(var(--hint-max-width),100% - 2*var(--primary-gap))}.im-c-hints{display:flex;flex-direction:column;align-items:center;gap:var(--divider-gap)}.im-c-hints__hint{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}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-features::before{content:none}}.im-c-features:focus{outline:0}.im-c-features::after{content:"";pointer-events:none;position:absolute;z-index:99;top:var(--focus-box-shadow-width);right:var(--focus-box-shadow-width);bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-width);border:var(--focus-border-width) solid var(--focus-border-color);outline:var(--focus-outline-width) solid rgba(0,0,0,0);outline-offset:1px;box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);border-radius:-2px;opacity:0}@media(prefers-reduced-motion: no-preference){.im-c-features::after{transition:opacity var(--duration) ease}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-features::after{outline-color:Highlight}}.im-c-features[data-focus-visible=true]::after{opacity:1;outline-style:solid}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-features[data-focus-visible=true]::after{opacity:0}}@media(-ms-high-contrast: active),screen and (forced-colors: active){.im-c-features[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(-1*var(--focus-outline-width))}}.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-move-controls{display:flex;flex-direction:column;align-items:center;gap:var(--divider-gap)}.im-c-move-controls.im-c-move-controls--collapsed{display:none}.im-c-move-controls__directions{display:grid;grid-template-columns:repeat(3, var(--button-size));grid-template-rows:repeat(3, var(--button-size))}.im-c-move-controls__directions .im-c-button-wrapper--pan-up{grid-column:2;grid-row:1}.im-c-move-controls__directions .im-c-button-wrapper--pan-left{grid-column:1;grid-row:2}.im-c-move-controls__directions .im-c-button-wrapper--pan-right{grid-column:3;grid-row:2}.im-c-move-controls__directions .im-c-button-wrapper--pan-down{grid-column:2;grid-row:3}.im-c-move-controls__directions .im-c-button-wrapper--nudge-step-toggle{grid-column:2;grid-row:2;z-index:1}.im-c-move-controls__directions .im-c-map-button--pan-up svg{transform:rotate(180deg)}.im-c-move-controls__directions .im-c-map-button--pan-left svg{transform:rotate(90deg)}.im-c-move-controls__directions .im-c-map-button--pan-right svg{transform:rotate(-90deg)}.im-c-move-controls__directions .im-c-button-wrapper--pan-up .im-c-map-button{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-c-move-controls__directions .im-c-button-wrapper--pan-up .im-c-map-button::before{clip-path:inset(-20px -20px 0 -20px)}.im-c-move-controls__directions .im-c-button-wrapper--pan-left .im-c-map-button{border-top-right-radius:0;border-bottom-right-radius:0}.im-c-move-controls__directions .im-c-button-wrapper--pan-left .im-c-map-button::before{clip-path:inset(-20px 0 -20px -20px)}.im-c-move-controls__directions .im-c-button-wrapper--pan-right .im-c-map-button{border-top-left-radius:0;border-bottom-left-radius:0}.im-c-move-controls__directions .im-c-button-wrapper--pan-right .im-c-map-button::before{clip-path:inset(-20px -20px -20px 0)}.im-c-move-controls__directions .im-c-button-wrapper--pan-down .im-c-map-button{border-top-left-radius:0;border-top-right-radius:0}.im-c-move-controls__directions .im-c-button-wrapper--pan-down .im-c-map-button::before{clip-path:inset(0 -20px -20px -20px)}.im-c-move-controls__directions .im-c-button-wrapper--nudge-step-toggle .im-c-map-button{border-radius:0;outline:1px solid var(--button-hover-color)}.im-c-move-controls__directions .im-c-button-wrapper--nudge-step-toggle .im-c-map-button::before{clip-path:inset(0)}.im-c-move-controls .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-map-button.im-c-map-button--move-controls[aria-expanded=true]{color:var(--pressed-button-foreground-color);border-color:var(--pressed-button-border-color);background-color:var(--pressed-button-background-color)}.im-c-move-controls__zoom{display:flex;flex-direction:row}.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button,.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button::before,.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button::after{border-top-right-radius:0;border-bottom-right-radius:0}.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button::before{clip-path:inset(-20px 0 -20px -20px)}.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button,.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button::before,.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button::after{border-top-left-radius:0;border-bottom-left-radius:0}.im-c-move-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button::before{clip-path:inset(-20px -20px -20px 0)}.im-o-app--dark-app .im-c-move-controls__directions .im-c-button-wrapper--nudge-step-toggle .im-c-map-button{outline-offset:-1px}.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:#fff;--focus-border-color:#0b0c0c;--focus-outline-color:#fd0;--button-background-color:#fff;--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:#fff;--pressed-button-border-color:#0b0c0c;--pressed-button-background-color:#0b0c0c;--scrollable-outline:3px solid #fd0;--scrollable-outline-offset:-3px;--scrollable-box-shadow:inset 0 0 0 7px #002d18;--tooltip-background-color:#383f43;--tooltip-foreground-color:#fff;--tooltip-hover-color:#505a5f;--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:#fff;--background-color:#383f43;--focus-border-color:#0b0c0c;--focus-outline-color:#fd0;--button-background-color:#383f43;--button-hover-color:#505a5f;--primary-button-color:#fff;--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:#fff;--pressed-button-background-color:#fff;--content-border-color:#505a5f;--secondary-text-color:#f3f2f1;--content-link-color:#fff}:root{--font-family:gds transport,arial,sans-serif;--font-size:16px;--line-height:1.25em;--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;--duration:0s;--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:4px;--focus-box-shadow-width:3px;--focus-highlight-width:4px;--focus-outline-width:3px;--hover-outline-width:2px;--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;--hint-max-width:320px;--min-panel-width:260px;--panel-close-button-gap:4px;--panel-heading-margin-top:12px;--panel-margin:15px;--banner-preferred-width:280px;--banner-border-radius:0px;--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;--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 :after,.im-o-app :before{box-sizing:border-box}.im-o-app *{margin:0}.im-o-app canvas,.im-o-app img,.im-o-app picture,.im-o-app svg,.im-o-app video{display:block}.im-o-app button,.im-o-app input,.im-o-app select,.im-o-app textarea{font:inherit}.im-o-app h1,.im-o-app h2,.im-o-app h3,.im-o-app h4,.im-o-app h5,.im-o-app h6,.im-o-app p{overflow-wrap:break-word}.im-o-app{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;background-color:var(--background-color);color:var(--foreground-color);font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);touch-action:pan-x pan-y;visibility:visible}.im-is-fullscreen>.im-o-app{bottom:0;left:0;position:fixed;right:0;top:0;width:100%;z-index:999}.im-o-app__modal,.im-o-app__overlay{pointer-events:none}.im-e-heading-l,.im-e-heading-m,.im-e-heading-s{font-weight:600;margin:0}.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{background-color:var(--kbd-background-color);border:var(--kbd-border);border-radius:var(--kbd-border-radius);color:var(--kbd-foreground-color);font-family:var(--kbd-font-family);font-size:var(--kbd-font-size);padding:var(--kbd-padding)}.im-o-app{overflow:hidden;position:relative;touch-action:none}.im-o-app,.im-o-app__overlay{height:100%;min-height:0;width:100%}.im-o-app__overlay{box-sizing:border-box;display:flex;flex-direction:row;justify-content:space-between;left:0;opacity:1;position:absolute;top:0;visibility:visible;z-index:1}@media (prefers-reduced-motion:no-preference){.im-o-app__overlay{transition:opacity var(--duration) ease-in}}.im-o-app__side{flex-shrink:0;z-index:3}.im-o-app__main,.im-o-app__side{display:flex;flex-direction:column;height:100%;position:relative}.im-o-app__main{flex-wrap:nowrap;min-height:0;min-width:0;padding:var(--primary-gap);width:100%}.im-o-app__side .im-c-panel{border:0;border-radius:var(--panel-border-radius);height:100%}.im-o-app__side .im-c-panel:before{border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app__side .im-c-panel:before{content:none}}.im-o-app__side .im-c-panel:focus{outline:0}.im-o-app__side .im-c-panel:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--panel-border-radius) - 2px);bottom:var(--focus-box-shadow-width);box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:var(--focus-box-shadow-width);opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:var(--focus-box-shadow-width);top:var(--focus-box-shadow-width);z-index:99}@media (prefers-reduced-motion:no-preference){.im-o-app__side .im-c-panel:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app__side .im-c-panel:after{outline-color:Highlight}}.im-o-app__side .im-c-panel[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app__side .im-c-panel[data-focus-visible=true]:after{opacity:0}.im-o-app__side .im-c-panel[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(var(--focus-outline-width)*-1)}}.im-o-app__side .im-c-panel,.im-o-app__side .im-c-panel:after,.im-o-app__side .im-c-panel:before{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0;border-top-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);left:var(--banner-left);position:absolute;right:var(--banner-right);top:var(--banner-top);z-index:9}.im-o-app__banner--docked .im-c-panel--banner{margin-inline:auto;max-width:var(--banner-preferred-width)}.im-o-app__header{display:flex;flex-direction:column;width:100%;z-index:11}.im-o-app__header:not(:empty){margin-bottom:var(--divider-gap)}.im-o-app__top{align-items:flex-start;justify-content:space-between;margin-bottom:auto;width:100%;z-index:10}.im-o-app__top,.im-o-app__top-col{display:flex;gap:var(--divider-gap)}.im-o-app__top-col{flex:1 1 auto}.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,.im-o-app__left{display:flex;flex-direction:column;gap:var(--divider-gap);position:absolute;top:var(--left-offset-top)}.im-o-app__left{bottom:var(--left-offset-bottom);left:var(--primary-gap)}.im-o-app__left>:empty{display:none}.im-o-app__left-bottom,.im-o-app__left-top{align-items:flex-start;display:flex;flex-direction:column;gap:var(--divider-gap);min-height:0;position:relative}.im-o-app__left-bottom{justify-content:flex-end;margin-top:auto}.im-o-app__middle{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:-1}.im-o-app__right{bottom:var(--right-offset-bottom);position:absolute;right:var(--primary-gap);top:var(--right-offset-top)}.im-o-app__right,.im-o-app__right-top{display:flex;flex-direction:column;gap:var(--divider-gap)}.im-o-app__right-top{align-items:flex-end;flex:0 0 auto;position:relative}.im-o-app__right-bottom{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:var(--divider-gap);margin-top:auto;position:relative}.im-o-app__bottom{align-items:flex-end;display:flex;justify-content:space-between;z-index:-2}.im-o-app__bottom-col{display:flex;min-width:auto}.im-o-app__bottom-col:first-child{align-items:flex-end;flex-direction:row;flex-shrink:0;gap:var(--divider-gap)}.im-o-app__bottom-col:last-child{align-items:flex-end;flex:1 1 auto;flex-direction:column;min-width:0;position:relative}.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){bottom:calc(var(--primary-gap)*-1);display:flex;justify-content:flex-end;position:absolute;right:calc(var(--primary-gap)*-1)}.im-o-app__drawer{z-index:1}.im-o-app__drawer .im-c-panel,.im-o-app__drawer .im-c-panel:after,.im-o-app__drawer .im-c-panel:before{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;height:100%;left:0;position:absolute;top:0;width:100%;z-index:99}.im-o-app .im-o-app__modal .im-c-panel{bottom:auto;left:0;position:absolute;right:0;top:0;z-index:1000}.im-o-app .im-o-app__modal .im-o-app__modal-backdrop{display:none}.im-o-app .im-o-app__modal .im-o-app__modal-backdrop--visible{background-color:var(--modal-background-color);display:block;height:100%;left:0;opacity:var(--modal-backdrop-opacity);pointer-events:auto;position:absolute;top:0;width:100%}.im-o-app .im-o-app__modal .im-c-panel--side{border:0;border-radius:var(--panel-border-radius);bottom:0;max-width:80%;width:100%}.im-o-app .im-o-app__modal .im-c-panel--side:before{border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app .im-o-app__modal .im-c-panel--side:before{content:none}}.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:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--panel-border-radius) - 2px);bottom:var(--focus-box-shadow-width);box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:var(--focus-box-shadow-width);opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:var(--focus-box-shadow-width);top:var(--focus-box-shadow-width);z-index:99}@media (prefers-reduced-motion:no-preference){.im-o-app .im-o-app__modal .im-c-panel--side:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app .im-o-app__modal .im-c-panel--side:after{outline-color:Highlight}}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]:after{opacity:0}.im-o-app .im-o-app__modal .im-c-panel--side[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(var(--focus-outline-width)*-1)}}.im-o-app .im-o-app__modal .im-c-panel--side,.im-o-app .im-o-app__modal .im-c-panel--side:after,.im-o-app .im-o-app__modal .im-c-panel--side:before{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0;border-top-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-height:var(--modal-max-height);max-width:calc(100% - var(--primary-gap)*2)}.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{margin:auto;max-height:calc(100% - var(--primary-gap)*2);max-width:calc(100% - var(--primary-gap)*2);position:relative;width:100%}.im-o-app .im-o-app__modal .im-c-panel--drawer{bottom:0;max-height:85%;top:auto}.im-o-app .im-o-app__modal .im-c-panel--drawer,.im-o-app .im-o-app__modal .im-c-panel--drawer:after,.im-o-app .im-o-app__modal .im-c-panel--drawer:before{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--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{opacity:0;visibility:hidden}.im-o-app--desktop .im-o-app__actions,.im-o-app--tablet .im-o-app__actions{bottom:calc(var(--primary-gap)*2);left:0;position:absolute;width:100%}.im-o-app--desktop .im-o-app__actions .im-c-panel,.im-o-app--tablet .im-o-app__actions .im-c-panel{max-width:var(--action-bar-max-width)}@media (prefers-reduced-motion:no-preference){.im-o-app--desktop .im-o-app__actions .im-c-actions,.im-o-app--tablet .im-o-app__actions .im-c-actions{transition:opacity var(--duration) ease}}.im-o-app--desktop .im-o-app__actions .im-c-actions--hidden,.im-o-app--tablet .im-o-app__actions .im-c-actions--hidden{opacity:0}.im-o-app--mobile .im-o-app__actions,.im-o-app--mobile .im-o-app__drawer{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__actions .im-c-panel,.im-o-app--mobile .im-o-app__drawer .im-c-panel{width:100%}.im-o-app--mobile .im-o-app__actions .im-c-panel,.im-o-app--mobile .im-o-app__actions .im-c-panel:after,.im-o-app--mobile .im-o-app__actions .im-c-panel:before,.im-o-app--mobile .im-o-app__drawer .im-c-panel,.im-o-app--mobile .im-o-app__drawer .im-c-panel:after,.im-o-app--mobile .im-o-app__drawer .im-c-panel:before{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0;border-top-right-radius:0}.im-o-app--mobile .im-o-app__actions .im-c-panel:before,.im-o-app--mobile .im-o-app__drawer .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__actions .im-c-panel:after,.im-o-app--mobile .im-o-app__drawer .im-c-panel:after,.im-o-app__modal .im-c-panel--drawer:after{bottom:var(--focus-box-shadow-width);left:var(--focus-box-shadow-width);right:var(--focus-box-shadow-width);top:var(--focus-box-shadow-width)}.im-o-app--mobile .im-o-app__side{left:0;max-width:80%;pointer-events:none;position:absolute;top:0;width:100%}.im-c-keyboard-help__list{color:var(--foreground-color);margin:0}.im-c-keyboard-help__item{border-top:1px solid var(--content-border-color);display:table;padding:10px 0;width:100%}.im-c-keyboard-help__group:last-child .im-c-keyboard-help__item: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-c-tabs__panel .im-c-keyboard-help__item:first-child{border-top:0}@supports not (container-type:inline-size){.im-o-app--mobile .im-c-keyboard-help__title{display:block;width:100%}.im-o-app--mobile .im-c-keyboard-help__description{display:block;margin-top:5px}}@supports (container-type:inline-size){.im-c-keyboard-help{container:im-keyboard-help/inline-size}@container im-keyboard-help (max-width: 26rem){.im-c-keyboard-help__title{display:block;width:100%}.im-c-keyboard-help__description{display:block;margin-top:5px}}}.im-c-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.im-c-tabs__list{border-bottom:1px solid var(--app-border-color);display:flex;flex:0 0 auto;flex-wrap:wrap;margin:0;padding:0;position:relative;z-index:1}.im-c-tabs__panel{flex:1 1 auto;overflow:auto}.im-c-tabs__tab{appearance:none;background:var(--button-hover-color);border:1px solid transparent;border-bottom:none;color:var(--foreground-color);cursor:pointer;font-size:inherit;font-weight:400;margin:5px 5px 5px 0;outline:3px solid transparent;padding:7.5px 15px;position:relative;z-index:0}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-tabs__tab{outline:none}.im-c-tabs__tab .im-c-tabs__label{color:Highlight}}.im-c-tabs__tab[aria-selected=true]{background:transparent;z-index:1}.im-c-tabs__tab[aria-selected=true]:before{background:var(--background-color);border:1px solid var(--app-border-color);border-bottom-color:var(--background-color);bottom:-6px;content:"";left:-1px;position:absolute;right:-1px;top:-5px;z-index:-1}.im-c-tabs__tab:focus .im-c-tabs__label{background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);color:var(--focus-border-color);outline:3px solid transparent;text-decoration:none}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-tabs__tab:focus .im-c-tabs__label{color:Highlight;outline-color:Highlight}.im-c-tabs__tab:focus,.im-c-tabs__tab:hover{border-color:ButtonBorder}}.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{border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-map-button:before{content:none}}.im-c-map-button:focus{outline:0}.im-c-map-button:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--button-border-radius) - 2px);bottom:-1px;box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:-1px;opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:99}@media (prefers-reduced-motion:no-preference){.im-c-map-button:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-map-button:after{outline-color:Highlight}}.im-c-map-button[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-map-button[data-focus-visible=true]:after{opacity:0}.im-c-map-button[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0}}.im-c-map-button{align-items:center;background-color:var(--button-background-color);color:var(--foreground-color);cursor:pointer;display:flex;justify-content:center;min-height:var(--button-size);min-width:var(--button-size);padding:0 var(--button-padding) 0 var(--button-padding);pointer-events:auto;user-select:none}.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{flex-shrink:0;height:var(--icon-size);pointer-events:none;width:var(--icon-size)}.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}}@media (hover:hover) and (pointer:fine) and (-ms-high-contrast:active),screen and (hover:hover) and (pointer:fine) and (forced-colors:active){.im-c-map-button:hover:not([data-focus-visible=true]){outline:var(--hover-outline-width) solid Highlight}}.im-c-map-button--with-label{padding-left:var(--label-button-padding);padding-right:var(--label-button-padding)}.im-c-map-button--primary{background-color:var(--primary-button-color);box-shadow:var(--primary-button-box-shadow);color:var(--background-color)}.im-c-map-button--primary span{padding:0 var(--button-icon-label-offset);white-space:nowrap}.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{padding:0 5px;white-space:nowrap}.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:after,.im-o-app__right .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button:before{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:after,.im-o-app__right .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button:before{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0;border-top-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);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:after,.im-o-app__right .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button:before{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:after,.im-o-app__top .im-c-button-group .im-c-button-wrapper:first-child .im-c-map-button:before{border-bottom-right-radius:0;border-top-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:after,.im-o-app__top .im-c-button-group .im-c-button-wrapper:not(:first-child):not(:last-child) .im-c-map-button:before{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0;border-top-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);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:after,.im-o-app__top .im-c-button-group .im-c-button-wrapper:last-child .im-c-map-button:before{border-bottom-left-radius:0;border-top-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=menu][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) span,.im-c-map-button[aria-disabled=true]:not(.im-c-map-button--primary):not(.im-c-map-button--tertiary) svg{opacity:var(--disabled-button-opacity)}.im-o-app__actions .im-c-map-button[aria-pressed=true]{background-color:var(--pressed-button-background-color);border-color:var(--pressed-button-border-color);color:var(--pressed-button-foreground-color)}.im-o-app--desktop .im-c-map-button--draw-add-point,.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--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--tablet .im-c-map-button--draw-add-point,.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--journey-back,.im-o-app--tablet .im-c-map-button--journey-continue,.im-o-app--tablet .im-c-map-button--select-at-target{min-width:var(--action-button-min-width)}.im-c-panel{border:0;border-radius:var(--panel-border-radius)}.im-c-panel:before{border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel:before{content:none}}.im-c-panel:focus{outline:0}.im-c-panel:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--panel-border-radius) - 2px);bottom:-1px;box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:-1px;opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:99}@media (prefers-reduced-motion:no-preference){.im-c-panel:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel:after{outline-color:Highlight}}.im-c-panel[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel[data-focus-visible=true]:after{opacity:0}.im-c-panel[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0}}.im-c-panel{background-color:var(--background-color);color:var(--foreground-color);display:flex;flex-direction:column;max-height:100vh;min-height:0;min-width:var(--min-panel-width);pointer-events:auto;position:relative}.im-c-panel[hidden]{display:none}.im-c-panel__heading{color:var(--foreground-color);display:flex;padding:var(--panel-heading-margin-top) calc(var(--panel-close-button-gap)*2 + var(--button-size)) var(--panel-margin) var(--panel-margin)}.im-c-panel__close{border-radius:var(--button-border-radius)}.im-c-panel__close:before{border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel__close:before{content:none}}.im-c-panel__close:focus{outline:0}.im-c-panel__close:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--button-border-radius) - 2px);bottom:-1px;box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:-1px;opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:99}@media (prefers-reduced-motion:no-preference){.im-c-panel__close:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel__close:after{outline-color:Highlight}}.im-c-panel__close[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel__close[data-focus-visible=true]:after{opacity:0}.im-c-panel__close[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0}}.im-c-panel__close{background-color:transparent;border:0;color:var(--foreground-color);cursor:pointer;min-height:var(--button-size);min-width:var(--button-size);padding-left:var(--button-padding);padding-right:var(--button-padding);position:absolute;right:var(--panel-close-button-gap);top:var(--panel-close-button-gap)}.im-c-panel__body{display:flex;flex-direction:column;overflow:auto;padding:0 var(--panel-margin) var(--panel-margin)}.im-c-panel__body :is(.govuk-body,.govuk-body-l,.govuk-body-m,.govuk-body-s,.govuk-body-xs,.govuk-heading-xl,.govuk-heading-l,.govuk-heading-m,.govuk-heading-s,.govuk-list,.govuk-label,.govuk-fieldset__legend,.govuk-table,.govuk-table__cell,.govuk-table__header){color:var(--foreground-color)!important}.im-c-panel__body :is(.govuk-hint,.govuk-caption-xl,.govuk-caption-l,.govuk-caption-m,.govuk-caption-s){color:var(--secondary-text-color)!important}.im-c-panel__body .govuk-link:is(:link,:visited){color:var(--content-link-color)!important}.im-c-panel__body .im-c-tabs__panel{margin:0 calc(var(--panel-margin)*-1) calc(var(--panel-margin)*-1);padding:0 var(--panel-margin) var(--panel-margin)}.im-c-panel__body[data-focus-visible=true],.im-c-tabs__panel[data-focus-visible=true]{box-shadow:var(--scrollable-box-shadow);outline:var(--scrollable-outline);outline-offset:var(--scrollable-outline-offset)}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel__body[data-focus-visible=true],.im-c-tabs__panel[data-focus-visible=true]{outline-width:4px}}.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)}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-panel__close:hover{border:2px solid Highlight;padding:calc(var(--button-padding) - 2px)}}.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{border-radius:calc(var(--panel-border-radius));box-shadow:var(--panel-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app--mobile .im-c-panel--bottom:before{content:none}}.im-o-app--mobile .im-c-panel--bottom:focus{outline:0}.im-o-app--mobile .im-c-panel--bottom:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--panel-border-radius) - 2px);bottom:var(--focus-box-shadow-width);box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:var(--focus-box-shadow-width);opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:var(--focus-box-shadow-width);top:var(--focus-box-shadow-width);z-index:99}@media (prefers-reduced-motion:no-preference){.im-o-app--mobile .im-c-panel--bottom:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app--mobile .im-c-panel--bottom:after{outline-color:Highlight}}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]:after{opacity:0}.im-o-app--mobile .im-c-panel--bottom[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(var(--focus-outline-width)*-1)}}.im-o-app--mobile .im-c-panel--bottom,.im-o-app--mobile .im-c-panel--bottom:after,.im-o-app--mobile .im-c-panel--bottom:before{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-c-panel--banner,.im-c-panel--banner:before{border-radius:var(--banner-border-radius)}.im-c-panel--banner:after{border-radius:calc(var(--banner-border-radius) - 2px)}.im-c-panel--no-heading .im-c-panel__body{padding-top:var(--panel-margin)}.im-c-panel--no-heading .im-c-panel__body--offset{min-height:calc(var(--panel-close-button-gap)*2 + var(--button-size))}.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{-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:var(--background-colour);border:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.im-c-viewport,.im-c-viewport:before{border-radius:0;height:100%;width:100%}.im-c-viewport:before{content:"";left:0;pointer-events:none;position:absolute;top:0}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-viewport:before{content:none}}.im-c-viewport:focus{outline:0}.im-c-viewport:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:-2px;bottom:var(--focus-box-shadow-width);box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:var(--focus-box-shadow-width);opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:var(--focus-box-shadow-width);top:var(--focus-box-shadow-width);z-index:99}@media (prefers-reduced-motion:no-preference){.im-c-viewport:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-viewport:after{outline-color:Highlight}}.im-c-viewport[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-viewport[data-focus-visible=true]:after{opacity:0}.im-c-viewport[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(var(--focus-outline-width)*-1)}}.im-c-viewport__map-container{height:100%;width:100%}.im-c-viewport__map-container>:first-child{overflow:visible;transform-origin:top left}.im-c-viewport__safezone{pointer-events:none;position:absolute;z-index:1}.im-c-viewport__markers{inset:0;pointer-events:none;position:absolute}.im-c-viewport--medium .im-c-viewport__map-container{height:66.66%;width: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{height:50%;width:50%}.im-c-viewport--large .im-c-viewport__map-container>:first-child{transform:scale(2)}.im-c-tooltip-wrapper{display:inline-block;position:relative;z-index:1}.im-c-tooltip-wrapper--has-focus,.im-c-tooltip-wrapper:hover{z-index:2}.im-c-tooltip{background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);color:var(--tooltip-foreground-color);font-size:var(--tooltip-font-size);line-height:1.2;opacity:0;padding:var(--tooltip-padding);pointer-events:none;position:absolute;visibility:hidden;white-space:nowrap;z-index:10}@media (prefers-reduced-motion:no-preference){.im-c-tooltip{transition:opacity var(--duration) ease,visibility var(--duration) ease}}.im-c-tooltip:after{border:calc(var(--tooltip-arrow-size)/2) solid;box-sizing:border-box;color:var(--tooltip-background-color);content:"";height:var(--tooltip-arrow-size);position:absolute;width:var(--tooltip-arrow-size);z-index:-1}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-tooltip:after{border-color:Canvas}}.im-c-tooltip--is-visible{opacity:1;pointer-events:auto;visibility:visible}.im-c-tooltip--hidden{overflow:hidden;width:0}.im-c-tooltip--left{left:auto;right:calc(100% + var(--tooltip-offset));top:50%;transform:translateY(-50%)}.im-c-tooltip--left:after{right:calc(var(--tooltip-arrow-size)/2*-1);top:50%;transform:translateY(-50%) rotate(45deg)}.im-c-tooltip--right{left:calc(100% + var(--tooltip-offset));right:auto;top:50%;transform:translateY(-50%)}.im-c-tooltip--right:after{left:calc(var(--tooltip-arrow-size)/2*-1);top:50%;transform:translateY(-50%) rotate(45deg)}.im-c-tooltip--bottom{left:50%;top:calc(100% + var(--tooltip-offset));transform:translateX(-50%)}.im-c-tooltip--bottom:after{left:50%;top:calc(var(--tooltip-arrow-size)/2*-1);transform:translateX(-50%) rotate(45deg)}.im-c-tooltip--top{bottom:calc(100% + var(--tooltip-offset));left:50%;transform:translateX(-50%)}.im-c-tooltip--top:after{bottom:calc(var(--tooltip-arrow-size)/2*-1);left:50%;transform:translateX(-50%) rotate(45deg)}.im-c-popup-menu{border:0;border-radius:var(--button-border-radius)}.im-c-popup-menu:before{border-radius:calc(var(--button-border-radius));box-shadow:var(--button-box-shadow);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-popup-menu:before{content:none}}.im-c-popup-menu:focus{outline:0}.im-c-popup-menu:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:calc(var(--button-border-radius) - 2px);bottom:-1px;box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:-1px;opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:99}@media (prefers-reduced-motion:no-preference){.im-c-popup-menu:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-popup-menu:after{outline-color:Highlight}}.im-c-popup-menu[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-popup-menu[data-focus-visible=true]:after{opacity:0}.im-c-popup-menu[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:0}}.im-c-popup-menu[data-focus-visible=true]:after{opacity:0}.im-c-popup-menu{background-color:var(--background-color);list-style:none;margin:0;padding:0;position:fixed;z-index:9999}.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{align-items:center;border-top:1px solid var(--button-hover-color);cursor:pointer;display:flex;max-width:var(--popup-menu-max-width);min-width:var(--popup-menu-min-width);padding:var(--divider-gap);position:relative;text-align:left}.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-decoration-color:var(--foreground-color);text-decoration-skip-ink:none;text-decoration-thickness:2px;text-underline-offset:2px}.im-c-popup-menu__item--selected{background-color:var(--button-hover-color)}.im-c-popup-menu__item--selected .im-c-popup-menu__item-label{background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);color:var(--focus-border-color);outline:3px solid transparent;text-decoration:none}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-popup-menu__item--selected .im-c-popup-menu__item-label{color:Highlight;outline-color:Highlight}}.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{border:1px solid var(--foreground-color);content:"";height:20px;left:auto;opacity:.2;position:absolute;right:12px;top:12px;width:20px}.im-c-popup-menu__item[role=menuitemcheckbox]:after{border:solid;border-width:0 0 3px 3px;content:"";height:6.5px;left:auto;opacity:0;position:absolute;right:16px;top:17px;transform:rotate(-45deg);width:12px}.im-c-popup-menu__item[role=menuitemcheckbox][aria-checked=true]:before{border-width:2px;height:24px;opacity:1;right:10px;top:10px;width:24px}.im-c-popup-menu__item[role=menuitemcheckbox][aria-checked=true]:after{opacity:1}.im-c-popup-menu__item--selected[role=menuitemcheckbox]:before,.im-c-popup-menu__item--selected[role=menuitemcheckbox][aria-checked=true]:before,.im-c-popup-menu__item[role=menuitemcheckbox]:hover:before{border-width:4px;box-shadow:0 0 0 3px #fd0;height:24px;opacity:1;outline:3px solid transparent;outline-offset:1px;right:10px;top:10px;width:24px}.im-c-attributions{background-color:var(--attributions-background-color);color:var(--attributions-foreground-color);font-size:var(--attributions-font-size);overflow:hidden;padding:var(--attributions-padding);pointer-events:auto;text-overflow:ellipsis;white-space:nowrap}.im-c-attributions a{color:inherit}.im-c-attributions a[data-focus-visible=true]{background-color:var(--focus-outline-color);box-shadow:0 -2px var(--focus-outline-color),0 4px var(--focus-border-color);color:var(--focus-border-color);outline:3px solid transparent;text-decoration:none}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-attributions a[data-focus-visible=true]{color:Highlight;outline-color:Highlight}}.im-c-logo{align-self:center;flex-shrink:0;height:auto;user-select:none;width:auto}.im-o-hints{bottom:var(--hint-bottom,var(--primary-gap));left:0;margin-inline:auto;max-width:min(var(--hint-max-width),100% - 2 * var(--primary-gap));position:absolute;right:0;width:fit-content;z-index:1001}.im-c-hints{align-items:center;display:flex;flex-direction:column;gap:var(--divider-gap)}.im-c-hints__hint{background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);color:var(--tooltip-foreground-color);font-size:var(--tooltip-font-size);line-height:1.2;padding:var(--tooltip-padding)}.im-c-hints__hint kbd{border:var(--kbd-tooltip-border)}.im-c-cross-hair-button{appearance:none;background:none;border:0;cursor:inherit;font:inherit;height:38px;margin:-19px 0 0 -19px;outline:3px solid transparent;padding:0;pointer-events:auto;width:38px}.im-c-cross-hair-button svg{display:block;pointer-events:none}.im-c-cross-hair-button path{stroke-width:3;stroke:var(--map-overlay-halo-color);fill:var(--map-overlay-foreground-color);paint-order:stroke fill}.im-c-marker,.im-c-marker-wrapper,.im-c-markers{left:0;pointer-events:none;position:absolute;top:0}.im-c-marker__svg{display:block;pointer-events:none}.im-c-marker__label{background-color:var(--tooltip-background-color);border-radius:var(--tooltip-border-radius);bottom:100%;color:var(--tooltip-foreground-color);font-size:var(--tooltip-font-size);left:50%;line-height:1.2;padding:var(--tooltip-padding);pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.im-c-marker__label--standalone{bottom:0}.im-c-marker__label--standalone:after{border-top-color:transparent;border:calc(var(--tooltip-arrow-size) - 2px) solid transparent;border-top:calc(var(--tooltip-arrow-size) - 2px) solid var(--tooltip-background-color);content:"";left:50%;position:absolute;top:calc(100% - 1px);transform:translateX(-50%)}.im-c-spatial-list{border:0;inset:0;list-style:none;margin:0;padding:0}.im-c-spatial-list,.im-c-spatial-list:before{border-radius:0;pointer-events:none;position:absolute}.im-c-spatial-list:before{content:"";height:100%;left:0;top:0;width:100%}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-spatial-list:before{content:none}}.im-c-spatial-list:focus{outline:0}.im-c-spatial-list:after{border:var(--focus-border-width) solid var(--focus-border-color);border-radius:-2px;bottom:var(--focus-box-shadow-width);box-shadow:0 0 0 var(--focus-box-shadow-width) var(--focus-outline-color);content:"";left:var(--focus-box-shadow-width);opacity:0;outline:var(--focus-outline-width) solid transparent;outline-offset:1px;pointer-events:none;position:absolute;right:var(--focus-box-shadow-width);top:var(--focus-box-shadow-width);z-index:99}@media (prefers-reduced-motion:no-preference){.im-c-spatial-list:after{transition:opacity var(--duration) ease}}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-spatial-list:after{outline-color:Highlight}}.im-c-spatial-list[data-focus-visible=true]:after{opacity:1;outline-style:solid}@media (-ms-high-contrast:active),screen and (forced-colors:active){.im-c-spatial-list[data-focus-visible=true]:after{opacity:0}.im-c-spatial-list[data-focus-visible=true]{outline:var(--focus-highlight-width) solid Highlight;outline-offset:calc(var(--focus-outline-width)*-1)}}.im-c-spatial-list [role=option]{clip-path:inset(50%);height:1px;overflow:hidden;pointer-events:auto;position:absolute;white-space:nowrap;width:1px}.im-c-actions{display:flex;flex-direction:row;gap:calc(var(--divider-gap)/2);justify-content:center;max-height:200px;padding:var(--panel-margin);position:relative}.im-c-actions--border-top{border-top:1px solid var(--app-border-color)}.im-c-actions--hidden{border:0;max-height:0;padding-bottom:0;padding-top: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--desktop .im-c-actions,.im-o-app--tablet .im-c-actions{min-width:0}.im-c-map-controls{align-items:center;display:flex;flex-direction:column;gap:var(--divider-gap)}.im-c-map-controls.im-c-map-controls--collapsed{display:none}.im-c-map-controls__directions{display:grid;grid-template-columns:repeat(3,var(--button-size));grid-template-rows:repeat(3,var(--button-size))}.im-c-map-controls__directions .im-c-button-wrapper--pan-up{grid-column:2;grid-row:1}.im-c-map-controls__directions .im-c-button-wrapper--pan-left{grid-column:1;grid-row:2}.im-c-map-controls__directions .im-c-button-wrapper--pan-right{grid-column:3;grid-row:2}.im-c-map-controls__directions .im-c-button-wrapper--pan-down{grid-column:2;grid-row:3}.im-c-map-controls__directions .im-c-button-wrapper--nudge-step-toggle{grid-column:2;grid-row:2;z-index:1}.im-c-map-controls__directions .im-c-map-button--pan-up svg{transform:rotate(180deg)}.im-c-map-controls__directions .im-c-map-button--pan-left svg{transform:rotate(90deg)}.im-c-map-controls__directions .im-c-map-button--pan-right svg{transform:rotate(-90deg)}.im-c-map-controls__directions .im-c-button-wrapper--pan-up .im-c-map-button{border-bottom-left-radius:0;border-bottom-right-radius:0}.im-c-map-controls__directions .im-c-button-wrapper--pan-up .im-c-map-button:before{clip-path:inset(-20px -20px 0 -20px)}.im-c-map-controls__directions .im-c-button-wrapper--pan-left .im-c-map-button{border-bottom-right-radius:0;border-top-right-radius:0}.im-c-map-controls__directions .im-c-button-wrapper--pan-left .im-c-map-button:before{clip-path:inset(-20px 0 -20px -20px)}.im-c-map-controls__directions .im-c-button-wrapper--pan-right .im-c-map-button{border-bottom-left-radius:0;border-top-left-radius:0}.im-c-map-controls__directions .im-c-button-wrapper--pan-right .im-c-map-button:before{clip-path:inset(-20px -20px -20px 0)}.im-c-map-controls__directions .im-c-button-wrapper--pan-down .im-c-map-button{border-top-left-radius:0;border-top-right-radius:0}.im-c-map-controls__directions .im-c-button-wrapper--pan-down .im-c-map-button:before{clip-path:inset(0 -20px -20px -20px)}.im-c-map-controls__directions .im-c-button-wrapper--nudge-step-toggle .im-c-map-button{border-radius:0;outline:1px solid var(--button-hover-color)}.im-c-map-controls__directions .im-c-button-wrapper--nudge-step-toggle .im-c-map-button:before{clip-path:inset(0)}.im-c-map-button.im-c-map-button--map-controls[aria-expanded=true],.im-c-map-controls .im-c-map-button[aria-pressed=true]{background-color:var(--pressed-button-background-color);border-color:var(--pressed-button-border-color);color:var(--pressed-button-foreground-color)}.im-c-map-controls__zoom{display:flex;flex-direction:row}.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button,.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button:after,.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button:before{border-bottom-right-radius:0;border-top-right-radius:0}.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-in .im-c-map-button:before{clip-path:inset(-20px 0 -20px -20px)}.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button,.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button:after,.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button:before{border-bottom-left-radius:0;border-top-left-radius:0}.im-c-map-controls__zoom .im-c-button-wrapper--nudge-zoom-out .im-c-map-button:before{clip-path:inset(-20px -20px -20px 0)}.im-o-app--dark-app .im-c-map-controls__directions .im-c-button-wrapper--nudge-step-toggle .im-c-map-button{outline-offset:-1px}.im-c-open-map-button{border:1px solid #505a5f;display:inline-flex;font-family:-apple-system,blinkmacsystemfont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;padding:10px;text-decoration:none;white-space:nowrap}.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{background-color:#fd0;border-color:transparent;box-shadow:0 -2px #fd0,0 4px #0b0c0c;color:#0b0c0c;outline:3px solid transparent;text-decoration:none}.im-c-open-map-button:focus span{color:#0b0c0c}.im-c-error{border:5px solid #b1b4b6;margin-bottom:30px;padding:15px}.im-is-loading{visibility:hidden}.im-has-js{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0}.im-is-fullscreen{height:100%;overflow-y:visible;overscroll-behavior-y:none}.im-is-fullscreen body{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0}.maplibregl-canvas-container canvas{image-rendering:pixelated;outline:0}.maplibregl-control-container{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.maplibregl-control-container *{pointer-events:auto}.maplibregl-symbols{display:none}.im-u-visually-hidden{clip:rect(0 0 0 0);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}