@charset "UTF-8";

/* Style par défaut pour les grands écrans */
@font-face {
  font-style: normal;
  font-weight: normal;
  font-family: "Compagnon";
  src: url("../fonts/Compagnon-Roman.woff") format("woff");
}
body {
  margin: 0;
  padding: 0;
}

.background {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: -1;
  background-image: url("../images/Desktop-min.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Conteneur pour les images flottantes */
.floating-images {
  position: relative;
  z-index: 2; /* Place les images au-dessus du fond */
}

/* Style des images flottantes */
.floating-image {
  pointer-events: none;
  z-index: 2;
  position: fixed; /* Les images restent fixes lors du scroll */
  animation: float 4s ease-in-out infinite; /* Animation de mouvement */
  width: 150px; /* Ajustez la taille des images */
}

/* Positionnement initial des images */
.floating-image:nth-child(1) {
  top: 30%;
  right: 15%;
  animation-delay: 0s; /* Pas de délai pour la première image */
}

.floating-image:nth-child(2) {
  top: 10%;
  right: 30%;
  animation-delay: 0.5s;
}

.floating-image:nth-child(3) {
  top: 29%;
  left: 25%;
  animation-delay: 1s;
}

.floating-image:nth-child(4) {
  top: 50%;
  left: 3%;
  animation-delay: 1.5s;
}

.floating-image:nth-child(5) {
  top: 39%;
  left: 25%;
  animation-delay: 2s;
}

.floating-image:nth-child(6) {
  top: 52%;
  left: 45%;
  animation-delay: 2.5s;
}

.floating-image:nth-child(7) {
  bottom: 22%;
  left: 50%;
  animation-delay: 3s;
}

.floating-image:nth-child(8) {
  bottom: 12%;
  right: 12%;
  animation-delay: 1s; /* Délai de 1 seconde pour la huitième image */
}

.floating-image:nth-child(9) {
  bottom: 23%;
  left: 35%;
  animation-delay: 3.5s;
}

.floating-image:nth-child(10) {
  top: 38%;
  left: 10%;
  animation-delay: 4s;
}

.floating-image:nth-child(11) {
  top: 15%;
  right: 20%;
  animation-delay: 3.5s;
}
.floating-image:nth-child(12) {
  top: 45%;
  right: 23%;
  animation-delay: 0.5s;
}

.floating-image:nth-child(13) {
  top: 15%;
  right: 42%;
  animation-delay: 1.5s;
  width: 8%;
}
.floating-image:nth-child(14) {
  top: 12%;
  right: 5%;
  animation-delay: 0.5s;
}
.floating-image:nth-child(15) {
  top: 40%;
  right: 9%;
  animation-delay: 0.5s;
}
.floating-image:nth-child(16) {
  top: 50%;
  left: 28%;
  animation-delay: 1s;
  width: 8%;
}
.floating-image:nth-child(17) {
  top: 48%;
  left: 40%;
  animation-delay: 1.5s;
  width: 10%;
}
.floating-image:nth-child(18) {
  top: 45%;
  left: 50%;
  animation-delay: 3s;
  width: 15%;
}
.floating-image:nth-child(19) {
  top: 28%;
  left: 11%;
  animation-delay: 0.5s;
  width: 18%;
}
.floating-image:nth-child(20) {
  top: 42%;
  left: 35%;
  animation-delay: 0.5s;
  width: 10%;
}
.floating-image:nth-child(21) {
  bottom: 18%;
  left: 35%;
  animation-delay: 1s;
  width: 14%;
}
.floating-image:nth-child(22) {
  bottom: 3%;
  right: 19%;
  animation-delay: 2.5s;
  width: 18%;
}
.floating-image:nth-child(23) {
  bottom: 22%;
  right: 15%;
  animation-delay: 2.5s;
}
.floating-image:nth-child(24) {
  bottom: 25%;
  right: 47%;
  animation-delay: 3s;
}
@media (max-width: 768px) {
  .floating-image:nth-child(1) {
    width: 100px; /* Réduit la taille de l'image */
    top: 28%; /* Change la position verticale */
    right: 17%; /* Change la position horizontale */
  }
  .floating-image:nth-child(2) {
    width: 100px; /* Réduit la taille de l'image */
    top: 15%; /* Change la position verticale */
    right: 34%; /* Change la position horizontale */
  }
  .floating-image:nth-child(10) {
    width: 100px;
    top: 38%;
    left: 0%;
  }
}

/* Animation de mouvement vertical */
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px); /* Monte légèrement */
  }
  100% {
    transform: translateY(0); /* Revient à la position initiale */
  }
}
/* ---textes----*/

