* {
  /* utilisation du sélecteur universel pour initialiser à 0 les marges */
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  /* Police d'écriture pour tout le site sauf dans conditions confidentialités */
  font-family: "La Belle Aurore", cursive;
  font-weight: 400;
  font-style: normal;
}

.navbar {
  background-color: #63a0d9;
  font-size: 25px;
}

.navbar-nav {
  /* premier plan */
  z-index: 1000; /* Superposition par-dessus les autres éléments du conteneur */
}

/* c'est le bouton menu burger qu'on met toujours au premier plan aussi */
.navbar-toggler {
  z-index: 9999;
}

/* Appliquer un z-index élevé pour que le menu déroulant soit toujours au-dessus */
.nav-link {
  position: relative; /* Rendre la position modifiable */
  z-index: 9999; /* S'assurer qu'il est au-dessus de tous les autres éléments */
  text-align: center;
  background-color: #63a0d9;
  margin-right: 25px;
}

.nav-link:hover {
  background-color: #ffffff35;
  border-radius: 8px;
}

.nav-item {
  margin-left: -12px;
  margin-right: -12px;
  margin-bottom: -12px;
}

#logo {
  /* redimensionnement du logo */
  width: 100px;
  height: 100px;
  margin-left: 30px;
}

#container-book {
  /* https://www.pngegg.com/fr/png-dxuqq */
  background-image: url("../img/fond-bois-accueil.webp");
  /* image de fond remplit tout le fond */
  background-size: 100% 100%;
  /* résout le problème d'image sortant du body en ne faisant pas apparaître l'ascenseur horizontal */
  overflow-x: hidden;
}

#bckg-cahier {
  margin-top: -140px;
  position: relative;
}

#jour,
#mois,
#annee {
  position: absolute;
  z-index: 1;
}

#jour {
  margin-left: 480px;
  margin-top: 85px;
}

#mois {
  margin-left: 560px;
  margin-top: 85px;
}

#annee {
  margin-left: 630px;
  margin-top: 85px;
}

#davidngo {
  position: absolute;
  margin-left: 400px;
  font-size: 60px;
  padding-top: 16px;
  color: #5e975e;
  z-index: 1;
}

.fa-address-card-fix {
  position: fixed;
  z-index: 1000;
  right: 30px;
  top: 220px;
  font-size: 75px;
  color: #63a0d9;
}

.fa-linkedin {
  position: fixed;
  z-index: 1000;
  right: 30px;
  top: 320px;
  font-size: 80px;
  color: #63a0d9;
}

.fa-phone {
  position: fixed;
  z-index: 1000;
  right: 30px;
  top: 420px;
  font-size: 80px;
  color: #63a0d9;
}

.fa-envelope {
  position: fixed;
  z-index: 1000;
  right: 30px;
  top: 520px;
  font-size: 80px;
  color: #63a0d9;
}

.fa-linkedin:hover,
.fa-phone:hover,
.fa-envelope:hover,
.fa-address-card-fix:hover {
  color: #5e975e;
  background-color: #ffffff;
  padding: 6px;
  border-radius: 8px;
}

/* Mon */
.book h2:nth-child(1) {
  position: absolute;
  margin-left: 310px;
  padding-top: 263px;
  font-size: 75px;
  z-index: 1;
}

/* Portfolio */
.book h2:nth-child(2) {
  position: absolute;
  margin-left: 400px;
  padding-top: 389px;
  font-size: 75px;
  z-index: 1;
}

/* Développeur */
.book h2:nth-child(3) {
  position: absolute;
  margin-left: 800px;
  padding-top: 89px;
  font-size: 50px;
  z-index: 1;
}

/* Web */
.book h2:nth-child(4) {
  position: absolute;
  margin-left: 870px;
  padding-top: 153px;
  font-size: 50px;
  z-index: 1;
}

/* et */
.book h2:nth-child(5) {
  position: absolute;
  margin-left: 890px;
  padding-top: 216px;
  font-size: 50px;
  z-index: 1;
}

