* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
  }
  
  html {
    overflow-x: hidden;
    scroll-behavior: smooth;
  }

  @media screen and (max-width: 600px) {
    html {
      font-size: 10px;
    }
  }

  @media screen and (max-width: 1200px) and (min-width:600px) {
    html {
      font-size: 15px;
    }
  }

/* ----------------- Classes Globales ----------------- */

body {
    background-color: #d7ffef;
    font-family: 'Bodoni Moda', serif;
    opacity: 0;
    font-weight: 600;
    transition: opacity .5s;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

p {
    color: rgb(0, 0, 0);
    font-size: 1.5rem;
}

h1 {
  color: rgb(0, 0, 0);
  font-size: 2.5em;
}

.dark-h1 {
  color: #0f0f0f;
  font-size: 2.5em;
  margin-right: 10px;
}

h2 {
  color: rgb(241, 241, 241);
  font-size: 2em;
  font-weight: 700;
}

.dark-h2 {
  color: #0f0f0f;
  font-size: 2em;
  font-weight: 700;
}

.darkp {
  color: #0f0f0f;
}

i {
  color : #0f0f0f;
  margin-right: 10px;
}

.container{
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 4em;
  align-items: center;
  width: 100%;
  height: auto;
  background-color: #d7ffef;
  padding-top: 50px;
}

@media screen and (max-width: 600px) {
  .container {
    padding: 0em;
  }
}

@media screen and (max-width: 1200px) and (min-width:600px) {
  .container {
    padding: 0em;
  }
}


.paragraphe {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: start;
  text-align: justify;
  color: rgb(241, 241, 241);
  padding-right: 20px;
}


.container_ligne {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 2rem;
  width: 80%;
}

.container_colonne {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

@media screen and (max-width: 1000px) {
  .container_ligne {
    gap: 1em;
  }

  .container_colonne {
    gap: 1em;
  }
}


/* ----------------- Navbar ----------------- */

.evenements {
  display: flex;
  width: 100%;
  top: 0;
  height: 3rem;
  background-color:#d7ffef;
  color: rgb(241, 241, 241);
  justify-content: center;
  align-items: center;
}

.evenements a{
  text-decoration: none;
  color: #90de96;
  transition: color 0.1s;
}

nav {
  top: 0;
  position: sticky;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color:#90de96;
  color: #0f0f0f;
  padding-inline: 5%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  height: 6rem;
  transition: background-color 0.2s;
  max-height: 6rem;
  z-index: 5;
}
  
.start {
  display: flex;
  align-items: center;
  text-decoration: none;
}

nav ul {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  list-style: none;
}

nav ul li {
  display: block;
}

nav ul li a {
  display: block;
  text-decoration: none;
  color: #0f0f0f;
  transition: background-color 0.2s ;
  transition: text-decoration 0.2s;
  padding: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  max-height: 6rem;
  overflow: hidden;
}

nav ul li a::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 75%;
  transform: translate(-75%,-50%);
  z-index: -1;
  transition: all 0.6s ease;
}

/* Burgerrrrrr */

.burger {
  display: none;
  align-items: center;
  font-size: 1.5rem;
  list-style: none;
  background-color: #90de96;
  border-block: 1px solid #0f0f0f;
  position: fixed;
  transform-origin: center;
  width: 100%;
  top: 9rem;
  z-index: 5;
}

.burger li {
  display: block;
}

.burger li a {
  display: block;
  text-decoration: none;
  color: #000000;
  transition: background-color 0.2s ;
  transition: text-decoration 0.2s;
  padding: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  max-height: 6rem;
  overflow: hidden;
  padding-left: 4rem;
}

#boutburger {
  display: none;
  font-size: 2rem;
}

@media screen and (max-width: 1000px) {

.firstnav {
  display: none;
}

#boutburger {
  display: inline-block;
}

#boutburger:hover {
  display: inline-block;
  cursor: pointer;
}

nav .burger {
  display: flex;
}
  
}

/* Changement couleur */

.navac:hover {
  text-decoration: underline;
  transition: background-color 0.2s ;
  transition: text-decoration 0.2s;
  max-height: 6rem;
  overflow: hidden;
  cursor: pointer;
}

.navac::before{
  width: 0%;
  height: 100%;
  background: #90de96;
}

