* {
  box-sizing: border-box; /* Applique à tous les éléments */
}

html {
  scroll-behavior: smooth;

}

body{
  position: relative;
  width: 100%;
  height:100%;
  color:black;
  font-family: 'Roboto', 'Roboto fallback', 'system-ui', '-apple-system', 'Arial', 'sans-serif';
  padding:0;
  margin: 0;
  font-size: 1.2vw;
}



#nav{
  width: 100%;
  height:10svh;
  display: flex;
}
.container_nav{
  width: 33.33%;
  height:100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.is_left_nav{
  justify-content: start;
  padding-left: 3%;
  gap:10%;
}
#logo_nav{
  width: 15%;
  height:auto;
}
#menu_nav{
  width: 8%;
  height:auto;
  cursor: pointer;
}
.element_flex{
  gap:4%;
}
.el_nav{
  cursor: pointer;
}




#masthead{
  width: 90%;
  margin-left: 5%;
  display: flex;
  margin-top: 5%;
  height:fit-content;
  height:60svh;
  gap:5%;
}
#right_mast{
  width: 50%;
  height:100%;
  display: block;
  position: relative;
}
#left_mast{
  width: 45%;
  height:100%;
  position: relative;
}
#img_left{
  width: 100%;
  height:60%;
  position: relative;
}
#icone_left{
  width: 100%;
  height:40%;
  display: flex;
}
.img_mast{
  width: 100%;
  height:100%;
  object-fit: cover;
}
#titre_right{
  position: absolute;
  top:5%;
  left:5%;
}
.btn_bottom{
  position: absolute;
  bottom:5%;
  right:5%;
}
#container_icone_container{
  width: 100%;
  height:100%;
  display: flex;
}
#col_left{
  width: 50%;
  height:100%;
  padding-top: 5%;
  padding-left: 2%;
}
#col_right{
  width: 50%;
  height:100%;
  padding-top: 5%;
  padding-left: 2%;
}
.icone{
  width: 10%;
  height:auto;
}
.icone_line{
  width: 100%;
  display: flex;
  align-items: center;
  gap:3%;
}
.icone_data{
  display: flex;
  width: fit-content;
}













#why{
  width: 90%;
  margin-left: 5%;
  padding-bottom: 5%;
  background-color: rgb(41, 41, 152);
  margin-top: 5%;
  padding-top: 3%;
}


.container_column:not(:first-child){
  margin-top: 3%;
}
.container_column{
  margin-top: 5%;
  width: 90%;
  margin-left: 5%;
  display: flex;
  margin-top: 2%;
}
.container_col{
  width: 33.33%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding-top: 1%;
}
.container_col_under{
  width: 33.33%;
  display: flex;
  gap:1%;
}
.is_text_col{
  width: 60%;
  text-align: left;
  padding-left: 8%;
}
.icone_col{
  width: 100%;
  height:auto;
}
.is_circle{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: rgba(255, 0, 0, 0.552);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4%;
  margin-left: 5%;
}
#contact_ban{
  background-color: rgb(58, 58, 180);
  width: 90%;
  margin-left: 5%;
  height:7svh;
  display: flex;
  gap:2%;
  justify-content: end;
  padding: 1%;
}
.icon_ban_con{
  width: 1.5%;
  height:auto;
  cursor: pointer;
}
.container_home{
  position: relative;
  width: 90%;
  margin-left: 5%;
  margin-top: 5%;
  overflow: hidden;
}
#container_in_home{
  width: 100%;
  height:100%;
  margin-top: 2%;
  display: flex;
}
#container_in_home_left{
  width: 40%;
  height:fit-content;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.079);
}
#img_second{
  width: 100%;
  height:auto;
}
#container_in_home_right{
  width: 60%;
}

.line{
  display: flex;
  width: 100%;
  gap: 2%;
  margin-top: 1%;
  padding-left: 2%;
  height:10svh;
}
.el_service{
  width: 33.33%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  background-color: rgb(58, 58, 180);
  padding: 1%;
  height:15svh;
  align-items: center;
  justify-content: center;
  color:white;
}
.icone_service{
  width: 10%;
  height:auto;
  transition: transform 0.5s ease;
}
.carte_service{
  width: 33.33%;
  padding:1%;
  height:100%;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 3 colonnes égales */
  grid-auto-rows: 20svh;        /* Hauteur auto */
  gap: 20px; 
}
.icone_move {
  animation: icone_move 1s infinite;
}
@keyframes icone_move {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20%);
  }
  100%{
    transform: translateY(0);
  }
}

