
* {
  box-sizing: border-box; /* Applique à tous les éléments */
  -webkit-tap-highlight-color: transparent;
  /* outline: 1px solid red; */
}


@font-face {
  font-family: 'Roboto';
  src: url('/static/police/Roboto-Regular.ttf') format('ttf');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: url('/static/police/Roboto-Bold.ttf') format('ttf');
  font-weight: 700;
  font-display: swap;
}


html {
  padding: 0;
  margin: 0;
  width: 100%;
  height:100%;
}
body{
  padding: 0;
  margin: 0;
  width: 100%;
  height:100%;
  margin: 0 auto;
  color:rgb(36, 58, 34);
  font-family: 'Roboto', sans-serif;
}
.section{
  max-width: 1920px;
  width: 100%;
  padding: 0 1%;
  margin: 0 auto;
  height: 92.5dvh;

  position: relative;
}
.section_auto{
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  height: auto;
  position: relative;
}
.are_not_fully{
  width: 70%;
  margin: 0 auto;
}
.block_not_fully{
  width: 70%;
}
.all_section_btn_50{
  width: 50%;
  margin-left: auto;
  text-align: right;
}
.all_section_btn{
  margin-left: auto;
  text-align: right;
}
.all_section_btn_100{
  text-align: right;
  width: 100%;
}
.hidden{
  opacity: 0;
  line-height: 0.1;
  position: absolute;
  left:-1000%;
}
.is_width_60{
  width: 85%;
}
.is_padd{
  padding: 4% 2% 8% 2%;
}
@media (max-width: 500px) { 
  .all_section_btn_50{
    width: 100%;
    text-align: center;
  }
  .all_section_btn{
    text-align: center;
  }
  .is_padd{
    padding-bottom: 12%!important;
  }
}












/* */
.overlay{
  background-color: #f1f0ec;
  /* backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px); */
  position: fixed;
  left: 50%;
  top:50%;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: transform 0.5s ease-in-out,
  opacity 0.5s ease;
  transform: translate(-50%, -60%);
  z-index: 200;
  opacity: 0;
  display: none!important;
  max-height: 90vh;
  overflow-y: auto;
}
.over_display{
  display: flex!important;
}
.open_over{
  transform: translate(-50%, -50%);
  opacity: 1;
}
.width_60{
  width: 92%;
  margin-left: 4%;
}
.item_grid_over{
  display: flex;
  justify-content: center;
  align-items: center;
}





#over_resa{
  width: 90%;
  padding: 2%;
  
}
.blur_bakc{
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px); /* Safari */
}
.blur {
    filter: blur(8px);
    transition: 0.3s;
}
#over_resa::-webkit-scrollbar {
  width: 0px;
}
#over_resa::-webkit-scrollbar-track {
  background: transparent;
}
#over_resa::-webkit-scrollbar-thumb {
  background-color: #7a767600;
  border-radius: 10px;
}
.container_resa{
  display: flex;
  width: 100%;
}
.flatpickr-calendar{
  width: 100%;
}
#validate_resa{
  width: 30%;
  margin-left: auto;
  z-index: 2;
  text-align: right;

}
#close_div_resa{
  position: relative;
  width: 100%;
  text-align: right;
  z-index: 1000;
}
#close_resa{
  width: clamp(20px, 2vw, 50px);
  pointer-events: all;
  cursor: pointer;
  z-index: 2;
  margin-left: auto;
}
#bot_resa{
  width: 100%;
  height: 100%;
}
#bot_resa::-webkit-scrollbar {
  width: 4px;
}
#bot_resa::-webkit-scrollbar-track {
  background: transparent;
}
#bot_resa::-webkit-scrollbar-thumb {
  background-color: #7a7676c9;
  border-radius: 10px;
}
.in_bot_resa{
  width: 100%;
  height: auto;
  display: flex;
}
.section_reser{
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-direction: column;
}
.resa_grid{
  width: 100%;
}

