:root {
    --map-tiles-filter: brightness(0.7) invert(1) contrast(3) hue-rotate(200deg) saturate(0.5) brightness(1);
}

.map-tiles {
    filter:var(--map-tiles-filter);
}

@font-face {
    font-family: "AtkinsonNext";
    src: url("../polices/Atkinson/AtkinsonHyperlegibleNext-VariableFont_wght.ttf");
}

@font-face {
    font-family: "AtkinsonMono";
    src: url("../polices/Atkinson/AtkinsonHyperlegibleMono-VariableFont_wght.ttf");
}

body {
    align-items: center;
    display: flex;
    flex-direction: column;
    background-image: linear-gradient(90deg, var(--l3), var(--p0));
    background-attachment: fixed;
    margin: 10px;
    font-weight: 300;
    font-family: "AtkinsonNext", sans-serif;
    color: var(--blanc);
    font-size: 16px;
}
@media screen and (max-width: 1000px) {
    body {
        background-image: linear-gradient(135deg, var(--l3), var(--p0));
        background-attachment: fixed;
    }
}

div.main {
    width: 100%;
    max-width: 1400px;
}

@media screen and (max-width: 1000px) {
    div.main {
        margin-top: 40px;
    }
}

a {
    text-decoration: underline;
    font-weight: 400;
    color: var(--l11);
    overflow-wrap: break-word;
}

a:hover {
    text-decoration: underline;
}

.main_menu {
    box-sizing: border-box;
    width: 200px;
    padding: 0 5px 5px 5px;
    position: fixed;
    height: 100%;
    overflow: auto;
}

.main_menu a {
    display: block;
    color: var(--blanc);
    border-color: #00000000;
    padding: 5px;
    font-size: 18px;
    text-decoration: none;
    font-weight: 400;
    border-radius: 10px;
    border-width: 1px;
    border-style: solid;
}

.main_menu a.active {
    background-color: var(--l5);
}

.main_menu a:hover:not(.active) {
    background-color: var(--éclaircir_léger);
}

.main_menu_logo {
    width: 100%;
    text-align: center;
    height: 128px;
}

@media screen and (max-width: 1000px) {
    .main_menu_logo {
        height: 96px;
    }
}

.logo {
    height: 100%;
}

.main_menu_button {
    display: none;
}

.main_menu a.close {
    display: none;
}

@media screen and (max-width: 1000px) {
    .main_menu {
        width: 100%;
        height: 100%;
        top: 0;
        left:0;
        padding: 0 25px 25px 25px;
        background-color: var(--noircir);
        backdrop-filter: blur(10px);
        z-index: 1;
        overflow: auto;
    }

    .main_menu:not(:target) {
        display: none;
    }

    .main_menu a {
        text-align: center;
        float: none;
        padding: 10px 0px 10px 0px;
        font-size: 18px;
        border-radius: 5px;
        border-style: solid;
        border-color: var(--noir);
        border-width: 1px;
        background-color: var(--noircir);
        margin-bottom: 5px;
        margin-top: 5px;
        margin-left: auto;
        margin-right: auto;
        max-width: 400px;
    }

    .main_menu a:hover:not(.active) {
        background-color: var(--éclaircir_léger)
    }

    .main_menu a.active {
        background-color: var(--l5);
    }

    .main_menu a.close {
        display: block;
        color: var(--t10);
        margin-bottom: 20px;
    }

    .main_menu_button {
        display: block;
        position: fixed;
        top: 10px;
        left: 2.5%;
        width: 95%;
        padding: 5px 0 5px 0;
        text-align: center;
        float: none;
        font-size: 20px;
        border-radius: 5px;
        background-color: var(--noircir);
        color: var(--blanc);
        z-index: 1;
        text-decoration: none;
    }

    .main_menu_button:hover {
        background-color: var(--l1);
        text-decoration: none;
    }
}

div.content {
    margin-left: 200px;
    padding-left: 5px;
    padding-right: 5px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    border-color: var(--éclaircir_léger);
    border-style: solid;
    border-width: 0 0 0 1px;
}

@media screen and (max-width: 1000px) {
    div.content {
        margin-left: 0;
        border-width: 0 0 0 0;
    }
}

.section_texte {
    text-align: justify;
    padding-left: 10%;
    padding-right: 10%;
    line-height: 1.5;
}

