@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Josefin+Sans:100&family=Rambla&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');/* COLOR */
/* Red = #9a0134 */
/* Blue = #021d26 */
/* Gris = #d9d9d9 */

html{
  scroll-behavior: smooth;
}
body{
  background: url(media/golf.jpg) no-repeat fixed 50% 50%;
  /* color: rgb(255, 255, 255) !important; */
  /* background: linear-gradient(rgb(49, 49, 49), rgb(216, 216, 216)) !important; */
  font-family: 'Rambla',sans-serif;
  color: white;
}
h2{
  font-family: 'Audiowide', sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-shadow: -3px -3px 3px rgb(132, 27, 62);
}

/************************ HEADER ****************************/
.navbar{
  background-color: #FAFAFA;
  opacity: 0.9;
  height: 42px;
  transition: 0.7s;
}
.navbar-nav{
  width: 80% !important;
  margin: 0 auto;
  justify-content: space-between;
}
.navbar .col-menu{
  position: absolute;
  right: 2%;
}
header{
  text-align: center;
  /* background: url(media/ground.jpg) no-repeat fixed 50% 50%; */
  background-size: cover;
  margin-bottom: 100px;
}
h1{
  padding: 90px 0 10px 0;
  font-family: 'Anton', sans-serif;
  font-size: 4.3em;
  text-transform: uppercase;
  text-shadow: 1px 1px 15px rgb(43, 43, 43);
  color: white;
}
.from{
  color: #021d26;
}
.field{
  color: #9a0134;
}
.photo_profil{
  position: relative;
  border-radius: 40%;
  height: 180px;
  width: 140px;
  margin-top: 20px;
}
#line{
  height: 4px;
  background-color: rgb(132, 27, 62);
  width: 25%;
  margin: 0 auto;
}
h2{
  padding: 10px 0 20px 0;
  font-family: 'Anton', sans-serif;
  font-size: 2.5em;
  font-style: bold;
  color: #021d26;
  text-shadow: 5px 5px 20px rgb(184, 184, 184);
}
.row_presentation{
  background-color: rgba(0, 0, 0, 0.586);
  height: 240px;
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.infos{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
}
.photo img{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 15;
  margin: auto;
  height: 120px;
  max-width: 90%;
}
.photo img:hover{
  transform: scale(1.25);
  transition: 0.6s;
}
header .button{
  font-size: 2.5em;
  font-weight: bold;
}
header .button a{
  -webkit-text-stroke: .3px white;
  color:  #9a0134 ;
  border-radius: 10px;
  width: 300px;
  font-size: 3.3em;
  display: block;
  text-align: center;
}

.download_cv{
  position: absolute;
  width: 80px;
  height: 30px;
  margin-left: 36%;
}

h3{
  text-align: center;
  font-size: 2.5em;
  font-family: 'Anton', sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a0134;
  text-shadow: -3px -3px 3px #000000;
}

/**************************************************************************/
/*                              PORTFOLIO                                 */
/**************************************************************************/
.project-card{
  max-width: 900px;
  margin: 50px auto;
  background: #ffffffde;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-rows: auto auto;
  align-items: stretch;
  gap: 16px;
}

/* Image */
.project-media{
  border-radius: 12px;
  overflow: hidden;
  /* aspect-ratio: 4 / 3; */
  background: #eee;
}
.project-media img{
  height: 100%;
  width: 100%;
  justify-content: center;
  margin: auto;
  object-fit: cover;
  display: block;
}

.project-desc{
  display: flex;
  flex-direction: column;
  height: 100%;           /* important pour que "bas" ait un sens */
}

.project-link{
  margin-top: auto;       /* pousse le lien en bas */
  align-self: flex-start; /* optionnel : évite qu’il s’étire */
}

/* Description */
.project-desc h2{ margin: 0 0 0px; }
.project-desc p{ margin: 0 0 4px; line-height: 1.5; color: black;}

/* Bas sur toute la largeur */
.project-tech{
  grid-column: 1 / -1;
  border-top: 1px solid #eee;
  padding-top: 12px;
}
.project-tech h4{ margin: 0 0 8px; font-size: .95rem; color: black; font-weight: bold;}

/* Liste techno en “chips” */
.tech-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: black;
}
.tech-list li{
  margin-top: -8px;
  padding: 4px 4px;
}
.fonctionnalite-list li{
  color: black;
}


