icons in socket filter

This commit is contained in:
Tykayn 2025-04-28 10:08:31 +02:00 committed by tykayn
parent bb917dfd31
commit 217416234a
10 changed files with 576 additions and 125 deletions

View file

@ -128,60 +128,70 @@
</p>
<h3>Types de prises</h3>
<label>
<input type="checkbox" id="filterCableAttached">
<span class="checkbox-custom"></span>
<span>Prise avec câble attaché</span>
</label>
<label>
<input type="checkbox" id="filterCCS">
<span class="checkbox-custom"></span>
<span>Prise CCS</span>
</label>
<label>
<input type="checkbox" id="filterType2">
<span class="checkbox-custom"></span>
<span>Prise Type 2</span>
</label>
<label>
<input type="checkbox" id="filterDomestic">
<span class="checkbox-custom"></span>
<span>Prise domestique</span>
</label>
<label>
<input type="checkbox" id="filterChademo">
<span class="checkbox-custom"></span>
<span>Prise CHAdeMO</span>
</label>
<label>
<input type="checkbox" id="filterType1">
<span class="checkbox-custom"></span>
<span>Prise Type 1</span>
</label>
<label>
<input type="checkbox" id="filterType3">
<span class="checkbox-custom"></span>
<span>Prise Type 3</span>
</label>
<div class="filter-sockets">
<h3>Types de prises</h3>
<img class="icon-img" src="img/type2_connector_outline.svg" alt="type2">
<label>
<input type="checkbox" id="filterCableAttached">
<span class="checkbox-custom"></span>
<span>Prise avec câble attaché</span>
</label>
<label>
<input type="checkbox" id="filterCCS">
<span class="checkbox-custom"></span>
<span>Prise CCS</span>
<img class="icon-img" src="img/type2_combo.svg" alt="prise">
</label>
<label>
<input type="checkbox" id="filterType2">
<span class="checkbox-custom"></span>
<img class="icon-img" src="img/Type2_socket.svg" alt="prise">
<span>Prise Type 2</span>
</label>
<label>
<input type="checkbox" id="filterDomestic">
<span class="checkbox-custom"></span>
<img class="icon-img" src="img/socket_typee.svg" alt="prise">
<span>Prise domestique</span>
</label>
<label>
<input type="checkbox" id="filterChademo">
<span class="checkbox-custom"></span>
<img class="icon-img" src="img/chademo.svg" alt="prise">
<span>Prise CHAdeMO</span>
</label>
<label>
<input type="checkbox" id="filterType1">
<span class="checkbox-custom"></span>
<span>Prise Type 1</span>
</label>
<label>
<input type="checkbox" id="filterType3">
<span class="checkbox-custom"></span>
<span>Prise Type 3</span>
</label>
</div>
<hr>
<h3>Qualité des données</h3>
<label>
<!-- <label>
<input type="checkbox" id="filterQuality">
<span class="checkbox-custom"></span>
<span>Contrôle qualité</span>
</label>
</label> -->
<label>
<input type="checkbox" id="filterUnkown">
<span class="checkbox-custom"></span>
<span>❓ kW max inconnu</span>
</label>
</div>
</div>
</div>
<br>
<div id="statsChargingStation">
<h2 id="toggle-stats" style="cursor: pointer;">
@ -191,48 +201,48 @@
<div id="found_charging_stations">
</div>
<div class="footland">
<hr>
<h2 class="title">
À propos de ce plan</h2>
<p>
La carte thématique proposant des points de charge pour véhicule électrique, basée sur les données
d'OpenStreetMap. Voir la documentation OSM concernant <a
href="https://wiki.openstreetmap.org/wiki/Key:socket:*">les sockets</a> et les
<a href="https://wiki.openstreetmap.org/wiki/FR:Tag:amenity%3Dcharging_station">
stations de recharge pour véhicules électriques
</a>.
<br>
Les analyses Osmose proposent l'intégration de stations de recharges issues de l'open data sur les
IRVE
de
Data Gouv. Vous pouvez les désactiver dans les filtres de calques. Quand les stations existantes
sont
activées, seules les analyses osmoses avec un minimum de distance sont affichées.
</p>
<p>
Fait par <a href="https://mastodon.cipherbliss.com/@tykayn">Tykayn</a> - <a
href="https://www.cipherbliss.com">www.cipherbliss.com</a>.
<a href="https://forge.chapril.org/tykayn/">Sources disponibles sur la forge du Chapril.</a>
<br>
<span class="small">
icones
câble électrique <a href="https://www.flaticon.com/fr/icones-gratuites/energie"
title="energie icônes">Energie
icônes créées par rukanicon - Flaticon</a>
</span>
</p>
</div>
</div>
<hr>
<h2 class="title">
À propos de ce plan</h2>
<p>
La carte thématique proposant des points de charge pour véhicule électrique, basée sur les données
d'OpenStreetMap. Voir la documentation OSM concernant <a
href="https://wiki.openstreetmap.org/wiki/Key:socket:*">les sockets</a> et les
<a href="https://wiki.openstreetmap.org/wiki/FR:Tag:amenity%3Dcharging_station">
stations de recharge pour véhicules électriques
</a>.
<br>
Les analyses Osmose proposent l'intégration de stations de recharges issues de l'open data sur les IRVE de
Data Gouv. Vous pouvez les désactiver dans les filtres de calques. Quand les stations existantes sont
activées, seules les analyses osmoses avec un minimum de distance sont affichées.
</p>
<p>
Fait par <a href="https://mastodon.cipherbliss.com/@tykayn">Tykayn</a> - <a
href="https://www.cipherbliss.com">www.cipherbliss.com</a>.
<a href="https://forge.chapril.org/tykayn/">Sources disponibles sur la forge du Chapril.</a>
<div class="icones">
<img class="icon-img" src="img/Type2_Connector_Outline.svg" alt="type2">
<img class="icon-img" src="img/type2_combo.svg" alt="prise">
<img class="icon-img" src="img/Type2_socket.svg" alt="prise">
<img class="icon-img" src="img/socket_typee.svg" alt="prise">
<img class="icon-img" src="img/chademo.svg" alt="prise">
</div>
<br>
<span class="small">
icones
câble électrique <a href="https://www.flaticon.com/fr/icones-gratuites/energie"
title="energie icônes">Energie
icônes créées par rukanicon - Flaticon</a>
</span>
</p>
</div>
</div>
<br>