.resa_grid::-webkit-scrollbar {
  width: 4px;
}
.resa_grid::-webkit-scrollbar-track {
  background: transparent;
}
.resa_grid::-webkit-scrollbar-thumb {
  background-color: #7a7676c9;
  border-radius: 10px;
}
#resa_grid_right{
  height: 75%;
  overflow: hidden;
  overflow-y: auto;
}
.in_resa{
  flex-direction: column;
}

.flatpickr-calendar.inline{
  width: 60% !important;
  max-width: 60%;
  margin: 0 auto;
}

.flatpickr-days{
  width: 100% !important;
}

.dayContainer{
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}
@media (max-height: 600px){
#over_resa{
    top: 0;
    left: 0;
    transform: none; /* 🔥 IMPORTANT */
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0; /* si tu veux full screen */
  }
  #close_div_resa{
    flex-shrink: 0;
    margin-top: 50px;
  }
  #validate_resa{
    flex-shrink: 0;
    margin-top: 50px;
  }
  #bot_resa{
    flex: 1;
    overflow-y: auto;
    min-height: 0;
  }
}

@media (max-width: 900px){
  .flatpickr-calendar.inline{
    width: 90% !important;
    max-width: 90%;
    margin: 0 auto;
  }
}

@media (max-width: 700px){
  #over_resa{
    top: 0;
    left: 0;
    transform: none; /* 🔥 IMPORTANT */
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0; /* si tu veux full screen */
    display: flex;
    flex-direction: column;
    height: 100dvh;
  }
  #close_div_resa{
    flex-shrink: 0;
    margin-top: 80px;
  }
  #validate_resa{
    flex-shrink: 0;
    margin-top: 20px;
  }
  #bot_resa{
    flex: 1;
    overflow-y: auto;
    min-height: 0;
  }
  .section_reser{
    width: 100%;
  }
  .in_bot_resa{
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
  }
}














.navBarre{
  font-size: clamp(15px, 1vw + 0.5vh, 20px);
}

.is_titre{
  font-size: clamp(30px, 2.6vw + 1.8vh, 72px);
  line-height: 1;
}

.is_titre1{
  font-size: clamp(26px, 2vw + 1.2vh, 44px);
  line-height: 1;
}
.is_titre2{
  font-size: clamp(22px, 1.5vw + 0.8vh, 32px);
  line-height: 1;
}
.is_titre3{
  font-size: clamp(18px, 1.2vw + 0.8vh, 28px)!important;
  line-height: 1;
}


button{
  font-size: clamp(15px, 1vw + 0.6vh, 22px);
}

textarea, input, .select{
  font-size: clamp(15px, 0.9vw + 0.5vh, 19px);
}

.little_font{
  font-size: clamp(14px, 0.8vw + 0.4vh, 17px);
}

.little_font1{
  font-size: clamp(15px, 0.9vw + 0.5vh, 19px)!important;
}

body{
  font-size: clamp(16px, 1vw + 0.6vh, 28px);
}


@media (max-width: 800px) {
  .navBarre{
    font-size: 14px;
  }
  .is_titre{
    font-size: 32px;
  }
  .is_titre1{
    font-size: 26px;
  }
  .is_titre2{
    font-size: 20px;
  }
  .is_titre3{
    font-size: 16px!important;
  }
  button{
    font-size: 12px;
  }
  textarea, input, .select{
    font-size: 12px;
  }
  .little_font{
    font-size: 10px;
  }
  .little_font1{
    font-size: 11px!important;
  }
  body{
    font-size: 12px;
  }
}


@media (max-width: 400px) {

.navBarre{
  font-size: clamp(12px, 2.5vw, 15px);
}

.is_titre{
  font-size: clamp(24px, 10vw, 50px);
}

.is_titre1{
  font-size: clamp(20px, 8vw, 40px);
}

.is_titre2{
  font-size: clamp(17px, 4.2vw, 22px);
}

.is_titre3{
  font-size: clamp(14px, 3.8vw, 18px)!important;
}

button{
  font-size: clamp(12px, 3vw, 15px);
}

textarea, input, .select{
  font-size: clamp(12px, 2.8vw, 14px);
}

.little_font{
  font-size: clamp(11px, 2.6vw, 13px);
}

.little_font1{
  font-size: clamp(12px, 2.8vw, 14px)!important;
}

body{
  font-size: clamp(13px, 3vw, 15px);
}
}