/**************************************************************************/
/*                             EXPERIENCES                                */
/**************************************************************************/
h4{
  font-weight: bold;
  margin: 0;
  line-height: 1.2;
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.experience-container{
  position: relative;
  padding: 20px;
  background-size: cover;
  background: linear-gradient(180deg, rgba(106, 106, 106, 0.705), #021d26);
  border-radius: 10px 10px 10px 10px;
  color: #e2dcdc;
}
.study-container{
  position: relative;
  padding: 20px;
  background-size: cover;
  background: linear-gradient(180deg, rgba(106, 106, 106, 0.705), #02260f);
  border-radius: 10px 10px 10px 10px;
  color: #e2dcdc;
}
.img_enterprise{
  height: 30px;
  margin-top: -20px;
  object-fit: contain;
  flex: 0 0 auto;
}
.job-container {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.description{
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: justify;
}
.two-columns {
  display: flex;
}
.two-columns ul {
  list-style-type: disc;
  margin: 0;
  flex: 1;
  min-width: 0;
}

@media (max-width: 580px){
  .experience-container{
    padding: 14px;
  }

  .job-container{
    flex-direction: column;
    align-items: flex-start;
  }

  .img_enterprise{
    width: 48px;
    height: 48px;
  }

  .two-columns{
    flex-direction: column;
    gap: 10px;
  }
}


/**************************************************************************/
/*                                PROFIL                                  */
/**************************************************************************/
#presentation{
  text-align: center;
  justify-content: center;
  margin: 20px;
}

.open-to-work{
  text-align: fixed;           /* reste visible (sinon mets absolute dans un parent) */
  top: 120px;
  width: 70%;
  margin: auto;
  margin-bottom: 150px;

  transform: rotate(-12deg);
  transform-origin: center;

  color: #033f04;            /* rouge foncé */
  font-weight: 800;
  font-size: clamp(32px, 6vw, 84px);
  letter-spacing: 2px;

  padding: 12px 22px;
  border: 3px dashed #033f04; /* pointillé */
  border-radius: 14px;

  background: rgba(255,255,255,0.6); /* optionnel pour lisibilité */
  z-index: 9999;

  user-select: none;
  pointer-events: none;      /* pour ne pas bloquer les clics */
}

.profile-card{
  max-width: 900px;
  margin: 28px auto;
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e8e8e8;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}

/* Bandeau du haut : gauche | avatar | droite */
.profile-card__top{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
}

/* Avatar rond */
.profile-card__avatar{
  width: 150px;
  height: 150px;
  border-radius: 999px;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  background: #eee;
}

.profile-card__avatar img{ object-fit: cover; object-position: center 25%; }
.avatar-down-1{ object-position: center 60%; }
.avatar-down-2{ object-position: center 80%; }
.avatar-down-3{ object-position: center 80%; }

.profile-card__avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Infos gauche/droite */
.profile-card__facts{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.profile-card__facts li{
  display: grid;
  gap: 2px;
}

.profile-card__facts span{
  font-size: .9rem;
  color: #666;
}

.profile-card__facts strong{
  font-size: 1rem;
  color: #111;
}

/* Présentation */
.profile-card__about{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #eee;
}

.profile-card__about h2{
  margin: 0 0 10px;
  font-size: 1.25rem;
}

.profile-card__about p{
  margin: 0 0 10px;
  line-height: 1.65;
  color: #222;
}

.profile-card__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

/* Boutons */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
  color: #fff;
  background: #111;
  border: 1px solid rgba(0,0,0,.1);
  transition: transform .18s ease, box-shadow .18s ease;
}

.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(0,0,0,.10);
}

.btn--ghost{
  background: transparent;
  color: #111;
  border: 1px solid #d9d9d9;
}



/**************************************************************************/
/*                                 CV                                     */
/**************************************************************************/
/* From Uiverse.io by vinodjangid07 */ 
.div-download{
  justify-content: center;
  display: flex;
}

.Documents-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  height: 45px;
  border: none;
  padding: 0px 20px;
  border-radius: 5px;
  background-color: rgb(49, 49, 83);
  gap: 10px;
  cursor: pointer;
  transition: all 0.3s;
  margin-top: 20px;
}
.folderContainer {
  width: 40px;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}
.fileBack {
  z-index: 1;
  width: 80%;
  height: auto;
}
.filePage {
  width: 50%;
  height: auto;
  position: absolute;
  z-index: 2;
  transition: all 0.3s ease-out;
}
.fileFront {
  width: 85%;
  height: auto;
  position: absolute;
  z-index: 3;
  opacity: 0.95;
  transform-origin: bottom;
  transition: all 0.3s ease-out;
}
.text{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.Documents-btn:hover .filePage {
  transform: translateY(-5px);
}
.Documents-btn:hover {
  background-color:#9a0134;
}
.Documents-btn:active {
  transform: scale(0.95);
}
.Documents-btn:hover .fileFront {
  transform: rotateX(30deg);
}



/**************************************************************************/
/*                              PARCOURS                                  */
/**************************************************************************/
#parcours{
  color: black;
  max-width: 80%;
  margin: 150px auto 180px auto;
  padding: 40px 30px 100px 30px;
  background: url(./media/couloir.jpg) no-repeat fixed 50% 50%;
  background-size: cover;
  border-radius: 8px;
  box-shadow: -1px -1px 8px black;
}


/**************************************************************************/
/*                             SOFTWARES                                  */
/**************************************************************************/
.honeycomb {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0px;
  max-width: 1000px;
  position: relative;
  margin: 0 auto;
}

.hex {
  width: 200px;
  height: 138.56px; /* hauteur d’un hexagone régulier (≈ 1.1547 * largeur) */
  clip-path: polygon(
    50% 0%,
    93% 25%,
    93% 75%,
    50% 100%,
    7% 75%,
    7% 25%
  );
  overflow: hidden;
  position: relative;
  background: #f0f0f0;
  transition: transform 0.3s;
}

.hex img{
  position: absolute;
  inset: 0;
  margin: auto;
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
  display: block;
}

.hex:hover {
  transform: scale(1.05);
}

/* Décale les lignes paires (offset) */
.offset {
  margin-left: 10px;
}


/**************************************************************************/
/*                                FOOTER                                  */
/**************************************************************************/
footer{
  margin-top: 100px;
  text-align: center;
  pad: 160px 50px 5 50px;
  background-image: url(./media/footer.jpg);
  background-size: cover;
  height: 250px;
}

#footer-icons{
  padding-top: 60px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  max-width: 70%;
}
.network{
  font-size: 3em;
  border: 1px solid black;
  padding: 30px 45px;
  color: #9a0134;
  z-index: -1 !important;
  border-radius: 50%;
}
.network:hover{
  background-color: #9a0134;
  transition: all 0.3s ease-in-out;
  color: whitesmoke;
}
.arrow{
  margin-top: 120px;
  padding-top: 25px;
  animation: arrow linear 1.5s;
  animation-iteration-count: infinite;
  position: absolute;
  left: 50%;
}

