.side {
    grid-area: 2 / 1 / 4 / 2;
    padding: 1rem;

    overflow: auto;

    display: flex;
    flex-direction: column;
    justify-content: stretch;

    background-image: url(../img/fond.svg);
    background-repeat: no-repeat;
    background-size: 500%;
}

/* small grid on mobile and map on top */
@media(max-width:1000px) {
    .side {
        grid-area: 3 / 1 / 4 / 3;       
        scrollbar-color: #f190a5 #e9edf2dd; /* color on scrollbar to be "more visible" */
    }
}

.side-card {
    flex-grow: 1;
    display: flex;
    flex-direction: column;

    background-color: #e9edf2dd;
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
    padding: 1rem 1.25rem;
}

/* smaller font */
#personal-geojson {
    font-size: 10px;
    max-width: 100%;
}

@media(max-width:1000px) {
    #import-geojson {
        display: none;
    }
}

/* small text with id */
small {
    font-size: .75em;
}

.geocoding-wrapper {
    position: relative;
}

.geocoding {
    width: 100%;
}

.geocoding-results {
    position: absolute;
    left: 0;
    right: 0;
}

.config {
    margin-top: 1rem;
}

.map-wrapper {
    grid-area: 2 / 2 / 4 / 3;
    position: relative;
}

/* mobile : map on top */
@media(max-width:1000px) {
    .map-wrapper {
        grid-area: 2 / 1 / 3 / 3;
        /* TODO change this value if side menu content change */
        /*min-height: 400px;*/
        padding-top: 100px;
    }
}

.map-padding {
    position: absolute;
    inset: 0;
    top: 1rem;
  }
  @media(max-width:1000px) {
    .map-padding {
        /* more space because of the header menu when map on top */
      top: 2rem;
    }
  }
  
  .map {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

.legend {
    position: absolute;
    left: 10px;
    top: 10px;
    padding: 1rem 1.25rem;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    background-color: white;
    opacity: 1;
    z-index: 2;
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
}

@media(max-width:1000px) {
    .legend {
        padding: 0.75rem 0.75rem;
    }
}

.filtered .legend-key {
    opacity: 0.5;
    border: 1px solid black;
}

/* legend color selected by user*/
.filtered .legend-key.current {
    opacity: 1;
    border: 3px solid black;
}

.legend-key {
    display: inline-block;
    width: 3.5em;
    height: 1.2em;
    margin-right: 0.5em;
    border: 1px solid black;
    vertical-align: middle;
    cursor: pointer;
}

.legend-point-key {
    display: inline-block;
    border-radius: 50%;
    width: 0.7em;
    height: 0.7em;
    margin-right: 0.5em;
    border: 1px solid black;
    vertical-align: middle;
    cursor: pointer;
}

.legend-heatmap-key {
    display: inline-block;
    width: 6em;
    height: 1em;
    margin-right: 0.5em;
    border: 1px solid black;
    vertical-align: middle;
}

.legend-point-geoloc-quality {
    display: inline-block;
    border-radius: 1rem; 
    width: 0.75em;
    height: 0.75em;
    border: 0.5px solid black;
}

@media(max-width:1000px) {
    .legend-key {
        width: 2em;
    }
}

.legend-hatch-na {
    display: inline-block;
    width: 3.5em;
    height: 1.2em;
    margin-right: 0.5em;
    margin-left: 2em;
    border: 1px solid black;
    vertical-align: middle;
}

@media(max-width:1000px) {
    .legend-hatch-na {
        display: none;
        /*width: 2.5em;
        margin-left: 1em;*/
    }
}

.legend-text {
    display: inline-block;
    /* = width + margin of legend-key */
    width: 4em;
    /* center text, AND center block */
    text-align: center;
    /* TODO Why 40 and not 50%? Don'y know but seems to work ! */
    transform: translate(40%);
}

@media(max-width:1000px) {
    .legend-text {
        /* = width + margin of legend-key */
        width: 2.5em;
    }
}

.legend-text-hatch-na {
    display: inline-block;
    /* TODO explain why this value ? */
    width: 8.6em;
    text-align: center;
    /* TODO Why 40 and not 50%? Don'y know but seems to work ! */
    transform: translate(40%);
}

@media(max-width:1000px) {
    .legend-text-hatch-na {
        /* TODO explain why this value ? */
        /*width: 5.9em;*/             
        display: none;
    }
}

.maplibregl-popup {
    max-width: 400px;
}

.maplibregl-marker {
    cursor: pointer;
}

.maplibregl-ctrl.maplibregl-ctrl-attrib {
    background-color: white;
}

#downloadCSVButton {
    margin: 0 5px;
}

#downloadGeojsonButton {
    margin: 0 5px;
}

.dataDetails {
    position: absolute;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
    background-color: white;
    opacity: 1;
    z-index: 10;
    bottom: 70px;
    left: 10px;
}

.aggregationDetails {
    padding: 0.25rem;
    border-radius: 1rem;
    border: 0.15000000596046448px solid #999;
    margin: 5px 1px;
    padding: 5px 5px;
}

@media(max-width:1000px) {
    .dataDetails {     
        padding: 0.5rem 0.5rem; 
        font-size: 0.75em;
        bottom: 50px;
    }
}

.navigationButtons {
    position: absolute;
    padding: 0.5rem 0.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    background-color: white;
    opacity: 1;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
    text-align: center;
}

/* hide navigation buttons on small screens */
@media(max-width:1200px) {
    .navigationButtons {
        visibility: hidden;
    }
}

#advanced-configuration-area {
    background-color: #C0DDFB;
    /* color on background */
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
    padding: 0.5rem 0.75rem;
}

.info-round-button {
    display: inline-block;
    height: 20px;
    width: 20px;
    background: #ffc300;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    text-align: center;
}

#share-button {
    display: inline-flex;
    justify-content: center;
    height: 40px;
    width: 40px;
    background: #ffc300;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    text-align: center;
    align-items: center;
}

#dialog-share {
    text-align: center;
}

.definition {
    text-align: center;
}

dialog::backdrop {
    background: #fff5;
    backdrop-filter: blur(4px);
}

#definition-dialog {
    max-width: 500px;
}

#dialog-definition-geolocalisation {
    max-width: 500px;
}

.maplibregl-popup-content {
    padding: 1.25rem 0.75rem 1rem 1rem;
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
    background-color: white;
}

.maplibregl-popup-close-button {
    font-size: 20px;
    padding: 0.25rem 0.75rem 0rem 0rem;
}

/* disabled : merged with data details
  .zoomLevel {
    position: absolute;
    padding: 0.5rem 1.25rem;
    border-radius: 1rem;
    box-shadow: 0 3px 15px #00000029;
    background-color: white;
    line-height: 18px;
    opacity: 1;
    z-index: 1;
    left: 50%;
    top: 10px;
    transform: translateX(-50%);
  }
  
  @media(max-width:1000px) {
    .zoomLevel {
      visibility: hidden;
    }
  }*/