.navBarre{
  max-width: 1920px;
  width: 90%;
  height:clamp(60px, 4.2vw, 100px);
  position: fixed;
  top:0;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-right-radius: 35px;
  border-bottom-left-radius: 35px;
  transition: height 0.75s ease-in-out,
  transform 1s ease;
  z-index: 2000;
  overflow: hidden;
}
.element_nav{
  cursor: pointer;
}
#cotnact_nav{
  padding-top: 0.4em;
  padding-right: 2.8em;
}
.navBarre:hover{
  height: clamp(400px, 28vw, 700px);
}
.nav_section{
  display: flex;
  width: 95%;
  margin-left:2.5%;
}
.nav_top{
  height:clamp(60px, 4.2vw, 100px);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: padding-top 1s ease;
}
.nav_top .left{
  gap:2%;
}
.padd_nav{
  padding-top: 1%;
}
.nav_bot{
  width: 95%;
  transition: opacity 2s ease;
  border-bottom-right-radius: 35px;
  border-bottom-left-radius: 35px;
  position: relative;
  display: flex;
  padding-top: 1%;
  padding-bottom: 3%;
}
.navBarre:hover .nav_bot{
  opacity: 1;
}

/* */
.in_nav{
  display: flex;
  align-items: center;
}
.left{
  width: 20%;
}
.center{
  width: 60%;
  justify-content: center;
  gap: 3%;
}
.right{
  width: 20%;
  justify-content: end;
  padding-right: 1%;
}

/* */
.nav_bot .left{
  width: 40%;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  padding: 1%;
  padding-top: 3%;
}
.nav_bot .center{
  width: 25%;
  justify-content: center;
  align-items: center;
}
.nav_bot .right{
  width: 35%;
  display: block;
}
#logo_nav_in{
  width: 50%;
  height: auto;
}
#logo_nav{
  width: clamp(50px, 6vw, 120px);
  height: auto;
}

/* */
.grid_nav {
  width: 100%;
  height: 80%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* 3 colonnes */
  gap: 2%;
  row-gap: 3%;
  width: 100%;
}
.element_pict_nav{
  height: 100%;
}
#menu_resp{
  display: none;
  cursor: pointer;
    border-radius: 30px;
    background-color: transparent;
    padding: 2% 5% 2% 5%;
    cursor: pointer;
    background-color: #336361;
    color:white;
    border: transparent;
}
#container_close{
  width: 100%;
  position: relative;
  z-index: 2;
  text-align: right;
  padding: 3% 5% 0% 0%;
}
#close_nav{
  width: clamp(30px, 2vw, 50px);
  height: auto;
  z-index: 5;
  cursor: pointer;
  pointer-events: initial;
}

/* */

#menu_resp_mobile{
  width: 100%;
  height: 100vh;
  min-height: 400px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 199;
  background-color: transparent;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
  transition: transform 1s ease, 
  background 1s ease,
  backdrop-filter 1s ease;
  transform: translatey(-100%);
  overflow-y: auto;
  padding-bottom: clamp(80px, 10vh, 100px);
}
.is_marg_nav{
  margin-top: clamp(15px, 3vh, 50px);
}
.back_blur{
  background: rgba(255, 255, 255, 0.6); /* léger voile */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); /* Safari */
}
#menu_resp_mobile::-webkit-scrollbar {
  width: 4px;
}
#menu_resp_mobile::-webkit-scrollbar-track {
  background: transparent;
}
#menu_resp_mobile::-webkit-scrollbar-thumb {
  background-color: #3433336d;
  border-radius: 10px;
}
.open_nav_resp{
  transform: translatey(0%)!important;
}
#in_menu_resp{
  position: relative;
  width: 65%;
  padding-bottom: 50px;
  margin-top: clamp(80px, 10vh, 100px);
}







@media (max-width: 1024px) {
  .grid_nav{
    grid-template-columns: 1fr 1fr;
  }
  .element_resp{
    display: none;
  }
  .nav_bot .left{
    width: 50%;
  }
}

