/*
Theme Name: Base WP
Theme URI: http://basewp.local
Author: Stevie Khoudour
Author URI: http://basewp.local
Description: Template pour le site _________
Version: 1.1
Text Domain: basewp_template
Tags: wordpress, theme, base_wp
*/


html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
  
html {
  margin-top: 0 !important;
  scroll-behavior: smooth;
}

body {
  display:flex;
  flex-direction: column;
  width: 100vw;
  min-height:100vh;
  font-family: "Mulish", sans-serif;
  overflow-x: hidden;
  background-color: var(--paper);
}

main {
  flex:1;
  position:relative;
}

a {
  text-decoration: none;
  color: var(--color_01_D);
  transition: all ease 200ms;
}

a:hover {
  text-decoration: none;
  color: var(--color_01);
  cursor: pointer;
}

a:not([href]):not([tabindex]):hover {
  text-decoration: none;
  color: #ff0000;
  cursor: pointer;
}

ul {
  margin: 0;
  list-style-type: none;
  padding-inline-start: 0px;
}

li {
  list-style-type: none;
  font-size: 1.1em;
}

h1 {
  font-size: 5em;
  margin:0;
  padding:0;
  color: var(--main_color_L);
  text-align: center;
  font-weight: 600;
  font-family: "Thasadith";
}

h2 {
  font-size: 2em;
  color: var(--main_color_L);
  text-align: center;
  letter-spacing: 0.03em;
  margin-bottom: .4em;
  font-weight: 600;
  font-family: "Thasadith";
}

h3 {
  font-size: 1.8em;
  padding-top:1em;
  padding-bottom:0.3em;
  color: var(--main_color_L);
  text-transform: uppercase;
}

h4 {
  font-size: 1.3em;
  margin-bottom: 0;
  color: var(--main_color_L);
  text-align: center;
  text-transform: uppercase;
  font-weight: 100;
  font-weight: 600;
  font-family: "Thasadith";
}

h5 {
  font-size:1.2em;
  margin:0;
  padding:0;
  font-weight: 600;
  font-family: "Thasadith";
  color:var(--main_color_L);
}

p {
  font-size: 1em;
  text-align: justify; 
  color: #000;
  hyphens: manual;
}

strong {
  color: black;
}



input, textarea {
  border: none;
  resize: none;
  outline: none;
  background-color: #f1d2c0;
  margin-bottom: 0.5em;
  padding: .5em 1em;
  width:100%
}

textarea {
  min-height: 150px;
}

button {
  border: none;
  background-color: #e8688a;
  color: white;
  padding: .5em 2em;
  text-transform: uppercase;
  transition:all ease 300ms;
}

button:hover {
  cursor: pointer;
  background-color: var(--color_01);
  color: var(--color_04);
  transition:all ease 200ms;
}

button:focus {
  outline:none;
}

[type="submit"] {
  cursor:pointer;
}











/* ACCUEIL */


#homepage_bg {
  width:100%;
  height:100vh;
  display:flex;
  flex-direction:column;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  user-select: none; 
  -webkit-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  border-image-slice: 1 !important;
}

.homepage_content {
  display:flex;
}


/* PARALLAX IMAGES */

.parallax-img {
    position: absolute;
}


/* Classes de base pour les encarts (indépendantes du numéro) */
.content_row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.content_column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.content_img {
  background-size: cover;
}

.content_text_indep {
  width: 50%;
  padding: 4vh 0;
}

/* Classes dynamiques pour chaque encart (ex: .v01-01, .v02-01, etc.) */
[class^="v01-"], [class*=" v01-"] {
  flex-direction: column;
}

[class^="v02-"], [class*=" v02-"] {
  flex-direction: row;
}

[class^="v01-"] .content_img,
[class*=" v01-"] .content_img {
  width: 40%;
}

[class^="v02-"] .content_img,
[class*=" v02-"] .content_img {
  width: 50%;
}

[class^="v03-"] .content_img,
[class*=" v03-"] .content_img {
  display: flex;
  justify-content: right;
  width:100%;
}