.transparent {
  opacity: 0; /* Texte complètement transparent */
  transition: opacity 0.5s ease; /* Transition douce pour la transparence */
}

.scrollable-text {
  position: relative;
  z-index: 2; /* Place le texte au-dessus des images flottantes */
  overflow: visible; /* Assurez-vous que le contenu peut défiler */
}

.scrollable-text > * {
  position: relative;
}

h1 {
  min-height: 14vh;
  color: white;
  font-size: 5vh;
  text-align: center;
  margin-top: 42vh;
  font-family: "Compagnon";
}

.question-01 {
  min-height: 14vh;
  color: white;
  font-size: 2.5vh;
  text-align: center;
  margin-top: 35vh;
  font-family: "Compagnon", serif;
}

.question-02 {
  min-height: 20vh;
  color: white;
  font-size: 2.5vh;
  text-align: center;
  margin-top: 35vh;
  font-family: "Compagnon", serif;
}

/* Styles pour les écrans desktop */
@media (min-width: 1024px) {
  h1 {
    font-size: 8vh; /* Agrandit le texte du h1 */
  }

  .question-01 {
    font-size: 3vh; /* Agrandit le texte de .question-01 */
  }

  .question-02 {
    font-size: 3vh; /* Agrandit le texte de .question-02 */
  }
}

/* Les images des lettres */

.scroll-wrapper {
  position: relative;
  height: 200vh; /* Ajustez cette valeur pour permettre un défilement suffisant */
}

.image-container {
  display: flex;
  justify-content: center; /* Centre les images horizontalement */
  align-items: center; /* Centre les images verticalement */
  flex-wrap: wrap; /* Permet de passer à la ligne si nécessaire */
  gap: 20px; /* Espace entre les images */
  margin-bottom: 0; /* Supprimez la margin-bottom ici */
  opacity: 1;
  transition: opacity 0.5s ease;
}

.image-container.hidden {
  opacity: 0;
}

.image-item {
  max-width: 80%; /* S'assure que les images ne dépassent pas leur conteneur */
  height: auto; /* Maintient les proportions */
}

/*#letters-container {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200vw;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  z-index: 3;*/ /* Au-dessus des autres éléments */

.letter-image {
  max-width: 500px;
  width: 40vw;
  height: auto;
}

/* Lien vers Google Map */
.discover-link {
  display: block;
  font-family: "Compagnon";
  margin-top: 1vh;
  text-align: center;
  font-size: 20px;
  color: #ffffff;
  width: 100%;
  pointer-events: all;
}

.discover-link:hover {
  background-color: #ffffff00;
}

/* Pour les écrans de type iPhone (largeur max 768px) */
@media (max-width: 768px) {
  body {
    background-attachment: fixed; /* L'image reste fixe sur les petits écrans */
    height: 100vh; /* Ajuste la hauteur pour les petits écrans */
  }

  #letters-container {
    flex-direction: column; /* Aligne les images verticalement */
    justify-content: center; /* Centre les images verticalement */
    align-items: center; /* Centre les images horizontalement */
    width: 100vw;
  }

  .letter-image {
    max-width: 130%; /* Ajuste la taille des images pour les petits écrans */
    margin-bottom: 30px; /* Ajoute un espace entre les images */
    height: auto;
  }

  .discover-link {
    font-size: 14px;
    padding: 8px 16px;
  }

  .random-word {
    font-size: 2rem; /* Réduire la taille du texte */
    max-width: 80%; /* Empêcher les mots de dépasser les marges */
    word-wrap: break-word; /* Permet de couper les mots si nécessaire */
    text-align: center; /* Centre le texte */
  }

  .random-word {
    font-size: 1.2rem; /* Réduire la taille du texte */
    word-wrap: break-word; /* Permet de couper les mots si nécessaire */
    max-width: 90%; /* Empêche les mots de dépasser les marges */
  }
}

/* Les images de bancs */

/* Styles pour l'image Banc_montagne-01 sans flottement */
.banc-static-image {
  position: fixed; /* Même positionnement que .floating-image */
  z-index: 1000; /* Place les images au-dessus du fond */
  width: 150px; /* Ajustez la taille des images */
  top: 10%;
  right: 15%;
  animation-delay: 0s; /* Pas de délai pour la première image */
  cursor: pointer;
}

.bancs-image {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.bancs-image.visible {
  opacity: 1;
}

.bancs-image a {
  display: inline-block;
  text-decoration: none;
}

.banc-static-image {
  position: fixed;
  z-index: 1;
  width: 150px;
}

/* Positionnement des bancs */
/* MONTAGNE */
#banc-montagne-01 {
  top: 6%;
  right: 30%;
}