/* 📱 Tablette */
@media (max-width: 1000px) { 
  .center{
    display: none;
  }
  .right, .left{
    gap:30px;
    width: 50%;
    height: 100%;
  }
  .left{
    padding-left: 2%;
  }
  .right{
    padding-right: 2%;
  }
  #menu_resp{
    display: block;
  }
  .navBarre{
    height:45px;
  }
  .nav_top{
    height:45px;
  }
  .navBarre:hover{
    height:45px;
  }
  #cotnact_nav{
    display: none;
  }
}

@media (max-width: 600px) { 
  #in_menu_resp{
    width: 90%;
  }
}

@media (max-width: 500px) { 
  #cotnact_nav, #pax_left{
    display: none;
  }
  .navBarre {
    padding: 0% 4%;
    width: 95%;
    border-radius: 20px;
  }
  #menu_resp{
    padding: 5% 8% 5% 8%;
  }
  .navBarre{
    height:60px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
  }
  .nav_top{
    height:60px;
  }
  .navBarre:hover{
    height:60px;
  }
  #logo_nav{
    width: 80px;
  }
}













.masthead{
  position: relative;
  margin-top: 3%;
  overflow: hidden;
  min-height: 450px;
}
@media (min-width: 1921px) and (min-height: 1000px) {
  .masthead{
    height: 1000px!important;
    min-height: 1000px!important;
    max-height: 1000px!important;
  }
}
.search_input{
  width: clamp(510px, 40%, 750px);
  position: absolute;
  bottom: 5%;
  left:2%;
  height: clamp(35px, 3vw, 55px);
  display: flex;
  align-items: center;
  gap:3%;
  padding: 1%;
  z-index: 100;
  background-color: #f5f4f0;
}
#input_search2{
  position: fixed;
  bottom: 2%;
  transition: transform 1s ease;
  transform: translateX(-120%);
  border: 1px solid #336361;
}
.select{
  border: 1px solid #336361;
  border-radius: 25px;
  padding: 0.7% 2.5% 0.7% 2.5%;
  background-color: #f5f4f0;
  cursor: pointer;
  color:rgb(0, 0, 0);
  letter-spacing: 0.5%;
  transition: border 0.5s ease;
}
.select_call{
  background-color: #4e8a87!important;
  color:white;
}
.flatpickr-input::placeholder {
  color:rgba(0, 0, 0, 0.824);
}
.select:hover{
  border: 1px solid #33ada7;
}
#btn_search{
  background-color: #336361;
  color:white;
  width: 22%;
  border-radius: 25px;
  padding: 1%;
  margin-left: auto;
  border: transparent;
}
input::placeholder {
  color: black;
}
#img_mast1{
  object-position: 0% 0%;
  filter: brightness(0.9);
}
#mast_btn{
  padding: 2% 5%;
}
.promess{
  position: absolute;
  top:15%;
  left:3%;
  width: 40%;
  max-width: 800px;
  letter-spacing: 2px;
}
#titre2_promess{
  margin-top: 4%;
  width: 80%;
}
#resum_promess{
  display: none;
}
.chat_circle{
  width: clamp(70px, 6vw, 130px);
  height: clamp(70px, 6vw, 130px);
  border-radius: 50%;
  position: absolute;
  right: 3%;
  bottom: 3%;
  cursor: pointer;
  z-index: 100;
  transition: transform 1s ease,
    opacity 1s ease;
}