/* Web Mobile */
.book h2:nth-child(6) {
  position: absolute;
  margin-left: 800px;
  padding-top: 281px;
  font-size: 50px;
  z-index: 1;
}

/* Junior */
.book h2:nth-child(7) {
  position: absolute;
  margin-left: 820px;
  padding-top: 346px;
  font-size: 50px;
  z-index: 1;
}

.cadrebio {
  display: flex;
  justify-content: space-between;
}

/* container "à propos de moi" */
#aboutme {
  /* height: 800px; */
  background-image: url("../img/fond-aproposdemoi.webp");
  background-repeat: no-repeat;
  /* image de fond remplit tout le fond sans déformation, crop si besoin */
  background-size: cover;
  background-position: center;
  position: relative;
  margin-top: -150px;
}

#title-aboutme {
  position: relative;
  text-align: center;
  height: 90px;
  background-color: #5e975e;
  color: floralwhite;
  font-size: 30px;
  /* centrage vertical */
  padding-top: 35px;
}

#cadre-photo {
  margin: 100px 5% 105px 5%;
  width: 480px;
}

#bio {
  background-color: rgba(235, 234, 232, 0.91);
  font-size: 1.5rem;
  margin: 100px 5% 30px 0px;
  width: 50%;
  height: 700px;
  padding-top: 20px;
  overflow-y: auto; /* Ajoute une barre de défilement verticale si besoin */
  word-break: break-word; /* Coupe les mots trop longs */
  border-radius: 8px;
}

#bio p,
#bio a {
  padding: 20px;
  text-decoration: none;
}

/* container "projets" */
#projects {
  text-align: center;
  color: floralwhite;
  font-size: 30px;
  /* centrage vertical */
  padding-top: 25px;
  padding-bottom: 25px;
  /* ne jamais y toucher */
  margin-bottom: 0;
  background-color: #5e975e;
}

.fa-arrow-pointer {
  font-size: 13px;
}

.bckg-projects {
  width: 100%;
  background-image: url("../img/fond-bois-projets.webp");
  background-repeat: no-repeat;
  /* image de fond remplit tout le fond */
  background-size: 100% 100%;
}

#imac {
  padding: 0px 35px 25px 35px;
}

#ipad,
#iphone {
  display: none;
}

#git-projects {
  font-family: sans-serif;
  position: absolute;
  font-size: 2rem;
  /* left right pour centrer par rapport à la fenêtre */
  left: 10%;
  right: 10%;
  margin-top: 10%;
  text-align: center;
  text-decoration: none;
}

/* carrousel */
#carrousel {
  width: 800px;
  height: 400px;
  border: 4px solid #63a0d9;
  box-shadow: 0 0 20px #5e975e;
  position: relative;
  margin: 0 auto;
  margin-top: -60%;
  overflow: hidden;
}

#container-carrousel {
  width: 800px;
  height: 400px;
}

/* Lien live demo à côté du bouton GitHub */
.livedemo-link {
  display: inline-flex;
  align-items: center;
  gap: 6px; /* Espace entre l'icône et le texte */
  text-decoration: none;
  font-weight: bold;
  margin-left: 8px;
}

.livedemo-link:hover {
  text-decoration: underline;
}

.github-link:hover {
  text-decoration: underline;
}

/* commun aux 2 boutons */
.fa-circle-arrow-left,
.fa-circle-arrow-right {
  font-size: 100px;
  /* changement de curseur quand on survole les boutons */
  cursor: pointer;
}

.fa-circle-arrow-left {
  position: absolute;
  left: 10%;
  margin-top: 30%;
  opacity: 0.6;
  color: #63a0d9;
}

.fa-circle-arrow-right {
  position: absolute;
  right: 10%;
  margin-top: 30%;
  opacity: 0.6;
  color: #63a0d9;
}

.fa-circle-arrow-left:hover {
  color: #5e975e;
}