View file

@ -5,7 +5,7 @@ const lcm_config = {
initialZoom: 12,
hide_osmose_markers_if_close_to_existing_charging_stations: true,
hide_osmose_markers_if_close_to_existing_charging_stations_distance: 10, // meters
osmoseIssuesList: [],
filter_max_output: true,
filter_max_output_min: 0,
filter_max_output_max: 499,

View file

@ -243,7 +243,7 @@ function updateURLWithMapCoordinatesAndZoom() {
}
let all_stations_markers = L.layerGroup().addTo(map) // layer group pour tous les marqueurs
let all_stations_markers = L.layerGroup() // 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, {
@ -285,11 +285,11 @@ var baseLayers = {
// 'OpenCycleMap': cycle,
'Transport': transport
}
let overlays = {
stations: all_stations_markers
}
// let overlays = {
// stations: all_stations_markers
// }
const layerControl = L.control.layers(baseLayers, overlays, { collapsed: true }).addTo(map)
// const layerControl = L.control.layers(baseLayers, overlays, { collapsed: true }).addTo(map)
tileGrey.addTo(map)
@ -479,7 +479,8 @@ function displayStatsFromGeoJson(resultAsGeojson, stats) {
// Ajouter une fonction pour mettre à jour les compteurs
function updateCounters() {
const stationsCount = geojsondata ? geojsondata.features.length : 0;
const osmoseText = osmoseIssuesCount > 0 ? ` <span class="osmose-counter">(+ ${osmoseIssuesCount} ?)</span>` : '';
console.log("osmoseIssuesList", lcm_config.osmoseIssuesList);
const osmoseText = lcm_config.osmoseIssuesList.length > 0 ? ` <span class="osmose-counter">(+ ${lcm_config.osmoseIssuesList.length} ?)</span>` : '';
$('#count_features_fond').html(`${stationsCount}${osmoseText} stations`);
}
@ -670,9 +671,9 @@ function eachFeature(feature, layer, stats) {
if (lcm_config.filterQuality) {
// Vérifier si les informations minimales de qualité sont présentes
let hasQualityInfo = feature.properties.tags['operator'] ||
feature.properties.tags['authentication:none'] ||
feature.properties.tags['payment:none'] ||
feature.properties.tags['opening_hours'];
feature.properties.tags['authentication:none'] ||
feature.properties.tags['payment:none'] ||
feature.properties.tags['opening_hours'];
if (!hasQualityInfo) {
stats.count_hidden_by_filters++;
return;
@ -1122,8 +1123,8 @@ function searchOsmoseIssues(map) {
return;
}
const issuesList = data.issues;
lcm_config.osmoseIssuesList = [];
osmoseIssuesCount = issuesList.length;
console.log(`Nombre d'issues Osmose (liste) trouvées: ${osmoseIssuesCount}`);
issuesList.forEach(issueInfo => {
if (issueInfo.lat == null || issueInfo.lon == null || !issueInfo.id) {
@ -1146,6 +1147,8 @@ function searchOsmoseIssues(map) {
}
}
lcm_config.osmoseIssuesList.push(issueInfo);
// Créer le marqueur Osmose si il n'est pas trop proche d'une station existante
const osmoseMarker = L.circle([lat, lon], {
color: "purple",
@ -1307,39 +1310,34 @@ function init() {
// 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)
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() {
$(`#${filterId}`).on('change', function () {
lcm_config[lcm_config.filterConfigs[filterId]] = this.checked;
refreshDisplay();
});
});
food_places_markers.addTo(map);
$('#found_charging_stations').hide();
// 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 baseLayersControl = L.control.layers(baseLayers, null, {
// collapsed: true,
// className: 'leaflet-control-layers base-layers',
// id: 'base-layers-control'
// }).addTo(map);
const overlayControl = L.control.layers(null, overlayMaps, {
collapsed: true,
const overlayControl = L.control.layers(baseLayers, overlayMaps, {
// collapsed: false,
className: 'leaflet-control-layers overlay-layers',
id: 'overlay-layers-control'
}).addTo(map);
})
.addTo(map);
$('#sendToJOSM').on('click', () => {
sendToJOSM(map, geojsondata)

431
package-lock.json generated
View file

@ -7,6 +7,9 @@
"": {
"name": "libre-charge-map",
"version": "0.5.0",
"dependencies": {
"sass": "^1.87.0"
},
"devDependencies": {
"@babel/preset-env": "^7.14.4",
"@testing-library/dom": "^7.31.0",
@ -15,6 +18,7 @@
"babel-jest": "^27.0.2",
"jest": "^27.0.3",
"jest-html-reporter": "^3.4.1",
"sass-migrator": "^2.3.1",
"serve": "^14.2.4"
}
},
@ -2247,6 +2251,302 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@parcel/watcher": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
"integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"dependencies": {
"detect-libc": "^1.0.3",
"is-glob": "^4.0.3",
"micromatch": "^4.0.5",
"node-addon-api": "^7.0.0"
},
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
},
"optionalDependencies": {
"@parcel/watcher-android-arm64": "2.5.1",
"@parcel/watcher-darwin-arm64": "2.5.1",
"@parcel/watcher-darwin-x64": "2.5.1",
"@parcel/watcher-freebsd-x64": "2.5.1",
"@parcel/watcher-linux-arm-glibc": "2.5.1",
"@parcel/watcher-linux-arm-musl": "2.5.1",
"@parcel/watcher-linux-arm64-glibc": "2.5.1",
"@parcel/watcher-linux-arm64-musl": "2.5.1",
"@parcel/watcher-linux-x64-glibc": "2.5.1",
"@parcel/watcher-linux-x64-musl": "2.5.1",
"@parcel/watcher-win32-arm64": "2.5.1",
"@parcel/watcher-win32-ia32": "2.5.1",
"@parcel/watcher-win32-x64": "2.5.1"
}
},
"node_modules/@parcel/watcher-android-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
"integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-darwin-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
"integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-darwin-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
"integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-freebsd-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
"integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-linux-arm-glibc": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
"integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
"cpu": [
"arm"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-linux-arm-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
"integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
"cpu": [
"arm"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-linux-arm64-glibc": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
"integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-linux-arm64-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
"integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-linux-x64-glibc": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
"integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-linux-x64-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
"integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-win32-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
"integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-win32-ia32": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
"integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
"cpu": [
"ia32"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@parcel/watcher-win32-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
"integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
@ -3029,7 +3329,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"devOptional": true,
"dependencies": {
"fill-range": "^7.1.1"
},
@ -3177,6 +3477,21 @@
"node": ">=10"
}
},
"node_modules/chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
"engines": {
"node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/ci-info": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
@ -3497,6 +3812,19 @@
"node": ">=0.4.0"
}
},
"node_modules/detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"license": "Apache-2.0",
"optional": true,
"bin": {
"detect-libc": "bin/detect-libc.js"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/detect-newline": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
@ -3768,7 +4096,7 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"devOptional": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@ -3994,6 +4322,12 @@
"node": ">=0.10.0"
}
},
"node_modules/immutable": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz",
"integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==",
"license": "MIT"
},
"node_modules/import-local": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
@ -4090,6 +4424,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@ -4108,11 +4452,24 @@
"node": ">=6"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"license": "MIT",
"optional": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"devOptional": true,
"engines": {
"node": ">=0.12.0"
}
@ -5852,7 +6209,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
"devOptional": true,
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@ -5954,6 +6311,13 @@
"node": ">= 0.6"
}
},
"node_modules/node-addon-api": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"license": "MIT",
"optional": true
},
"node_modules/node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
@ -6141,7 +6505,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"devOptional": true,
"engines": {
"node": ">=8.6"
},
@ -6289,6 +6653,19 @@
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
},
"node_modules/readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"license": "MIT",
"engines": {
"node": ">= 14.18.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/redent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
@ -6503,6 +6880,39 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"node_modules/sass": {
"version": "1.87.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz",
"integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==",
"license": "MIT",
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.0.2",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=14.0.0"
},
"optionalDependencies": {
"@parcel/watcher": "^2.4.1"
}
},
"node_modules/sass-migrator": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/sass-migrator/-/sass-migrator-2.3.1.tgz",
"integrity": "sha512-JXXLZfzrnxtUWz/TS4xnbJq4g709wqYFgUb2s32FTDsEQSgPThRWrwT49vxfQK+eUbavJUzoQZ/tR5lq7fFnyA==",
"dev": true,
"license": "MIT",
"bin": {
"sass-migrator": "sass-migrator.js"
},
"engines": {
"node": ">=10.12.0"
}
},
"node_modules/saxes": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
@ -6648,6 +7058,15 @@
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@ -6846,7 +7265,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"devOptional": true,
"dependencies": {
"is-number": "^7.0.0"
},

View file

@ -11,10 +11,13 @@
"babel-jest": "^27.0.2",
"jest": "^27.0.3",
"jest-html-reporter": "^3.4.1",
"sass-migrator": "^2.3.1",
"serve": "^14.2.4"
},
"scripts": {
"test": "jest"
"test": "jest",
"build": "sass styles/main.scss styles/style.css --style compressed",
"watch": "sass --watch styles/main.scss:styles/style.css"
},
"jest": {
"transform": {
@ -31,5 +34,8 @@
"json",
"node"
]
},
"dependencies": {
"sass": "^1.87.0"
}
}
}