.navac:hover::before{
  width: 100%;
}

.navplan:hover {
  transition: background-color 0.2s ;
  transition: text-decoration 0.2s;
  text-decoration: underline;
  max-height: 6rem;
  overflow: hidden;
  cursor: pointer;
}

.navplan::before{
  width: 0%;
  height: 100%;
  background: #90de96;
}

.navplan:hover::before{
  width: 100%;
}

.navtrombi:hover {
  transition: background-color 0.2s ;
  transition: text-decoration 0.2s;
  text-decoration: underline;
  overflow: hidden;
  cursor: pointer;
}

.navtrombi::before{
  width: 0%;
  height: 100%;
  background: #90de96;
}

.navtrombi:hover::before{
  width: 100%;
}

.navvids:hover {
  transition: background-color 0.2s ;
  transition: text-decoration 0.2s;
  text-decoration: underline;
  overflow: hidden;
  cursor: pointer;
}

.navvids::before{
  width: 0%;
  height: 100%;
  background: #F00290;
}

.navvids:hover::before{
  width: 100%;
}

.navallos:hover {
  transition: background-color 0.2s;
  transition: text-decoration 0.2s;
  text-decoration: underline;
  overflow: hidden;
  cursor: pointer;
}

.navallos::before{
  width: 0%;
  height: 100%;
  background: #06C5C0;
}

.navallos:hover::before{
  width: 100%;
}

/* ----------------- Accueil ----------------- */

#image_menu {
  top: 0;
  background-image: "image/soiree2.jpg";
  background-position: top;
  background-size: cover;
  width: 100%;
  max-height: 20%;
  overflow: hidden;
  position: sticky;
  z-index: -2;
}

.container_logo {
  width: 50%;
  justify-content: center;
}

#ecranassombri{
  content: "";
  width: 100%;
  height: 100%;
  background-color: #d7ffef;
  opacity: 0.5;
  position: fixed;
  top: 0;
  z-index: 1000;
  display: none;
}

.container h1 {
  color: #6fab74;
  font-size: 2.5em;
}

.paragraphe b{
  color: #90de96;
}

.paragraphe ul li i{
  color: rgb(241, 241, 241);

}

@media screen and (max-width: 1000px) {
  #presentation {
    flex-direction: column;
  }
}

.picto-item {
  position: relative; 
  cursor: help;
  border-radius: 50%;
}

.picto-item:hover:after,
.picto-item:focus:after {
  content: attr(aria-label);
  position: absolute;
  bottom: 3.5em;
  left: 50%;
	transform: translateX(-50%); 
  z-index: 1;
  padding: 5px 14px;
  background: rgba(254, 141, 0);
  color: #0f0f0f;
  border-radius: 4px;
  font-size: 1.2rem;
  width: 10em;
}

[aria-label]:hover:before,
[aria-label]:focus:before {
  content: "▼";
  position: absolute;
  top: -1em;
	left: 50%;
	transform: translateX(-50%);
  font-size: 20px;
  color: #90de96;
}

[aria-label]:focus {
  outline: none;
}

.picto-item {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 .2em;
  width: 1.2em;
  height: 1.2em;
  color: #FE8D00;
  background: #d7ffef;
  font-size: 3rem;
  text-align: center;
  text-decoration: none;
  border: 0px;
}

.picto-item i{
  color: #FE8D00;
}

#container_killer {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

.listepersonne{
  display: flex;
  width: 100%;
  color: rgb(241, 241, 241);
}

.listepersonne ul{
  columns:auto 15em;
  max-height: 30em;
}

.mort {
  color: rgb(146, 146, 146);
  text-decoration: line-through;
}

@media screen and (max-width: 1200px) {
  .listepersonne ul{
    columns:4 11em;
    max-height: none;
  }
}

@media screen and (max-width: 900px) {
  .listepersonne ul{
    columns:3 10.1em;
    max-height: none;
  }
}

@media screen and (max-width: 1400px) {
  .listepersonne ul{
    columns:3 10.1em;
    max-height: none;
  }
}

.container_vainqueur {
  display: flex;
  align-items:start;
  justify-content: center;
  padding-block: 4rem;
  width: 100%;
  height: 200vh;
  background-color: #0f0f0f;
}