.container_chat{
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 0% 2%;
  margin-top: 2%;
}
.container_chat::-webkit-scrollbar {
  width: 4px;
}
.container_chat::-webkit-scrollbar-track {
  background: transparent;
}
.container_chat::-webkit-scrollbar-thumb {
  background-color: #ffffff6d;
  border-radius: 10px;
}
#chat_section{
  width: clamp(400px, 33vw, 800px);
  height: clamp(300px, 80vh, 600px);
  position: absolute;
  z-index: 101;
  right: 2%;
  bottom: 3%;
  opacity: 0;
  transition: transform 1s ease,
    opacity 1s ease;
  transform: translateY(150%);
  background-color: #336361;
  color:white;
  padding: 2% 1%;
  padding-bottom: 50px;
  overflow: hidden;
  border: 2px solid rgba(28, 27, 27, 0.245);
}
.chat_section_click{
  transform: translateY(0%)!important;
  opacity: 1!important;
}
.chat_circle_click{
  transform: translateY(150%);
  opacity: 0;
}
#close_section_chat{
  width: 100%;
  text-align: right;
  z-index: 1000;
  position: relative;
}
#close_info_chat{
  margin-left: auto;
  width: clamp(30px, 1.5vw, 50px);
  cursor: pointer;
  pointer-events: all;
}
.container_email_tel{
  display: flex;
  gap:2%;
}
.container_email_tel input{
  width: 50%;
}
.input_100{
  width: 100%;
}
#text_home{
  width: 100%;
  height: clamp(150px, 20vh, 400px);
}
.disapear_chat{
  opacity: 0;
}
#notif{
  position: absolute;
  top:-1%;
  right: -1%;
  background-color: #336361;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5%;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  z-index: 6;
  color:white;
}
#circle_chat_in{
 border-radius: 50%;
}
#resp_btn{
  display: none;
  margin-top: 4%;
}
.mast_resp{
  background-color: #336361;
}
.resp_appear{
  display: none;
}

@media (max-width: 900px) and (min-height: 600px){
  .masthead{
    height: clamp(500px, 80vh, 800px);
    min-height: clamp(500px, 80vh, 800px);
  }
  #chat_section{
    height: clamp(400px, 70vh, 600px);
  }
}
@media (max-width: 1150px) { 
  .promess{
    width: 60%;
  }
}
@media (max-width: 900px) { 
  .search_input{
    display: none;
  }
}
@media (max-width: 800px) { 
  .masthead{
    min-height: 350px
  }
  .promess a button{
    margin-top: 8%!important;
  }
  #resum_promess{
    width: 100%;
  }
  .chat_circle {
    width: 60px;
    height: 60px;
    right: 5%;
  }
  #notif{
    width: 20px;
    height: 20px;
  }
}


@media (max-width: 768px) { 
  .promess a button{
    margin-top: inherit;
  }
  .promess{
    width: 70%;
  }
}

@media (max-width: 530px) { 
  .promess{
    width: 90%;
    left: auto;
    margin-left: 5%;
  }
}
@media (max-width: 500px) { 
  #resp_btn{
    display: block;
    margin-top: 10%;
  }
  .promess{
    text-align: center;
    margin-left: 5%;
    width: 90%;
    padding: 0% 2%;
    margin-top: 8%;
  }
  #titre2_promess{
    margin-top: 10%;
    width: 100%;
  }
  .resp_appear{
    display: block;
  }
  .masthead{
    height: 96dvh;
    max-height: 700px;
  }
  #close_section_chat{
    margin-top: 5px;
  }
  #text_home{
    height: 230px;
  }
  #chat_section{
    width: 95%;
    height:90%;
    margin: 0 auto;
    bottom: auto;
    right: 2.5%;
    top:10%;
  }
}
@media (max-width: 900px) and (min-height: 1000px) {
  .masthead {
    height: 50vh;
    min-height: 500px;
  }
  #chat_section{
    height: 90%;
  }
}
@media (min-height: 1080px) {
  .masthead {
    height: 80vh; /* ou ce que tu veux */
    max-height: 600px; /* optionnel pour sécuriser */
  }
  #chat_section{
    height: 90%;
  }
}

@media (max-width: 360px) { 

}












.scroll-container {
  display: flex;
  overflow-x: auto;
  gap: 20px;
  padding: 4% 2% 0% 2%;
  cursor: grab;
  user-select: none;
  scroll-behavior:auto;
  width: 95%;
  margin-left: 2.5%;
  padding-bottom: 15px;

}
.resp_container_scroll{
  display: none;
}
/* Firefox */
.scroll-container {
  scrollbar-color: #39653a52 #f8f8f8;
  scrollbar-width: thin;
}
.scroll-container::-webkit-scrollbar {
  height: 6px;
}
.scroll-container::-webkit-scrollbar-track {
  background: #f8f8f8;
  border-radius: 10px;
}
.scroll-container::-webkit-scrollbar-thumb {
  background: #39653a;
  border-radius: 10px;
}
.scroll-container::-webkit-scrollbar-thumb:hover {
  background: #2e5230;
}
.scroll-container.active {
  cursor: grabbing;
}

