diff --git a/index.html b/index.html index 2592132..e797b3e 100644 --- a/index.html +++ b/index.html @@ -46,15 +46,14 @@ - + Zoomez pour voir les stations de recharge - - + @@ -102,7 +101,7 @@ - Cartes des stations de recharge pour véhicules électriques basée sur les données collaborative Cartes des stations de recharge pour véhicules électriques basée sur les données collaboratives OpenStreetMap @@ -131,8 +130,6 @@ Types de prises - - @@ -144,7 +141,7 @@ - Prise CCS + @@ -152,19 +149,19 @@ - Prise Type 2 + - Prise domestique + - Prise CHAdeMO + @@ -179,11 +176,6 @@ Qualité des données - @@ -239,7 +231,8 @@ - + + diff --git a/js/lcm_main.js b/js/lcm_main.js index d5395e9..9c8c7c0 100644 --- a/js/lcm_main.js +++ b/js/lcm_main.js @@ -89,19 +89,19 @@ function moveToLocation(place) { // Ajouter le marqueur à la carte searchLocationMarker.addTo(map); + // Désactiver temporairement l'événement moveend + map.off('moveend', onMapMoveEnd); + // Centrer la carte sur le lieu map.setView([lat, lon], map.getZoom()); + // Réactiver l'événement moveend après un court délai + setTimeout(() => { + map.on('moveend', onMapMoveEnd); + }, 500); + // Ouvrir le popup automatiquement searchLocationMarker.openPopup(); - - // Faire disparaître le marqueur après 10 secondes - // setTimeout(() => { - // if (searchLocationMarker) { - // map.removeLayer(searchLocationMarker); - // searchLocationMarker = null; - // } - // }, 10000); } // Déplacer searchLocationWithAddok avant searchLocation @@ -170,18 +170,20 @@ function searchLocation() { // Si il y a plus d'un résultat, les afficher quand même dans la liste if (data.length > 1) { - // Ajouter le bouton de fermeture avant la liste des résultats - const closeButton = $('') - .addClass('close-results-button') - .html('❌') - .attr('title', 'Fermer les résultats de recherche') - .on('click', function () { - $('#searchResults').hide(); - $(this).hide(); - $('#searchLocation').val('').focus(); - }); + // Vérifier si le bouton de fermeture existe déjà + if ($('.close-results-button').length === 0) { + const closeButton = $('') + .addClass('close-results-button') + .html('❌') + .attr('title', 'Fermer les résultats de recherche') + .on('click', function () { + $('#searchResults').hide(); + $(this).hide(); + $('#searchLocation').val('').focus(); + }); - resultsDropdown.before(closeButton); + resultsDropdown.before(closeButton); + } data.forEach((place, index) => { let displayText = place.display_name; @@ -196,7 +198,7 @@ function searchLocation() { resultsDropdown.append(option); }); resultsDropdown.show(); - closeButton.show(); + $('.close-results-button').show(); // Sélectionner visuellement le premier résultat dans la liste resultsDropdown.val(0); @@ -243,7 +245,7 @@ function updateURLWithMapCoordinatesAndZoom() { } -let all_stations_markers = L.layerGroup() // layer group pour tous les marqueurs +let all_stations_markers = L.layerGroup().addTo(map) // layer group pour tous les marqueurs // let stations_much_speed_wow = L.layerGroup().addTo(map) // layer group des stations rapides var osm = L.tileLayer(lcm_config.tileServers.osm, { @@ -279,17 +281,12 @@ let bdortho = L.tileLayer('https://wxs.ign.fr/ortho/geoportail/wmts?' + // Modifier la définition de baseLayers pour inclure la BD ORTHO var baseLayers = { 'Grey': tileGrey, - 'Stamen': stamen, + // 'Stamen': stamen, 'OpenStreetMap': osm, - 'BD ORTHO IGN': bdortho, + // 'BD ORTHO IGN': bdortho, // 'OpenCycleMap': cycle, 'Transport': transport } -// let overlays = { -// stations: all_stations_markers -// } - -// const layerControl = L.control.layers(baseLayers, overlays, { collapsed: true }).addTo(map) tileGrey.addTo(map) @@ -429,7 +426,7 @@ function displayStatsFromGeoJson(resultAsGeojson, stats) { `; let stats_content = ` - + Type Nombre @@ -1207,7 +1204,7 @@ function searchOsmoseIssues(map) { // Mettre à jour le contenu de la popup et s'assurer qu'elle est ouverte clickedMarker.setPopupContent(popupContent); - clickedMarker.openPopup(); // Rouvrir pour ajuster la taille si nécessaire + // clickedMarker.openPopup(); // Rouvrir pour ajuster la taille si nécessaire // Lier l'événement au bouton JOSM DANS la popup bindEventsOnJosmRemote(clickedMarker.getPopup().getElement()); @@ -1216,7 +1213,7 @@ function searchOsmoseIssues(map) { .catch(error => { console.error("Erreur lors de la récupération des détails de l'issue Osmose:", error); clickedMarker.setPopupContent(`Erreur lors du chargement des détails.Voir sur Osmose`); - clickedMarker.openPopup(); + // clickedMarker.openPopup(); }); }); @@ -1234,157 +1231,158 @@ function searchOsmoseIssues(map) { // Modifier la gestion du clic sur les marqueurs Osmose function handleMarkerClick(marker, map) { - const popup = marker.getPopup(); - const markerLatLng = marker.getLatLng(); + // const popup = marker.getPopup(); + // const markerLatLng = marker.getLatLng(); // Calculer la position relative du marqueur dans la vue - const markerPoint = map.latLngToContainerPoint(markerLatLng); - const mapHeight = map.getContainer().clientHeight; + // const markerPoint = map.latLngToContainerPoint(markerLatLng); + // const mapHeight = map.getContainer().clientHeight; // Si le marqueur est dans la moitié supérieure de l'écran - if (markerPoint.y < mapHeight / 2) { - // Calculer le décalage nécessaire pour centrer la popup - const targetLatLng = map.containerPointToLatLng([ - markerPoint.x, - mapHeight / 2 - ]); + // if (markerPoint.y < mapHeight / 2) { + // Calculer le décalage nécessaire pour centrer la popup + // const targetLatLng = map.containerPointToLatLng([ + // markerPoint.x, + // mapHeight / 2 + // ]); - // Déplacer la carte avec une animation - map.once('moveend', () => { - marker.openPopup(); - }); + // Déplacer la carte avec une animation + // map.once('moveend', () => { + // marker.openPopup(); + // }); - map.panTo(targetLatLng, { - animate: true, - duration: 0.5 - }); - } else { - marker.openPopup(); - } + // map.panTo(targetLatLng, { + // animate: true, + // duration: 0.25 + // }); + // } else { + // // marker.openPopup(); + // } } // Ajouter un écouteur d'événements pour le changement de visibilité des calques function init() { - $(document).ready(function () { - bindEventsOnJosmRemote(); - onMapMoveEnd(); - map.on('moveend', onMapMoveEnd); - $('#spinning_icon').hide(); + bindEventsOnJosmRemote(); + onMapMoveEnd(); + map.on('moveend', onMapMoveEnd); + $('#spinning_icon').hide(); - /** - * boutons de changement de filtres et de rechargement des bornes à l'affichage - */ - $('#removeMarkers').on('click', function () { - supprimerMarqueurs(); - }); - $('#load').on('click', function () { - loadOverpassQuery(); - }); - $('#toggleSidePanel').on('click', function () { - $('body').toggleClass('side-panel-open'); - }); - $('#chercherButton').on('click', function () { - supprimerMarqueurs(); - loadOverpassQuery(); - }); - $('#setRandomView').on('click', function () { - setRandomView(); - loadOverpassQuery(); - }); - $('#filterUnkown').on('click', function () { - display_unknown_max_power_station = cycleVariableState(display_unknown_max_power_station, '#filterUnkown'); - showActiveFilter(display_unknown_max_power_station, '#filterUnkown'); - refreshDisplay(); - }); - /** - * toggle des alertes de tags décrivant la présence de cable - */ - $('#cableMissing').on('click', function () { - display_alert_cable_missing = !display_alert_cable_missing; - showActiveFilter(display_alert_cable_missing, '#cableMissing'); - refreshDisplay(); - }); - showActiveFilter(display_unknown_max_power_station, '#filterUnkown'); - - $('#shareUrl').on('click', copyCurrentUrl); - - // Initialisation des états des checkboxes des filtres selon les valeurs de configuration - Object.keys(lcm_config.filterConfigs).forEach(filterId => { - console.log("checbox ", $(`#${filterId}`), lcm_config.filterConfigs[filterId], lcm_config) - $(`#${filterId}`).prop('checked', lcm_config.filterConfigs[filterId]); - }); - // Écouteurs pour les filtres - Object.keys(lcm_config.filterConfigs).forEach(filterId => { - $(`#${filterId}`).on('change', function () { - lcm_config[lcm_config.filterConfigs[filterId]] = this.checked; - refreshDisplay(); - }); - }); - - - // food_places_markers.addTo(map); - - // Mettre à jour le contrôle des calques - const overlayMaps = { - // ...baseLayers, - "Stations de recharge": all_stations_markers, - "Restaurants et cafés": food_places_markers, - "Bornes potentielles (Osmose)": osmose_markers - }; - - const overlayControl = L.control.layers(baseLayers, overlayMaps, { - // collapsed: false, - className: 'leaflet-control-layers overlay-layers', - id: 'overlay-layers-control' - }) - .addTo(map); - - $('#sendToJOSM').on('click', () => { - sendToJOSM(map, geojsondata) - .then(() => { - console.log('Données envoyées à JOSM avec succès !'); - }) - .catch(() => { - alert('Erreur : JOSM doit être ouvert avec l\'option "Contrôle à distance" activée'); - }); - }); - $('#josmLink').on('click', () => { - sendToJOSM(map, geojsondata) - .then(() => { - console.log('Données envoyées à JOSM avec succès !'); - }) - .catch(() => { - alert('Erreur : JOSM doit être ouvert avec l\'option de télécommande "Contrôle à distance" activée dans ses paramètres (accédez-y avec F12)'); - }); - }); - - $('#searchButton').on('click', searchLocation); - $('#shareUrl').on('click', copyCurrentUrl); - $('#filter_max_output').on('input', function () { - const value = $(this).val(); - console.log('filter_max_output', value, $(this)); - $('#filter_max_output_display').text(value + ' kW'); - refreshDisplay(); - }); - $('#filter_max_output_slider').on('input', function () { - const value = $(this).val(); - - lcm_config.filter_max_output_default_value = value; - $('#filter_max_output_display').text(value + ' kW'); - refreshDisplay(); - }); - - - $('#searchResults').on('change', function () { - const selectedIndex = $(this).eq(0).val(); - if (selectedIndex !== null) { - const selectedPlace = $(this).find('option:selected').data('place'); - moveToLocation(selectedPlace); - } - }); - - osmose_markers.addTo(map); + /** + * boutons de changement de filtres et de rechargement des bornes à l'affichage + */ + $('#removeMarkers').on('click', function () { + supprimerMarqueurs(); }); + $('#load').on('click', function () { + loadOverpassQuery(); + }); + $('#toggleSidePanel').on('click', function () { + console.log('toggleSidePanel', $(this)) + $('body').toggleClass('side-panel-open'); + }); + $('#chercherButton').on('click', function () { + supprimerMarqueurs(); + loadOverpassQuery(); + }); + $('#setRandomView').on('click', function () { + setRandomView(); + loadOverpassQuery(); + }); + $('#filterUnkown').on('click', function () { + display_unknown_max_power_station = cycleVariableState(display_unknown_max_power_station, '#filterUnkown'); + showActiveFilter(display_unknown_max_power_station, '#filterUnkown'); + refreshDisplay(); + }); + /** + * toggle des alertes de tags décrivant la présence de cable + */ + $('#cableMissing').on('click', function () { + display_alert_cable_missing = !display_alert_cable_missing; + showActiveFilter(display_alert_cable_missing, '#cableMissing'); + refreshDisplay(); + }); + showActiveFilter(display_unknown_max_power_station, '#filterUnkown'); + + $('#shareUrl').on('click', copyCurrentUrl); + + // Initialisation des états des checkboxes des filtres selon les valeurs de configuration + Object.keys(lcm_config.filterConfigs).forEach(filterId => { + console.log("checbox ", $(`#${filterId}`), lcm_config.filterConfigs[filterId], lcm_config) + $(`#${filterId}`).prop('checked', lcm_config.filterConfigs[filterId]); + }); + // Écouteurs pour les filtres + Object.keys(lcm_config.filterConfigs).forEach(filterId => { + $(`#${filterId}`).on('change', function () { + lcm_config[lcm_config.filterConfigs[filterId]] = this.checked; + refreshDisplay(); + }); + }); + + + // food_places_markers.addTo(map); + + // Mettre à jour le contrôle des calques + const overlayMaps = { + // ...baseLayers, + // "🗺️ Fond de carte": baseLayers, + "⚡ Stations de recharge": all_stations_markers, + "☕ Restaurants et cafés": food_places_markers, + "💡 Bornes potentielles (Osmose)": osmose_markers + }; + + const overlayControl = L.control.layers(baseLayers, overlayMaps, { + // collapsed: false, + className: 'leaflet-control-layers overlay-layers', + id: 'overlay-layers-control' + }) + .addTo(map); + + $('#sendToJOSM').on('click', () => { + sendToJOSM(map, geojsondata) + .then(() => { + console.log('Données envoyées à JOSM avec succès !'); + }) + .catch(() => { + alert('Erreur : JOSM doit être ouvert avec l\'option "Contrôle à distance" activée'); + }); + }); + $('#josmLink').on('click', () => { + sendToJOSM(map, geojsondata) + .then(() => { + console.log('Données envoyées à JOSM avec succès !'); + }) + .catch(() => { + alert('Erreur : JOSM doit être ouvert avec l\'option de télécommande "Contrôle à distance" activée dans ses paramètres (accédez-y avec F12)'); + }); + }); + + $('#searchButton').on('click', searchLocation); + $('#shareUrl').on('click', copyCurrentUrl); + $('#filter_max_output').on('input', function () { + const value = $(this).val(); + console.log('filter_max_output', value, $(this)); + $('#filter_max_output_display').text(value + ' kW'); + refreshDisplay(); + }); + $('#filter_max_output_slider').on('input', function () { + const value = $(this).val(); + + lcm_config.filter_max_output_default_value = value; + $('#filter_max_output_display').text(value + ' kW'); + refreshDisplay(); + }); + + + $('#searchResults').on('change', function () { + const selectedIndex = $(this).eq(0).val(); + if (selectedIndex !== null) { + const selectedPlace = $(this).find('option:selected').data('place'); + moveToLocation(selectedPlace); + } + }); + + osmose_markers.addTo(map); + } diff --git a/styles/_mobile.scss b/styles/_mobile.scss index 0434493..6946c73 100644 --- a/styles/_mobile.scss +++ b/styles/_mobile.scss @@ -9,6 +9,20 @@ margin-top: 0rem; } + #searchResults { + + display: inline-block; + position: relative; + + margin-top: -0.9rem; + margin-left: -1.6rem; + width: 90.4%; + height: 67%; + left: -28px; + border-top: 1px; + + } + #bars_power { position: absolute; top: 0; @@ -68,13 +82,17 @@ border-radius: 3px; background: var(--button-border); margin: 0; - position: relative; - top: -4.9rem; - right: 1.4rem; - height: 2.6rem; - } -} -#count_features_fond { - border: solid 1px grey; + position: relative; + top: -26.8vh; + left: -1rem; + height: 2.9rem; + z-index: 10; + + } + + #count_features_fond { + + position: static; + } } \ No newline at end of file diff --git a/styles/_osmose.scss b/styles/_osmose.scss index 5b7d341..281f816 100644 --- a/styles/_osmose.scss +++ b/styles/_osmose.scss @@ -33,6 +33,7 @@ td:first-child { font-weight: bold; color: #666; + width: 45%; } } diff --git a/styles/_overrides.scss b/styles/_overrides.scss index 19dafc3..1ca8da1 100644 --- a/styles/_overrides.scss +++ b/styles/_overrides.scss @@ -2,9 +2,6 @@ overrides leaflet */ -.leaflet-left .leaflet-control { - margin-left: 2rem; -} .leaflet-interactive { border: solid 3px white; @@ -14,6 +11,26 @@ overrides leaflet &.leaflet-control-layers-toggle { background: url('img/burger.png'); } + + +.leaflet-control-layers { + display: none; + } +} + +.leaflet-control-layers-list { + label { + cursor: pointer; + + &:hover { + background-color: var(--button-border); + color: white; + } + } +} + +.leaflet-control-attribution { + padding: 10px; + font-size: 0.7rem !important; } /* Styles pour les contrôles de couches */ diff --git a/styles/_recherche.scss b/styles/_recherche.scss index 53dfd90..a437053 100644 --- a/styles/_recherche.scss +++ b/styles/_recherche.scss @@ -1,7 +1,6 @@ #searchLocation { - width: 88%; - - padding: 10px; + width: 93%; + padding: 0.8rem 3rem; margin-bottom: 10px; border: 1px solid var(--button-border); border-radius: 5px; @@ -13,26 +12,40 @@ } #searchResults { + display: inline-block; + margin-top: -0.9rem; + margin-left: 0; width: 100%; - border-color: var(--button-border); + height: 67%; + border-top: 1px; + + option { + cursor: pointer; + padding: 0.55rem; + + &:hover { + background-color: var(--button-border); + } + } } #searchButton { margin-left: -1rem; margin-top: 0; z-index: 2; - position: absolute; + position: relative; background: var(--link-color); border-radius: 3px; + height: 2.9rem; } #count_features_fond { position: fixed; - bottom: 1rem; - right: 1rem; + bottom: 4.5rem; + right: 10px; z-index: 10; background: white; - padding: 1rem; + padding: 0.85rem 1rem; border-radius: 8px; } @@ -59,4 +72,9 @@ .close-results-button { border: 0; border-radius: 3px; + position: absolute; + left: -5px; + background: #ccc; + height: 2.8rem; + margin-top: -3.6rem; } \ No newline at end of file diff --git a/styles/main.scss b/styles/main.scss index f5a2ceb..8e203ab 100644 --- a/styles/main.scss +++ b/styles/main.scss @@ -60,17 +60,22 @@ p { border: solid 2px; } +.stats-table { -table { - tr { - td { - border-bottom: #ccc 1px solid; + table { + width: 100% !important; + tr { + td { + padding-left: 1rem !important; + border-bottom: #ccc 1px solid; + + } } - } - tr:nth-of-type(odd) { - background: #dedede; + tr:nth-of-type(odd) { + background: #dedede; + } } } @@ -159,7 +164,7 @@ img.leaflet-marker-icon.tag-socket\:type2_yes { } .side-panel button { - min-width: 2em; + min-width: 3em; margin-bottom: 0.5em; } @@ -169,7 +174,7 @@ img.leaflet-marker-icon.tag-socket\:type2_yes { float: none; position: relative; top: 5em; - right: -7.9rem; + right: 0; &:hover { border: black; @@ -177,6 +182,10 @@ img.leaflet-marker-icon.tag-socket\:type2_yes { } } +#fullDetails { + margin-top: -2rem; +} + button:hover { background: var(--button-hover-background); border: solid 1px #08285c; @@ -432,17 +441,18 @@ button+button { #toggleSidePanel { position: fixed; - top: 1rem; - right: 2rem; + top: 0.7rem; + right: 1rem; z-index: 10; - background: white; - padding: 1rem 2rem; + background: #444; + padding: 0.5rem 1rem; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + border-color: #555; } header { - padding-left: 2rem; + padding-left: 1rem; color: #666; } @@ -459,7 +469,7 @@ header { top: 4.5rem; width: 71.2vw; border: 0; - height: 92.9vh; + height: 89.9vh; } } @@ -618,10 +628,14 @@ header { font-size: 0.8rem; } +#count_features_fond { + border: solid 1px grey; +} + @include meta.load-css('_osmose.scss'); @include meta.load-css('_recherche.scss'); @include meta.load-css('_filters.scss'); @include meta.load-css('_mobile.scss'); @include meta.load-css('_overrides.scss'); @include meta.load-css('_responsive.scss'); -@include meta.load-css('_animations.scss'); +@include meta.load-css('_animations.scss'); \ No newline at end of file diff --git a/styles/style.css b/styles/style.css index 4058916..522e64e 100644 --- a/styles/style.css +++ b/styles/style.css @@ -1 +1 @@ -:root{--background-color: #222;--text-color: #ddd;--icon-background: white;--icon-border: cornflowerblue;--button-background: #497cd3;--button-hover-background: #0d377b;--button-border: #497cd3ff;--link-color: #38f;--popup-background: white;--zoom-message-background: rgba(255, 255, 255, 0.9);--zoom-message-border: #ff0000;--color-indication-background: #c0b1b1;--no-data-border: dodgerblue;--no-data-link-color: dodgerblue;--food-marker-color: #fff}*{box-sizing:border-box}html{height:100%;width:100%;background:var(--background-color);padding:0;margin:0}body{height:100vh;overflow:auto;width:100%;background:var(--background-color);padding:0;margin:0;padding:0;margin:0}html{font-family:Calibri,Roboto,Arial,"Ubuntu Mono";font-size:1rem}p{font-family:Calibri,Roboto,Arial,"Ubuntu Mono";font-size:.75rem}#map{height:95vh;width:100%;margin:0;border:solid 2px}table tr td{border-bottom:#ccc 1px solid}table tr:nth-of-type(odd){background:#dedede}.padded{padding:1rem}#heading{background:#000;color:var(--text-color);min-height:5%;height:4rem;width:100%;padding-left:1em}.icon{width:.25rem !important;height:.25rem !important;display:inline-block;margin-right:1rem;background:var(--icon-background);border-radius:100%;padding:.25rem;margin-top:-0.5rem;float:left;border-color:var(--icon-border)}.title{margin-right:1em;line-height:1.5rem}h2{font-weight:normal;font-size:1.25rem}#overpass-api-controls{position:fixed;top:-0.5rem;left:4em;padding:10px;background-color:rgba(0,0,0,0);border:0;z-index:10}#overpass-api-controls a{display:inline}.has_output_of_irve_specified{box-shadow:0 0 15rem darkred}img.leaflet-marker-icon.tag-socket\:type2_yes{box-shadow:0 0 .5em #6495ed;border-color:#6495ed;border-width:3px}.rounded-button,.navigation-link,.panoramax-link,.edit-button{background:var(--button-background);padding:.5em 1em;border-radius:2em;color:#fff !important;border:solid 1px var(--button-border);float:right}.panoramax-link{top:7rem;position:absolute;right:1rem}.panoramax-link img{width:1rem;height:1rem}.side-panel button{min-width:2em;margin-bottom:.5em}.navigation-link{background:#fff;border-radius:.25em;float:none;position:relative;top:5em;right:-7.9rem}.navigation-link:hover{border:#000;background:#96b1ea}button:hover{background:var(--button-hover-background);border:solid 1px #08285c;cursor:pointer}.edit-button{margin-left:1ch}.edit-button:hover{background:var(--button-hover-background);border:solid 1px #08285c;cursor:pointer}.pull-left{float:left}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}a{color:var(--link-color)}.leaflet-control-custom{padding:1rem;background:var(--popup-background)}#spinning_icon{position:fixed;top:0;left:0;z-index:10;background:#fff;font-size:2rem}#spinning_icon svg{position:fixed;top:.45rem;left:1.5rem;background:#fff;border-radius:100%;width:3rem;height:3rem;animation:spin 2s linear infinite;opacity:.3}#footer{max-width:70ch;margin:0 auto}.leaflet-popup-content{min-width:15rem;word-break:break-all;word-wrap:break-word}.popup-content{width:100%;display:block;overflow:auto;min-width:10rem;max-width:20rem;min-height:5rem;max-height:10rem}.popup-key{width:57%;display:inline-block}.popup-value{width:42%;text-align:right;display:inline-block;padding-right:1rem}.bottom-content{padding:0 2rem 4rem}#star{left:10rem}.color-indication{padding:1rem;border-radius:2rem;display:block;position:relative;top:-2rem;color:#fff;text-shadow:0 0 .5rem #222;clear:right;min-width:7rem;max-width:5rem;height:3rem}.no-data{border-left:3px solid var(--no-data-border);padding:1em 2rem;min-height:4rem}.no-data a{color:var(--no-data-link-color)}.marker-demo{margin-right:1rem}.map-marker-circle-demo{border-radius:100%;display:inline-block;width:1rem;height:1rem;background:#fff}.color-unknown{background:var(--color-indication-background)}.map-marker-circle-demo.color-1{background:#36423d}.color-power-lesser-than-50,.map-marker-circle-demo.color-2{background:#4e8a8d}.color-power-lesser-than-100,.map-marker-circle-demo.color-3{background:#2999b3}.color-power-lesser-than-200,.map-marker-circle-demo.color-4{background:#1782dd}.color-power-lesser-than-300,.map-marker-circle-demo.color-5{background:#2900ff}.color-power-lesser-than-max,.map-marker-circle-demo.color-6{background:#8000ff}#found_charging_stations{margin-top:2rem}button{cursor:pointer;padding:.5rem;background:#fff}.bar{height:2em;text-align:right;padding:.35rem .25rem .35rem .35rem;float:left}.key-values{max-height:4rem;overflow:auto;width:100%;display:block}.icon-img{width:2rem;height:2rem;fill:#000}.sockets-list{margin-top:.25rem}.socket-counter{background:#dedede;margin-top:1rem;margin-left:-0.25rem;border-radius:1rem;padding:.25rem}#infos_carte{padding:1rem 0}button+button{margin-left:1rem}.leaflet-control-layers-toggle{background-size:contain}#round_power_legend{font-size:.8rem;margin-top:4rem}.side-panel{font-size:1rem;position:fixed;left:0;top:0;width:20vw;height:74vh;background:#fff;box-shadow:-2px 0 5px rgba(0,0,0,.2);overflow-y:auto;padding:1rem 2rem;padding-bottom:15rem;z-index:1000;visibility:hidden;top:4.5rem;width:26vw}#toggleSidePanel{position:fixed;top:1rem;right:2rem;z-index:10;background:#fff;padding:1rem 2rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2)}header{padding-left:2rem;color:#666}.side-panel-open .side-panel{visibility:visible;width:29vw;border-right:#ccc solid 1px;height:93vh}.side-panel-open #map{margin-left:28.8vw;top:4.5rem;width:71.2vw;border:0;height:92.9vh}#infos_carte{clear:both}#zoomMessage{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);background:var(--zoom-message-background);padding:1rem 2rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);text-align:center;z-index:10;border-left:4px solid var(--zoom-message-border);animation:rainbow-border 4s linear infinite}header{background:#222;position:fixed;width:20vw}header h1{color:#fff;line-height:2rem;font-size:.8rem}header img{float:left;margin-right:1rem}#map{z-index:1;top:5.55rem}.side-panel #map{margin-left:26vw}.rounded-button{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:background-color .3s}.rounded-button:hover{background-color:#0d377b}.filters-box{position:fixed;bottom:.7rem;right:25vw;z-index:100}.filters-box .rounded-button{margin-right:.5rem;margin-bottom:.5rem}.info .i{border-radius:100%;background:#dedede;padding:1ch;width:5ch;margin-left:1ch;display:inline-block;text-align:center}.info .tooltip{opacity:0}.info:hover .tooltip{opacity:1;transition:opacity .3s ease-in-out}.leaflet-popup-content{max-height:30vh;overflow:auto}.osmose-marker{font-size:20px;text-align:center;line-height:20px;background-color:hsla(0,0%,100%,.8);border-radius:50%;border:2px solid #ff6b6b}.osmose-marker-drop{position:relative;z-index:1000}.osmose-marker-inner{position:absolute;width:30px;height:40px;background-color:#8b00ff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 0 5px rgba(0,0,0,.3);border:2px solid #fff}.leaflet-osmose-layer::before{content:"⚡";transform:rotate(45deg);color:#fff;font-size:16px;text-shadow:1px 1px 2px rgba(0,0,0,.3);padding-left:1ch}#bars_power{position:fixed;top:4.3rem;width:126vw;z-index:10000;margin:0;height:.4rem;overflow:hidden}.small{font-size:.8rem}.osmose-marker-drop:hover .osmose-marker-inner{animation:bounce .5s ease infinite;background-color:#9f2bff}.osmose-counter{font-size:.85rem;color:#999}.proposed-tags-container{max-height:200px;overflow-y:auto;margin:10px 0;padding:5px;background-color:#f5f5f5;border-radius:4px}.proposed-tags{width:100%;border-collapse:collapse}.proposed-tags tr:nth-child(even){background-color:#fff}.proposed-tags td{padding:2px 5px;font-size:12px}.proposed-tags td:first-child{font-weight:bold;color:#666}.action-buttons{margin-top:10px;display:flex;flex-direction:column;gap:5px}.action-buttons a{padding:5px 10px;text-decoration:none;border-radius:4px;text-align:center}.action-buttons a:hover{opacity:.9}.action-buttons .edit-button.josm{background-color:#4caf50;color:#fff}#searchLocation{width:88%;padding:10px;margin-bottom:10px;border:1px solid var(--button-border);border-radius:5px}#removeMarkers{margin-right:1rem;margin-left:1rem}#searchResults{width:100%;border-color:var(--button-border)}#searchButton{margin-left:-1rem;margin-top:0;z-index:2;position:absolute;background:var(--link-color);border-radius:3px}#count_features_fond{position:fixed;bottom:1rem;right:1rem;z-index:10;background:#fff;padding:1rem;border-radius:8px}.search-source-control{margin:5px 0;font-size:.9em}.search-source-control label{display:flex;align-items:center;gap:5px}.search-source-control input[type=checkbox]{margin:0}.close-results-button{border:0;border-radius:3px}.filter-sockets label{width:45%;float:left;margin-right:1rem}#filter_max_output_slider{width:100%;height:10px;background:#ccc;border-radius:5px}.filter-stats{font-size:.8rem;color:#666}.filter-group{margin:15px 0;padding:15px;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.filter-group h3{margin-bottom:10px;color:#495057;font-size:16px}.filter-group label{display:flex;align-items:center;padding:8px 0;cursor:pointer;transition:all .3s ease;border-radius:4px;margin:4px 0}.filter-group label:hover{background:#e9ecef}.filter-group input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.filter-group .checkbox-custom{position:relative;display:inline-block;width:20px;height:20px;background:#fff;border:2px solid #6c757d;border-radius:4px;margin-right:10px;transition:all .3s ease}label:hover .filter-group .checkbox-custom{border-color:rgb(84.3605150215,91.3905579399,97.6394849785)}.filter-group input[type=checkbox]:checked+.checkbox-custom{background:#28a745;border-color:#28a745;animation:checkboxPop .3s ease}.filter-group input[type=checkbox]:checked+.checkbox-custom::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.filter-group hr{margin:15px 0;border:0;height:1px;background:#dee2e6}.filter-group span{font-size:14px;color:#495057;transition:color .3s ease}.filter-group label:hover span{color:rgb(49.73125,54.5,59.26875)}.filter-group input[type=checkbox]:disabled+.checkbox-custom{background:#e9ecef;border-color:#adb5bd;cursor:not-allowed}.filter-group input[type=checkbox]:disabled+.checkbox-custom+span{color:#adb5bd;cursor:not-allowed}@keyframes checkboxPop{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@media(max-width: 700px){header h1{width:100vw;font-size:1.5rem}#searchButton{margin-top:0rem}#bars_power{position:absolute;top:0;width:120%}#toggleSidePanel{position:fixed;top:.6rem;right:.6rem;z-index:10;background:#a9a9a9;padding:.2rem 1rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);border:0;font-size:2rem}.side-panel-open .side-panel{position:static;transform:none;box-shadow:0 -2px 5px rgba(0,0,0,.2);margin:0;width:100vw}.side-panel.active{transform:none}.side-panel-open #map,#map{margin:0;left:0;top:0;width:100vw;height:90vh;height:55vh}header{position:static}.filters-box{position:static}.close-results-button{border:0;border-radius:3px;background:var(--button-border);margin:0;position:relative;top:-4.9rem;right:1.4rem;height:2.6rem}}#count_features_fond{border:solid 1px gray}.leaflet-left .leaflet-control{margin-left:2rem}.leaflet-interactive{border:solid 3px #fff}.leaflet-control-layers.leaflet-control-layers-toggle{background:url("img/burger.png")}.leaflet-control-layers.base-layers{background-image:url('data:image/svg+xml;utf8,');background-size:16px;background-position:6px center;background-repeat:no-repeat;padding-left:28px !important}.leaflet-control-layers.base-layers .leaflet-control-layers-toggle{background-image:none;width:auto;padding-right:10px}.leaflet-control-layers.base-layers::after{content:"Fonds";margin-left:5px;font-size:12px}.leaflet-control-layers.overlay-layers{background-image:url('data:image/svg+xml;utf8,');background-size:16px;background-position:6px center;background-repeat:no-repeat;padding-left:28px !important}.leaflet-control-layers.overlay-layers .leaflet-control-layers-toggle{background-image:none;width:auto;padding-right:10px}.leaflet-control-layers.overlay-layers::after{content:"Calques";margin-left:5px;font-size:12px}.leaflet-control-layers{background:#fff;padding:5px;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.4)}.leaflet-control-layers.base-layers .leaflet-control-layers-toggle{background-image:url("../img/burger.png") !important;background-size:20px 20px !important;background-position:center !important;background-repeat:no-repeat !important;width:30px !important;height:30px !important}.leaflet-control-layers.overlay-layers .leaflet-control-layers-toggle{background-image:url("../img/pizza.png") !important;background-size:20px 20px !important;background-position:center !important;background-repeat:no-repeat !important;background-color:#3f74aa !important;width:30px !important;height:30px !important}@keyframes rainbow-border{0%{border-left-color:red}17%{border-left-color:#ff8000}33%{border-left-color:#ff0}50%{border-left-color:lime}67%{border-left-color:blue}83%{border-left-color:#8000ff}100%{border-left-color:red}}@keyframes bounce{0%,100%{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-5px)}}/*# sourceMappingURL=style.css.map */ +:root{--background-color: #222;--text-color: #ddd;--icon-background: white;--icon-border: cornflowerblue;--button-background: #497cd3;--button-hover-background: #0d377b;--button-border: #497cd3ff;--link-color: #38f;--popup-background: white;--zoom-message-background: rgba(255, 255, 255, 0.9);--zoom-message-border: #ff0000;--color-indication-background: #c0b1b1;--no-data-border: dodgerblue;--no-data-link-color: dodgerblue;--food-marker-color: #fff}*{box-sizing:border-box}html{height:100%;width:100%;background:var(--background-color);padding:0;margin:0}body{height:100vh;overflow:auto;width:100%;background:var(--background-color);padding:0;margin:0;padding:0;margin:0}html{font-family:Calibri,Roboto,Arial,"Ubuntu Mono";font-size:1rem}p{font-family:Calibri,Roboto,Arial,"Ubuntu Mono";font-size:.75rem}#map{height:95vh;width:100%;margin:0;border:solid 2px}.stats-table table{width:100% !important}.stats-table table tr td{padding-left:1rem !important;border-bottom:#ccc 1px solid}.stats-table table tr:nth-of-type(odd){background:#dedede}.padded{padding:1rem}#heading{background:#000;color:var(--text-color);min-height:5%;height:4rem;width:100%;padding-left:1em}.icon{width:.25rem !important;height:.25rem !important;display:inline-block;margin-right:1rem;background:var(--icon-background);border-radius:100%;padding:.25rem;margin-top:-0.5rem;float:left;border-color:var(--icon-border)}.title{margin-right:1em;line-height:1.5rem}h2{font-weight:normal;font-size:1.25rem}#overpass-api-controls{position:fixed;top:-0.5rem;left:4em;padding:10px;background-color:rgba(0,0,0,0);border:0;z-index:10}#overpass-api-controls a{display:inline}.has_output_of_irve_specified{box-shadow:0 0 15rem darkred}img.leaflet-marker-icon.tag-socket\:type2_yes{box-shadow:0 0 .5em #6495ed;border-color:#6495ed;border-width:3px}.rounded-button,.navigation-link,.panoramax-link,.edit-button{background:var(--button-background);padding:.5em 1em;border-radius:2em;color:#fff !important;border:solid 1px var(--button-border);float:right}.panoramax-link{top:7rem;position:absolute;right:1rem}.panoramax-link img{width:1rem;height:1rem}.side-panel button{min-width:3em;margin-bottom:.5em}.navigation-link{background:#fff;border-radius:.25em;float:none;position:relative;top:5em;right:0}.navigation-link:hover{border:#000;background:#96b1ea}#fullDetails{margin-top:-2rem}button:hover{background:var(--button-hover-background);border:solid 1px #08285c;cursor:pointer}.edit-button{margin-left:1ch}.edit-button:hover{background:var(--button-hover-background);border:solid 1px #08285c;cursor:pointer}.pull-left{float:left}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}a{color:var(--link-color)}.leaflet-control-custom{padding:1rem;background:var(--popup-background)}#spinning_icon{position:fixed;top:0;left:0;z-index:10;background:#fff;font-size:2rem}#spinning_icon svg{position:fixed;top:.45rem;left:1.5rem;background:#fff;border-radius:100%;width:3rem;height:3rem;animation:spin 2s linear infinite;opacity:.3}#footer{max-width:70ch;margin:0 auto}.leaflet-popup-content{min-width:15rem;word-break:break-all;word-wrap:break-word}.popup-content{width:100%;display:block;overflow:auto;min-width:10rem;max-width:20rem;min-height:5rem;max-height:10rem}.popup-key{width:57%;display:inline-block}.popup-value{width:42%;text-align:right;display:inline-block;padding-right:1rem}.bottom-content{padding:0 2rem 4rem}#star{left:10rem}.color-indication{padding:1rem;border-radius:2rem;display:block;position:relative;top:-2rem;color:#fff;text-shadow:0 0 .5rem #222;clear:right;min-width:7rem;max-width:5rem;height:3rem}.no-data{border-left:3px solid var(--no-data-border);padding:1em 2rem;min-height:4rem}.no-data a{color:var(--no-data-link-color)}.marker-demo{margin-right:1rem}.map-marker-circle-demo{border-radius:100%;display:inline-block;width:1rem;height:1rem;background:#fff}.color-unknown{background:var(--color-indication-background)}.map-marker-circle-demo.color-1{background:#36423d}.color-power-lesser-than-50,.map-marker-circle-demo.color-2{background:#4e8a8d}.color-power-lesser-than-100,.map-marker-circle-demo.color-3{background:#2999b3}.color-power-lesser-than-200,.map-marker-circle-demo.color-4{background:#1782dd}.color-power-lesser-than-300,.map-marker-circle-demo.color-5{background:#2900ff}.color-power-lesser-than-max,.map-marker-circle-demo.color-6{background:#8000ff}#found_charging_stations{margin-top:2rem}button{cursor:pointer;padding:.5rem;background:#fff}.bar{height:2em;text-align:right;padding:.35rem .25rem .35rem .35rem;float:left}.key-values{max-height:4rem;overflow:auto;width:100%;display:block}.icon-img{width:2rem;height:2rem;fill:#000}.sockets-list{margin-top:.25rem}.socket-counter{background:#dedede;margin-top:1rem;margin-left:-0.25rem;border-radius:1rem;padding:.25rem}#infos_carte{padding:1rem 0}button+button{margin-left:1rem}.leaflet-control-layers-toggle{background-size:contain}#round_power_legend{font-size:.8rem;margin-top:4rem}.side-panel{font-size:1rem;position:fixed;left:0;top:0;width:20vw;height:74vh;background:#fff;box-shadow:-2px 0 5px rgba(0,0,0,.2);overflow-y:auto;padding:1rem 2rem;padding-bottom:15rem;z-index:1000;visibility:hidden;top:4.5rem;width:26vw}#toggleSidePanel{position:fixed;top:.7rem;right:1rem;z-index:10;background:#444;padding:.5rem 1rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);border-color:#555}header{padding-left:1rem;color:#666}.side-panel-open .side-panel{visibility:visible;width:29vw;border-right:#ccc solid 1px;height:93vh}.side-panel-open #map{margin-left:28.8vw;top:4.5rem;width:71.2vw;border:0;height:89.9vh}#infos_carte{clear:both}#zoomMessage{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);background:var(--zoom-message-background);padding:1rem 2rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);text-align:center;z-index:10;border-left:4px solid var(--zoom-message-border);animation:rainbow-border 4s linear infinite}header{background:#222;position:fixed;width:20vw}header h1{color:#fff;line-height:2rem;font-size:.8rem}header img{float:left;margin-right:1rem}#map{z-index:1;top:5.55rem}.side-panel #map{margin-left:26vw}.rounded-button{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:background-color .3s}.rounded-button:hover{background-color:#0d377b}.filters-box{position:fixed;bottom:.7rem;right:25vw;z-index:100}.filters-box .rounded-button{margin-right:.5rem;margin-bottom:.5rem}.info .i{border-radius:100%;background:#dedede;padding:1ch;width:5ch;margin-left:1ch;display:inline-block;text-align:center}.info .tooltip{opacity:0}.info:hover .tooltip{opacity:1;transition:opacity .3s ease-in-out}.leaflet-popup-content{max-height:30vh;overflow:auto}.osmose-marker{font-size:20px;text-align:center;line-height:20px;background-color:hsla(0,0%,100%,.8);border-radius:50%;border:2px solid #ff6b6b}.osmose-marker-drop{position:relative;z-index:1000}.osmose-marker-inner{position:absolute;width:30px;height:40px;background-color:#8b00ff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 0 5px rgba(0,0,0,.3);border:2px solid #fff}.leaflet-osmose-layer::before{content:"⚡";transform:rotate(45deg);color:#fff;font-size:16px;text-shadow:1px 1px 2px rgba(0,0,0,.3);padding-left:1ch}#bars_power{position:fixed;top:4.3rem;width:126vw;z-index:10000;margin:0;height:.4rem;overflow:hidden}.small{font-size:.8rem}#count_features_fond{border:solid 1px gray}.osmose-marker-drop:hover .osmose-marker-inner{animation:bounce .5s ease infinite;background-color:#9f2bff}.osmose-counter{font-size:.85rem;color:#999}.proposed-tags-container{max-height:200px;overflow-y:auto;margin:10px 0;padding:5px;background-color:#f5f5f5;border-radius:4px}.proposed-tags{width:100%;border-collapse:collapse}.proposed-tags tr:nth-child(even){background-color:#fff}.proposed-tags td{padding:2px 5px;font-size:12px}.proposed-tags td:first-child{font-weight:bold;color:#666;width:45%}.action-buttons{margin-top:10px;display:flex;flex-direction:column;gap:5px}.action-buttons a{padding:5px 10px;text-decoration:none;border-radius:4px;text-align:center}.action-buttons a:hover{opacity:.9}.action-buttons .edit-button.josm{background-color:#4caf50;color:#fff}#searchLocation{width:93%;padding:.8rem 3rem;margin-bottom:10px;border:1px solid var(--button-border);border-radius:5px}#removeMarkers{margin-right:1rem;margin-left:1rem}#searchResults{display:inline-block;margin-top:-0.9rem;margin-left:0;width:100%;height:67%;border-top:1px}#searchResults option{cursor:pointer;padding:.55rem}#searchResults option:hover{background-color:var(--button-border)}#searchButton{margin-left:-1rem;margin-top:0;z-index:2;position:relative;background:var(--link-color);border-radius:3px;height:2.9rem}#count_features_fond{position:fixed;bottom:4.5rem;right:10px;z-index:10;background:#fff;padding:.85rem 1rem;border-radius:8px}.search-source-control{margin:5px 0;font-size:.9em}.search-source-control label{display:flex;align-items:center;gap:5px}.search-source-control input[type=checkbox]{margin:0}.close-results-button{border:0;border-radius:3px;position:absolute;left:-5px;background:#ccc;height:2.8rem;margin-top:-3.6rem}.filter-sockets label{width:45%;float:left;margin-right:1rem}#filter_max_output_slider{width:100%;height:10px;background:#ccc;border-radius:5px}.filter-stats{font-size:.8rem;color:#666}.filter-group{margin:15px 0;padding:15px;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.filter-group h3{margin-bottom:10px;color:#495057;font-size:16px}.filter-group label{display:flex;align-items:center;padding:8px 0;cursor:pointer;transition:all .3s ease;border-radius:4px;margin:4px 0}.filter-group label:hover{background:#e9ecef}.filter-group input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.filter-group .checkbox-custom{position:relative;display:inline-block;width:20px;height:20px;background:#fff;border:2px solid #6c757d;border-radius:4px;margin-right:10px;transition:all .3s ease}label:hover .filter-group .checkbox-custom{border-color:rgb(84.3605150215,91.3905579399,97.6394849785)}.filter-group input[type=checkbox]:checked+.checkbox-custom{background:#28a745;border-color:#28a745;animation:checkboxPop .3s ease}.filter-group input[type=checkbox]:checked+.checkbox-custom::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.filter-group hr{margin:15px 0;border:0;height:1px;background:#dee2e6}.filter-group span{font-size:14px;color:#495057;transition:color .3s ease}.filter-group label:hover span{color:rgb(49.73125,54.5,59.26875)}.filter-group input[type=checkbox]:disabled+.checkbox-custom{background:#e9ecef;border-color:#adb5bd;cursor:not-allowed}.filter-group input[type=checkbox]:disabled+.checkbox-custom+span{color:#adb5bd;cursor:not-allowed}@keyframes checkboxPop{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@media(max-width: 700px){header h1{width:100vw;font-size:1.5rem}#searchButton{margin-top:0rem}#searchResults{display:inline-block;position:relative;margin-top:-0.9rem;margin-left:-1.6rem;width:90.4%;height:67%;left:-28px;border-top:1px}#bars_power{position:absolute;top:0;width:120%}#toggleSidePanel{position:fixed;top:.6rem;right:.6rem;z-index:10;background:#a9a9a9;padding:.2rem 1rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2);border:0;font-size:2rem}.side-panel-open .side-panel{position:static;transform:none;box-shadow:0 -2px 5px rgba(0,0,0,.2);margin:0;width:100vw}.side-panel.active{transform:none}.side-panel-open #map,#map{margin:0;left:0;top:0;width:100vw;height:90vh;height:55vh}header{position:static}.filters-box{position:static}.close-results-button{border:0;border-radius:3px;background:var(--button-border);margin:0;position:relative;top:-26.8vh;left:-1rem;height:2.9rem;z-index:10}#count_features_fond{position:static}}.leaflet-interactive{border:solid 3px #fff}.leaflet-control-layers.leaflet-control-layers-toggle{background:url("img/burger.png")}.leaflet-control-layers+.leaflet-control-layers{display:none}.leaflet-control-layers-list label{cursor:pointer}.leaflet-control-layers-list label:hover{background-color:var(--button-border);color:#fff}.leaflet-control-attribution{padding:10px;font-size:.7rem !important}.leaflet-control-layers.base-layers{background-image:url('data:image/svg+xml;utf8,');background-size:16px;background-position:6px center;background-repeat:no-repeat;padding-left:28px !important}.leaflet-control-layers.base-layers .leaflet-control-layers-toggle{background-image:none;width:auto;padding-right:10px}.leaflet-control-layers.base-layers::after{content:"Fonds";margin-left:5px;font-size:12px}.leaflet-control-layers.overlay-layers{background-image:url('data:image/svg+xml;utf8,');background-size:16px;background-position:6px center;background-repeat:no-repeat;padding-left:28px !important}.leaflet-control-layers.overlay-layers .leaflet-control-layers-toggle{background-image:none;width:auto;padding-right:10px}.leaflet-control-layers.overlay-layers::after{content:"Calques";margin-left:5px;font-size:12px}.leaflet-control-layers{background:#fff;padding:5px;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.4)}.leaflet-control-layers.base-layers .leaflet-control-layers-toggle{background-image:url("../img/burger.png") !important;background-size:20px 20px !important;background-position:center !important;background-repeat:no-repeat !important;width:30px !important;height:30px !important}.leaflet-control-layers.overlay-layers .leaflet-control-layers-toggle{background-image:url("../img/pizza.png") !important;background-size:20px 20px !important;background-position:center !important;background-repeat:no-repeat !important;background-color:#3f74aa !important;width:30px !important;height:30px !important}@keyframes rainbow-border{0%{border-left-color:red}17%{border-left-color:#ff8000}33%{border-left-color:#ff0}50%{border-left-color:lime}67%{border-left-color:blue}83%{border-left-color:#8000ff}100%{border-left-color:red}}@keyframes bounce{0%,100%{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-5px)}}/*# sourceMappingURL=style.css.map */ diff --git a/styles/style.css.map b/styles/style.css.map index 65faca5..e30fa29 100644 --- a/styles/style.css.map +++ b/styles/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["main.scss","_osmose.scss","_recherche.scss","_filters.scss","_mobile.scss","_overrides.scss","_animations.scss"],"names":[],"mappings":"CAIA,MACE,yBACA,mBACA,yBACA,8BACA,6BACA,mCACA,2BACA,mBACA,0BACA,oDACA,+BACA,uCACA,6BACA,iCACA,0BAGF,EACE,sBAGF,KACE,YACA,WACA,mCACA,UACA,SAGF,KACE,aACA,cACA,WACA,mCACA,UACA,SACA,UACA,SAGF,KACE,+CACA,eAGF,EACE,+CACA,iBAGF,KACE,YACA,WACA,SACA,iBAME,YACE,6BAKJ,0BACE,mBAKJ,QACE,aAGF,SACE,gBACA,wBACA,cACA,YACA,WACA,iBAGF,MACE,wBACA,yBACA,qBACA,kBACA,kCACA,mBACA,eACA,mBACA,WACA,gCAGF,OACE,iBACA,mBAGF,GACE,mBACA,kBAGF,uBACE,eACA,YACA,SACA,aACA,+BACA,SACA,WAEA,yBACE,eAIJ,8BACE,6BAGF,8CACE,4BACA,qBACA,iBAGF,8DAIE,oCACA,iBACA,kBACA,sBACA,sCACA,YAGF,gBACE,SACA,kBACA,WAEA,oBACE,WACA,YAIJ,mBACE,cACA,mBAGF,iBACE,gBACA,oBACA,WACA,kBACA,QACA,cAEA,uBACE,YACA,mBAIJ,aACE,0CACA,yBACA,eAGF,aAOE,gBANA,mBACE,0CACA,yBACA,eAMJ,WACE,WAGF,gBACE,GACE,uBAGF,KACE,0BAIJ,EACE,wBAGF,wBACE,aACA,mCAGF,eACE,eACA,MACA,OACA,WACA,gBACA,eAEA,mBACE,eACA,WACA,YACA,gBACA,mBACA,WACA,YACA,kCACA,WAIJ,QACE,eACA,cAGF,uBACE,gBACA,qBACA,qBAGF,eACE,WACA,cACA,cACA,gBACA,gBACA,gBACA,iBAGF,WACE,UACA,qBAGF,aACE,UACA,iBACA,qBACA,mBAGF,gBACE,oBAGF,MACE,WAGF,kBACE,aACA,mBACA,cACA,kBACA,UACA,WACA,2BACA,YACA,eACA,eACA,YAIF,SACE,4CACA,iBACA,gBAEA,WACE,gCAQJ,aACE,kBAGF,wBACE,mBACA,qBACA,WACA,YACA,gBAGF,eACE,8CAGF,gCACE,mBAGF,4DAEE,mBAGF,6DAEE,mBAGF,6DAEE,mBAGF,6DAEE,mBAGF,6DAEE,mBAGF,yBACE,gBAGF,OACE,eACA,cACA,gBAGF,KACE,WACA,iBACA,oCACA,WAGF,YACE,gBACA,cACA,WACA,cAGF,UACE,WACA,YACA,UAGF,cACE,kBAGF,gBACE,mBACA,gBACA,qBACA,mBACA,eAIF,aACE,eAGF,cACE,iBAGF,+BACE,wBAGF,oBACE,gBACA,gBAGF,YACE,eACA,eACA,OACA,MACA,WACA,YACA,gBACA,qCACA,gBACA,kBACA,qBACA,aACA,kBACA,WACA,WAGF,iBACE,eACA,SACA,WACA,WACA,gBACA,kBACA,kBACA,oCAGF,OACE,kBACA,WAIA,6BACE,mBACA,WACA,4BACA,YAGF,sBACE,mBACA,WACA,aACA,SACA,cAIJ,aACE,WAGF,aACE,eACA,YACA,SACA,2BACA,0CACA,kBACA,kBACA,oCACA,kBACA,WACA,iDACA,4CAGF,OACE,gBACA,eACA,WAEA,UACE,WACA,iBACA,gBAGF,WACE,WACA,kBAIJ,KACE,UACA,YAGF,iBACE,iBAGF,gBACE,oBACA,mBACA,uBACA,eACA,eACA,gCAEA,sBACE,yBAIJ,aACE,eACA,aACA,WACA,YAEA,6BACE,mBACA,oBAOF,SACE,mBACA,mBACA,YACA,UACA,gBACA,qBACA,kBAGF,eACE,UAIA,qBACE,UACA,mCAKN,uBACE,gBACA,cAGF,eACE,eACA,kBACA,iBACA,oCACA,kBACA,yBAGF,oBACE,kBACA,aAGF,qBACE,kBACA,WACA,YACA,yBACA,4BACA,yBACA,aACA,mBACA,uBACA,kCACA,sBAMA,8BACE,YACA,wBACA,WACA,eACA,uCACA,iBAIJ,YACE,eACA,WACA,YACA,cACA,SACA,aACA,gBAGF,OACE,gBCzmBF,+CACE,mCACA,yBAGF,gBACE,iBACA,WAGF,yBACE,iBACA,gBACA,cACA,YACA,yBACA,kBAGF,eACE,WACA,yBAEA,kCACE,sBAGF,kBACE,gBACA,eAGF,8BACE,iBACA,WAKJ,gBACE,gBACA,aACA,sBACA,QAEA,kBACE,iBACA,qBACA,kBACA,kBAEA,wBACE,WAIJ,kCACE,yBACA,WC1DJ,gBACE,UAEA,aACA,mBACA,sCACA,kBAGF,eACE,kBACA,iBAGF,eACE,WACA,kCAGF,cACE,kBACA,aACA,UACA,kBACA,6BACA,kBAGF,qBACE,eACA,YACA,WACA,WACA,gBACA,aACA,kBAGF,uBACE,aACA,eAEA,6BACE,aACA,mBACA,QAGF,4CACE,SASJ,sBACE,SACA,kBCjDA,sBACE,UACA,WACA,kBAIJ,0BACE,WACA,YACA,gBACA,kBAGF,cACE,gBACA,WAcF,cACE,cACA,aACA,mBACA,kBACA,oCAEA,iBACE,mBACA,MA7CS,QA8CT,eAGF,oBAtBA,aACA,mBAuBE,cACA,eApBF,wBAsBE,kBACA,aAEA,0BACE,WAxDK,QA4DT,mCACE,kBACA,UACA,eACA,SACA,QAGF,+BACE,kBACA,qBACA,WACA,YACA,gBACA,yBACA,kBACA,kBA9CF,wBAiDE,2CACE,4DAIJ,4DACE,WAxFY,QAyFZ,aAzFY,QA0FZ,+BAEA,mEACE,WACA,kBACA,SACA,QACA,UACA,YACA,kBACA,yBACA,wBAIJ,iBACE,cACA,SACA,WACA,mBAGF,mBACE,eACA,MAjHS,QAgCX,0BAqFA,+BACE,kCAIA,6DACE,WAzHK,QA0HL,aAzHW,QA0HX,mBAGF,kEACE,MA9HW,QA+HX,mBAMN,uBACE,GACE,mBAGF,IACE,qBAGF,KACE,oBCtJJ,yBACE,UACE,YACA,iBAGF,cACE,gBAGF,YACE,kBACA,MACA,WAGF,iBACE,eACA,UACA,YACA,WACA,mBACA,mBACA,kBACA,oCACA,SACA,eAOF,6BACE,gBACA,eACA,qCACA,SACA,YAGF,mBACE,eAGF,2BAEE,SACA,OACA,MACA,YACA,YACA,YAIF,OACE,gBAGF,aACE,gBAGF,sBACE,SACA,kBACA,gCACA,SACA,kBACA,YACA,aACA,eAIJ,qBACE,sBC1EF,+BACE,iBAGF,qBACE,sBAIA,sDACE,iCAMF,oCACE,wOACA,qBACA,+BACA,4BACA,6BAEA,mEACE,sBACA,WACA,mBAGF,2CACE,gBACA,gBACA,eAIJ,uCACE,yOACA,qBACA,+BACA,4BACA,6BAEA,sEACE,sBACA,WACA,mBAGF,8CACE,kBACA,gBACA,eAMN,wBAyBE,gBACA,YACA,kBACA,oCA1BE,mEACE,qDACA,qCACA,sCACA,uCACA,sBACA,uBAKF,sEACE,oDACA,qCACA,sCACA,uCACA,oCACA,sBACA,uBClFN,0BACE,GACE,sBAGF,IACE,0BAGF,IACE,uBAGF,IACE,uBAGF,IACE,uBAGF,IACE,0BAGF,KACE,uBAIJ,kBAEE,QAEE,uCAGF,IACE","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["main.scss","_osmose.scss","_recherche.scss","_filters.scss","_mobile.scss","_overrides.scss","_animations.scss"],"names":[],"mappings":"CAIA,MACE,yBACA,mBACA,yBACA,8BACA,6BACA,mCACA,2BACA,mBACA,0BACA,oDACA,+BACA,uCACA,6BACA,iCACA,0BAGF,EACE,sBAGF,KACE,YACA,WACA,mCACA,UACA,SAGF,KACE,aACA,cACA,WACA,mCACA,UACA,SACA,UACA,SAGF,KACE,+CACA,eAGF,EACE,+CACA,iBAGF,KACE,YACA,WACA,SACA,iBAKA,mBACE,sBAGE,yBACE,6BACA,6BAKJ,uCACE,mBAMN,QACE,aAGF,SACE,gBACA,wBACA,cACA,YACA,WACA,iBAGF,MACE,wBACA,yBACA,qBACA,kBACA,kCACA,mBACA,eACA,mBACA,WACA,gCAGF,OACE,iBACA,mBAGF,GACE,mBACA,kBAGF,uBACE,eACA,YACA,SACA,aACA,+BACA,SACA,WAEA,yBACE,eAIJ,8BACE,6BAGF,8CACE,4BACA,qBACA,iBAGF,8DAIE,oCACA,iBACA,kBACA,sBACA,sCACA,YAGF,gBACE,SACA,kBACA,WAEA,oBACE,WACA,YAIJ,mBACE,cACA,mBAGF,iBACE,gBACA,oBACA,WACA,kBACA,QACA,QAEA,uBACE,YACA,mBAIJ,aACE,iBAGF,aACE,0CACA,yBACA,eAGF,aAOE,gBANA,mBACE,0CACA,yBACA,eAMJ,WACE,WAGF,gBACE,GACE,uBAGF,KACE,0BAIJ,EACE,wBAGF,wBACE,aACA,mCAGF,eACE,eACA,MACA,OACA,WACA,gBACA,eAEA,mBACE,eACA,WACA,YACA,gBACA,mBACA,WACA,YACA,kCACA,WAIJ,QACE,eACA,cAGF,uBACE,gBACA,qBACA,qBAGF,eACE,WACA,cACA,cACA,gBACA,gBACA,gBACA,iBAGF,WACE,UACA,qBAGF,aACE,UACA,iBACA,qBACA,mBAGF,gBACE,oBAGF,MACE,WAGF,kBACE,aACA,mBACA,cACA,kBACA,UACA,WACA,2BACA,YACA,eACA,eACA,YAIF,SACE,4CACA,iBACA,gBAEA,WACE,gCAQJ,aACE,kBAGF,wBACE,mBACA,qBACA,WACA,YACA,gBAGF,eACE,8CAGF,gCACE,mBAGF,4DAEE,mBAGF,6DAEE,mBAGF,6DAEE,mBAGF,6DAEE,mBAGF,6DAEE,mBAGF,yBACE,gBAGF,OACE,eACA,cACA,gBAGF,KACE,WACA,iBACA,oCACA,WAGF,YACE,gBACA,cACA,WACA,cAGF,UACE,WACA,YACA,UAGF,cACE,kBAGF,gBACE,mBACA,gBACA,qBACA,mBACA,eAIF,aACE,eAGF,cACE,iBAGF,+BACE,wBAGF,oBACE,gBACA,gBAGF,YACE,eACA,eACA,OACA,MACA,WACA,YACA,gBACA,qCACA,gBACA,kBACA,qBACA,aACA,kBACA,WACA,WAGF,iBACE,eACA,UACA,WACA,WACA,gBACA,mBACA,kBACA,oCACA,kBAGF,OACE,kBACA,WAIA,6BACE,mBACA,WACA,4BACA,YAGF,sBACE,mBACA,WACA,aACA,SACA,cAIJ,aACE,WAGF,aACE,eACA,YACA,SACA,2BACA,0CACA,kBACA,kBACA,oCACA,kBACA,WACA,iDACA,4CAGF,OACE,gBACA,eACA,WAEA,UACE,WACA,iBACA,gBAGF,WACE,WACA,kBAIJ,KACE,UACA,YAGF,iBACE,iBAGF,gBACE,oBACA,mBACA,uBACA,eACA,eACA,gCAEA,sBACE,yBAIJ,aACE,eACA,aACA,WACA,YAEA,6BACE,mBACA,oBAOF,SACE,mBACA,mBACA,YACA,UACA,gBACA,qBACA,kBAGF,eACE,UAIA,qBACE,UACA,mCAKN,uBACE,gBACA,cAGF,eACE,eACA,kBACA,iBACA,oCACA,kBACA,yBAGF,oBACE,kBACA,aAGF,qBACE,kBACA,WACA,YACA,yBACA,4BACA,yBACA,aACA,mBACA,uBACA,kCACA,sBAMA,8BACE,YACA,wBACA,WACA,eACA,uCACA,iBAIJ,YACE,eACA,WACA,YACA,cACA,SACA,aACA,gBAGF,OACE,gBAGF,qBACE,sBCvnBF,+CACE,mCACA,yBAGF,gBACE,iBACA,WAGF,yBACE,iBACA,gBACA,cACA,YACA,yBACA,kBAGF,eACE,WACA,yBAEA,kCACE,sBAGF,kBACE,gBACA,eAGF,8BACE,iBACA,WACA,UAKJ,gBACE,gBACA,aACA,sBACA,QAEA,kBACE,iBACA,qBACA,kBACA,kBAEA,wBACE,WAIJ,kCACE,yBACA,WC3DJ,gBACE,UACA,mBACA,mBACA,sCACA,kBAGF,eACE,kBACA,iBAGF,eACE,qBACA,mBACA,cACA,WACA,WACA,eAEA,sBACE,eACA,eAEA,4BACE,sCAKN,cACE,kBACA,aACA,UACA,kBACA,6BACA,kBACA,cAGF,qBACE,eACA,cACA,WACA,WACA,gBACA,oBACA,kBAGF,uBACE,aACA,eAEA,6BACE,aACA,mBACA,QAGF,4CACE,SASJ,sBACE,SACA,kBACA,kBACA,UACA,gBACA,cACA,mBCnEA,sBACE,UACA,WACA,kBAIJ,0BACE,WACA,YACA,gBACA,kBAGF,cACE,gBACA,WAcF,cACE,cACA,aACA,mBACA,kBACA,oCAEA,iBACE,mBACA,MA7CS,QA8CT,eAGF,oBAtBA,aACA,mBAuBE,cACA,eApBF,wBAsBE,kBACA,aAEA,0BACE,WAxDK,QA4DT,mCACE,kBACA,UACA,eACA,SACA,QAGF,+BACE,kBACA,qBACA,WACA,YACA,gBACA,yBACA,kBACA,kBA9CF,wBAiDE,2CACE,4DAIJ,4DACE,WAxFY,QAyFZ,aAzFY,QA0FZ,+BAEA,mEACE,WACA,kBACA,SACA,QACA,UACA,YACA,kBACA,yBACA,wBAIJ,iBACE,cACA,SACA,WACA,mBAGF,mBACE,eACA,MAjHS,QAgCX,0BAqFA,+BACE,kCAIA,6DACE,WAzHK,QA0HL,aAzHW,QA0HX,mBAGF,kEACE,MA9HW,QA+HX,mBAMN,uBACE,GACE,mBAGF,IACE,qBAGF,KACE,oBCtJJ,yBACE,UACE,YACA,iBAGF,cACE,gBAGF,eAEE,qBACA,kBAEA,mBACA,oBACA,YACA,WACA,WACA,eAIF,YACE,kBACA,MACA,WAGF,iBACE,eACA,UACA,YACA,WACA,mBACA,mBACA,kBACA,oCACA,SACA,eAOF,6BACE,gBACA,eACA,qCACA,SACA,YAGF,mBACE,eAGF,2BAEE,SACA,OACA,MACA,YACA,YACA,YAIF,OACE,gBAGF,aACE,gBAGF,sBACE,SACA,kBACA,gCACA,SAEA,kBACA,YACA,WACA,cACA,WAIF,qBAEE,iBC1FJ,qBACE,sBAIA,sDACE,iCAGF,gDACE,aAKF,mCACE,eAEA,yCACE,sCACA,WAKN,6BACE,aACA,2BAKA,oCACE,wOACA,qBACA,+BACA,4BACA,6BAEA,mEACE,sBACA,WACA,mBAGF,2CACE,gBACA,gBACA,eAIJ,uCACE,yOACA,qBACA,+BACA,4BACA,6BAEA,sEACE,sBACA,WACA,mBAGF,8CACE,kBACA,gBACA,eAMN,wBAyBE,gBACA,YACA,kBACA,oCA1BE,mEACE,qDACA,qCACA,sCACA,uCACA,sBACA,uBAKF,sEACE,oDACA,qCACA,sCACA,uCACA,oCACA,sBACA,uBCnGN,0BACE,GACE,sBAGF,IACE,0BAGF,IACE,uBAGF,IACE,uBAGF,IACE,uBAGF,IACE,0BAGF,KACE,uBAIJ,kBAEE,QAEE,uCAGF,IACE","file":"style.css"} \ No newline at end of file
Cartes des stations de recharge pour véhicules électriques basée sur les données collaborative Cartes des stations de recharge pour véhicules électriques basée sur les données collaboratives OpenStreetMap