.fa-circle-arrow-right:hover {
  color: #5e975e;
}

.fa-caret-left,
.fa-caret-right,
.fa-arrow-left,
.fa-arrow-right,
.fa-left-long,
.fa-right-long {
  display: none;
  color: #63a0d9;
}

.fa-caret-left:hover,
.fa-caret-right:hover,
.fa-arrow-left:hover,
.fa-arrow-right:hover,
.fa-left-long:hover,
.fa-right-long:hover {
  color: #5e975e;
}

/* voir sa création dans le fichier js */
.photo {
  width: 800px;
  height: 400px;
  margin: 0;
  /* plus de retour à la ligne */
  display: inline-block;
  background-size: cover;
}

.descrphoto {
  font-family: sans-serif;
  color: #ffffff;
  text-shadow: 2px 2px 5px rgb(0, 0, 0);
  font-size: 35px;
  text-align: center;
  margin-top: 5%;
}

/* container "contact" */
#contact {
  position: relative;
  background-color: white;
}

/* C'est le h2 */
#title-contact {
  position: relative;
  text-align: center;
  color: floralwhite;
  font-size: 30px;
  /* centrage vertical */
  padding-top: 25px;
  padding-bottom: 25px;
  margin-top: 25%;
  background-color: #5e975e;
}

.details {
  display: flex;
  justify-content: space-between;
  margin: 30px;
  font-family: sans-serif;
}

/* numero de tel et mail */
#contact a {
  font-size: 50px;
  color: #3578c5;
  text-decoration: none;
}

.contact-form {
  background: white;
  padding: 2rem 4rem 2rem 4rem;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  text-align: center; /* textes et bouton "envoyer" centrés */
}

.contact-form h2 {
  margin-bottom: 50px;
}

.contact-form label {
  display: block;
  margin-bottom: 8px;
  font-size: 25px;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.contact-form button {
  padding: 10px 20px;
  background-color: #3578c5;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 25px;
  text-align: center;
}

.contact-form button:hover {
  background-color: #205080;
  text-align: center;
}

#ty {
  margin: 3rem 0rem 3rem 0rem;
  text-align: center;
  font-size: 40px;
}

/* footer */

#end {
  background-color: black;
  text-align: center;
  color: #f2f2f2;
  padding-top: 50px;
  padding-bottom: 50px;
}

.end-links {
  display: flex;
  justify-content: center;
}

.reserved {
    font-style: italic;
    font-size: 0.9em;
}

#end a.iubenda-embed {
  background: #000000 !important;
  color: #f2f2f2 !important;
}

#end a.iubenda-embed:hover, #end a.iubenda-embed:focus {
  background: #f0f0f0 !important;
  color: #3578c5 !important;
  border-color: #3578c5 !important;
  box-shadow: 0 0 16px rgba(53,120,197,0.15) !important;
  outline: none !important;
}

/* Spécifique aux boutons iubenda dans le footer */
#end .iubenda-embed {
  display: inline-block !important;
  min-width: 48px !important;
  min-height: 48px !important;
  line-height: 48px !important;
  padding: 0 16px !important;
  margin: 0 12px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.david {
  color: #5e975e;
}

#backToTop {
  position: fixed;
  bottom: 40px; /* Distance du bas de la page */
  right: 0px; /* fixage au bord droit */
  color: #63a0d9; /* Couleur de l'icône */
  padding: 10px 10px; /* Espacement interne */
  text-align: center;
  text-decoration: none;
  font-size: 45px; /* Taille de l'icône */
  display: none; /* Masqué par défaut */
  z-index: 100; /* Pour s'assurer qu'il est au-dessus des autres éléments */
  opacity: 0.9;
}

#backToTop:hover {
  color: #5e975e;
}

.terms {
  font-family: sans-serif;
  padding: 3rem;
  font-size: 23px;
}

/* Concerne le texte "Télécharger le CV (format PDF)" */
#cv {
  padding: 5% 10% 5% 10%;
  text-align: center;
}