.infos_popover_texte {
    text-align: justify;
    margin-top: 0px;
    color: var(--blanc);
}

@media screen and (max-width: 1000px) {
    .section_texte {
        padding: 2%;
    }
}

.footer {
    margin-top: 10px;
    font-size: 10px;
    text-align: justify;
    border-width: 0px;
}

.boite {
    background-color: var(--noircir_léger);
    border-radius: 5px;
    transition: transform 0.3s;
    padding: 5px;
}

.titre_principal {
    margin-top: 5px;
    margin-bottom: 10px;
    margin-left: 5px;
    margin-right: 5px;
}
@media screen and (max-width: 1000px) {
    .titre_principal {
        margin-left: 0;
        margin-right: 0;
    }
}

h1 {
    color: #FFFFFF;
    margin: 0px;
    padding: 0px 10px 10px 10px;
    font-size: 34px;
    font-weight: 800;
    text-align: center;
}

@media screen and (max-width: 1000px) {
    h1 {
        font-size: 30px;
    }
}
@media screen and (max-width: 600px) {
    h1 {
        font-size: 25px;
    }
}

h2 {
    font-size: 28px;
    color: var(--blanc);
    font-weight: 700;
    margin-top: 25px;
    margin-bottom: 10px;
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    border-color: var(--éclaircir_léger);
}

@media screen and (max-width: 600px) {
    h2 {
        font-size: 20px;
        text-align: center;
    }
}

h3 {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 22px;
    color: var(--blanc);
    font-weight: 700;
}

@media screen and (max-width: 600px) {
    h3 {
        font-size: 18px;
        text-align: center;
    }
}

h4 {
    margin-top: 5px;
    margin-bottom: 2px;
    font-size: 16px;
    color: var(--blanc);
    font-weight: 600;
}

@media screen and (max-width: 600px) {
    h4 {
        font-size: 12px;
        text-align: center;
    }
}

h5 {
    margin: 0px;
    font-size: 14px;
    color: var(--blanc);
    font-weight: 600;
    text-align: center;
}

@media screen and (max-width: 600px) {
    h5 {
        font-size: 10px;
    }
}

.texte_important {
    font-weight: 500;
    color: var(--t10);
}

.infos_importantes {
    font-weight: 800;
    color: var(--t10);
    font-size: 12px;
    border: 0px solid #000000;
    background-color: var(--noircir);
    border-radius: 5px;
}

.infos_importantes:hover {
    background-color: var(--l1);
}

.flash {
    padding: 20px;
    background-color: var(--t10);
    color: var(--l1);
    border-radius: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
    padding: 10px;
}



/* ---------- CARTE ---------- */
.carte {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

#carte {
z-index: 0;
height: 100%;
}

.carte_erreur {
    z-index: 1;
    position: absolute;
    font-size: 20px;
    font-weight: 600;
    background-color: var(--l1);
    color: var(--t10);
    visibility: hidden;
}
.carte_chargement {
    z-index: 1;
    position: absolute;
    font-size: 20px;
    font-weight: 600;
    background-color: var(--l1);
    color: var(--blanc);
    visibility: hidden;
}

.slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 15px;
    background: var(--noircir);
    outline: none;
    opacity: 0.75;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    margin: 0;
    border-radius: 5px;
}

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: var(--blanc);
    cursor: pointer;
    border-radius: 5px;
}

.slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: var(--blanc);
    cursor: pointer;
}

.bouton_temps {
    width: 30px;
    height: 30px;
    appearance: none;
    border-width: 0px;
    border-radius: 5px;
    background-color: var(--noircir);
    color: #FFFFFFAA;
    text-align: center;
}

.bouton_temps:hover {
    background-color: var(--l1);
    color: var(--blanc);
    text-decoration: none;
}

.graph_slider_container {
    margin-top: 10px;
}

.carte_pannes_menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 5px;
    margin-bottom: 10px;
    margin-left: 5px;
    margin-right: 5px;
}

@media screen and (max-width: 1000px) {
    .carte_pannes_menu {
        margin-left: 0;
        margin-right: 0;
    }
}

.carte_pannes_menu>div {
    margin-left: auto;
    margin-right: auto;
    margin-top: 2px;
    margin-bottom: 2px;
    padding: 5px;
    align-content: center;
    align-items: center;
    font-weight: 500;
    font-family: "AtkinsonMono", monospace;
    font-size: 20px;
    display: flex;
}