/* Cibler .content_text-XX */
[class^="content_text-"],
[class*=" content_text-"] {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Cibler .content_text-XX dans .v01-XX */
[class^="v01-"] [class^="content_text-"],
[class*=" v01-"] [class^="content_text-"] {
  width: 50%;
  margin: 0 0 0 3vw;
}

/* Cibler .content_text-XX dans .v02-XX */
[class^="v02-"] [class^="content_text-"],
[class*=" v02-"] [class^="content_text-"] {
  width: 65%;
  margin: 0;
}

/* Cibler .content_text_indep dans .v03-XX */
[class^="v03-"] .content_text_indep,
[class*=" v03-"] .content_text_indep {
  padding: 5vh 8vw;
  margin: 4vh 4vw;
  width: 55%;
  border-radius: 15px;
}

/* Cibler .content_title_eXX */
[class^="content_title_e"],
[class*=" content_title_e"] {
  display: flex;
  flex-direction: column;
  align-items: center;
}




/* ENCART MEDIA */

.media_content {
  display: flex;
  justify-content: center;
  align-items: center;
}

.media_text {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.media_text h3 {
  font-size:2.5em;
  text-transform: uppercase;
  padding-bottom:0;
}

.media_text p {
    font-size: 1.4em;
    color: #fff;
}






/* TITRE */ 

#homepage_bg.centre {
  justify-content: center;
  align-items: center;
  text-align: center;
}

#homepage_bg.haut {
  justify-content: flex-start;
  align-items: center;
}

#homepage_bg.bas {
  justify-content: flex-end;
  align-items: center;
}

#homepage_bg.h_gauche {
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}

#homepage_bg.h_droite {
  justify-content: flex-start;
  align-items: flex-end;
  text-align: right;
}

#homepage_title {
    transition: transform 0.5s ease-out;
    will-change: transform; /* Optimisation pour le navigateur */
}

#homepage_title_logo {
  display:flex;
  justify-content: center;
  align-items: center;
}

#homepage_title_logo #logo {
  height: fit-content;
}

#homepage_title h2 {
  color: var(--main_color_D);
}

#homepage_title .title_uppercase {
  text-transform:uppercase;
}

#homepage_title .title_lowercase {
  text-transform:none;
}



/* MENU */

#header_menu {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-content: center;
  width: 100vw;
  z-index: 100;
  transition: opacity ease 300ms, justify-content ease 300ms;
}

#header_logo_title_slogan_container {
  display: flex;
  align-items: center;
  justify-content: center;
}

#menu_title_slogan_container {
  display: flex;
  flex-direction: column;
  width: max-content;
}

#menu_title {
  width: max-content;
}

#menu_slogan {
  width: max-content;
}

.header_menu_top {
  background-color:#4ae1ff00;
  padding:1.5vh 6vw;
  opacity:1;
}

#logo {
  width: 3.5vw;
  height: fit-content;
  transition:all ease 300ms;
  margin-right: 1em;
}

.header_menu_top #menu a {
  font-size:1.1em;
}

nav {
  display:flex;
}

#menu {
  display:flex;
  justify-content: space-evenly;
  align-items: center;
}

#menu ul {
    display: flex;
    width: 100%;
    justify-content: right;
}

#menu a {
  font-size:1.1em;
  letter-spacing: 0.05em;
  color: #3d3d3d;
  text-transform: uppercase;
  font-weight: 600;
  transition: all ease 200ms;
  display:flex;
}

#menu a:hover {
  color:var(--main_color_L);
}

.menu-a {
  transition: all ease 200ms;
}

#menu .current_page_item a .menu-a {
  color:var(--main_color_L);
  font-weight: bold;
}

#menu span {
  text-align:center;
}



/* SOUS MENU */

.menu-item-has-children {
  position: relative;
}

#menu .sub-menu {
  display: none;
  flex-direction: column;
  position: absolute;
  top:2em;
  left:1em;
  width: max-content;
  max-width: 20vw;
  padding: 0.5em 0em 0.5em;
  border-left: 3px solid var(--color_02);
  margin-left: .7em;
}

#menu .sub-menu .menu-a {
  text-align:left;
}