#pdf_cv {
  text-align: center;
  font-family: sans-serif;
  font-size: 20px;
}

#cv img {
  width: 100%;
}

/* optimisation menu burger et liens rgpd */
@media (max-width: 1399.98px) {
  .navbar-nav {
    width: 100%;
  }

  .nav-link {
    margin-right: 0;
    margin-top: 5px;
  }

  .nav-link:hover {
  background-color: #5e975e;
  border-radius: 0px;
  }

  .end-links {
    flex-direction: column;
    align-items: center; /* Pour centrer horizontalement les éléments empilés */
  }
}

/* version bureau 2 */
@media screen and (max-width: 1200px) and (min-width: 768px) {
  /* Mon */
  .book h2:nth-child(1) {
    position: absolute;
    margin-left: 330px;
    padding-top: 145px;
    font-size: 60px;
  }

  /* Portfolio */
  .book h2:nth-child(2) {
    position: absolute;
    margin-left: 390px;
    padding-top: 273px;
    font-size: 60px;
  }

  /* Développeur */
  .book h2:nth-child(3) {
    position: absolute;
    margin-left: 160px;
    padding-top: 405px;
    font-size: 50px;
  }

  /* Web */
  .book h2:nth-child(4) {
    position: absolute;
    margin-left: 430px;
    padding-top: 409px;
    font-size: 50px;
  }

  /* et */
  .book h2:nth-child(5) {
    position: absolute;
    margin-left: 180px;
    padding-top: 470px;
    font-size: 50px;
  }

  /* Web Mobile */
  .book h2:nth-child(6) {
    position: absolute;
    margin-left: 250px;
    padding-top: 470px;
    font-size: 50px;
  }

  /* Junior */
  .book h2:nth-child(7) {
    position: absolute;
    margin-left: 270px;
    padding-top: 535px;
    font-size: 50px;
  }

  .fa-address-card-fix {
    font-size: 55px;
  }

  .fa-linkedin,
  .fa-phone,
  .fa-envelope {
    font-size: 60px;
  }

  #cadre-photo {
    margin: 100px 2% 380px 5%;
    width: 330px;
  }

  #bio {
    font-size: 1rem;
    height: 730px;
  }

  #git-projects {
    margin-top: 9%;
  }

  /* carrousel */
  #carrousel {
    width: 500px;
    height: 250px;
    margin-top: -60%;
  }

  #container-carrousel {
    width: 500px;
    height: 250px;
  }

  /* voir sa création dans le fichier js */
  .photo {
    width: 500px;
    height: 250px;
  }

  .descrphoto {
    font-size: 21px;
  }

  .fa-circle-arrow-left,
  .fa-circle-arrow-right,
  .fa-left-long,
  .fa-right-long,
  .fa-caret-left,
  .fa-caret-right {
    display: none;
  }

  /* bouton version bureau 2 */
  .fa-arrow-left,
  .fa-arrow-right {
    font-size: 70px;
    cursor: pointer;
  }

  .fa-arrow-left {
    position: absolute;
    left: 10%;
    margin-top: -20%;
    opacity: 0.6;
    display: block;
  }

  .fa-arrow-right {
    position: absolute;
    right: 10%;
    margin-top: -20%;
    opacity: 0.6;
    display: block;
  }

  #contact a {
    font-size: 35px;
  }
}