.carte_pannes_menu>form>label {
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    font-family: "AtkinsonMono", monospace;
    font-size: 20px;
}

@media screen and (max-width: 1000px) {
    .carte_pannes_menu>div {
        font-size: 16px;
    }
}

@media screen and (max-width: 600px) {
    .carte_pannes_menu>div {
        font-size: 13px;
    }
}

span#date_out {
    font-family: "AtkinsonMono", monospace;
    margin-left: 10px;
    margin-right: 10px;
}

span#clients_out {
    color: var(--t9);
}
span#pannes_out {
    color: var(--t10);
}
span#inter_out {
    color: var(--t2);
}



/* ---------- Menus ---------- */
.sous_menu_vertical {
    display: flex;
    flex-direction: column;
}

.date_form {
    padding: 0px;
    margin-left: 5px;
    margin-right: 5px;
    border: 1px dashed var(--éclaircir);
    border-radius: 5px;
    display: flex;
    flex-direction: column;
}

.date_form_submit_button {
    padding: 0px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    border-width: 0;
    background-color: var(--noircir);
    border-radius: 5px;
    font-size: 12px;
    color: var(--éclaircir);
}

.date_form_submit_button:hover {
    background-color: var(--l1);
    color: var(--blanc);
}

.date_select_button {
    border-width: 0;
    font-size: 20px;
    color: var(--blanc);
    background-color: var(--noircir);
    border-radius: 5px;
    margin: 5px;
    padding: 2px;
}

.date_select_button:hover {
    background-color: var(--l1);
}

@media screen and (max-width: 1000px) {
    .date_select_button {
        font-size: 16px;
    }
}
@media screen and (max-width: 600px) {
    .date_select_button {
        font-size: 13px;
    }
}

.mun_select {
    width: 100%;
}

.mun_select_option {
    font-size: 16px;
    color: var(--blanc);
    background-color: var(--noircir);
}

/* Le bouton pour le menu */
.menu_label_button {
    border: 0;
    font-size: 18px;
    color: var(--éclaircir);
    background-color: var(--noircir);
    border-radius: 5px;
    margin-bottom: 2px;
    margin-top: 2px;
    width: 100%;
    max-width: 250px;
    text-align: center;
    padding: 2px;
    display: flex;
    text-decoration:none;
}

.menu_label_button_selected{
    border: 0;
    font-size: 18px;
    color: var(--blanc);
    background-color: var(--l5);
    border-radius: 5px;
    border-style: solid;
    border-color: var(--blanc);
    border-width: 1px;
    margin-bottom: 2px;
    margin-top: 2px;
    width: 100%;
    max-width: 250px;
    text-align: center;
    padding: 2px;
    display: flex;
    text-decoration:none;
}

.menu_label_button:hover {
    background-color: var(--l1);
    text-decoration: none;
    color: #ffffff;
}

.menu_label_button_selected:hover {
    text-decoration: none;
}

@media screen and (max-width: 1000px) {
    .menu_label_button {
        font-size: 16px;
    }
    .menu_label_button_selected {
        font-size: 16px;
    }
}

@media screen and (max-width: 600px) {
    .menu_label_button {
        font-size: 13px;
    }
    .menu_label_button_selected {
        font-size: 13px;
    }
}

.menu_label_button:hover {
    background-color: var(--l1);
    text-decoration: none;
    color: var(--blanc);
}

:popover-open {
    width: 80vw;
    height: 80vh;
    max-width: 400px;
    max-height: 400px;
    padding: 10px;
    border-radius: 2px;
    border-width: 2px;
    border-color: var(--l1);
    box-shadow: 5px 5px 5px var(--noircir);
    background-color: var(--l3);
    font-weight: 300;
    font-family: "AtkinsonNext", sans-serif;
    overflow-y: auto;
}

::backdrop {
    backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, .2);
}

.titre_date_menu_stats_géo {
    color: var(--blanc);
    font-size: 20px;
    font-weight: 500;
}

.stats_géo_date_menu_button {
    border: 0;
    font-size: 20px;
    color: var(--éclaircir);
    background-color: var(--noircir);
    border-radius: 5px;
    margin-bottom: 2px;
    margin-top: 2px;
    padding: 2px;
}

