
:root {
  --col_border: rgba(255, 255, 0, 0.202);
}
.bold{
  font-weight: bold;
}




/* */
#fiche_intro{
  width: 100%;
  margin-top: 10%;
  position: relative;
  height:70vh;
  min-height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#container_fiche{
  width: 90%;
  height:100%;
  display: flex;
}
.container_half{
  height: 100%;
  position: relative;
  padding: 1%;
}
#intro_left{
  width: 60%;
  padding: 2%;
}
#intro_right{
  width: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.line{
  position: absolute;
  background-color: white;
  transition: height 1s ease;
  width: 1px;
  height:0;
  top:0;
}
.line_height{
  height: 100%;
}
#line_left{
  left:0;
}
#line_center{
  right: 0;
}
#line_right{
  right: 0;
}
#text_bottom{
  width: 95%;
}

#container_arrow{
  position: absolute;
  bottom: 5%;
  left:0;
  justify-content: end;
  align-items: center;
  padding-right: 3%;
  display: flex;
  gap:2%;
  width: 100%;
  cursor: pointer;
}
#arrow{
  width: 3vw;
  height:auto;
}



















/* */


.img_icone{
  width: 40%;
  height: auto;
  cursor: pointer;
}
.img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter:grayscale(100%);
}
#process_section{
  width: 100%;
  height:20vh;
  margin-top: 5%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#container_process{
  width: fit-content;
  height:100%;
  display: flex;
  position: relative;
  gap:10%;
  margin-left: -5%;
}
#time_line{
  position: absolute;
  width: 100%;
  left:0%;
  height:1px;
  top:50%;
  background-color: white;
}
#fin{
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  right: -5%;
}
.process{
  width: auto;
  height:100%;
  width: 12vw;
}
.proc{
  width: 100%;
}

.right{
  display: flex;
  align-items: end;
}
#container_img{
  width: 60%;
  height:70%;
  position: relative;
}
.img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter:grayscale(100%);
}

#container_reso{
  position: absolute;
  width: 20%;
  height:100%;
  right: 5%;
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
  row-gap: 3%;
}


/* */
#presentation{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10vh;
  flex-direction: column;
  
}
#container_presentation{
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  padding-left: 5%;
}
#container_video{
  width: 90%;
  height:60vh;
  min-height: 350px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid white;
}
.vid{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* */
#section_resum{
  width: 100%;
  margin-top: 20vh;
  height:auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
#container_under_resum{
  width: 80%;
  height:100%;
}
#container_data{
  width: 100%;
  height:100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap:1%;
}
.container_resum{
  display: flex;
  overflow: hidden;
  position: relative;
}
#right_anim, #left_anim{
  transition: transform 0.5s ease;
}
#left_anim{
  left:0;
} 
#right_anim{
  right:0;
}
#s_letter{
  left:0;
}
.letter_anim{
  transition: transform 0.5s ease;
}
.go_to_bottom{
  transform: translateY(100%);
}
.go_to_right{
  left:100%!important;
}
.go_to_left{
  right:100%!important;
}

#label{
  order: 99;
  flex-basis: 100%;   /* ⬅️ force LABEL à passer à la ligne d'en dessous */
  text-align: center;
  display: flex;
  gap:10%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2vh;
}











/* */
#container_reso{
  width: 10%;
  position: absolute;
  right:3%;
}



/**/

#realisations{
  width: 100%;
  height:auto;
  margin-top: 10%;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-left: 5%;
}
#container_rea{
  width: 95%;
  height:100%;
  display: flex;
  position: relative;
  
}
#grid_filter{
  width: 20%;
  padding-top: 10%;
}
.grid_rea{
  height:98%;
  margin-left: 1%;
  position: relative;
}
.grid_full{
  width: 33.33%;
}
.line_anim{
  position: absolute;
  width: 1px;
  height:0;
  background-color: white;
  transform-origin: top;
  right: 0;
  transition: height 1.5s ease-out;
  z-index: 1;
}
.left_line_anim{
  left:0;
  right: auto;
}


/* */
#letter{
  display: flex;
  gap:1%;
}
.theme{
  margin-top: 5%;
}
.grid_rea_filter{
  display: flex;
  flex-wrap: wrap;
  gap:3%;
}
.grid_rea_filter div{
  cursor: pointer;
}
/* */
.rect_grid_2{
  width: 99%;
  margin-left: 0.5%;
  padding: 1%;
  height: 75vh;
  min-height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  position: relative;
}
.rect_grid_2{
  margin-top: 15%;
}
.first_grd2{
  margin-top: 0%;
}
.top_grid{
  width: 100%;
  height:auto;
  display: flex;
  justify-content: space-between;
}
.top_grid div{
  width: fit-content;
}
.col_grid{
  width: 75%;
  display: flex;
  align-items: start;
  padding-bottom: 1%;
  flex-direction: column;
}