.item_scroll {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  flex-direction: column;
  row-gap: 20px;
  position: relative;
  padding: 4%;
  min-width: 350px;
}
.item_pict{
  height: 120px;
}
.container_btn_item{
  width: 100%;
  text-align: center;
}
img{
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.container_item_scroll{
  width: 100%;
}

@media (max-width: 650px) { 
  .circle_travel{
    width: 100%;
    margin-left: 0%;
    grid-template-columns: repeat(auto-fit, 25%);
  }
}


@media (max-width: 600px) { 
  .traverl_resp{
    display: none!important;
  }
  .resp_container_scroll{
    display: flex;
  }
  .item_pict{
    height: 250px;
  }
  .place{
    right: 15%!important;
  }
  .item_scroll{
    min-width: 300px;
    justify-content: start;
  }
  #all_traver_btn{
    width: 100%;
    text-align: center;
    margin-top: 10%!important;
  }
}
@media (max-width: 500px) { 
  #circle_traval{
    padding-top: 4%;
  }
  .item_grid{
    padding-bottom: 5%!important;
  }
  .grid{
    row-gap: 10px;
  }
  .no_ul_dis{
    margin-top: 0!important;
  }
  .focus{
    min-width: 300px;
  }
}













.carousel_avis{
  position: relative;
  width: 95%;
  margin-left: 2.5%;
  display: none;
  padding: 4% 2% 8% 2%;
}
.viewport{
  overflow: hidden;
}
.trackcarou{
  display: flex;
  gap: 20px;
  will-change: transform;
  transition: transform 0.4s ease;
}
.card{
  min-width: 220px;
  padding: 20px;
  flex-shrink: 0;
}
#container_arrow_carou{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  font-size: 50px;
  cursor: pointer;
  width: 100%;
  left:0;
  z-index: 1000;
  display: flex;
}
.leftcarou{ 
  flex: 1;
  display: flex;
  justify-content: start;
  padding-left: 10px;
}
.rightcarou{
  flex: 1;
  display: flex;
  justify-content: end;
  padding-right: 10px;
}
@media (max-width: 600px) { 
  .carousel_avis {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}














/* */
#footer{
  width: 100%;
  margin: 0 auto;
  border-top-left-radius: clamp(30px, 6vw, 100px);
  border-top-right-radius: clamp(30px, 6vw, 100px);
  padding: 4% 2% 8% 2%;
  padding-bottom: 0;
}
/* .ic_text_footer{
  align-items: center!important;
  gap:10px!important;
} */
#div_top_footer{
  width: 95%;
  margin: 0 auto;
  display: flex;
  gap:5%;
}
#left_footer_top{
  width: 30%;
}
#right_footer{
  width: 65%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: clamp(16px, 1.5vw, 32px);
  row-gap: 3%;
}
.in_right_gooter{
  padding-right: 1%;
}
#bottom_footer{
  width: 95%;
  margin: 0 auto;
  display: flex;
  gap:5%;
  padding-top: 4%;
  padding-bottom: 5%;
}
#left_bottom_footer{
  width: 30%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0% 5%;
}
#right_bottom_footer{
  width: 65%;
  height: 100%;
  padding-top: 2%;
}
@media (max-width: 1024px) {
  #right_footer{
    grid-template-columns: 1fr 1fr; /* 3 colonnes */
    row-gap: 30px;
  }
  #left_footer_top, #left_bottom_footer{
    width: 40%;
    padding: 0;
  }
  #right_footer, #right_bottom_footer{
    width: 60%;
  }
  #footer{
    padding-top: 6%;
  }
}
@media (max-width: 815px) { 
  #footer{
    padding-top: 10%;
  }
  #div_top_footer{
    flex-direction: column;
    row-gap: 30px;
  }
  #bottom_footer{
    flex-direction: column;
    row-gap: 30px;
  }
  #left_footer_top, #right_bottom_footer,
  #left_bottom_footer {
    width: 100%;
  }
  #right_footer{
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr; /* 3 colonnes */
  }
  #left_bottom_footer{
     display: none;
  }
}
@media (max-width: 600px) { 
  #right_footer{
    grid-template-columns: 1fr;
  }
  #footer{
    text-align: center;
  }
  .in_right_gooter .marg{
    margin-top: 2%!important;
  }
  .resp_footer{
    opacity: 0;
    position: absolute;
    left:-1000%;
  }
  .in_right_gooter{
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .green_resp{
    color: #457e46;
  }
  #left_bottom_footer .little_marg{
    margin-top: 5px!important;
  }
    #left_bottom_footer{
     display: block;
  }
  #logo_footer img{
    width: 40%;
  }
}






