.stats_géo_date_menu_button_selected {
    border-style: solid;
    border-color: var(--blanc);
    border-width: 1px;
    font-size: 20px;
    color: var(--blanc);
    background-color: var(--l5);
    border-radius: 5px;
    margin-bottom: 2px;
    margin-top: 2px;
    padding: 2px;
}

.stats_géo_date_menu_button:hover {
    background-color: var(--l1);
    color: var(--blanc);
}



/* ---------- Stats ---------- */
.ligne_max {
    font-weight: 400;
    margin-top: 2px;
    margin-bottom: 2px;
}
.texte_pic_inter {
    color: var(--t4);
    font-weight: 800;
}
.texte_pic_pannes {
    color: var(--t8);
    font-weight: 800;
}
.texte_max_inter {
    color: var(--t4);
    font-weight: 800;
}
.texte_max_pannes {
    color: var(--t8);
    font-weight: 800;
}
.texte_pic_total {
    color: var(--l12);
    font-weight: 800;
}

.stats_graph {
    height: 400px;
}

.index_grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
}

.index_grid div.complet {
    width: 100%;
    height: 400px;
    position: relative;
}

.index_grid div.demi {
    width: 49%;
    height: 400px;
    position: relative;
    box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
    .index_grid div.demi {
        width: 100%;
    }
}

.leaflet_titre {
    z-index: 1;
    position: absolute;
    text-align: center;
    width: 100%;
    font-size: 12px;
    font-weight: 600;
    color: var(--blanc);
}

.carte_stats {
    z-index: 1;
    position: absolute;
    text-align: right;
    width: 100%;
    font-weight: 600;
}

.carte_stats table {
    border-radius: 5px;
    margin-top: 10px;
    margin-left: 75px;
    background: var(--éclaircir);
}

.graph_stats_géo {
    height: 250px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom:10px;
}

@media screen and (max-width: 1000px) {
    .graph_stats_géo {
        margin-left: 0;
        margin-right: 0;
    }
}


/* ---------- Tableaux ---------- */
.boite_tableau {
    overflow-x: auto;
    margin-left: 5px;
    margin-right: 5px;
}

@media screen and (max-width: 1000px) {
    .boite_tableau {
        margin-left: 0;
        margin-right: 0;
    }
}

table.tableau_complet {
    font-size: 12px;
    text-align: left;
    margin: auto;
    padding: 0px;
    width: 100%;
    font-family: "AtkinsonMono", monospace;
}

table.tableau_complet a {
    font-weight: bold;
    text-decoration: none;
}

table.tableau_complet a:hover {
    text-decoration: none;
}

table.tableau_complet tr:nth-child(1) a.selected {
    color: var(--t9);
}

table.tableau_complet tr:nth-child(1) a {
    color: var(--blanc);
}

table.tableau_complet tr a {
    color: var(--blanc);
}

table.tableau_complet tr:nth-child(even) {
    background-color: var(--noircir_léger);
}

table.tableau_complet tr:nth-child(odd) {
    background-color: var(--éclaircir_léger);
}

table.tableau_complet tr:nth-child(1) td {
    background-color: var(--noircir);
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    border: 1px solid black;
    padding: 5px;
}

:root {
    --blanc:#FFFFFF;
    --éclaircir:#FFFFFFAA;
    --éclaircir_léger:#FFFFFF22;
    --noir:#000000;
    --noircir_léger:#00000022;
    --noircir:#00000077;

    --p0:#5c8ca9;
    --p1:#5ca9a9;
    --p2:#2c594b;
    --p3:#447c71;
    --p4:#93cdc7;
    --p5:#c0ecf1;
    --p6:#ecfffe;

    --l1:#000001;
    --l2:#000208;
    --l3:#00101f;
    --l4:#00293d;
    --l5:#10495e;
    --l6:#1e546a;
    --l7:#366b82;
    --l8:#5c91a9;
    --l9:#7eb4cc;
    --l10:#9dd4ed;
    --l11:#b3ebff;
    --l12:#dffeff;

    --t1:#c2ddf1;
    --t2:#afd5f1;
    --t3:#9ccff1;
    --t4:#89c7f1;
    --t5:#8caff0;
    --t6:#ad92e2;
    --t7:#d78bc9;
    --t8:#e287b8;
    --t9:#ea7ea2;
    --t10:#ee768a;

    --carte_i:#0087ee;
    --carte_p:#ee2023;
}