#logo-title {
  font-size:2em;
  color:var(--main_color_L);
  font-weight: 600;
  font-family: "Thasadith";
}


.header_menu_scrollup {
  background-color:var(--paper);
  padding:0.8vh 6vw;
}

.header_menu_scrollup #menu a {
  font-size:.95em;
  color: black !important;
}

.header_menu_scrollup #menu a:hover {
  color: var(--main_color_D) !important;
}

.header_menu_scrollup #menu #actif {
  color: var(--main_color_D) !important;
}

.header_menu_scrolldown {
  background-color:var(--paper);
  padding:0.5vh 6vw;
  opacity:0;
  visibility: hidden;
}

.header_menu_scrolldown #logo {
  width: 3vw;
}

.header_menu_scrolldown #menu a {
  font-size:.95em;
  color: black !important;
}

.header_menu_scrolldown #menu a:hover {
  color: var(--main_color_D) !important;
}

.header_menu_scrolldown #menu #actif {
  color: var(--main_color_D) !important;
}




#header_menu_burger {
  display: none;
}

#header_menu_burger .header_logo {
  position: fixed;
  z-index:100;
  top: 1em;
  left: 3em;
  transition:all ease 200ms;
}

#header_menu_burger #logo {
  width: 20vw;
}

#header_menu_burger #menu a {
  font-size:1.1em;
}


.menu_bottom {
  bottom: 0;
}



/* MENU MOBILE */

.menu_burger {
    display: none; /* Masqué par défaut sur desktop */
    flex-direction: column;
    justify-content: space-around;
    width: 2rem;
    height: 2rem;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 10;
    position: fixed;
    right: 20px;
    top: 20px;
}

.burger_bar {
    width: 2rem;
    height: 0.25rem;
    background: #3d3d3d;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.menu_burger.active .burger_bar:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

.menu_burger.active .burger_bar:nth-child(2) {
    opacity: 0; 
}

.menu_burger.active .burger_bar:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
}

.is_menu_mobile #menu a {
  font-size:1.1em;
}

.is_menu_mobile #menu .sub-menu a {
  font-size:1em;
}



/* NOISE */

.noise {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none; /* Permet aux clics de passer à travers */
    overflow: hidden; /* Empêche le contenu de dépasser */
    z-index: 1; /* Assurez-vous que le bruit est au-dessus du contenu */
}

.noise:after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 200vw;
    height: 1000vh;
    left: -50%;
    top: -50%;
}

.noise_anim {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* Permet aux clics de passer à travers */
    overflow: hidden; /* Empêche le contenu de dépasser */
    z-index: 1; /* Assurez-vous que le bruit est au-dessus du contenu */
}

.noise_anim:after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 200vw;
    height: 1000vh;
    left: -50%;
    top: -50%;
    animation: noise_anim 2s steps(6) infinite;
}

@keyframes noise_anim {
    0%, 100% {
        transform: translate(0);
    }

    10% {
        transform: translate(-5%, -3%);
    }
    30% {
        transform: translate(3%, -5%);
    }
    50% {
        transform: translate(12%, 4%);
    }
    70% {
        transform: translate(9%, -2%);
    }
    90% {
        transform: translate(-1%, 3%);
    }
}





/* ARROW */


.meta-arrow {
  position: absolute;
  z-index: 15;
  left: 0;
  right: 0;
  bottom: 1.5em;
  width: 100px;
  height: 65px;
  margin: 0 auto;
  text-align: center;
  font-size: 3em;
}

.meta-arrow img {
  width:1.3em;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-animation: meta-arrow 1s ease-out infinite;
  animation: meta-arrow 1s ease-out infinite;
  filter: hue-rotate(85deg)  saturate(0.4) brightness(400%);
  transition:all ease 200ms;
}

.meta-arrow img:hover {
	filter: hue-rotate(85deg) brightness(300%);
  transition:all ease 200ms;
}

