@charset "UTF-8";
: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: 0.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: 0.25rem !important;
height: 0.25rem !important;
display: inline-block;
margin-right: 1rem;
background: var(--icon-background);
border-radius: 100%;
padding: 0.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: transparent;
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 0.5em cornflowerblue;
border-color: cornflowerblue;
border-width: 3px; }
.rounded-button,
.navigation-link,
.panoramax-link,
.edit-button {
background: var(--button-background);
padding: 0.5em 1em;
border-radius: 2em;
color: white !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: 0.5em; }
.navigation-link {
background: white;
border-radius: 0.25em;
float: none;
position: relative;
top: 5em;
right: -7.9rem; }
.navigation-link:hover {
border: black;
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: white;
font-size: 2rem; }
#spinning_icon svg {
position: fixed;
top: 0.45rem;
left: 1.5rem;
background: white;
border-radius: 100%;
width: 3rem;
height: 3rem;
animation: spin 2s linear infinite;
opacity: 0.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: white;
text-shadow: 0 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); }
/**
marqueurs
*/
.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: 0.5rem;
background: white; }
.bar {
height: 2em;
text-align: right;
padding: 0.35rem 0.25rem 0.35rem 0.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: 0.25rem; }
.socket-counter {
background: #dedede;
margin-top: 1rem;
margin-left: -0.25rem;
border-radius: 1rem;
padding: 0.25rem; }
#infos_carte {
padding: 1rem 0; }
button + button {
margin-left: 1rem; }
.filter-group button {
padding: 1rem 2rem;
border-radius: 0.25rem; }
.filter-group button:after {
position: relative;
float: right;
left: 1rem;
top: 1rem;
font-size: 0.9em; }
.filter-group button.filter-state-hide:after {
content: "cacher";
color: grey; }
.filter-group button.filter-state-show:after {
content: "montrer";
color: green; }
.filter-group button.filter-state-showOnly:after {
content: "montrer uniquement";
color: orange; }
.filter-group button.filter-state-hide {
background: #fff; }
.filter-group button.filter-state-show {
color: green; }
.filter-group button.filter-state-showOnly {
color: orange; }
.leaflet-control-layers-toggle {
background-size: contain; }
#round_power_legend {
font-size: 0.8rem;
margin-top: 4rem; }
.side-panel {
font-size: 1rem;
position: fixed;
left: 0;
top: 0;
width: 20vw;
height: 74vh;
background: white;
box-shadow: -2px 0 5px rgba(0, 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: white;
padding: 1rem 2rem;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 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, 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: white;
line-height: 2rem;
font-size: 0.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 0.3s; }
.rounded-button:hover {
background-color: #0d377b; }
.filters-box {
position: fixed;
bottom: 0.7rem;
right: 25vw;
z-index: 100; }
.filters-box .rounded-button {
margin-right: 0.5rem;
margin-bottom: 0.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 0.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: rgba(255, 255, 255, 0.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, 0.3);
border: 2px solid white; }
.leaflet-osmose-layer::before {
content: '⚡';
transform: rotate(45deg);
color: white;
font-size: 16px;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
padding-left: 1ch; }
#bars_power {
position: absolute;
bottom: -16.7px;
width: 122.4%;
z-index: 10000;
margin: 1rem 0;
height: 0.4rem;
overflow: hidden; }
.osmose-marker-drop:hover .osmose-marker-inner {
animation: bounce 0.5s ease infinite;
background-color: #9F2BFF; }
.osmose-counter {
font-size: 0.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: #ffffff; }
.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: 0.9; }
.action-buttons .edit-button.josm {
background-color: #4CAF50;
color: white; }
#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-right: 0rem;
margin-top: -4.8rem; }
#count_features_fond {
position: fixed;
bottom: 1rem;
right: 1rem;
z-index: 10;
background: white;
padding: 1rem;
border-radius: 8px; }
.search-source-control {
margin: 5px 0;
font-size: 0.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_max_output_slider {
width: 100%;
height: 10px;
background: #ccc;
border-radius: 5px; }
/* Style pour mobile ---------------------------------- */
@media (max-width: 1200px) {
header h1 {
width: 100vw;
font-size: 1.5rem; }
#bars_power {
position: absolute;
top: 59.1vh;
width: 117%; }
#toggleSidePanel {
position: fixed;
top: 0.6rem;
right: 0.6rem;
z-index: 10;
background: #a9a9a9;
padding: 0.2rem 1rem;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
border: 0;
font-size: 2rem; }
body {
/* border: solid 3px blue; */ }
.side-panel-open .side-panel {
position: static;
transform: none;
box-shadow: 0 -2px 5px rgba(0, 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 grey; }
/**
overrides leaflet
*/
.leaflet-left .leaflet-control {
margin-left: 2rem; }
.leaflet-interactive {
border: solid 3px white; }
/* Styles pour les contrôles de couches */
.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; }
@keyframes rainbow-border {
0% {
border-left-color: #ff0000; }
17% {
border-left-color: #ff8000; }
33% {
border-left-color: #ffff00; }
50% {
border-left-color: #00ff00; }
67% {
border-left-color: #0000ff; }
83% {
border-left-color: #8000ff; }
100% {
border-left-color: #ff0000; } }
@keyframes bounce {
0%,
100% {
transform: rotate(-45deg) translateY(0); }
50% {
transform: rotate(-45deg) translateY(-5px); } }
/*# sourceMappingURL=style.css.map */