#banc-montagne-02 {
  top: 10%;
  right: 6%;
}

#banc-montagne-03 {
  top: 20%;
  right: 28%;
}
#banc-montagne-04 {
  top: 36%;
  right: 20%;
}
#banc-montagne-05 {
  top: 18%;
  right: 15%;
}
#banc-montagne-06 {
  top: 32%;
  right: 5%;
}

/* FORET*/

#banc-foret-07 {
  top: 30%;
  left: 14%;
}
#banc-foret-08 {
  top: 38%;
  left: 23%;
}
#banc-foret-09 {
  top: 45%;
  left: 10%;
}
#banc-foret-10 {
  top: 46%;
  left: 37%;
}
#banc-foret-11 {
  top: 43%;
  left: 50%;
}

/* LAC */

#banc-lac-12 {
  top: 63%;
  right: 43%;
}
#banc-lac-13 {
  top: 63%;
  right: 26%;
}
#banc-lac-14 {
  top: 80%;
  right: 20%;
}
#banc-lac-15 {
  top: 68%;
  right: 15%;
}
#banc-lac-16 {
  top: 75%;
  right: 7%;
}

/* Styles pour les écrans desktop */
@media (min-width: 1024px) {
  .image-container {
    flex-direction: row; /* Place les images côte à côte */
  }

  .image-item {
    width: 40%; /* Réduit la taille des images à 40% de leur conteneur */
  }
}

/* Réduction de la taille des images des bancs pour les écrans mobiles */
@media (max-width: 768px) {
  .banc-static-image {
    width: 90px; /* Réduisez la taille des images */
  }

  /* MONTAGNE */
  #banc-montagne-01 {
    top: 15%; /* Ajustez la position si nécessaire */
    right: 35%;
  }

  #banc-montagne-02 {
    top: 12%; /* Ajustez la position si nécessaire */
    right: 3%;
  }
  #banc-montagne-03 {
    top: 25%;
    right: 25%;
  }

  #banc-montagne-04 {
    top: 32%;
    right: 10%;
  }
  #banc-montagne-05 {
    top: 18%;
    right: 10%;
  }
  #banc-montagne-06 {
    top: 23%;
    right: 1%;
  }
  /* FORET */

  #banc-foret-07 {
    top: 38%;
    left: 3%;
  }
  #banc-foret-08 {
    top: 48%;
    left: 13%;
  }
  #banc-foret-09 {
    top: 58%;
    left: 10%;
  }
  #banc-foret-10 {
    top: 55%;
    left: 37%;
  }
  #banc-foret-11 {
    top: 49%;
    left: 58%;
  }

  /* LAC */

  #banc-lac-12 {
    top: 80%;
    right: 75%;
  }
  #banc-lac-13 {
    top: 70%;
    right: 50%;
  }
  #banc-lac-14 {
    top: 76%;
    right: 40%;
  }
  #banc-lac-15 {
    top: 71%;
    right: 20%;
  }
  #banc-lac-16 {
    top: 73%;
    right: 1%;
  }
}

/* Pour les écrans de type iPad (largeur max 1024px) */
@media (max-width: 1024px) {
  body {
    background-attachment: fixed; /* L'image reste fixe sur les écrans moyens */
    height: 100vh; /* Ajuste la hauteur pour les écrans moyens */
  }
}

/* Animation pulse */
@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
}

/* Animation scale-bounce banc */
@keyframes scale-bounce {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

.banc-static-image.animate {
  animation: scale-bounce 0.3s ease-in-out;
}

/* Conteneur pour les mots aléatoires */
#random-words-container {
  position: relative; /* Permet aux mots d'être positionnés par rapport à la page */
  width: 100%;
  height: 100%;
  pointer-events: none; /* Empêche l'interaction avec les mots */
  z-index: 5; /* Au-dessus des bancs et du background */
}

.random-word {
  position: fixed;
  font-size: 1.2rem;
  color: white;
  font-family: "Compagnon";
  opacity: 0;
  z-index: 6; /* Au-dessus des autres éléments */
  text-align: center; /* Centre le texte */
  max-width: 300px; /* Limite la largeur pour forcer les mots à passer sous plusieurs lignes */
  line-height: 1; /* Ajoute de l'espacement entre les lignes */
  transform: translateX(-50%); /* Centre horizontalement par rapport à left */
  white-space: normal; /* Permet au texte de passer à la ligne */
}

