/*
CSS by Manu LECHAT
https://e-lechat.com
*/




@font-face {
  font-family: "Switzer-Medium"; 
  src: url("../fonts/switzer/Switzer-Medium.otf") format('truetype')
} 



 @font-face {
  font-family: "Switzer-Semibold"; 
  src: url("../fonts/switzer/Switzer-Semibold.otf") format('truetype')
} 
 


@font-face {
  font-family: "Switzer-Bold"; 
  src: url("../fonts/switzer/Switzer-Bold.otf") format('truetype')
} 



:root {
  --black : #262633;  
  --color_txt: #001837;
  --color_anadom_green: #A0C10C;
  --color_anadom_pink : #B6224E;
  --color_beige: #F5F4EF;
  --color_darkblue: #001837;
  --bt_cta_color: white;
  --bt_cta_bg: #A0C10C;
  --bt_cta_hover : #B6224E;
  --bg_suptitle : #A0C10C;
  --bg_block_column: #F5F4EF;
  --sections_vpaddding: 80px;
  --block_marginTop: 80px;
  --color_page_custom :  #A0C10C;
}



/* titles */

.txt_9 { font-size: 9px; }
.txt_10 { font-size: 10px; }
.txt_11 { font-size: 11px; }
.txt_12 { font-size: 12px; }
.txt_13 { font-size: 13px; }
.txt_14 { font-size: 14px;  }
.txt_16 { font-size: 1rem ;  }
.txt_18 {font-size: 18px; }
.txt_21 { font-size: 21px;   }
.txt_27 { font-size: 27px;   }
.txt_33 { font-size: 28px;   }
.txt_40 { font-size: 33px; letter-spacing: -0.02em; line-height: 1.15em;} 
.txt_48 { font-size: 48px; letter-spacing: -0.02em; line-height: 1.15em; } 
.txt_60 { font-size: 60px; line-height: 1em; } 

.font_alt{ font-family: "DrukWide-Medium"; font-weight: 400;  }
.font_alt.maj{ letter-spacing: 0.1em; }
.txt_blue{ --color_txt : var(--bleu_C40); }
.txt_orange{ color: var(--orange_C40); }
.maj{ text-transform: uppercase; letter-spacing: 0.01em; }
strong { font-weight: 400;  font-family: "Switzer-Bold";  }