.annonce_vainqueur {
  position: sticky;
  flex-direction: column;
  top: 25vh;
  justify-content: center;
  align-items: center;
  display: flex;
  width: 100%;
}

.transi_photo {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 30rem;  
  gap: 3rem;
}

/* ----------------- Planning ----------------- */
.container_plan {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-top: 8em;
  gap: 2rem;
  align-items: center;
  width: 100%;
  height: auto;
  background-color: #d7ffef;
  padding-bottom: 10em;
}

.corps {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 25em;
  height: 40em;
  background-color: #90de96;
  border-radius: 3em;
}

.defilprog {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.defilprog img{
  width: 100%;
  border-radius: 1em;
}

.defilprog div{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.defilprog h2 {
  padding-bottom: 2em;
  color: #0f0f0f;
  font-size: 1.75em;
}

#boutgauche {
  margin-right: 1em;
  height: 100%;
  width: 15%;
  background-color: transparent;
  border-color: transparent;
  border-radius: 10em 0px 0px 10em;
  transition: background-color 0.2s;
}

#boutgauche:hover {
  margin-right: 1em;
  height: 100%;
  width: 15%;
  background-color: rgba(0,0,0,0.1);
  border-color: transparent;
  filter: brightness(0.5);
  border-radius: 10em 0px 0px 10em;
  transition: background-color 0.2s;
  cursor: pointer;
}

#boutdroite {
  margin-left: 1em;
  height: 100%;
  width: 15%;
  background-color: transparent;
  border-color: transparent;
  border-radius: 0px 10em 10em 0px;
  transition: background-color 0.2s;
}

#boutdroite:hover {
  margin-left: 1em;
  height: 100%;
  width: 15%;
  background-color: rgba(0,0,0,0.1);
  border-color: transparent;
  border-radius: 0px 10em 10em 0px;
  transition: background-color 0.2s;
  cursor: pointer;
}

/* ----------------- Trombinoscope ----------------- */

.trombo{
  display: grid;
  align-self: center;
  align-items: center;
  align-content: space-evenly;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  max-width: 50%;
}

.photo-trombi {
  align-self: center;
  position: relative;
  width: 100%;
  max-height: 270px;
  padding: 10px 10px 10px 10px;
  z-index: 1;

}

.overlay{
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  justify-items: center;
  text-align: center;
  display: none;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
}



.photo-trombi:hover img{
  position: relative;
  width: 100%;
  filter: brightness(0.4);
  transition: filter 0.3s; 
}

.photo-trombi:hover .overlay{
  display: flex;
  width: 100%;
  height: 100%;
  color: white;
  transition: 0.3s;
}




.container_trombi {
  display: none;
  justify-content: center;
  flex-direction: row;
  padding: 10em;
  gap: 2em;
  align-items: center;
  width: 100%;
  height: auto;
  background-color: #d7ffef;
}

.lignes_trombi {
  display: flex;
  justify-content: center;
  flex-direction: row;
  background-color: #90de96;
  padding: 1em;
  gap: 1em;
  border-radius: 1em;
}

.colonnes_trombi {
  display: flex;
  justify-content: center;
  flex-direction: column;
  background-color: #90de96;
  border-radius: 1em;
  margin-block: 1em;
}

.lignes_trombi img{
  max-width: 20em;
  min-width: 20em;
  width: 100%;
  border-radius: 1em;
  background-color: #0f0f0f;
  transition: filter 0.2s;
}

.lignes_trombi img:hover{
  max-width: 20em;
  min-width: 20em;
  width: 100%;
  border-radius: 1em;
  filter: brightness(0.5);
  transition: filter 0.2s;
}

@media screen and (max-width: 1800px) {
  .lignes_trombi img{
    max-width: 15em;
    min-width: 15em;
    width: 100%;
    border-radius: 0.5em;
  }

  .lignes_trombi img:hover{
    max-width: 15em;
    min-width: 15em;
    width: 100%;
    border-radius: 0.5em;
    filter: brightness(0.5);
  }
}

