/* --- Polices utilisées --- */
@font-face {
  font-family: 'Movement-DirectThin';
  src: url('https://amauryberrier.com/Font/Movement-DirectThin.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

/* Styles de base */
body {
  font-family: 'Movement-DirectThin';
  background-color: black;
  margin: 0;
}

/* Empêcher la sélection de texte sur certains éléments */
#nav-container a,
.letter-animate,
h1,
h2,
p {
  user-select: none;
}

/* Style de l'introduction */
#intro {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 25px;
  color: white;
  background-color: black;
  font-family: 'Movement-DirectThin';
}

/* Conteneur de l'en-tête */
#header-container {
  text-align: center;
  height: 100%;
  writing-mode: vertical-rl;
  text-orientation: upright;
  background: whitesmoke;
  font-family: 'Movement-DirectThin';
  color: #ed8414;
}

/* Conteneur de navigation */
#nav-container {
  position: absolute;
  top: 10%;
  left: 10%;
  text-orientation: upright;
  font-size: 30px;
  height: min-content;
  font-family: 'Movement-DirectThin';
}

#nav-container a:hover span,
.project_list a:hover span {
  animation: revealLetters 1s forwards;
}
#nav-container li a:hover,
.project_list a:hover {
  background-color: #1b1f1f;
  color: white;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

/* Contenu principal */
#content {
  opacity: 0;
  transition: opacity 2s;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0d0d0d;
  overflow: hidden;
}

/* Liste de projets */
.project_list {
  text-align: center;
  writing-mode: vertical-rl;
}
.project_list h2 {
  font-size: 20px;
  font-weight: inherit;
  position: relative;
  color: white;
  transition: color 0.3s ease-in-out;
}

/* Page Projects */
#pageContentProjects {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  writing-mode: vertical-rl;
  text-orientation: upright;
  height: 600px;
}

/* Style des titres et paragraphes */
h1 {
  font-size: 15px;
  margin: 5px;
  color: white;
  font-weight: inherit;
}
h2 {
  font-size: 20px;
  font-weight: inherit;
}
p {
  font-size: 13px;
  color: white;
  font-family: 'Chillax', sans-serif;
}

/* Listes */
ol, ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* Liens */
a {
  text-decoration: none;
  color: ghostwhite;
}

/* Animation pour les lettres dans les titres */
.letter-animate {
  position: relative;
  animation: slideIn 0.5s forwards cubic-bezier(0.2, 0.8, 0.2, 1),
             vibrate 2s infinite;
}
#nav-container a span {
  display: inline-block;
}
#nav-container a:hover span {
  animation: revealLetters 1s forwards;
}

/* Liens de la page Contact */
#pageContentContact a:hover {
  color: white;
  background-color: #fd9500;
  text-decoration: none;
}

/* Liens personnalisés */
.custom-link:hover {
  color: white;
  background-color: #fd9500;
}

/* Liens dans la page Info */
#pageContentInfo a {
  color: white !important;
}

/* Positionnement des liens */
.links-container {
  position: absolute;
  top: 10%;
  right: 15%;
  transform: translateX(-50%);
  width: auto;
  height: min-content;
  font-size: 20px;
  text-orientation: upright;
  font-family: 'Movement-DirectThin';
}
.links-container a {
  display: block;
  margin-bottom: 10px;
}

/* Positionnement des paragraphes */
.paragraph-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40%;
  text-align: left;
}

/* Liens d'email */
a[href^="mailto:"]:hover {
  color: white !important;
  background-color: #fd9500 !important;
  text-decoration: none !important;
}

/* Bouton "back-to-nav" */
#back-to-nav {
  position: fixed;
  bottom: 50%;
  right: 21%;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 21px solid white;
  cursor: pointer;
  z-index: 9999;
  display: none;
  transition: background-color 0.3s;
  animation-name: blink;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
#back-to-nav:hover {
  animation: none;
}

@keyframes blink {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes slideIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes revealLetters {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes vibrate {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-7px);
  }
  50% {
    transform: translateX(2px);
  }
  75% {
    transform: translateX(-2px);
  }
  10% {
    transform: translateX(2px);
  }
}

/* Styles pour petits écrans */
@media (max-width: 600px) {
  #nav-container {
    font-size: 20px;
    font-family: 'Movement-DirectThin';
    top: 5%;
  }
  #pageContentInfo a {
    font-size: 14px;
    top: 4%;
    width: auto;
    height: auto;
  }
  #pageContentContact a {
    font-size: 14px;
    top: 4%;
    width: auto;
    height: auto;
  }
  .links-container {
    position: absolute;
    top: 5%;
    right: 5%;
    width: auto;
    height: min-content;
    font-size: 20px;
    text-orientation: upright;
    font-family: 'Movement-DirectThin';
  }
  p {
    font-size: 8px;
  }
  .letter-animate {
    animation: none !important;
  }
  #nav-container a span,
  #nav-container a:hover span,
  .project_list a:hover span {
    animation: none !important;
  }
  #back-to-nav {
    animation: none !important;
  }
  #intro {
    font-size: 10px;
  }
  h1 {
    font-size: 8px;
  }
  .project_list h2 {
    font-size: 16px;
  }
  #header-container {
    border-right: none;
  }
  .enlarge-text {
    font-size: 14px;
  }
}