@keyframes fade-in-out {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* Animation pour le fade-in des lettres */
.fade-in {
  animation: fadeIn 2s ease-in-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Animation pour le fade-out des mots */
.fade-out {
  animation: fadeOut 10s ease-in-out forwards;
}

.banc-container {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0%;
  left: 0%;
  /* background-color: red; */
  z-index: 10000;
  opacity: 0;

  transition: opacity 2s;
}

.banc {
  /* background-color: blue; */
  width: 100%;
  height: 100%;
  position: fixed;
  pointer-events: none;
}

.element {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 100px;
  /*background-color: rgb(176, 84, 216);*/
  border-radius: 0;
  opacity: 0;
  transition: opacity 2s;
  font-size: 3vh;
}

.banc-static-image {
  pointer-events: all;
}

.element.visible {
  opacity: 1;
  /* animation: fade-in-out 10s ease-in-out infinite; */
  pointer-events: none;
}

.element-container * {
  pointer-events: none; /* Désactive les interactions par défaut */
}

.banc-container.visible {
  opacity: 1;
  /* visibility: visible; */
  pointer-events: none;
}

/*Contenu banc 01 */

/* MOBILE */

.banc-1 .element-container .element:nth-child(1) {
  top: 30%;
  left: 40%;
  /*background-color: aqua;*/
}

.banc-1 .element-container .element:nth-child(2) {
  top: 45%;
  left: 18%;
  /*background-color: rgb(60, 255, 0);*/
}

.banc-1 .element-container .element:nth-child(3) {
  top: 60%;
  left: 68%;
  /*background-color: rgb(22, 50, 162);*/
}

.banc-1 .element-container .element:nth-child(4) {
  top: 70%;
  left: 35%;
  /*background-color: rgb(162, 22, 57);*/
}
.banc-1 .element-container .element:nth-child(5) {
  top: 90%;
  left: 60%;

  /*background-color: rgb(127, 22, 162);*/
}

/* Styles communs pour tous les bancs */
.banc {
  position: absolute;
}

.banc .element-container img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: auto;
  opacity: 0;
  transition: opacity 2s ease; /* Transition douce pour l'apparition/disparition */
  z-index: 5000;
}

.banc .element-container img.visible {
  opacity: 1; /* Rendre l'image visible */
}

.banc .google-map-link {
  display: block;
  position: absolute;
  top: 81%; /* Espace entre l'image et le lien */
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5000; /* Assure que le lien est au-dessus de l'image */
  /* background-color: blue; */
  font-family: "Compagnon", sans-serif;
  font-size: 1.2rem;
  color: white;
  text-decoration: underline;
  opacity: 0;
  transition: opacity 2s ease; /* Transition douce pour l'apparition/disparition */
  pointer-events: none; /* Désactive les interactions par défaut */
}

.banc .element-container img.visible + .google-map-link {
  opacity: 1; /* Rendre le lien visible lorsque l'image est visible */
  pointer-events: auto; /* Active les interactions lorsque le lien est visible */
}

/* Responsive pour les petits écrans */
@media (max-width: 768px) {
  .banc .element-container img {
    width: 100%; /* Réduit la largeur de l'image à 80% de l'écran */
    height: auto; /* Maintient les proportions de l'image */
    top: 48%; /* Ajuste la position verticale */
    left: 50%; /* Centre horizontalement */
    transform: translate(-50%, -50%); /* Centre parfaitement */
  }
}

.word {
  font-size: 1.6rem;
  color: white;
  font-family: "Compagnon";
  opacity: 0;
  transition: opacity 1s ease;
  text-align: center;
  z-index: 5000;
}
.word.visible {
  opacity: 1;
}

.word-1 {
  position: relative;
  top: 88px;
  left: -396px;
}

.word-2 {
  position: relative;
  top: 422px;
  left: 517px;
}

.word-3 {
  position: relative;
  top: 37px;
  left: 358px;
}

.word-4 {
  position: relative;
  top: 544px;
  left: -480px;
}
.word-5 {
  position: relative;
  top: 600px;
  left: 212px;
}

/* Responsive styles for .word elements */
@media (max-width: 768px) {
  .word {
    font-size: 1.2rem; /* Réduit la taille du texte */
    text-align: center; /* Centre le texte */
    max-width: 90%; /* Empêche les mots de dépasser les marges */
    word-wrap: break-word; /* Permet de couper les mots si nécessaire */
  }

  .word-1 {
    top: 700px; /* Ajuste la position verticale */
    left: -51px; /* Ajuste la position horizontale */
  }

  .word-2 {
    top: 596px;
    left: 95px;
  }

  .word-3 {
    top: 16px;
    left: -41px;
  }

  .word-4 {
    top: 35px;
    left: 62px;
  }

  .word-5 {
    top: 80px;
    left: -40px;
  }
}

@keyframes pulse-click {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.banc-static-image.pulse {
  animation: pulse-click 0.4s ease;
}