/* version tablette */
@media screen and (max-width: 768px) and (min-width: 480px) {
  .fa-address-card-fix {
      right: 10px;
      top: 335px;
      font-size: 55px;
    }

  .fa-linkedin {
    right: 10px;
    top: 420px;
    font-size: 50px;
  }
  .fa-phone {
    right: 10px;
    top: 520px;
    font-size: 55px;
  }
  .fa-envelope {
    right: 10px;
    top: 620px;
    font-size: 55px;
  }
  #bckg-cahier {
    margin-left: -290px;
  }

  #logo {
    /* redimensionnement du logo */
    z-index: 1000;
    width: 90px;
    height: 90px;
    margin-left: 5px;
    margin-top: 25px;
  }

  #jour {
    margin-left: 200px;
    margin-top: 95px;
  }

  #mois {
    margin-left: 270px;
    margin-top: 95px;
  }

  #annee {
    margin-left: 330px;
    margin-top: 95px;
  }

  #davidngo {
    position: absolute;
    margin-left: 130px;
    font-size: 60px;
  }

  /* Mon */
  .book h2:nth-child(1) {
    position: absolute;
    margin-left: 100px;
    padding-top: 145px;
    font-size: 60px;
  }

  /* Portfolio */
  .book h2:nth-child(2) {
    position: absolute;
    margin-left: 200px;
    padding-top: 274px;
    font-size: 60px;
  }

  /* Développeur */
  .book h2:nth-child(3) {
    position: absolute;
    margin-left: 60px;
    padding-top: 417px;
    font-size: 40px;
  }

  /* Web */
  .book h2:nth-child(4) {
    position: absolute;
    margin-left: 270px;
    padding-top: 417px;
    font-size: 40px;
  }

  /* et */
  .book h2:nth-child(5) {
    position: absolute;
    margin-left: 80px;
    padding-top: 475px;
    font-size: 40px;
  }

  /* Web Mobile */
  .book h2:nth-child(6) {
    position: absolute;
    margin-left: 150px;
    padding-top: 479px;
    font-size: 40px;
  }

  /* Junior */
  .book h2:nth-child(7) {
    position: absolute;
    margin-left: 160px;
    padding-top: 542px;
    font-size: 40px;
  }

  .fa-linkedin,
  .fa-phone,
  .fa-envelope {
    font-size: 55px;
  }

  .cadrebio {
    display: wrap;
    flex-wrap: wrap;
    margin-top: 55px;
  }

  #aboutme {
    height: 1200px;
  }

  #cadre-photo {
    margin: 0 auto;
    width: 280px;
  }

  #bio {
    font-size: 1.2rem;
    margin: 0 auto;
    width: 80%;
    height: 600px;
    margin-top: 65px;
  }

  #imac {
    display: none;
  }

  #ipad {
    display: block;
    padding: 55px 35px 85px 35px;
  }

  #git-projects {
    margin-top: 30%;
  }

  /* carrousel */
  #carrousel {
    width: 300px;
    height: 150px;
    margin-top: -80%;
  }

  #container-carrousel {
    width: 300px;
    height: 150px;
  }

  /* voir sa création dans le fichier js */
  .photo {
    width: 300px;
    height: 150px;
  }

  .descrphoto {
    font-size: 16px;
  }

  .fa-arrow-left,
  .fa-arrow-right,
  .fa-circle-arrow-left,
  .fa-circle-arrow-right,
  .fa-caret-left,
  .fa-caret-right {
    display: none;
  }

  /* bouton version tablette */
  .fa-left-long,
  .fa-right-long {
    display: block;
    font-size: 50px;
  }

  .fa-left-long {
    position: absolute;
    left: 35%;
    margin-top: 50px;
    opacity: 0.6;
  }

  .fa-right-long {
    position: absolute;
    right: 35%;
    margin-top: 50px;
    opacity: 0.6;
  }

  #contact {
    margin-top: 49%;
  }

  .details {
    display: wrap;
    flex-wrap: wrap;
  }

  #contact a {
    font-size: 35px;
  }
}