.grey{ --color_txt: #adadad; color:#adadad ; }
.white{ color: #fff; }
.titre{ line-height: 1.1em; margin-bottom: 0.5em; }
.color_alt{ color: var(--color_alt) }
.color_light{color:  var(--color_light) }
.bolder{ font-weight: bolder; }
.burger{ display: none; }

.display_none{ display: none; }
.bt_contact:hover{ cursor: pointer; }

.titre_small{ font-family: montserrat, sans-serif; width: fit-content; text-transform: uppercase; letter-spacing: 0.1em;  }
::selection {  background-color: rgba(0, 0, 0, 0.3); opacity: 0.1; transition: all .3s; ;  text-shadow: none; }
* {  box-sizing: border-box; outline: none; /*text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; */ }

html{   scroll-behavior: smooth; min-height: 100vh; background: white;   font-weight: 500; color: var(--color_txt);  min-height: 100vh;  top:0; left: 0; margin: 0; padding: 0; width:100%;-webkit-font-smoothing: antialiased;   box-sizing: border-box;  position: relative;  text-rendering: optimizeLegibility;  }
body{  min-height: 100vh;    font-family: "Switzer-Medium";   font-size: 18px; line-height: 1.35em;  overflow-x: hidden;  width: 100vw; overflow-y: auto; color: var(--color_txt); margin: 0; padding: 0; top:0; left: 0; }
body.shownav{ overflow: hidden; }
div{  position: relative; display: block;   }
header, section, main{ width: 100vw; position: relative; }
img{  max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; object-fit: contain; }
ul{ margin: 0; display: block; text-align: left; padding: 0;}
li{ margin: 0;  list-style: none; padding: 0px;  }
h1,h2,h3,h4, h5{ color: var(--color_txt); font-family: "Switzer-Medium";   font-weight:normal; font-style: normal; margin-block-start: 0; margin-block-end: 0; width: fit-content;   display: block; margin: 0; clear: both; break-after: always;   line-height: 1.15em; letter-spacing: -0.02em; } 
h2 strong, h3 strong{ font-weight:normal; font-family: "Switzer-Medium";   }
span{ display: inline-block; }
a{ color: var(--color_txt); width: fit-content;  position: relative; text-decoration: none;  text-align: left;  }
a:hover{ cursor: pointer; }
p{ color: var(--color_txt); letter-spacing: -0.02em;   font-weight: 400; clear: both; display: block; padding: 0; margin: 0; line-height: 1.5em;  }
p a{ text-decoration: underline;  color: var(--color_theme_dark); }
p a:hover{ text-decoration: underline; }
 .bold{  font-family: "Switzer-Semibold";  } 
.bold em{ font-family: "Switzer-Semibold"; font-style: italic;  } 
.bold .em{  font-style: italic;  }
.italic{ font-style: italic;  }
u{ position: relative; text-decoration: none; z-index:2;  }
u::before{  pointer-events: none; opacity: 0.6; mix-blend-mode: multiply; position: absolute; transform: rotate(2deg); z-index:1;  top: 0.3em; left: 0; width: 100%; height: .8em; background-color: var(--color_theme); content: "";  }
li{  }

iframe{ border: none; width: 100%; height: 100%; margin: 0; }
a.over_underline{  width: fit-content;}
a.over_underline:after{ content:""; position: absolute; bottom:0; left: 0; transition: all .1s cubic-bezier(.17,.67,.68,1.01); width:0%; height: 2px; background: var(--color_txt); }
a.over_underline:hover:after{ width:100%;  }
blockquote{ margin: 1em 0; }
section{ width:  100% ; margin: 0 auto;  }
.main_container{ width: 100%; }
.center{ text-align: center; margin: 0 auto; align-items: center; }
figure{ margin: 0; padding: 0; }
button{ border: none; width: auto; }

/*

 /^^                                                                /^^
 /^^                                                                /^^
 /^^        /^^         /^^   /^^        /^^         /^^  /^^     /^/^ /^
 /^^      /^^  /^^       /^^ /^^       /^^  /^^      /^^  /^^       /^^
 /^^     /^^   /^^         /^^^       /^^    /^^     /^^  /^^       /^^
 /^^     /^^   /^^          /^^        /^^  /^^      /^^  /^^       /^^
/^^^       /^^ /^^^        /^^           /^^           /^^/^^        /^^
                         /^^
*/

/* glabal containers   */

.main_page{ min-height: 80vh; }
.main_container{ width: 100%; position: relative; max-width: 1220px;  padding-right: 80px; padding-left: 80px; display: flex;  flex-direction: column;  justify-content: center; margin:auto  }
.main_container.size_m{  max-width: 1220px;  }

.main_container.align-left{  }
.main_container.align-center{ align-items: center;  }
.main_container.align-right{  align-items: flex-end;  }


.header_title{ max-width: 30ch; }
/* global tools  */

.cover_wrapper img{ width: 100%; height: 100%; object-fit: cover; }
.copyright{ background-color: rgba(255,255,255,0.5); font-size: 11px; padding: 3px 5px; line-height: 1em; position: absolute; right: 20px; bottom: 20px; border-radius: 6px;  }

.mobile_topbar{ display: none; }
.bt_cta{ font-size: 16px; font-family: "Switzer-Semibold"; /* box-shadow: inset 0 5px 10px 0 rgba(0, 0, 0, 0.1);; */ color:var(--bt_cta_color) ; background-color: var(--bt_cta_bg); transition: all .3s; letter-spacing: 0.02em;  width: fit-content;  align-items: center; justify-content: center; background-color: var(--bt_cta_bg); padding: 5px 5px 5px 25px; border-radius: 30px; display: flex; gap: 20px; }
.bt_cta .arrow_wrapper{  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1); overflow: hidden; border-radius: 30px; width: 39px; height: 39px; background: white; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.bt_cta .arrow_wrapper path{  fill:  var(--bt_cta_bg); }
.bt_cta:hover{ --bt_cta_bg: var(--bt_cta_hover); box-shadow: inset 0 0px 0px 0 rgba(0, 0, 0, 0.1);; }
.bt_cta:hover .arrow{  animation: arrow .5s cubic-bezier(.13,.66,.38,1.62) 0s 1 normal forwards;  }

.bt_cta.pink{   --bt_cta_color: white;
  --bt_cta_bg: #B6224E;
  --bt_cta_hover : #A0C10C ; }

.bt_cta.pink:hover{ --bt_cta_bg : #A0C10C ; }
.bt_cta .txt{ font-family: "Switzer-Semibold"; font-size: 16px  ; } 

.tags_wrapper{ display: flex; gap: 5px; flex-wrap: wrap;  }
.tag{  display: flex; padding: 6px 10px 5px 10px; justify-content: center; width: fit-content; align-items: center;color: #FFF; line-height: 1em;font-size: 9px;    font-style: normal;    font-weight: 800;letter-spacing: 1.5px;text-transform: uppercase; gap: 10px; border-radius: 6px/7px; background: var(--Couleur, #DC4405); }

.suptitle{  display: flex; padding:  5px 10px; justify-content: center; width: fit-content; align-items: center;color: #FFF; line-height: 1em;font-size: 14px;    font-style: normal;    font-weight: 800;letter-spacing: 0.02em; font-weight: 600; text-transform: uppercase; gap: 10px; border-radius: 6px/7px; background: var(--bg_suptitle); }
.suptitle.grey{ --color_txt: #001837; color: var(--color_txt); background: rgba(0, 24, 55, 0.10); }

.bt_blue{ color:#FFF; font-size: 10px; transition: all .3s; letter-spacing: 0.03em; text-transform: uppercase; font-weight: bold;  width: fit-content;  align-items: center; justify-content: center; background-color: var(--bleu_C40); padding: 10px 25px; border-radius: 30px; display: flex; gap: 10px; }
.bt_blue:hover{ background-color: var(--orange_C40); cursor: pointer; }

.cols{ display: flex; gap: 20px;  }
.cols .col{ width: 100%;  }


/* navigation */


.page_nav_wrapper{ position: fixed; z-index: 10; width: 100%; display: flex;  justify-content: center;  flex-direction: row; }
.page_nav{ background-color: white; padding: 15px 25px; box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1); display: flex; justify-content: space-between; align-items: center; z-index: 99; width: 1010px; position: fixed; top: 30px;  border-radius: 20px;  }
.page_nav .nav{ display: flex; gap: 40px; justify-content: center; align-items: center; }
.page_nav .nav .menu_link{ transition: all .3s; font-size: 18px; letter-spacing: -0.02em;} 
.page_nav .nav .menu_link:hover{ color: var(--color_anadom_pink); } 
.page_nav .nav .menu_link.actif{ color: var(--color_anadom_pink); } 
.page_nav .logo_wrapper{ width: 134px; }

.page_nav_wrapper::before {
    pointer-events: none;
    content: "";
    /* background: linear-gradient(0, transparent, rgba(255, 255, 255, 0.5) 50%); */
    background: rgba(255, 255, 255, 1);

    position: fixed;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 180px;
    /* backdrop-filter: blur(15px); */
    /* -webkit-backdrop-filter: blur(15px); */
    z-index: 80;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    /* -webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); */
}


.menu_item {
position: relative;
}

.dropdown {
position: absolute;
top: 100%;
left: -20px;
display: flex;
flex-direction: column;
border-radius: 20px; 
background: white;
padding: 10px 20px;
min-width: 220px;
box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: all 0.25s ease;
}

.menu_item:hover .dropdown {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.dropdown a {
padding: 10px 0;
text-decoration: none;
color: black;
transition: all .17s;
}

.dropdown a:hover {
color: #A0C10C;
}
.dropdown {
pointer-events: none;
}

.menu_item:hover .dropdown {
pointer-events: auto;
}

.img_format.size_s{ max-width: 600px; margin: auto; }
.img_format.size_m{ max-width: 800px; margin: auto; }
.img_format.size_l{ max-width: 100%; margin: auto; }
figcaption{ text-align: left;padding: 10px; font-size: 12px; opacity: 0.5;  margin: auto; }

.section_hero { background-color: var(--bg_block_column); position: relative; }
.section_hero::after{  content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 120px; background: linear-gradient(to bottom, transparent, white); pointer-events: none;  }
.section_hero .main_container{ z-index: 2; max-width:1220px;  align-items: center; text-align: center; padding-top: 250px; display: flex; flex-direction: column; gap: 36px; justify-content: center;  }
.section_hero .hero_visual_wrapper{ margin: 36px 0; aspect-ratio: 16/8; border-radius: 20px; overflow: hidden; width: 100%;   }
.section_hero .hero_visual_wrapper img{ height: 100%; width: 100%; object-fit: cover; max-width: none; max-height: none;  }
.section_hero .section_hero_bg{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.05;  }
.section_hero .hero_visual_wrapper img{ height: 100%; width: 100%; object-fit: cover; max-width: none; max-height: none;  }
.section_hero .section_hero_txt_wrapper{ max-width: 860px; display: flex;  align-items: center; text-align: center; flex-direction: column; gap: 26px; justify-content: center;  }
.section_hero .text_wrapper{ z-index: 2; padding-left: 110px; padding-right: 110px; display: flex; width: 100%; flex-direction: column; gap: 36px;  }
.section_hero .txt_48{ max-width: 800px; }

.template_articles .section_hero{ padding-bottom: 120px; }

.next_cards_grid{ padding-top: var(--block_marginTop); display: grid;   grid-template-columns: repeat(3, 1fr); /* grid-template-rows: repeat(2, 250px); */ gap: 20px; }

.template_default .main_page{ padding-top: 120px; padding-bottom: 120px;  }
.section_partenaires .main_container{ max-width:1220px;  align-items: center; display: flex; flex-direction: column; gap: 36px; justify-content: center;  } 


.article_card{ transition: all .3s;  border-radius: 20px; overflow: hidden; border: 1px solid #E7E6E3; }
.article_card .cover_wrapper{ aspect-ratio: 16/9; }
.article_card .bottom{ padding: 30px 20px; }
.article_card .text_wrapper{ display: flex; flex-direction: column; gap: 8px; }
.article_card:hover{  transform: translateY(-3px);  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);  background: white; }

.annonce_card{ transition: all .3s;  border-radius: 20px; overflow: hidden; border: 1px solid #E7E6E3; background: white; }
.annonce_card .cover_wrapper{ aspect-ratio: 16/9; }
.annonce_card .bottom{ padding: 30px 20px; }
.annonce_card .text_wrapper{ display: flex; flex-direction: column; gap: 8px; }
.annonce_card:hover{  transform: translateY(-3px);  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); }


.template_article .section_hero .main_container{     align-items: flex-start;   }
.template_article .section_hero .text_wrapper{ text-align: left; display: flex; width: 100%; flex-direction: column; gap: 36px; align-items: flex-start;  }
.template_article .section_hero .section_hero_bg{ background-color: var(--color_anadom_green);  }
.template_article .section_hero .intro{ text-align: left; }

.next_cards_wrapper {  background: var(--bg_block_column); padding-top: 120px;  padding-bottom: 40px;  }
.next_cards_wrapper .main_container{ justify-content: center;  }
.next_cards_wrapper .heading_wrapper{ justify-content: center; align-items: center; display: flex; flex-direction: column; gap: 20px;   }
.template_article .next_cards_grid{ margin-top: 36px; padding:  20px; display: grid;   grid-template-columns: repeat(3, 1fr); /* grid-template-rows: repeat(2, 250px); */ gap: 20px; }


.section_postuler{ background: linear-gradient(180deg, #FFF 50%, #001C3C 50.01%);/* box-shadow: 0 -40px 44px 0 #FFF; */ padding-top: var(--sections_vpaddding); }
.section_postuler .pad{ overflow: hidden; background: var(--color_anadom_pink); display: flex; flex-direction: column; gap: 20px; border-radius: 20px; padding: 100px 50px; --color_txt: white }
.section_postuler .postuler_bg{ -webkit-mask-image: linear-gradient(to left, rgba(21, 21, 21, 0.795) 20%, rgba(21, 21, 21, 0.194)  100%);  -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-image: linear-gradient(to left, rgba(21, 21, 21, 0.795) 20%, rgba(21, 21, 21, 0.194)  100%); mask-repeat: no-repeat;    mask-size: 100% 100%;  position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.section_postuler .txt_wrapper{ z-index: 3 ; display: flex; flex-direction: column; gap: 20px; }


.template_services .section_services{ margin-top: var(--block_marginTop); }

.template_service { --bg_suptitle : var(--spage_color);  }
.template_service .section_hero .section_hero_bg{ background-color: var(--spage_color) ; opacity: 0.1; }
.template_service .page_blocks_wrapper{ padding-top: 0px; padding-bottom: 80px; }
.template_service .bouton_final{ }
.template_service .block_button{ --bt_cta_bg: var(--spage_color); }

.swiper { overflow: hidden; border-radius: 30px;  }
.swiper .swiper-wrapper{ border-radius: 30px; }
.swiper img{ height: 420px; border-radius: 30px; overflow: hidden;  }
.swiper .swiper-pagination-bullet{ border-radius: 3px; background-color: #b9b9b9; transition: all .17s; width: 20px; height: 3px; border-radius: 0; transition: all .3s; }
.swiper .swiper-pagination-bullet-active{ background: var(--color_anadom_green); width: 30px; }
.swiper .swiper-button-prev{ background: white; transition: all .17s ; z-index: 5; top: auto; left: auto; border-radius: 30px; width: 32px; height: 32px;  right: 60px; bottom: 30px; transform: none; box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1); }
.swiper .swiper-button-prev:after{ max-width: 80%; max-height: 80%; font-size:16px; font-weight: bold; color: var(--color_anadom_green); }
.swiper .swiper-button-next{ background: white; transition: all .17s ; -webkit-filter: drop-shadow(0px 15px 16px rgba(0, 0, 0, 0.2)); filter: drop-shadow(0px 15px 16px rgba(0, 0, 0, 0.2)); z-index: 5; top: auto; left: auto; border-radius: 30px; width: 32px; height: 32px;  right: 20px; bottom: 30px; transform: none; box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);  }
.swiper .swiper-button-next:after{ max-width: 80%; max-height: 80%; font-size:16px; font-weight: bold; color: var(--color_anadom_green); }
.swiper .swiper-button-next:hover:after{  color: var(--color_anadom_pink); }
.swiper .swiper-button-prev:hover:after{  color: var(--color_anadom_pink); }
.swiper .swiper-pagination{ top: auto; bottom: 35px; text-align: left; max-width: 70%; left: 20px; z-index: 4; }



.bloc_gallery .swiper-slide{ width: auto; }

.swiper_bloc_temoignages{ max-width: 100%; padding-bottom: 0px; border-radius: 30px; margin-top: 0; background-color: var(--color_darkblue); }
.swiper_bloc_temoignages .swiper-button-next{ bottom: 20px; }
.swiper_bloc_temoignages .swiper-button-prev{ bottom: 20px; }
.swiper_bloc_temoignages  .swiper-pagination{  bottom: 20px; left: 80px; }
.swiper_bloc_temoignages .swiper-button-next:after{ color: var(--color_darkblue); }
.swiper_bloc_temoignages .swiper-button-prev:after{ color: var(--color_darkblue); }
.swiper_bloc_temoignages .swiper-pagination-bullet-active{ background: white; }


.swiper_bloc_partenaires{ margin: 0; width: 100%; }
.swiper_bloc_partenaires .swiper .swiper-wrapper{ width: 100%; }
.swiper_bloc_partenaires .swiper-slide{ height: 255px; display: flex; flex-direction: column; justify-content: center; padding: 20px; background-color: #F5F4EF; border-radius: 20px;  }
.swiper_bloc_partenaires .swiper-slide img{ mix-blend-mode: multiply; border-radius: 3px; max-width: 100%; }
/* footer */

.footer{ font-size: 14px; background-color: #001C3C; padding-top: var(--sections_vpaddding); border-bottom: 1px solid rgba(255,255,255,0.3);  padding-bottom: 120px; --color_txt: #fff; min-height: 500px;   }
.footer .footer_wrapper{ display: flex;  gap: 20px; flex-direction: row ; }
.footer .footer_wrapper .cols{ width: 100%; }
.footer .footer_wrapper .cols1{ width: 60%; display: flex; flex-direction: column; gap: 10px; }
.footer .footer_wrapper .cols1 .cols{ display: grid; grid-template-columns: auto auto ; gap: 20px; border-top: 1px solid white; }
.footer .footer_wrapper .cols1 .col { justify-content: flex-end; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,0.3); display: flex; flex-direction: column; gap: 10px; }
.footer .footer_wrapper .cols1 .last{ grid-column: 1 / span 2; }
.footer .footer_wrapper .cols1 .heading{ height: 140px; display: flex; justify-content:flex-end; flex-direction: column; }
.footer .footer_wrapper .cols1 .follow{ display: flex;   width: 100%;  flex-direction: row; justify-content: space-between; }
.footer .footer_wrapper .cols1 .socials{ display: flex; gap: 10px; }
.footer .footer_wrapper .cols2{ width: 40%; display: flex; flex-direction: column; gap: 10px; }
.footer .footer_wrapper .cols2 .cols{ display: flex; grid-template-columns: auto auto; gap: 20px;  }
.footer .footer_wrapper .cols2 .col { width: 100%; padding: 20px 0;  border-top: 1px solid white; display: flex; flex-direction: column; gap: 10px; }
.footer .footer_wrapper .logo_wrapper { align-items: center; height: 140px; display: flex; justify-content:flex-end;  width: 100%;  justify-content: flex-end; width: 100%; flex-direction: column; }
.footer .footer_wrapper .logo_wrapper img{ height: 100px; }
.footer .footer_wrapper .footer_link{ padding: 5px 0;}
.footer .footer_wrapper .footer_link:hover{ text-decoration: underline;}
.footer .footer_wrapper .cols2 .titre{ margin-bottom: 20px; }


.services_grid_wrapper{ display: grid; gap: 20px 20px; padding-top: 0px; grid-template-columns: repeat(3, 1fr);  grid-template-rows: repeat(5, 110px);  }
.services_grid_wrapper .service_card:nth-child(1){   grid-column: 1;  grid-row: 1 / span 2;  }
.services_grid_wrapper .service_card:nth-child(2){   grid-column: 1;  grid-row: 3 / span 3;  }
.services_grid_wrapper .service_card:nth-child(3){  grid-column: 2;  grid-row: 1 / span 5;  }
.services_grid_wrapper .service_card:nth-child(4){  grid-column: 3; grid-row: 1 / span 3;   }
.services_grid_wrapper .service_card:nth-child(5){  grid-column: 3;  grid-row: 4 / span 2;  }

.service_card { transition: all .3s; border-radius: 20px; overflow: hidden; position:relative; width: 100%;  padding: 40px; --color_txt: white; display: flex; flex-direction: column; justify-content: space-between; }
.service_card .cover_wrapper{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.service_card .cover{ transition: all .3s; mask-image: linear-gradient(to top, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0.1)  70%); -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0.1)  70%);  -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100% 100%;  mask-repeat: no-repeat;    mask-size: 100% 100%; }
.service_card:hover{  transform: translateY(-3px);  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); }
.service_card:hover .cover{ opacity: 0.2;  }
.service_card:hover{ padding-top: 50px; padding-bottom: 50px } 
.service_card .bt_bottom{ opacity: 0; transition: all .3s .1s ease-out}
.service_card:hover .bt_bottom{ opacity: 1;}

.service_card .txt_bottom{ opacity: 0; transition: all .3s}
.service_card:hover .txt_bottom{ opacity: 1;}
.service_card:hover .bot_wrapper{ gap: 10px;  }
.service_card .bt_bottom { display: flex; gap: 10px; align-items: center; }
.service_card .bt_bottom .arrow_wrapper{ border: 1px solid white; overflow: hidden; border-radius: 30px; width: 39px; height: 39px;  display: flex; flex-direction: column; justify-content: center; align-items: center; }
.service_card .bt_bottom .arrow_wrapper path{  fill:  white; }
.service_card .bt_bottom .arrow_wrapper{ border: 1px solid white; overflow: hidden; border-radius: 30px; width: 39px; height: 39px;  display: flex; flex-direction: column; justify-content: center; align-items: center; }
.service_card .bot_wrapper{ transition: all .3s; display: flex; flex-direction: column; gap: 20px; padding-top: 10px; }


.section_actualites .main_container{ display: flex; flex-direction: column;  gap: 36px; align-items: center; }
.section_actualites { position: relative; }
.section_actualites_bg{ height: calc( 100% + 300px); transform: translateY(-300px);  z-index: -1; content: ""; background-color: var(--bg_block_column); position: absolute; top: 0; left: 0; width: 100%; opacity: 1;  }


.template_home .section_hero{ min-height: 800px;  align-items: flex-start; }
.template_home .section_hero .main_container{ padding-top: 0;  display: flex;  grid-template-columns: repeat(1fr, 1fr);  gap: 120px; padding-right: 0; padding-left: 0; flex-direction: row; align-items: flex-start; max-width: 100%; } 
.template_home .hero_visual_wrapper{  width: 100%; overflow: hidden; border-radius: 0 0 0 20px; height: 800px;  }
.template_home .hero_visual_wrapper .hero_visual{ width: 100%; height: 100%; object-fit: cover; }
.template_home .col_right{ width: calc( 50% - 60px ); padding: 0;  }
.template_home .col_left { padding-left: 80px;  padding-top: 220px; width: calc( 50% - 60px ); height: 100%;  }
.template_home .col_left .txt_wrapper{  text-align: left; display: flex; align-items: flex-start; flex-direction: column; gap: 20px; max-width: 550px;  }
.template_home .col_left .nav{ padding: 30px 0; display: flex; gap: 30px; }
.template_home .section_hero .hero_visual_wrapper{ margin: 0; }
.template_home .block_home_services{ background: #F5F4EF; }
.template_home .section_hero{ background: #F5F4EF; }
.template_home.block_bg_colored:before { background: #F5F4EF; }
.template_home .section_hero::after{ display: none; }
/* template_contact */


.template_contact{ padding-top: 120px; padding-bottom: 120px; } 
.template_contact .cols{ display: flex; gap: 40px; flex-direction: row; }
.template_contact .col1{ width: 55%;  display: flex; flex-direction: column; gap: 20px; }
.template_contact .col2{ width: 45%; display: flex; flex-direction: column; gap: 30px; }
.template_contact .col1 .page_blocks_wrapper{ gap: 30px; }
.template_contact .col1 h5{ background-color: #adadad; }
.template_contact .col2 .page_blocks_wrapper{ gap: 30px; }
.template_contact .col2 iframe{ aspect-ratio: 1; border-radius: 10px; }
.template_contact .contact_form{ width:100%; padding-right: 80px; display: flex; flex-direction: column; gap: 30px; }
.template_contact .bt_wrapper{ width: 100%; justify-content: flex-end; display:flex; align-items: end; }

/* template_articles */

.template_articles{ background-color: var(--bg_block_column); padding-bottom: 120px; }

/* template_annonces */

.template_annonces{ background-color: var(--bg_block_column); padding-bottom: 120px; }
.template_annonces .section_hero{ padding-bottom: var(--block_marginTop); }
/* template_annonce */

.template_annonce .section_hero { background-color: var(--bg_block_column); padding-bottom: 0px; }
.template_annonce .section_hero .main_container{ text-align: left; }



/* template_about */
.template_about { --bg_block_column: #F5F4EF }
.template_about .section_hero .section_hero_bg{ background-color: #363225; }




/* BLOCKS  */



/* page blocks  */

.page_blocks_wrapper{ display: flex; flex-direction: column; gap: 0px; padding-top: 0px;  padding-bottom: 80px; }
.page_blocks_wrapper .block_columns,
.page_blocks_wrapper .block_equipe,
.page_blocks_wrapper .block_video,
.page_blocks_wrapper .block_text,
.page_blocks_wrapper .block_intro,
.page_blocks_wrapper .block_citation,
.page_blocks_wrapper .block_heading,
.page_blocks_wrapper .bloc_gallery,
.page_blocks_wrapper .block_button,
.page_blocks_wrapper .block_home_chiffres,
.page_blocks_wrapper .block_button,
.page_blocks_wrapper .block_paragraphe,
.page_blocks_wrapper .block_image{ margin-top: var(--block_marginTop); }

.page_blocks_wrapper .block_button{  }


.page_blocks_wrapper .block_heading{   }


.section_actualites{  padding-top: var(--sections_vpaddding); padding-bottom: var(--sections_vpaddding); }
.section_partenaires {  padding-top: var(--sections_vpaddding); padding-bottom: var(--sections_vpaddding); }

.block_paragraphe .main_container{ display: flex; flex-direction: column; gap: 20px; }
.block_paragraphe .main_container,
.block_paragraphe .block_text{ margin-top: 0; }
.block_paragraphe { }

.block_bg_colored{  padding-top: var(--sections_vpaddding); padding-bottom: var(--sections_vpaddding); }
.block_bg_colored:before{ content: ""; background-color: var(--bg_block_column); position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 1;  }

.block_heading{ }
.block_video .main_container{  max-width: 1020px; }
.block_video iframe{ aspect-ratio: 16/9; border-radius: 30px; overflow: hidden;}
.block_video figure{ max-width: 100%;  }
.block_video video{ max-width: 100%; object-fit: cover;  border-radius: 30px; overflow: hidden;}


.block_intro{ margin-top: var(--block_marginTop);  }

.block_exergue {  margin-top: var(--block_marginTop); }
.block_exergue .main_container{  border-radius: 20px;  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1); background: linear-gradient(90deg, #A0C10C 0%, rgba(160, 193, 12, 0.00) 100%); padding: 80px; font-size: 23px; line-height: 1.35em;  max-width: 1020px;  display: flex; flex-direction: column; gap: 10px; }



.block_text{ margin-top: var(--block_marginTop);  }
.block_text .main_container{   display: flex; flex-direction: column; gap: 30px; }
.block_text.text_size_large{ font-size: 24px; }
.block_text h2{ font-size: 33px; letter-spacing: -0.02em; line-height: 1.25em; }
.block_text h3{ font-size: 24px; }
.block_text h4{ font-size: 24px; }

.block_text ul{ margin: 20px ; }
.block_text li{ list-style: disc; }

.block_heading .main_container{  }
.block_heading h2{ font-size: 33px; letter-spacing: -0.02em; line-height: 1.25em; }
.block_heading h3{ font-size: 24px; }
.block_heading h4{ font-size: 24px; }
.block_heading h5{  border: 3px solid red;   display: flex; padding:  5px 10px; justify-content: center; width: fit-content; align-items: center;color: #FFF; line-height: 1em;font-size: 12px;    font-style: normal;    font-weight: 800;letter-spacing: 0.05em; font-weight: 600; text-transform: uppercase; gap: 10px; border-radius: 6px/7px; background: var(--bg_suptitle); }


.block_image{ width: 100%; margin-top: var(--block_marginTop);  }
.block_image .figure{ width: 100%;   }
.block_image .size_s{ max-width: 500px;   }
.block_image .size_m{ max-width: 650px;   }
.block_image .size_l{ max-width: 800px;   }
.block_image img { width: 100%; border-radius: 30px; }
.block_image { display: flex; flex-direction: column; gap: 20px; }
.block_image figcaption{ font-size: 16px; opacity: 0.8; text-align: center;  padding-top: 10px; }

.column .blocks{ width: 100%; }
.column .block_col_image{ width:auto; height: auto; max-height: 100%; }
.column .block_col_image img{ width: 100%; }

.partenaires_logo{ max-width: 220px; max-height: 180px; }

.block_home_services .section_hero_wrapper{ max-width: 880px; margin-left: auto; margin-right: auto; display: flex; width: 100%; text-align: center; flex-direction: column; gap: 36px; align-items: center;  }
.block_home_services .main_container{ display: flex; flex-direction: column; gap: 60px; }

.block_citation{ --color_txt: var(--bleu_C40);   display: flex; justify-content: center; flex-direction: row; gap: 0px;  }
.block_citation .main_container{ max-width: 1020px; }
.block_citation .main_text{  padding: 20px 20px 20px 0px; display: flex; flex-direction: column;     align-items: flex-end; justify-content: flex-end; gap: 40px; }
.block_citation .main_text p{ line-height: 1.35em; }
.block_citation p{ padding-left: 1em; padding-right: 1em; }
.column .block_citation .main_text{ padding-left: 0; padding-right: 0; padding-bottom: 0px; }
.block_citation .main_text .apostrophe{ font-size: 2.5em; color: var(--bg_suptitle); position: absolute; top: 30px;  left: -30px; }
.block_citation .signature{ --color_txt: var(--orange_C40);    display: flex; flex-direction: column;     align-items: flex-end; justify-content: flex-end; gap: 5px; }
.block_citation .portrait {   position: relative; overflow: hidden;  width: 280px;  min-height: 200px;  border-radius: 20px 0 0 20px; flex-shrink: 0; /* évite qu’elle se compresse */ }
.block_citation .portrait img {  position: absolute;  inset: 0;  width: 100%; height: 100%;  object-fit: cover; }



.block_equipe .cols{ display: flex; gap: 60px; flex-direction: row;  }
.block_equipe .col{ width: 50%; }
.block_equipe .col1{ position: relative; }
.block_equipe .blocks_wrapper{ position: sticky; top: 160px;  display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.block_columns .sticky_col{ position: sticky; top: 160px; height: auto!important; }
.block_equipe .grid_team { padding: 20px;  display: grid;   grid-template-columns: repeat(2, 1fr);  gap: 20px; }
.block_equipe .grid_team .item { border-radius: 20px; background: #F5F4EF; }
.block_equipe .grid_team .item .cover_wrapper{ aspect-ratio: 1; }
.block_equipe .grid_team .item .cover_wrapper img{ width: 100%; border-radius: 20px 20px 0 0; height: 100%; object-fit: cover; }
.block_equipe .grid_team .text_wrapper{ padding: 20px; }

/* columns */


.block_columns .block_paragraphe .main_container{  padding-left: 0; padding-right: 0; }
.block_columns .block_paragraphe{ margin-top: 0; }

/* Colonne avec largeur dynamique selon --columns */

.grid {    width: 100%;    position: relative;    max-width: 1220px;    display: grid;    grid-template-columns: repeat(12, 1fr); gap: 60px;    padding-right: 80px;    padding-left: 80px; }

.grid .column {  grid-column: span var(--columns, 12); /* par défaut, une colonne prend toute la largeur */ }
.section_layout {  display: grid;  grid-template-columns: repeat(6, 1fr); /* Crée une grille avec 6 colonnes égales */gap: 1rem; /* Espace entre les colonnes */}
.column {  grid-column: span var(--span, 1); /* Utilise la valeur de --span pour définir le span de la colonne, par défaut 1 */}
.column .blocks{ display: flex;  height: 100%; flex-direction: column; align-items: flex-start; gap: 20px; }


.block_col_heading .main_container{ border: 2px solid var(--bt_cta_bg); }
.block_col_heading h2{ font-weight: normal; font-size: 33px;letter-spacing: -0.02em; line-height: 1.25em; }
.block_col_heading h3{  font-weight: normal; font-size: 24px; }
.block_col_heading h5{   font-weight: normal; display: flex; padding:  5px 10px; justify-content: center; width: fit-content; align-items: center;color: #FFF; line-height: 1em;font-size: 14px;    font-style: normal;    font-weight: 800;letter-spacing: 0.05em; font-weight: 600; text-transform: uppercase; gap: 10px; border-radius: 6px/7px; background: var(--bg_suptitle); }
.block_col_heading strong{ font-weight: normal  }
.block_col_text{ font-size: 18px; }
.block_col_text ul{ margin: 30px 20px ; display: flex; flex-direction: column; gap: 5px; }
.block_col_text li{ list-style: disc;  }
.block_col_button{  margin-top: 20px; }
.block_col_image {  height: auto; }
.block_col_image .img_wrapper{ border-radius: 20px; overflow:hidden; height: auto; display: block;}
.block_col_image  figure{ height: auto; }
.block_col_image .img_wrapper img{ height: auto; width: 100%; object-fit: cover; max-height: none; }
/* .column .blocks{ height: 100%;     justify-content: center;} */

.block_home_chiffres{  }
.block_home_chiffres .cols{ display: flex; gap: 60px; flex-direction: row;  }
.block_home_chiffres .bloc_img{ height: 100%; border-radius: 20px; height: 100%; object-fit: cover; }

.block_home_chiffres .col{ width: 100%; }
.block_home_chiffres .col1{   width: 45%; }
.block_home_chiffres .col2{  padding: 2rem 0; width: 55%; }
.block_home_chiffres .grid_chiffres{ display: grid; margin-top: 1rem; grid-template-columns: repeat(2, 1fr);; }
.block_home_chiffres .grid_chiffres_item{ padding-top: 1rem; padding-bottom: 1rem; padding-right: 1rem; display: flex; flex-direction: column; gap: 5px;}

/* contact_form */

.contact_form textarea{ font-family: "Switzer-Medium"; font-size: 16px; font-weight: 400;border: 2px solid #bbbbbb;  min-height: 220px; width: 100%;  padding: 10px 20px;  border-radius: 10px; background: #ffffff;   }
.contact_form select{ font-family: "Switzer-Medium"; font-size: 16px; font-weight: 400; border: 2px solid #bbbbbb;   width: 80%;  padding: 10px 20px;  border-radius: 10px; background: #ffffff;   }
.contact_form .selecteur{ font-family: "Switzer-Medium"; display: flex; flex-direction: column; gap: 20px; } 
.contact_form input{font-family: "Switzer-Medium";  font-size: 16px; font-weight: 400; border: 2px solid #bbbbbb;   width: 100%;  padding: 10px 20px;  border-radius: 10px; background: #ffffff;   }
.contact_form input {  width: 100%;  font-size: 16px;  font-family: inherit;  transition:     border-color 0.3s ease,    box-shadow 0.3s ease,    background 0.3s ease;}
.contact_form input:hover {  background: #ffffff;  border-color: #bbbbbb;}
.contact_form input:focus {  outline: none;  border-color: var(--color_anadom_green);box-shadow: 0 0 0 3px rgba(184, 184, 184, 0.08);}
.contact_form input::placeholder {  color: #6c6c6c;  transition: opacity 0.3s ease;}
.contact_form input:focus::placeholder { opacity: 0.4;}
.contact_form input[type="checkbox"] { appearance: none;  width: auto;  height: 18px;  font-size: 12px;  border-radius: 12px;  cursor: pointer;  position: relative;  transition: all 0.2s ease;}
.contact_form label { display: flex; gap: 10px; align-items: center; }
.contact_form label span{ font-size: 14px; line-height: 1em; text-transform: uppercase; text-wrap: wrap; }
.contact_form input[type="checkbox"]:checked { background: var(--color_anadom_green);}
.contact_form .cp{ width: 180px; }
.contact_form .email{ width: calc(100% - 140px); }
.contact_form input[type="checkbox"]:checked::after { content: "";  position: absolute; left: 15px;  top: 2px;  width: 4px;  height: 8px;border: solid #ffffff;  border-width: 0 2px 2px 0; transform: rotate(45deg);}
.checkbox_items h3{ margin-bottom: 20px; }
.checkbox_item { display: flex; align-items: center; gap: 10px;     flex-direction: row;  justify-content: flex-start;  align-content: center;   align-items: center;}

.contact_form .hide{ display: none; }
.contact_form .nobg {
    background: none;
    box-shadow: none;
    border: none;
}

/* ── Alertes formulaire ── */
.form_alerts {
    background: #fff3f3;
    border-left: 4px solid #c00;
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 20px;
}
.form_alert {
    color: #c00;
    margin: 4px 0;
    font-size: 0.9em;
}

/* ── File upload ── */
#file_zone label { display: block; margin-bottom: 8px; }

.file_hint {
    font-size: 0.78em;
    color: #888;
    margin-top: 6px;
}

#file_list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
}

.file_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f4f4f4;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 0.9em;
}

.file_name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: calc(100% - 36px);
}

.file_remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #c00;
    font-size: 1em;
    padding: 0 4px;
    line-height: 1;
    flex-shrink: 0;
}
.file_remove:hover { color: #900; }

.bt_add_file {
    background: none;
    border: 1px solid #A0C10C;
    color: #A0C10C;
    border-radius: 6px;
    padding: 6px 14px;
    cursor: pointer;
    font-size: 0.9em;
    transition: background 0.2s, color 0.2s;
}
.bt_add_file:hover {
    background: #A0C10C;
    color: #fff;
}

label{ color: #0a0a0a;  transition: opacity 0.3s ease; margin: 0.5em;  }

/*.


/^^^^^^^                                                                        
/^^    /^^                                                                      
/^^    /^^          /^^          /^^^^      /^ /^^        /^^^^      /^^     /^^
/^ /^^            /^   /^^      /^^         /^  /^^      /^^          /^^   /^^ 
/^^  /^^         /^^^^^ /^^       /^^^      /^   /^^       /^^^        /^^ /^^  
/^^    /^^       /^                 /^^     /^^ /^^          /^^        /^/^^   
/^^      /^^       /^^^^        /^^ /^^     /^^          /^^ /^^         /^^    
                                            /^^                                 


*/


/* Quand l’écran devient plus petit (tablettes) → 2 colonnes */
@media (max-width: 992px) {


  :root {
  --sections_vpaddding: 40px;
}




  .txt_14 { font-size: 12px;   }
  .txt_16 { font-size: 13px;   }
  .maj.txt_18 { font-size: 14px;   }
  .txt_20 { font-size: 16px;   }
  .txt_21 { font-size: 18px;   }
  .txt_27 { font-size: 20px; }
  .txt_29 { font-size: 18px;   }
  .txt_35 { font-size: 21px; } 
  .txt_33 { font-size: 25px; } 
  .txt_40 { font-size: 31px; } 
  .txt_48{ font-size: 35px; } 
  body{ font-size: 16px; }
  html{   scroll-behavior: auto; }
  .mobile_topbar{ position: fixed; top: 0; left: 0; width: 100%; z-index: 200; background-color: white; padding: 8px 20px; display: flex; justify-content: space-between; }
  .mobile_topbar .logo_wrapper{ height: 42px; transition: all .3s; z-index: 210; }
  .main_container{  padding-left: 10px; padding-right: 10px; }
  .grid{ padding-left: 10px; padding-right: 10px; display: flex; flex-direction: column; }
  .burger{  z-index: 200; transition: all .17s; background-color: rgba(255,255,255,0.8);  display: flex; gap: 3px; flex-direction: column;justify-content: center;  align-items: center;  justify-items: center; width: 40px; height: 40px;  border-radius: 100%; position: relative;  border: 1.5px solid var(--color_txt); border-radius: 40px; }
  .burger:hover{ gap: 5px; cursor: pointer; }
  .burger span{ transition: all.17s; transform-origin: center; width: 18px; height: 2px; background-color: var(--color_txt); border-radius: 2px; }
  .shownav .burger span{ position: absolute; }
  .shownav .burger span:nth-child(1){ transform: rotate(45deg)  }
  .shownav .burger span:nth-child(2){ transform: rotate(-45deg) }
  .shownav .burger span:nth-child(3){ transform: rotate(-45deg) }
  .shownav .navbar{  transform: scale(1) translateY(0%);   visibility: visible; opacity: 1; }
    
  .main_page{ padding-top: 60px; }
  .page_nav{ display: none; position: fixed; inset: 0; width: 100%; height: 100dvh; flex-direction: column; justify-content: flex-start; align-items: center; background: #fff; padding: 0 20px 40px; overflow-y: auto; opacity: 0; transform: translateY(-8px); transition: opacity .25s ease, transform .25s ease; z-index: 150; }
  .shownav .page_nav{ display: flex; opacity: 1; transform: translateY(0); }
  .page_nav .logo_wrapper{ display: flex; height: 44px; width: auto; margin-top: 18px; margin-bottom: 32px; align-self: flex-start; }
  .page_nav .nav{ flex-direction: column; align-items: flex-start; gap: 0; width: 100%; }
  .page_nav .nav .menu_link{ font-size: 22px; font-weight: 600; padding: 14px 0; border-bottom: 1px solid #f0f0f0; width: 100%; display: block; }
  .page_nav .nav .menu_link.actif{ color: var(--color_anadom_pink); }
  .page_nav .has_dropdown{ width: 100%; flex-direction: column; align-items: flex-start; border-bottom: 1px solid #f0f0f0; }
  .page_nav .has_dropdown .menu_link{ border-bottom: none; padding-bottom: 8px; }
  .page_nav .dropdown{ position: relative; top: 0; left: 0; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: none; padding: 0 0 14px 12px; gap: 0; display: flex; flex-direction: column; width: 100%; min-width: 0; }
  .page_nav .dropdown a{ font-size: 14px; opacity: 1; color: #555; padding: 7px 0; border-bottom: none; }
  .page_nav .dropdown a:hover{ color: var(--color_anadom_pink); opacity: 1; }
  .page_nav .bt_cta{ margin-top: 32px; margin-left: auto; margin-right: auto; justify-content: center; }

  .shownav .page_nav_wrapper{ display: block; }
  .section_presentation .presentation_blocs .grid{ display: flex; flex-direction: column; }
  .top_bar{ display: none; top: auto; bottom: 0;  border-radius: 20px 0 0 0 ; }
  .bt_blue {  font-size: 12px; padding: 13px 34px; }

  .shownav .top_bar{ display: flex; padding-bottom: 10px; padding-top: 10px; }
  .page_nav .page_menu a{ padding: 10px 0px; }

  .cols{ flex-direction: column; }
  .template_home .col_left{ width: 100%; }
  .template_home .col_left .nav{ flex-direction: column; }
  .template_home .section_hero .main_container{ flex-direction: column; }
  .template_home .section_hero .col1{ width: 100%; }
 .template_home .col_right{ width: 100%; }
  .block_home_chiffres .grid_chiffres{  }
  .block_home_chiffres .cols{ display: flex; flex-direction: column; }
  .block_home_chiffres .col1{ width: 100%; }
  .block_home_chiffres .col2{ width: 100%; }
  .services_grid_wrapper{ display: flex; flex-direction: column; }
  .service_card{ aspect-ratio: 16/9; }
  .template_home .hero_visual_wrapper{ position: relative; margin-top: 50px; width: 100%; height: 350px; }
  .section_hero .main_container{ padding-top: var(--sections_vpaddding); }
  .block_home_chiffres .grid_chiffres{ gap: 20px; }
  .block_home_chiffres .grid_chiffres  .txt_27{ font-size: 16px; }
  .section_temoignages .temoignage_item{ padding: 40px; }
  .next_cards_grid{ flex-direction: column; display: flex; }
  .template_article .next_cards_grid{ flex-direction: column; display: flex; }
  .article_card .cover_wrapper {  aspect-ratio: 16 / 6; }
  .swiper_bloc_partenaires .swiper-slide { height: 105px; } 
  .section_postuler .pad{ padding: 40px 20px; }
  .footer .footer_wrapper{ flex-direction: column; font-size: 13px; }
  .footer .footer_wrapper .cols1{ width: 100%; }
  .footer .footer_wrapper .cols2{ width: 100%; }
  .block_col_text{ font-size: 16px; }
  .block_col_heading h3{ font-size: 21px; }
  .block_col_heading h2{ font-size: 31px;  }
  .block_col_heading h5{ font-size: 10px;  }
  .section_hero .text_wrapper{ padding: 0;  }
  .bt_cta .txt{ font-size: 14px; }
  .block_col_image .img_wrapper{ max-height: 100vw; }
  .section_temoignages .temoignage_item{ padding: 40px!important;}
  .page_nav_wrapper::before{ display: none; }
  .template_contact .cols{ flex-direction: column; }
  .template_contact{ padding-top: 60px; }
  .template_contact .col1{ width: 100%;  padding-left: 20px; padding-right: 20px;}
  .template_contact .col2{ width: 100%;  padding-left: 20px; padding-right: 20px;}
  .template_contact .contact_form{ padding-left: 0px; padding-right: 0px;}
  .footer .footer_wrapper .cols2 .cols{ display: flex; flex-direction: row; }

  .section_hero .hero_visual_wrapper{ margin: 0}
  .suptitle{ font-size: 12px; }
  .block_exergue .main_container{ font-size: 27px; }

  .dropdown{ position: relative; top: 0; opacity: 1; display: flex;   align-items: center; left:auto; padding: 0px 40px 0px 40px; top: 25px; gap: 20px; align-content: center;  margin: auto; justify-content: center; background: none; transform: translateY(0); box-shadow: none; visibility: visible }
 .dropdown a{ font-size: 16px; padding: 0; text-align: center; font-size: 14px; opacity: 0.5; }
 .dropdown a:hover{ opacity: 1; color: #B6224E; }
 .page_nav .nav .menu_link{ text-align: center;  margin: auto; }
 .has_dropdown{ text-align: center;   display: flex; justify-content: center; flex-direction: column; }
  .block_equipe .cols{ flex-direction: column; }
  .block_equipe .col{ width: 100%; }
  .block_equipe .grid_team{ grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0;  }
  .block_equipe .grid_team .txt_21{ font-size: 16px;  }
  .block_equipe .grid_team .text_wrapper{ padding: 10px; }
  .swiper_bloc_partenaires{ padding-bottom: 80px; }
  .bt_cta{ font-size: 14px; }
  .footer .footer_wrapper .cols2 .cols{  }
  .footer .footer_wrapper .cols2{     align-items: flex-start; }
  .footer .footer_wrapper .logo_wrapper{ height: 70px; width: auto; }
  .footer{ padding-bottom: 20px; }
  .template_home .col_left{ padding-top: 120px;   padding-left: 10px;  padding-right: 10px; }

  /* contact : champs email + cp en colonne pleine largeur */
  .contact_form .email{ width: 100%; }
  .contact_form .cp   { width: 100%; }

  /* footer cols1 : passer la grille en colonne */
  .footer .footer_wrapper .cols1 .cols{ grid-template-columns: 1fr; }

  /* exergue : réduire le padding */
  .block_exergue .main_container{ padding: 30px 20px; }

  /* grand titre 60px */
  .txt_60{ font-size: 38px; }
}

/* Sur mobile → 1 colonne */
@media (max-width: 576px) {

  
}

/* keyframes party **************************************************************************/

@keyframes fadeIn{
from {  opacity:  0; } to { opacity: 1; }
}

@keyframes arrow{
0% { transform: translateX(-100px) } to {   transform: translateX(0px) }

  0% { transform: translateX(0px)  }
  50% {  transform: translateX(30px)  }
  52% {  transform: translateX(-30px)  }
  100% { transform: translateX(0px)  }
}