#container_service_div{
  width: 100%;
  height:100%;
  overflow: hidden;
  margin-top: 5%;
}
#scroll_container_service{
  display: flex;
  width: 300%;
  height:100%;
  transition: transform 0.5s ease;
}
.price{
  position: absolute;
  top:0;
  right:5%;
}
.el_carte_sercice{
  position: relative;
  margin-top: 2%;
  width: 100%;
  height:fit-content;
  padding-left: 3%;
}
.text_service{
  text-align: justify;
  width: 80%;
  margin-top: 3%;
}

#grid_loca{
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 colonnes égales */
  grid-template-rows: 60svh; /* lignes auto-ajustées */
  gap: 20px; /* espace entre les cases */
  margin-top: 3%;
}

.item_loca{
  text-align: center;
  position: relative;
}
.img_loca{
  width: 90%;
  height:70%;
  cursor: pointer;
  object-fit: cover;
}
.text_loca{
  width: 90%;
  text-align: justify;
  margin-left: 5%;
  text-align: left;


}

.price_in{
  margin-top: 2%;
  color:white;
  float: right;
  font-weight: bold;
  background-color: red;
  padding: 2%;
}
.titre_in{
  font-weight: bold;
}

.info_loca{
  position: absolute;
  width: 30%;
  height:70%;
  right: 5%;
  display: flex;
  top:0;
  flex-direction: column;
  padding-top: 2%;
  background-color: rgba(5, 5, 5, 0.561);
}
.icone_info{
  width: 20%;
  height:auto;
  margin-top: 3%;
}
.data{
  font-weight: bold;
}
#text_expertise{
  width: 60%;
  height:fit-content;
  margin-top: 1%;
}
#container_brand{
  margin-top: 5%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* 3 colonnes égales */
  grid-auto-rows: 20svh;        /* Hauteur auto */
  gap: 20px; 
}

#container_piece{
  width: 100%;
  height: 60svh;
  margin-top: 5%;
  display: flex;
}
#left_container_piece{
  width: 60%;
  height:100%;
}
#right_container_piece{
  width: 40%;
  height:100%;
  /* background-color: rgb(58, 58, 180); */
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr; /* 3 colonnes égales */
  grid-auto-rows: 5svh;
  gap: 20px; 
  padding: 5%;
}
.icone_piece{
  width: 80%;
  height:auto;
  cursor: pointer;
}
.container_piece_scroll{
  width: 100%;
  height:100%;
  overflow: hidden;
  display: flex;
}
.scroll_piece{
  width: 300%;
  height:100%;
  transition: transform 0.5s ease;
}
.div_pieces{
  width: 33.33%;
  height:100%;
}




#qui_container{
  width: 100%;
  display: flex;
}
#left_qui{
  width: 60%;
  height:100%;
}
#right_qui{
  width: 40%;
}
#container_text_qui{
  width: 80%;
  margin-top: 2%;
}



#location_div{
  width: 90%;
  margin-left: 5%;
  margin-top: 5%;
}
#ocaz{
  width: 90%;
  margin-left: 5%;
  margin-top: 5%;
}
#temoignage{
  position: relative;
  width: 90%;
  margin-left: 5%;
  margin-top: 5%;
  background-color: rgb(58, 58, 180);
  padding-bottom: 10%;
}
#qui_somme{
  margin-top: 8%;
}
.femme{
  width: 10%;
  height:auto;
}
.homme{
  width: 10%;
  height:auto;
}
#container_avis{
  width: 50%;
  margin-left: 25%;
  position: relative;
  padding-top: 5%;
  overflow: hidden;
}
#scroll_avis{
  width: 300%;
  height:100%;
  margin-top: 30%;
  display: flex;
  transition: transform 0.5s ease;
}
.item_avis{
  width: 100%;
  height:100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: -4%;
}
.av_text{
  margin-top: 2%;
}
#container_circle{
  width: 20%;
  height:5svh;
  position: absolute;
  bottom:5%;
  right:0%;
  display: flex;
  gap:5%;
}
.circle{
  position: relative;
  width: 15px;
  height:15px;
  border-radius: 50%;
  background-color: rgb(225, 67, 67);
  cursor: pointer;
}