@media screen and (max-width: 1400px) {
  .container_trombi {
    padding: 4em;
    gap: 1em;
  }

  .lignes_trombi {
    padding: 0.5em;
    gap: 0.5em;
    border-radius: 0.5em;
  }

  .colonnes_trombi {
    border-radius: 0.5em;
    margin-block: 0.5em;
  }

  .lignes_trombi img{
    max-width: 10em;
    min-width: 10em;
    width: 100%;
    border-radius: 0.5em;
  }
  
  .lignes_trombi img:hover{
    max-width: 10em;
    min-width: 10em;
    width: 100%;
    border-radius: 0.5em;
    filter: brightness(0.5);
  }
}

@media screen and (max-width:900px) {
  #cont_ligne,#ligne_tromb {
    flex-direction: column;
  }

  #cont_col {
    flex-direction: row;
  }

  #cont_ligne {
    gap: 0.5em;
  }

  #gap_ligne {
    padding-bottom: 0em;
  }

}

.infos {
  display: none;
  position: fixed;
  align-items: center;
  justify-content: center;
  background-color: #0f0f0f;
  top: 20rem;
  width: 25em;
  height: 25em;
  padding: 2rem;
  padding-top: 1rem;
  padding-right: 1rem;
  border-radius: 15px;
  border: 1px solid #90de96;
  z-index: 2000;
}

.boutonclose {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  width: 4rem;
  height: 4rem;
  text-decoration: none;
  border: none;
  background-color: #0f0f0f;
  color: rgb(241, 241, 241);
  transition: #0f0f0f 0.2s ease-in-out;
  cursor: pointer;
  border-radius:50%;
}

.boutonclose:hover {
  background: rgba(240, 240, 240,0.25);
}

.apropos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
}

.infos a{
  text-decoration: none;
  color: #90de96;
  font-style: bold;
}

.description {
  display: flex;
  flex-direction: column;
  font-size: 1.5em;
  color:rgb(241, 241, 241);
  gap: 1rem;
  justify-content: space-between;
}

.description i{
  color: #90de96;
  font-size: 1.25rem;
}

.description h2{
  padding-top: 2rem;
  font-size: 2rem;
}

/* ----------------- Videos ----------------- */

.container_video {
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  gap: 5em;
  padding-block: 5em;
}

.video {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;

}

/* ----------------- Carrousel ----------------- */

.container_carrousel {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2em;
  width: 100%;
  height: auto;
  padding-top: 5em;
  padding-bottom: 5em;
}

.carrousel {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  align-items: center;
  justify-items: center;
  width: 100%;
}

.slide {
  display: flex;
  flex-direction: column;
  background-color: #d7ffef;
  border-radius: 0%;
  border: solid 2px #90de96;
  justify-content: center;
  text-align: center;
  align-items: center;
  padding: 20px;
  margin: 20px;
  width: 70%;
  height: 70%;
}

.indicateur_nonvege {
  display: flex;
  font-size: 12px;
  border-radius: 0%;
  justify-content: center;
  text-align: center;
  align-items: center;
  padding-bottom: 20px;
  margin: 0px;
  width: 70%;
  height: 70%;
  font-weight: bold;
  
}

.indicateur_vege {
  display: flex;
  font-size: 12px;
  border-radius: 0%;
  justify-content: center;
  text-align: center;
  align-items: center;
  padding-bottom: 20px;
  margin: 0px;
  height: 20%;
  font-weight: bold;
  position: absolute;
  top: 20%;
}

/* ----------------- Allos ----------------- */

.container_allos {
  width: 100%;
  display: none;
}

.container_allos img {
  width: 100%;
}

/* ----------------- Bas de page ----------------- */

.baspage {
  display: flex;
  flex-direction: row;
  justify-content:space-between ;
  align-items: center;
  width: 100%;
  height: auto;
  background-color: #90de96;
  padding-inline: 5%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  transition: background-color 0.5s;
  bottom: 0;
  z-index: 2;
}

.baspage .liens {
  font-size: 2em;
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
}

.baspage .liens a{
  text-decoration: none;
  color: #0f0f0f;
}

#logobaspage {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 15rem;
}

#mcflycarlito{
  width: 10rem;
}

#mcflycarlito:hover {
  width: 10rem;
  cursor: pointer;
}

.shotout{
  width: 100%;
  height: 2em;
  color: rgb(241, 241, 241);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #d7ffef;
  z-index: 2;
}

.shotout p{
  font-size: 1em;
}

.shotout b{
  color: #6fab74;
}

