/* note for the future dev, the server take everytrhging in cache so dont put anything in test or ur fucked */
/* Variables */
  :root {
    /* Navbar */
    --couleur-navbar: #e4e4e4;
    --hauteur-navbar: 90px;
    --alignement-navbar: 90px;

    /* LOGO */
    --taille-nom-logo: 19px;
    --couleur-nom-logo: black;
    --image-logo: url("/public/images/blason.png");
    --taille-logo: 50px;

    /* Elements principaux Navbar */
    --couleur-elements-principaux-navbar: black;
    --taille-elements-principaux-navbar: 15px;
    --gras-elements-principaux-navbar: 500;
    --couleur-hover-element-principaux: #448ccc;

    /* Sous menu Navbar */
    --couleur-background-submenu: #e8e4e4;
    --couleur-elements-submenu: black;
    --taille-elements-submenu: 15px;
    --gras-elements-submenu: 500;
    --couleur-hover-element-submenu: rgba(0, 0, 0, 0.3);

    /* Menu hamburger Navbar */
    --couleur-menu-hamburger: #e4e4e4;
    --espacement-elements-menu-hamburger: 40px;
    --taille-bouton-menu-hamburger: 25px;
    --couleur-bouton-menu-hamburger: black;
  }

  /* On sélectionne toute la page */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  /* On sélectionne le body */
  body {
    min-height: 100vh;
  }

  /* On sélectionne l'élement "nav" */
  nav {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: var(--hauteur-navbar);
    background: var(--couleur-navbar);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    /* On applique une ombre */
    z-index: 99;
  }

  /* On sélectionne la navbar */
  nav .navbar {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    /* On aligne les items au centre */
    justify-content: space-between;
    /* On met un espace égal entre les items */
    margin: auto;
    padding: 0 50px;
    padding-right: 100px;
    user-select: none;
    /* Désactive la séléction */
  }

  /* LOGO */
  /* On sélectionne le titre + l'image du logo */
  .right-logo {
    display: flex;
    align-items: center;
    margin-left: -30px;
  }

  /* On sélectionne le titre du logo */
  .navbar .logo a {
    font-size: var(--taille-nom-logo);
    color: var(--couleur-nom-logo);
    text-decoration: none;
    font-weight: 600;
  }

  /* On sélectionne l'image du logo */
  .navbar .img-logo {
    content: var(--image-logo);
    width: var(--taille-logo);
    margin-right: 10px;
  }

  /* NAVBAR */
  /* Toute la navbar sans logo */
  nav .navbar .nav-links {
    line-height: var(--alignement-navbar);
    height: 100%;
    /* Hauteur */
  }

  /* Liens de la navbar */
  .navbar .links {
    display: flex;
  }

  /* Tout les "li" de la navbar */
  nav .navbar .links li {
    position: relative;
    padding: 0 14px;
  }

  nav .navbar .links li ul li:hover {
    background-color: var(--couleur-hover-element-submenu);
  }

  /* Tout les liens dans les "li" de la navbar */
  nav .navbar .links li a {
    text-decoration: none;
    white-space: nowrap;
    color: var(--couleur-elements-principaux-navbar);
    font-size: var(--taille-elements-principaux-navbar);
    font-weight: var(--gras-elements-principaux-navbar);
  }

  /* Animation flèche éléments principaux navbar */
  .links li:hover .htmlcss-arrow,
  .links li:hover .js-arrow1,
  .links li:hover .js-arrow2,
  .links li:hover .js-arrow3 {
    transform: rotate(180deg);
  }

  /* Flèche des éléments principaux navbar */
  nav .navbar .links li .arrow {
    width: 22px;
    text-align: center;
    color: var(--couleur-elements-principaux-navbar);
    transition: all 0.3s ease;
  }

  /* Sous menu */
  nav .navbar .links li .sub-menu,
  nav .navbar .links li .sub-menu2,
  nav .navbar .links li .sub-menu3 {
    position: absolute;
    top: 70px;
    left: 0;
    line-height: 40px;
    background: var(--couleur-background-submenu);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    border-radius: 0 0 4px 4px;
    display: none;
    /* Cache le block */
    z-index: 2;
  }

  /* Au passage de la souris sur un des éléments ci-dessous, affiche le block */
  nav .navbar .links li:hover .htmlCss-sub-menu,
  nav .navbar .links li:hover .htmlCss-sub-menu2,
  nav .navbar .links li:hover .htmlCss-sub-menu3,
  nav .navbar .links li:hover .js-sub-menu,
  nav .navbar .links li:hover .js-sub-menu2,
  nav .navbar .links li:hover .js-sub-menu3 {
    display: block;
  }

  /* Ligne de séparation entre les éléments du submenu */
  .navbar .links li .sub-menu li,
  .navbar .links li .sub-menu2 li,
  .navbar .links li .sub-menu3 li {
    padding: 0 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  /* Style des éléments dans le sous menu */
  .navbar .links li .sub-menu a,
  .navbar .links li .sub-menu2 a,
  .navbar .links li .sub-menu3 a {
    color: var(--couleur-elements-submenu);
    font-size: var(--taille-elements-submenu);
    font-weight: var(--gras-elements-submenu);
  }

  /* Style de la flèche du sous sous menu */
  .navbar .links li .sub-menu .more-arrow,
  .navbar .links li .sub-menu2 .more-arrow,
  .navbar .links li .sub-menu3 .more-arrow {
    line-height: 40px;
  }

  /* Sous sous menu */
  .navbar .links li .sub-menu .more-sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    border-radius: 0 4px 4px 4px;
    z-index: 1;
    display: none;
    /* Cache le sous sous menu */
  }

  /* Au passage de la souris dessus, affiche le sous sous menu */
  .links li .sub-menu .more:hover .more-sub-menu {
    display: block;
  }

  /* Cache le bouton du menu hamburger ainsi que la croix de fermeture */
  .navbar .nav-links .sidebar-logo,
  .navbar .bx-menu {
    display: none;
  }

  ul {
    list-style: none;
  }

  @media (max-width: 1433px) {
    /* On sélectionne le titre du logo */
    .navbar .logo a {
      font-size: 17px;
    }
  }
  @media (max-width: 1409px) {
    /* On sélectionne le titre du logo */
    nav .navbar {
      padding-right: 0;
    }
  }
  @media (max-width: 1309px) {
    /* On sélectionne le titre du logo */
    nav .navbar .links li {
      padding: 0 9px;
    }
  }
  /* Si l'écran est inférieure à 1219 pixel */
  @media (max-width:1219px) {

    /* Affiche le bouton hamburger */
    .navbar .bx-menu {
      display: block;
    }

    /* Modifie les elements principaux de la navbar */
    nav .navbar .nav-links {
      position: fixed;
      top: 0;
      left: -100%;
      display: block;
      max-width: 270px;
      width: 100%;
      background: var(--couleur-menu-hamburger);
      line-height: var(--espacement-elements-menu-hamburger);
      padding: 20px;
      box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
      transition: all 0.5s ease;
      z-index: 1000;
    }

    /* aligne le nom + titre du logo au centre */
    .right-logo {
      margin-right: auto;
      margin-left: auto;
    }

    /* Affiche la croix de fermeture */
    .navbar .nav-links .sidebar-logo {
      display: flex;
    }

    /* Style des boutons du menu hamburger */
    .sidebar-logo i,
    .navbar .bx-menu {
      font-size: var(--taille-bouton-menu-hamburger);
      color: var(--couleur-bouton-menu-hamburger);
    }

    /* Affiche les éléments du menu hamburger les un en dessous des autres */
    nav .navbar .links {
      display: block;
      margin-top: 20px;
    }

    /* Espacement entre les flèches */
    nav .navbar .links li .arrow {
      line-height: 40px;
    }

    /* Affiche les sous menu */
    nav .navbar .links li {
      display: block;
    }

    /* Style des sous menus */
    nav .navbar .links li .sub-menu {
      position: relative;
      top: 0;
      box-shadow: none;
      display: none;
    }

    /* Supprime les lignes entre les éléments des sous menusdans le menu hamburger*/
    nav .navbar .links li .sub-menu li {
      border-bottom: none;
    }

    /* Cache les éléments du sous menu ainsi que du sous sous menu */
    .navbar .links li .sub-menu .more-sub-menu {
      display: none;
      position: relative;
      left: 0;
    }

    /* Éléments du sous sous menu */
    .navbar .links li .sub-menu .more-sub-menu li {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    /* Fais tourner les flèches lors du clic */
    .links li:hover .htmlcss-arrow,
    .links li:hover .js-arrow1,
    .links li:hover .js-arrow2,
    .links li:hover .js-arrow3 {
      transform: rotate(0deg);
    }

    /* Cache les éléments au clic du sous sous menu dans le menu hamburger */
    .links li .sub-menu .more:hover .more-sub-menu {
      display: none;
    }

    /* Cache les éléments au clic du sous menu dans le menu hamburger */
    nav .navbar .links li:hover .htmlCss-sub-menu,
    nav .navbar .links li:hover .js-sub-menu,
    nav .navbar .links li:hover .js-sub-menu2,
    nav .navbar .links li:hover .js-sub-menu3 {
      display: none;
    }

    /* Affiche les éléments au clic dans le menu hamburger */
    .navbar .nav-links.show1 .links .htmlCss-sub-menu,
    .navbar .nav-links.show3 .links .js-sub-menu,
    .navbar .nav-links.show4 .links .js-sub-menu2,
    .navbar .nav-links.show5 .links .js-sub-menu3,
    .navbar .nav-links.show2 .links .more .more-sub-menu {
      display: block;
    }

    /* Lors de l'affichage du "Conseil Municipal", augmente la taille de la navbar */
    nav .navbar .nav-links.show5 {
      max-width: 340px;
    }

    /* Anime les flèches dans le menu hamburger */
    .navbar .nav-links.show1 .links .htmlcss-arrow,
    .navbar .nav-links.show3 .links .js-arrow1,
    .navbar .nav-links.show4 .links .js-arrow2,
    .navbar .nav-links.show5 .links .js-arrow3 {
      transform: rotate(180deg);
    }

    /* Anime la flèche du sous sous menu dans le menu hamburger */
    .navbar .nav-links.show2 .links .more-arrow {
      transform: rotate(90deg);
    }

    nav .navbar .links li .active {
      color: #448ccc;
    }
  }

  /* Animation au dessus de 1219 */
  @media (min-width: 1219px) {
    .hover-effect:not(.active):after {
      /* Animation au survolage de la souris */
      content: "";
      position: absolute;
      background-color: var(--couleur-hover-element-principaux);
      height: 2px;
      width: 0;
      left: 0;
      top: -10;
      bottom: 25px;
      transition: 0.2s;
    }

    .hover-effect:not(.active):hover:after {
      /* Animation au survolage de la souris */
      width: 100%;
    }

    nav .navbar .links li .active {
      color: #448ccc;
      border-bottom: 3px solid #448ccc;
      padding-bottom: 8.5px;
    }

  }

  /* Réduit le titre et le logo si l'écran est inférieure à 472px*/
  @media (max-width:472px) {
    nav .navbar {
      padding-right: 0px;
    }
  }

  @media (max-width: 345px) {
    nav .navbar {
      padding: 0px 25px;
    }
  }

  @media (max-width: 251px) {
    .navbar .logo a {
      font-size: 4vw;
    }

    .navbar .img-logo {
      display: none;
    }
  }