.img_grid{
  width: 75%;
  height:65%;
  object-fit: cover;
}
.img_r{
  margin-right: 1%;
}
.picture_div{
  overflow: hidden;
  width: 75%;
  position: absolute;
  bottom: 0;
}
.grid2arrow{
 transform: translateX(-120%);
 transition: 0.5s ease; 
}
.rect_grid_2:hover .grid2arrow{
  transform: translateX(0%);
}


/* */
#letter{
  display: flex;
  gap:1%;
}
.theme{
  margin-top: 5%;
}
.grid_rea_filter{
  display: flex;
  flex-wrap: wrap;
  gap:3%;
}
.grid_rea_filter div{
  cursor: pointer;
}
/* */
.rect_grid_2{
  width: 99%;
  margin-left: 0.5%;
  padding: 1%;
  height: 75vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  position: relative;
}
.rect_grid_2{
  margin-top: 15%;
}
.first_grd2{
  margin-top: 0%;
}
.top_grid{
  width: 100%;
  height:auto;
  display: flex;
  justify-content: space-between;
}
.top_grid div{
  width: fit-content;
}
.col_grid{
  width: 75%;
  display: flex;
  align-items: start;
  padding-bottom: 1%;
  flex-direction: column;
}

.img_grid{
  width: 75%;
  height:65%;
  object-fit: cover;
}
.img_r{
  margin-right: 1%;
}
.picture_div{
  overflow: hidden;
  width: 75%;
  position: absolute;
  bottom: 0;
}
.grid2arrow{
 transform: translateX(-120%);
 transition: 0.5s ease; 
}
.rect_grid_2:hover .grid2arrow{
  transform: translateX(0%);
}

.arrow{
  width: 2vw;
  height:auto;
}

.is_margin{
  margin-top: 2%;
}
.is_margin_big{
  margin-top: 5%;
}
.line_anim{
  position: absolute;
  width: 1px;
  height:0;
  background-color: white;
  transform-origin: top;
  right: 0;
  transition: height 1.5s ease-out;
  z-index: 1;
}
.left_line_anim{
  left:0;
  right: auto;
}
.draw_side {
  height: 100%!important;
}












@media (max-width: 1280px) and (max-height:1024px){
  #container_img{
    height:60%;
  }
  .mini_text{
    font-size: clamp(10px, 1.2vw, 100px);
  }
  .container_titre_section{
    width: 80%;
  }
  .text_under{
    width: 80%;
  }
  #line_container_time{
    left:17%;
  }
  #container_time{
    width: 80%;
  }
  #container_img{
    height:70%;
  }
}
@media (max-width: 1280px) and (max-height:960px){
  #container_img{
    height:70%;
  }
}
@media (max-width: 1280px) and (max-height:768px){
  #container_img{
    height:70%;
    width: 50%;
  }
}
@media (max-width: 1280px) and (max-height:768px){
  #container_img{
    width: 60%;
    height:70%;
  }
}
@media (max-width: 1176px){

  .container_titre_section{
    width: 65%;
  }
  .text_under{
    width: 65%;
  }
  #line_container_time{
    left:24%;
  }
  #container_time{
    width: 65%;
  }
}
@media (max-width: 1176px){
  #container_img{
    height:65%;
  }
}

@media (max-width: 800px){
  .container_titre_section{
    width: 75%;
  }
  .text_under{
    width: 75%;
  }
  #line_container_time{
    left:19%;
  }
  #container_time{
    width: 75%;
  }
  #container_rea{
    flex-wrap: wrap;
  }
  .img_grid, .col_grid{
    width: 90%;
    border-radius: 20px;
  }
}


@media (max-width: 700px){
  .line, .line_anim{
    display: none;
  }
  #fiche_intro{
    min-height: auto;
    height:auto;
  }
  #container_fiche{
    flex-direction: column-reverse;
  }
  #intro_right{
    width: 100%;
  }
  .container_half{
    height: 50vh;
    min-height: 350px;
  }
  #container_img{
    height:90%;
    margin-top: 10%;
  }
  #intro_left{
    width: 100%;
    height:auto;
    min-height: auto;
    margin-top: 10%;
  }
  


  /* */
  .vid{
    margin-top: -30%;
    height:200%;
  }
  .container_titre_section,
  .text_under,
  #container_time {
    width: 90%;
  }
  #grid_filter{
    width: 100%;
  }
  .cirle{
    width: 8vw;
    height:8vw;
  }

  /* */
  #container_fiche{
    width: 100%;
  }
  #container_img{
    width: 100%;
  }
  .container_half{
    width: 100%;
  }
  .img{
    border-radius: 20px;
    border: 1px solid white;
    width: 95%;
    margin-left: 2.5%;
  }


  /* */
  #intro_left{
    margin-top: 5%;
    width: 95%;
    margin-left: 2.5%;
  }
  #text_bottom{
    margin-top: 5%;
    position: relative;
  }


  #container_rea{
    flex-direction: column;
  }
  .grid_full{
    width: 100%;
  }
  .rect_grid_2{
    min-height: 450px;
  }
}