@keyframes meta-arrow {
	90% {
		opacity: 1;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 0.5;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
}

@-webkit-keyframes meta-arrow {
	90% {
		opacity: 1;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 0.5;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
}

.hide_scroll_arrow {
  display: none;
}

#e01 {
  scroll-margin-top: 2em;
}



.meta-arrow-top {
    position: fixed;
    z-index: 15;
    right: 1.5em;
    bottom: 1.5em;
    margin: 0;
    text-align: center;
    font-size: 1.7em;
    background-color: var(--color_02);
    border-radius: 12px;
    padding: .3em;
    display: flex;
    opacity:0;
    transition: opacity 300ms ease;
}

.meta-arrow-top img {
  width:1.3em;
  transform: scaleY(-1);
  -webkit-transform: scaleY(-1);
	filter: hue-rotate(85deg)  saturate(0.4) brightness(400%);
	transition:all ease 200ms;
}

.meta-arrow-top img:hover {
	filter: hue-rotate(85deg) brightness(300%);
  transition:all ease 200ms;
}

.meta-arrow-top-anim {
  -webkit-animation: meta-arrow-up .75s ease-out infinite;
  animation: meta-arrow-up .75s ease-out infinite;
}

@keyframes meta-arrow-up {
	90% {
		-webkit-transform: translateY(-8px);
		transform: translateY(-8px);
	}
	100% {
		-webkit-transform: translateY(-8px);
		transform: translateY(-8px);
	}
}

@-webkit-keyframes meta-arrow-up {
	90% {
		-webkit-transform: translateY(-8px);
		transform: translateY(-8px);
	}
	100% {
		-webkit-transform: translateY(-8px);
		transform: translateY(-8px);
	}
}




/* ------------------------------------------------------ PAGE ------------------------------------------------------ */


#main-page {
  padding: 15vh 15vw 6vh;
}

#banniere_page {
  position: absolute;
  top: 0;
  z-index: 1;
  width:100vw;
  height:15vh;
  background-size:cover;
}

.page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.page h2 {
  font-size:3em;
  margin-bottom:.2em;
}

.page h3 {
  margin-bottom:.4em;
}

#page_img_a_la_une {
  width:80%;
}

#page_text {
  margin: 0 0 1.5em;
}

#page_text h2,
#page_text h3,
#page_text h4,
#page_text h5,
#page_text p {
  text-align: center;
}

#page_text form p {
  width:60%;
  text-align: unset;
}

.page iframe {
  width:100vw;
  margin-bottom: -5.2em;
}



/* ------------------------------------------------------ CONTACT ------------------------------------------------------ */

.encart_contact {
  display: flex;
}

.contact_title_and_form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4em 0 1em;
}

.contact_text_content {
  width:65%;
}

.contact_title {
  display:flex;
  flex-direction: column;
  align-items:center;
}

.contact_text_content p {
  margin-top: 1.3em;
}

.wpcf7 {
  width:100%;
}

.encart_contact form { 
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1em auto 0;
}

.wpcf7-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 3em;
}

form p {
    width: 100%;
}

form p:last-of-type {
  width:auto;
}

.wpcf7-form p label {
  width: 100%;
}

.wpcf7-form-control.wpcf7-text[size] {
    width: 100% !important;
}

.encart_contact .wpcf7-submit {
  transition: all ease 500ms;
}

.encart_contact .wpcf7-submit:hover {
  transition: all ease 300ms;
}

/* ------------------------------------------------------ PAGE CONTACT ------------------------------------------------------ */

#page_contact_form_map {
  display: flex;
  width: 200%;
}

#page_contact_form {
  display:flex;
  width:50%;
  padding:0 10em 0 15em;;
}

#page_contact_map {
  width:50%;
  height:auto;
}

.page #page_contact_map iframe {
  height:100%;
}

/* ------------------------------------------------------ FOOTER ------------------------------------------------------ */


#footer {
  padding:5vh 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
}

#footer p {
  margin:0;
}

#footer #footer_text {
  display:flex;
  flex-direction:column;
  align-items: center;
  text-align:center;
  margin-bottom:.75em;
}

#footer #reseaux_sociaux_footer {
  display:flex;
  margin:auto;
  justify-content: space-evenly;
}