View file

@ -1,3 +1,4 @@
#!/bin/bash
sass styles/main.scss styles/style.css --style compressed
# npm i
npm run build

View file

@ -8,6 +8,14 @@ $border-color: #6c757d;
$hover-bg: #e9ecef;
$disabled-color: #adb5bd;
.filter-sockets {
label {
width: 45%;
float: left;
margin-right: 1rem;
}
}
#filter_max_output_slider {
width: 100%;
height: 10px;
@ -19,6 +27,7 @@ $disabled-color: #adb5bd;
font-size: 0.8rem;
color: #666;
}
// Mixins
@mixin flex-center {
display: flex;
@ -80,7 +89,7 @@ $disabled-color: #adb5bd;
}
}
input[type="checkbox"]:checked + .checkbox-custom {
input[type="checkbox"]:checked+.checkbox-custom {
background: $primary-color;
border-color: $primary-color;
animation: checkboxPop 0.3s ease;
@ -116,13 +125,13 @@ $disabled-color: #adb5bd;
}
input[type="checkbox"]:disabled {
+ .checkbox-custom {
+.checkbox-custom {
background: $hover-bg;
border-color: $disabled-color;
cursor: not-allowed;
}
+ .checkbox-custom + span {
+.checkbox-custom+span {
color: $disabled-color;
cursor: not-allowed;
}
@ -131,7 +140,15 @@ $disabled-color: #adb5bd;
// Animation
@keyframes checkboxPop {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}

View file

@ -11,8 +11,8 @@
#bars_power {
position: absolute;
top: 60.1vh;
width: 117%;
top: 0;
width: 120%;
}
#toggleSidePanel {

File diff suppressed because one or more lines are too long

View file

@ -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,kBClDF,0BACE,WACA,YACA,gBACA,kBAGF,cACE,gBACA,WAaF,cACE,cACA,aACA,mBACA,kBACA,oCAEA,iBACE,mBACA,MApCS,QAqCT,eAGF,oBAtBA,aACA,mBAuBE,cACA,eApBF,wBAsBE,kBACA,aAEA,0BACE,WA/CK,QAmDT,mCACE,kBACA,UACA,eACA,SACA,QAGF,+BACE,kBACA,qBACA,WACA,YACA,gBACA,yBACA,kBACA,kBA9CF,wBAiDE,2CACE,4DAIJ,4DACE,WA/EY,QAgFZ,aAhFY,QAiFZ,+BAEA,mEACE,WACA,kBACA,SACA,QACA,UACA,YACA,kBACA,yBACA,wBAIJ,iBACE,cACA,SACA,WACA,mBAGF,mBACE,eACA,MAxGS,QAuBX,0BAqFA,+BACE,kCAIA,6DACE,WAhHK,QAiHL,aAhHW,QAiHX,mBAGF,kEACE,MArHW,QAsHX,mBAMN,uBACE,sBACA,yBACA,yBCtIF,yBACE,UACE,YACA,iBAGF,cACE,gBAGF,YACE,kBACA,WACA,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"}
{"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"}