.is_red_circle{
  
}
#ravis{
  color: rgb(112, 142, 203);
}








#horraire{
  position: relative;
  margin-top: 8%;
  width: 80%;
  margin-left: 10%;
  padding-bottom: 5%;
}
.data_horraire{
  margin-top: 1%;
}
#map{
  position: absolute;
  top:20%;
  right:0%;
  width: 45%;
  height:auto;
}

.text_shad{
  text-shadow: 2px 2px 4px rgb(2, 2, 2);
}

.is_red{
  color:red;
}
.is_black{
  color:rgb(61, 61, 61);
}
.is_white{
  color:white;
}

button{
  padding: 2.5% 3% 2.5% 3%;
  border: none;
  color:white;
  background-color:rgb(41, 41, 152);
  cursor: pointer;
}

.is_titre{
  font-size: 3vw;
}
.is_titre1{
  font-size: 2.5vw;
}
.is_titre2{
  font-size: 2vw;
}
.is_titre3{
  font-size: 1.5vw;
}
.is_text{
  font-size: 1.3vw;
}
.is_little_text{
  font-size: 0.9vw;
}


@media (max-width: 800px) {
  .is_circle{
    width: 60px;
    height: 60px;
  }
}


@media (max-width: 768px) {
  .is_titre{
    font-size: 6vw;
  }
  .is_titre1{
    font-size: 2.5vw;
  }
  .is_titre2{
    font-size: 5vw;
  }
  .is_titre3{
    font-size: 4.5vw;
  }
  .is_text{
    font-size: 4vw;
  }
  .is_little_text{
    font-size: 3vw;
  }
  body{
    font-size: 4vw;
  }
  .icone_info{
    width: 30%;
  }
  .is_resp{
    display: none;
  }
  .element_flex{
    display: none;
  }
  #menu_nav{
    width: 12%;
  }
  #left_mast{
    width: 100%;
    margin-left: 0;
    margin-top: 5%;
    height:auto;
  }
  #why{
    margin-top: 8%;
  }
  .container_column{
    flex-direction: column;
  }
  .container_col{
    display: none;
  }
  .is_circle{
    width: 60px;
    height:70px;
    background-color: transparent;
    border: 1px solid red;
  }
  .container_col_under{
    width: 100%;
    margin-top: 2%;
    padding-bottom: 5%;
  }
  .icon_ban_con{
    width: 6%;
    height:50%;
  }
  .is_text_col{
    margin-left: 5%;
  }
  #contact_ban{
    align-items: center;
    padding-right: 2%;
  }
  #container_in_home{
    flex-direction: column;
  }
  #container_in_home_left{
    width: 100%;
  }
  #container_in_home_right{
    width: 100%;
    margin-top: 5%;
  }
  .icone_service{
    width: 20%;
  }
  #container_service_div{
    margin-top: 15%;
  }
  .is_red{
    width: 60%;
  }
  .carte_service{
    grid-auto-rows:auto;
  }
  .container_home{
    height: fit-content;
  }
  #grid_loca{
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: none;
  }
  #qui_container{
    flex-direction: column-reverse;
  }
  #left_qui{
    width: 100%;
    margin-top: 5%;
  }
  #right_qui{
    width: 100%;
  }
  #container_text_qui{
    width: 100%;
    text-align: justify;
  }
  #qui_container{
    height:fit-content;
  }
  #temoignage{
    margin-top: 8%;
  }
  #container_avis{
    width: 80%;
    margin-left: 10%;
    height: fit-content;
    padding-bottom: 10%;
  }
  .circle{
    width: 8px;
    height: 8px;
  }
  #container_circle{
    gap: 8%;
    bottom:0;
  }
  #adresse{
    margin-top: 80%;
  }
  #map{
    width: 100%;
    left:0;
  }
  .data_horraire{
    margin-top: 2%;
  }
  #masthead{
    flex-direction: column;
    height:fit-content;
  }
  #right_mast{
    width: 100%;
    height:60svh;
  }
  #img_left{
    height:40svh;
  }
  #container_in_home_left{
    height:40svh;
  }
  #img_second{
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  .resp{
    display: none;
  }
  #right_qui{
    height: 50svh;
  }
}