#footer #reseaux_sociaux_footer img {
  transform:scale(1);
  transition:all ease 200ms;
  margin: .5em;
  /* filter: sepia(1) contrast(0) brightness(1.1) sepia(1) saturate(20) hue-rotate(-210deg);  */
}

#footer #reseaux_sociaux_footer img:hover {
  transform:scale(1.12);
  /* filter:sepia(1) contrast(0) brightness(1) sepia(1) saturate(20) hue-rotate(-68deg); */
}

#footer #footer_link {
  margin-top:1.5vh;
  margin-bottom:0;
  color: var(--main_color_D);
  text-align: center;
}


/* FOOTER CONDENSED */

#footer_condensed {
  padding:0.3em 10vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100vw;
  overflow: hidden;
  position:relative;
  bottom:0;
}

#footer_condensed p {
  margin:0;
}

#footer_condensed #footer_text {
  display:flex;
  flex-direction:column;
  align-items: center;
  text-align:center;
}

#footer_condensed #footer_link {
  color: var(--main_color_D);
}

#footer_condensed #reseaux_sociaux_footer {
    display: flex;
    justify-content: space-evenly;
}

footer #reseaux_sociaux_footer img {
    transform: scale(1);
    transition: all ease 200ms;
    /* filter: sepia(1) contrast(0) brightness(1.1) sepia(1) saturate(20) hue-rotate(-210deg); */
}

footer #reseaux_sociaux_footer img:hover {
    transform: scale(1.15);
    /* filter: sepia(1) contrast(0) brightness(1) sepia(1) saturate(20) hue-rotate(-68deg); */
    opacity:1;
}



/* COOKIES */ 

.wpcb-left {
    right: 1em !important;
    left: auto !important;
}

.wpcb-message {
	margin: 1em 2em !important;
	text-align: center;
}

.wpcb-compliance button {
	padding:.6em 0;
	text-transform:uppercase;
	color:#fff !important;
}




/* ------------------------------------------------------ MEDIA QUERIES ----------------------------------------------------- */



@media (max-width: 1280px) {
  
}

@media (max-width: 1024px) {

  .encart_contact {
      flex-direction: column;
  }

  .contact_title_and_form {
      width:100% !important;
  }

  .encart_contact iframe {
      width: 100% !important;
      height:450px !important;
  }

  .encart_contact form p {
      width:60% !important;
  }

  .v01-01 .content_img, .v02-01 .content_img, .v03-01 .content_img {
      display:none !important;
  }

  .v01-01, .v02-01 .content_text_indep, .v03-01 .content_text_indep {
      width: 100% !important;
  }

  [class^="v03-"] .content_text_indep, [class*=" v03-"] .content_text_indep {
      width: 100% !important;
      border-radius: 0 !important;
  }

  .content_row {
      flex-direction: column;
  }

  [class^="v01-"] .content_img, [class*=" v01-"] .content_img {
      width: 100% !important;
  }

  [class^="v01-"] [class^="content_text-"], 
  [class*=" v01-"] [class^="content_text-"] {
      width: 100% !important;
      margin: 1em 0 0 0 !important;
  }

  .encart_contact .contact_text_content {
      width: 100% !important;
      padding: 0vh 15vh !important;
  }

  .encart_contact form {
      width: 100% !important;
  }

  #page_text form p {
      width: 80% !important;
  }
}

@media (max-width: 960px) {

}

@media (max-width: 768px) {

  .encart_contact form p {
      width:70% !important;
  }

  .encart_contact .contact_text_content {
      padding: 0vh 10vh !important;
  }

}

@media (max-width: 540px) {

  .encart_contact .contact_text_content {
      padding: 0vh 5vh !important;
  }

}

/* ---------------------------- Ecran Mobiles ---------------------------- */

@media all and (max-device-width:480px) {

  .encart_contact form p {
      width:70% !important;
  }
  
}

@media (orientation: landscape) and (max-device-width: 768px) {
  
}


/* ---------------------------- Ecran avec ZOOM ---------------------------- */

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) {
  
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:1280px) {
      
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:1140px) {
      
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:940px) {
      
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:810px) {
      
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:671px) {
      
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:565px) {
      
}