/* version mobile */
@media screen and (max-width: 480px) {
  .fa-address-card-fix {
    right: 7px;
    top: 240px;
    font-size: 45px;
  }
  
  .fa-linkedin {
    right: 7px;
    top: 320px;
    font-size: 45px;
  }

  .fa-phone {
    right: 7px;
    top: 400px;
    font-size: 45px;
  }

  .fa-envelope {
    right: 7px;
    top: 480px;
    font-size: 45px;
  }

  #bckg-cahier {
    margin-top: -122px;
    margin-left: -300px;
  }

  .fa-linkedin,
  .fa-phone,
  .fa-envelope {
    right: 7px;
    font-size: 45px;
  }

  .fa-linkedin {
    bottom: 50%;
  }

  .fa-phone {
    bottom: 40%;
  }

  .fa-envelope {
    bottom: 30%;
  }

  .fa-linkedin:hover,
  .fa-phone:hover,
  .fa-envelope:hover,
  .fa-address-card-fix:hover {
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  #logo {
    /* redimensionnement du logo */
    z-index: 1000;
    width: 80px;
    height: 80px;
    margin-left: 10px;
    margin-top: 25px;
  }

  #jour {
    margin-left: 190px;
    margin-top: 125px;
  }

  #mois {
    margin-left: 270px;
    margin-top: 125px;
  }

  #annee {
    margin-left: 330px;
    margin-top: 125px;
  }

  #davidngo {
    position: absolute;
    margin-left: 80px;
    font-size: 50px;
    margin-top: 28px;
  }

  /* Mon */
  .book h2:nth-child(1) {
    position: absolute;
    margin-left: 70px;
    padding-top: 165px;
    font-size: 60px;
  }

  /* Portfolio */
  .book h2:nth-child(2) {
    position: absolute;
    margin-left: 130px;
    padding-top: 294px;
    font-size: 60px;
  }

  /* Développeur */
  .book h2:nth-child(3) {
    position: absolute;
    margin-left: 70px;
    padding-top: 437px;
    font-size: 40px;
  }

  /* Web */
  .book h2:nth-child(4) {
    position: absolute;
    margin-left: 270px;
    padding-top: 437px;
    font-size: 40px;
  }

  /* et */
  .book h2:nth-child(5) {
    position: absolute;
    margin-left: 70px;
    padding-top: 500px;
    font-size: 40px;
  }

  /* Web Mobile */
  .book h2:nth-child(6) {
    position: absolute;
    margin-left: 135px;
    padding-top: 500px;
    font-size: 40px;
  }

  /* Junior */
  .book h2:nth-child(7) {
    position: absolute;
    margin-left: 140px;
    padding-top: 565px;
    font-size: 40px;
  }

  #container-book {
  background-image: none;
  }

  .cadrebio {
    display: wrap;
    flex-wrap: wrap;
    margin-top: 55px;
  }

  #aboutme {
    height: 1200px;
  }

  #cadre-photo {
    margin: 0 auto;
    width: 280px;
  }

  #bio {
    font-size: 1.2rem;
    margin: 0 auto;
    width: 80%;
    height: 600px;
    margin-top: 65px;
  }

  #imac,
  #ipad {
    display: none;
  }

  #iphone {
    display: block;
    padding: 20px 5px 110px 5px;
  }

  #git-projects {
    margin-top: 35%;
  }

  /* carrousel */
  #carrousel {
    width: 250px;
    height: 125px;
    margin-top: -110%;
  }

  #container-carrousel {
    width: 250px;
    height: 125px;
  }

  /* voir sa création dans le fichier js */
  .photo {
    width: 250px;
    height: 125px;
  }

  .descrphoto {
    font-size: 13px;
  }

  .fa-arrow-left,
  .fa-arrow-right,
  .fa-circle-arrow-left,
  .fa-circle-arrow-right,
  .fa-left-long,
  .fa-right-long {
    display: none;
  }

  /* bouton version tablette */
  .fa-caret-left,
  .fa-caret-right {
    display: block;
    font-size: 50px;
  }

  .fa-caret-left {
    position: absolute;
    left: 35%;
    margin-top: 20px;
    opacity: 0.6;
  }

  .fa-caret-right {
    position: absolute;
    right: 35%;
    margin-top: 20px;
    opacity: 0.6;
  }

  #contact {
    margin-top: 60%;
  }

  #contact a {
    font-size: 25px;
  }

  .details {
    display: wrap;
    flex-wrap: wrap;
  }
}