/* */
.flatpickr-input{
  border-radius: 25px;
}
.flatpickr-calendar {
  color: rgb(36, 58, 34);
}
.flatpickr-months {
  color: white !important;
  background-color: #336361;
}

/* Mois actuel */
.flatpickr-current-month {
  background: #336361 !important;
  color: white !important;
}

/* Dropdown mois (le select) */
.flatpickr-monthDropdown-months {
  background: #336361 !important;
  color: white !important;
  border-radius: 10px;
  border: none;
}

/* Options du select (important selon navigateur) */
.flatpickr-monthDropdown-months option {
  background: #ffffff!important;
  color: rgb(0, 0, 0);
}
.flatpickr-prev-month,
.flatpickr-next-month {
  fill: white; /* couleur des icônes */
}
.flatpickr-current-month {
  color: white !important;
}
.flatpickr-prev-month,
.flatpickr-next-month,
 .arrowDown
 {
  fill: white !important;
}
.flatpickr-prev-month,
.flatpickr-next-month {
  fill: white !important;
}

.flatpickr-calendar .numInputWrapper span {
    color: white !important;
}
.flatpickr-calendar .numInputWrapper span.arrowUp:after,
.flatpickr-calendar .numInputWrapper span.arrowDown:after {
    border-bottom-color: white !important;
    border-top-color: white !important;
}















/* */
.separator{
  height: 20vh;
  min-height: 50px;
}
button{
  border-radius: 30px;
  background-color: transparent;
  padding: 2.3% 3% 2.3% 3%;
  cursor: pointer;
  background-color: #336361;
  color:white;
  border: transparent;
  overflow: hidden;
  display: inline-block;
  transition: background-color 0.5s ease;
  transform-origin: center;
  position: relative;
  white-space: nowrap;
  padding-right: 3em;
}
.btn_green{
  border-radius: 30px;
  background-color: transparent;
  padding: 2.3% 3% 2.3% 3%;
  cursor: pointer;
  background-color: #ffffff!important;
  color:black;
  border: transparent;
  overflow: hidden;
  display: inline-block;
  transition: color 0.5s ease,
  background-color 0.5s ease;
  transform-origin: center;
  position: relative;
  white-space: nowrap;
  padding-right: 3em;
}
.btn_green:hover{
  color:white;
}
button:hover {
  background-color: #4e8a87!important;
}
.ghost {
  visibility: hidden;
  white-space: nowrap;
}
.validate{
  transition: transform 0.5s ease,
  left 0.5s ease;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
button:hover .validate{
  left: 20px;
  top:50%;
  transform: translateY(-50%);
}
.in_btn{
  transition: opacity 0.3s ease,
  transform 0.5s ease,
  right 0.5s ease ;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) translateX(-15px) scale(0.6);
  opacity: 0; 
}
button:hover .in_btn{
  transform: translateY(-50%) translateX(0) scale(1);
  opacity: 1;
}
@media (max-width: 1500px) { 
  button:hover .validate{
    left: 10px;
  }
  .in_btn{
    right: 10px;
  }
}
@media (max-width: 1100px) { 
  button:hover .validate{
    left: 50%;
    transform: translate(-50%, -50%);
  }
  button:hover .in_btn{
    transform: translateY(-50%) translateX(-15px) scale(0.6);
    opacity: 0;
  }
}
@media (max-width: 900px) { 
  button{
    padding: 10px 15px!important;
  }
  #resum_promess{
    display: block;
  }
}
@media (max-width: 500px) { 
  .info_sec .marg_1{
    margin-top: 1%!important;
  }
}