@keyframes arrow{
  0%{
    transform: translateY(0px);
  }
  38%{
    transform: translateY(8px);
  }
  100%{
    transform: translateY(0px);
  }
}

.arrow a{
  font-size: 3em;
  border: none;
  color: white;
}
.arrow:hover i{
  transform: scale(1.6);
  transition: 0.5s ease-in-out;
  color: #9a0134;
}
footer p {
  margin-top: 60px;
  font-size: 0.9em;
  letter-spacing: 0.3em;
  color: whitesmoke;
  font-weight: bold;
}


/**************************************************************************/
/*                              RESPONSIVITY                              */
/**************************************************************************/
/* Responsive */
@media (max-width: 720px){
  .profile-card__top{
    grid-template-columns: 1fr;
    text-align: center;
  }

  .profile-card__avatar{
    margin: 0 auto;
  }

  .profile-card__facts{
    justify-items: center;
  }

  .two-columns{
    display: none;
  }

  .hex{
    height: 100px;
    width: 100px;
  }
}

@media (max-width: 700px){
  .project-card{
    margin: 24px;
    justify-content: center;
    grid-template-columns: 1fr;
  }
  .project-media img{
    width: 30%;
    margin: auto;
  }
}

@media screen and (max-width: 1020px) {
  /* FORMATION */
  #formation{
    padding: 170px 40px 40px 50px;
    height:550px;
    clip-path: polygon(20% 22%, 80% 22%, 100% 0, 100% 100%, 80% 100%, 30% 100%, 0 100%, 0 0);

  }
  #occ{
    margin-top: 120px;
  }
  #autodidacte{
    position: absolute;
  }

  /* PORTFOLIO */
  .button_portfolio a{
    font-size: 6em;
  }
  .portfolio-description{
    font-size: 6em;
  }

  /* FOOTER */
  .network{
    font-size: 3em;
    padding: 20px 35px;
  }
  .arrow{
    margin-top: 60px;
  }
}

@media screen and (max-width: 900px) {
  /* HEADER */
  .navbar-bar{
    display: none;
  }
  /* SOFTWARE */
  .software-icons img{
    height: 50px;
  }

  /* PORTFOLIO */
  .button_portfolio a{
    font-size: 3.5em;
  }
  .portfolio-description{
    font-size: 3.5em;
  }
  
  /* FOOTER */
  .network{
    font-size: 2em;
    padding: 10px 20px;
  }
  .arrow{
    margin-top: 40px;
  }
}

/* IPHONE 8 FORMAT */
@media screen and (max-width: 420px) {
  /* HEADER */
  h1{
    font-size: 3.5em;
  }
  h2{
    font-size: 2em;
  }
  h5 span{
    font-size: .7em;
  }

  /* SOFTWARE */
  .software-icons img{
    margin-left: -15px;
    height: 25px;
  }
  #langages{
    height: 650px;
  }

  /* PARCOURS */
  #window{
    width: 78%;
  }
  .intro ul{
    margin-left: -25px;
    margin-top: -5px;
    font-size: .1em;
  }
  #parcours .timeline h4, .data .counter-value{
    font-size: 1em;
  }
  #parcours .timeline h6{
    font-size: .8em;
  }

  /* FORMATION */
  #autodidacte, #occ{
    position: absolute;
    margin-left: -55px;
  }
  #formation h4{
    font-size: 1em;
  }
  .data span{
    font-size: .8em;
  }
  .data{
    width: 120px;
  }


  /* PORTFOLIO */
  .button_portfolio{
    margin-top: 120px;
  }
  .button_portfolio a{
    font-size: 1em;
  }
  .portfolio-description{
    font-size: 3.5em;
  }

  /* FOOTER */
  .network{
    font-size: 1.5em;
    padding: 8px 13px;
  }
  .arrow{
    margin-top: 20px;
    left: 45%;
  }
}