a{
  color: inherit;
  text-decoration: none;
}
textarea, input{
  background-color: white;
  padding: 2%;
  border-radius: 12px;
  border: 1px solid #163116;
}
.btn_space{
  padding-right: 3.5em!important;
  padding-top: 0.6em!important;
}
.border_rading{
  border-radius: 30px;
}
.is_marg_10{
  margin-top: 10%!important;
}
.is_marg_5{
  margin-top: 6%!important;
}
.marg{
  margin-top: 4%!important;
}
.little_marg{
  margin-top: 2%!important;
}
.marg_1{
  margin-top: 1%!important;
}
.full_img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.are_box_shadow{
  box-shadow: 0 4px 15px rgba(43, 72, 45, 0.3);
}
.are_box_shadow_light{
  box-shadow: 0 2px 10px rgba(54, 85, 50, 0.274);
}
.are_box_shadow_extra_light{
  box-shadow: 0 2px 10px rgba(54, 85, 50, 0.128);
}
.ic_text{
  display: flex;
  gap:3%;
  justify-content: center;
  align-items: center;
  width: max-content;
  white-space: nowrap;
}
.icones{
  width: clamp(20px, 1.5vw, 28px);
  height: auto;
}
@media (max-width: 500px) { 
  .is_marg_mob{
    margin-top: 15%!important;
  }
}




/* */
h1, h2, h3{
  padding: 0;
  margin: 0;
  line-height:1;
}











/* COLOR */
.beige_contrast_back{
  background-color: #f8f5ec;
}
.beige_back{
  background-color: #f1f0ec;
}
.beige_clair{
  background-color: #f5f4f0;
}
.beige_blanc{
  background-color: #f9f9f5;
}
.beige_color{
  color : #f1f0ec;
}
.is_bold{
  font-weight: bold;
}
.is_no_bold{
  font-weight: normal;
}
.are_center_div{
  width: 100%;
  text-align: center;
}
.is_opa{
  opacity: 0.3;
}
.green{
  color : #457e46;
}
.green_opa{
  color: #2f5d31;
}
.green_back{
  background-color : #336361;
  color: white;
}
.green_back1{
  background-color : #39653a88;
}
.on_beige{
  color : #163116;
}
.is_red{
  color:red;
}

/* FONT */
.roboto{
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}


@media (max-width: 600px) { 
  .beige_blanc_resp{
    background-color: #f9f9f5;
  }
}




.scaling{
  transition: transform 1s ease,
  opacity 1s ease;
  transform: scale(0.8);
  opacity: 0;
  display: block;
  will-change: transform;
}

.is_scale{
  opacity: 1!important;
  transform: scale(1)!important;
}
.is_opaciting{
  transition: opacity 1s ease;
  opacity: 0;
  will-change: transform;
}
.is_opaciting_late{
  transition-property: opacity;
  transition-duration: 1s;
  transition-timing-function: ease;
  transition-delay: 0.3s;
  opacity: 0;
}
.opa{
  opacity: 1;
}
.is_translateY{
  transition: transform 1s ease,
  opacity 1s ease;
  transform: translateY(60%)!important;
  opacity: 0;
  will-change: transform;
}
.translating{
  transform: translateY(0%)!important;
  opacity: 1;
}
.is_translateX{
  transition: transform 1s ease,
  opacity 1s ease;
  transform: translateX(-5%)!important;
  opacity: 0;
  will-change: transform;
}
.transX{
  transform: translateX(0%)!important;
  opacity: 1;
}

@media (max-width: 320px) { 
  .is_translateY{
    transform: translateY(50%)!important;
  }
  .translating{
    transform: translateY(0%)!important;
    opacity: 1;
  }
}

