/*
Theme Name: BRUT V1.2.1
Theme URI: http://www.quentinrenaux.com/web
Description: A Brut/Blank Template made from hands by quentin renaux
Version: 1.2.1
Author: Quentin Renaux
*/

/*
* Version 1.2.1
* mise en place le 25/10/24
* version Brut plus compelte sur les base de la template de Lune 
* lanceur de theme plus rapide 
* menu dans tempalte
* footer avec PLUGIN à ajouter 
* mais mini footer par default sinon 
*/

/* Welcome here, 
 * you can say hello 
 * or see other projects like this 
 * at quentinrenaux.com
 & we can talk on:    
 * x/twitter : @quentinrenaux 
 * insta : @quentinrenaux
 */

/* ---------------- FONTS ---------------- */
/* charger depuis temlate-lune.css */
 
/* ---------------- BASIC CODE ---------------- */
*, div, p, img {  
     padding: 0;
     margin: 0;
     box-sizing: border-box;
     -moz-box-sizing: border-box;
     -webkit-box-sizing: border-box;
 }

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ---------------- Old Root ---------------- */
:root {
  --couleur-background: #fefefe; /* Couleur de fond */
  --couleur-background-beige: #f5f6f3; /* Couleur de fond */


  --couleur-strong: #0f0f0f; /* Couleur du texte en gras */
  --couleur-light: #7e7e7e; /* Couleur du texte clair */
  --couleur-border: #202020; /* Couleur des bordures */

  --couleur-border-clair: #d6d6d6; /* Couleur des bordures plus claires */

  --size-bordergrid: 1px; /* Taille de la bordure par défaut */

  --size-regular: 18px; /* Taille de la police régulière */
  --size-regular-plus: 20px; /* Taille de la police régulière plus grande */
  --size-big: 30px; /* Taille de la police pour les titres importants */

  --background-footer: #f4f5f1; 

  /*--font-menu: 'Termina', Arial, sans-serif;

  --font-footer: 'Termina', Arial, sans-serif;

  --font-generale: 'Termina', Arial, sans-serif;*/

  --font-bigextra: 'Span', serif;

  --menuslide-link-color: #000;
  --menuslide-link-hover-color: #ddd;
}

/* ---------------- New Roots ---------------- */
/* verifier un par un avant detre remis dans le css 2024 */
:root {
  /* header hauteur : ordinateur et mobile */
  --menu_hauteur: 80px;
  --border_grosseur: 4px;
}

/* ---------------- Body ---------------- */

html {
      /* pour que le bas et le haut match */
      background: linear-gradient(to bottom, var(--couleur-background), var(--couleur-background), var(--background-footer), var(--background-footer));
      
      /*background: linear-gradient(to bottom, blue, blue, red, red);*/

      height: 100%;
}

body {
    width:100vw; 
    color: var(--couleur-strong);

    background: var(--couleur-background);
    
    /* pour que le bas et le haut match */
    /*background: linear-gradient(to bottom, var(--couleur-background), var(--couleur-background), var(--background-footer), var(--background-footer));*/

    /*background: linear-gradient(to bottom, blue, blue, red, red);*/

    /*font-weight: 400;*/
    /*min-height: 100vh;*/
    
    font-size: var(--size-regular);
    font-family: var(--font-generale);
    
}
 
/* ------------- lien principaux ------------- */
a {
  color: var(--couleur-strong);
  text-decoration: none;
}
a:hover {
  color: var(--couleur-light);
  transition: all 0.4s ease;
}

a:hover.lien-vert {
  color: #00ba2e;
}

a:hover.lien-bleu {
  color: #0800fd;
}



/* ------------- template page accueil classique ------------- */
.top-container {
  position: fixed;
  z-index: 2;
  color: #000;
  padding: 4%;
   pointer-events: none;
  font-size: 90px;
      
  mix-blend-mode: difference;
  filter: invert(1);
}

.bottom-container {
  position: fixed;
  bottom: 0;
  z-index: 3;
  color: #000;
  padding: 4%;
   pointer-events: none;
  font-size: 20px;
      
  mix-blend-mode: difference;
  filter: invert(1);
}

/*
a {
  pointer-events: auto;
  display: inline-block;
  transition: all 0.9s ease; 
}

a:hover {
  filter: invert(1);
  transition: filter .3s ease; 
}*/

@media screen and (max-width: 800px) {
  
  .top-container {
    font-size: 13vw;
  }

  .bottom-container {
    font-size: 10vw;
  }

}







/* essayer de trier les codes necessaires ou non end essous de cette ligne, supprimer ou remonter au dessus au fur et a mesure */






/* ---------------- header ---------------- */
/* menu ordinateur */
.brut-v1a-header {    
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;

    /*flex-direction: row-reverse;*/
    align-items: center;

    height: var(--menu_hauteur);

    position: fixed;
    top: 0;
    width: 100%;

    padding: 10px;
    border: 4px solid black;
    border: var(--border_grosseur) solid black;
    background-color: var(--couleur-background); 

    z-index: 1001;
}

.brut-v1a-logo {
    /*position: fixed;
    top: 0; left: 0; right: 0;*/
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    padding: 35px 20px 25px;
}

.principal_logo-soustitre {
  margin-top: -5px;
  /*font-size: var(--size-regular);*/
  font-size: 16px;
}

.brut-v1a-logo img {
  max-width: 200px;
}
 
.brut-header-titre-v1b {
  padding: 0px;
  text-transform: lowercase;
  /*border: 1px solid red;*/
  /*width: 30%;*/
  text-align: right;
}

.brut-header-titre-v1b img {
 max-width: 100px;
}

/* -- Mobile et Ordi --
      min-width 767px = au dessu de 767 */
.brut-v1a-header {
  display: none;
}
@media (min-width: 767px) {
  .brut-v1a-header {
      display: flex;
  }
}

/* menu wordpress */
.around-menu_cbl1 {
  border: 4px solid #000;
  border: var(--border_grosseur) solid black;

  padding: 10px;
  font-family: var(--font-menu-2024);
  width: 70%;
  font-size: 14px;
  font-weight: 400;
  /*text-transform: uppercase;*/
  display: flex;
  flex-direction: row;

  /* a droite */
  justify-content: flex-end;
}

.menu-principal {
  /*border: 2px solid rgb(77, 139, 83);*/
  display: inline-block;
}

.menu-top-complement {
  /*border: 2px solid rgb(139, 77, 77);*/
  display: inline-block;
}

.menu-top-complement ul {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
}

.menu-top-complement li {
  display: inline-block;
  margin-right: 20px;
}


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

.header_menu_principal-ordinateur li {
    list-style: none;
    display: inline-block;

    font-weight: 400;
    font-size: var(--size-regular);
    letter-spacing: 0.5px;
    font-style: italic;

    padding: 0 10px;
 }

/* --- Style par défaut pour les liens du menu --- */
.menu-principal .menu li a {
  color: #000; /* Noir par défaut */
  border: 0; /* Pas de bordure par défaut */
  border-bottom: 1px solid transparent; /* Bordure transparente par défaut */
  transition: color 0.3s, border-color 0.3s; /* Transition pour des effets doux */
}

/* --- Style au survol des liens du menu --- */
.menu-principal .menu li a:hover {
  border-color: black; /* Bordure noire au survol */
  color: black; /* Couleur noire au survol */

  /*border-color: transparent;
  font-weight: 600;*/
}

/* --- Style pour le lien actif (current page) --- */
.menu-principal .menu li.current-menu-item a {
  border-color: black; /* Bordure noire pour le lien actif */
  color: black; /* Couleur noire pour le lien actif */

  border-color: transparent;
  font-weight: 700;
}

/* --- Style pour le lien actif (current page) --- */
.menu-principal .menu li.current-menu-item a:hover {
  border-color: black; /* Bordure noire pour le lien actif */
  color: black; /* Couleur noire pour le lien actif */
}

/* --- Couleurs spécifiques pour les liens au survol et les liens actifs --- */

/* depuis-2013 / founded-in-2013 */
.menu-principal .menu li a[href*="depuis-2013"]:hover,
.menu-principal .menu li a[href*="founded-in-2013"]:hover,
.menu-principal .menu li.current-menu-item a[href*="depuis-2013"],
.menu-principal .menu li.current-menu-item a[href*="founded-in-2013"] {
  border-color: #0800fd; /* Bordure spécifique */
  color: #0800fd; /* Couleur spécifique */
}

/* les-regles-de-lart / corporate-ethics */
.menu-principal .menu li a[href*="les-regles-de-lart"]:hover,
.menu-principal .menu li a[href*="corporate-ethics"]:hover,
.menu-principal .menu li.current-menu-item a[href*="les-regles-de-lart"],
.menu-principal .menu li.current-menu-item a[href*="corporate-ethics"] {
  border-color: #00ba2e; /* Bordure spécifique */
  color: #00ba2e; /* Couleur spécifique */
}

/* les-prestations / services */
.menu-principal .menu li a[href*="les-prestations"]:hover,
.menu-principal .menu li a[href*="services"]:hover,
.menu-principal .menu li.current-menu-item a[href*="les-prestations"],
.menu-principal .menu li.current-menu-item a[href*="services"] {
  border-color: #ac97c7; /* Bordure spécifique */
  color: #ac97c7; /* Couleur spécifique */
}

/* contact */
.menu-principal .menu li a[href*="contact"]:hover,
.menu-principal .menu li.current-menu-item a[href*="contact"] {
  /*border-color: #d31f28; /* Bordure spécifique */
  /*color: #d31f28; /* Couleur spécifique */
}

/* --- Ajustement des langues si nécessaire --- */
.menu-principal .lang-item .menu li a, .menu-principal .lang-item .menu li a:hover {
  color: #000; /* Noir par défaut */
  border-color: transparent; /* Pas de bordure par défaut */
}

.menu-principal .lang-item .menu li a:hover {
  font-weight: bold
}

/* traduction polylang menu */
.menu-principal .lang-item {
  position: relative;
  margin: 0 -3px;
}

.menu-principal .lang-item-fr::after {
  position: absolute;
  top: -1px;
  right: -12px;
  content: "-";
}

/* --- Style pour le lien de langue actif (current page) --- */
.menu-principal .lang-item .menu li.current-menu-item a {
  font-weight: bold; /* Texte en gras pour le lien actif de langue */
  border-color: transparent; /* Pas de bordure pour le lien actif de langue */
}

/* ---------- Menu ---------- */
/* ----- Button 01 : Avant ----- */
#menu-button {
    position: absolute;
    right: 30px;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;
}
#menu-button::before {
    content: 'menu';
}
/* ----- Button 01 : Apres ----- */
#menu-button.change {
    padding: 10px;
}
#menu-button.change::before {
    content: 'close';
}


 /* ----- Menu : Bloc Slide Content : Avant ----- */
 #menu-slidecontent {
   background: var(--couleur-background);
   border-left: var(--size-bordergrid) solid var(--couleur-strong);

    top: 0;
    right: -50%;
    position: fixed;
    width: 50%;
    height: 100%;
    transition: all 1s ease-in-out 0s;
    padding: 10px;
    z-index: 10;
    overflow-x: scroll;
  }
  
 /* ----- Menu : Bloc Slide Content : Apres ----- */
#menu-slidecontent.change {
    top: 0;
    right: 0%;
    transition: all 0.4s ease-in-out 0s;
    position: fixed;
  }

.brut-v1a-menuslide {
    padding: 100px 30px 30px;
}
 /* BUTTON 3 : Avant */
 /* overlay */
 #bigoverlay {
   position: fixed;
   top: 0;
   bottom: 0;
   right: 0; 
   left: 0;
   display: none;
   background: #ddd;
   z-index: 9;
   opacity: 0.2;
 }
 #bigoverlay.actif {
   position: fixed;
   top: 0;
   bottom: -40px;
   right: 0; 
   left: 0;
   display: block;
   background: #ddd;
 }

 .brut-v1a-menuslide li {
     list-style: none;
     /*font-size: 28px;*/
    }
  .brut-v1a-menuslide a {
        color: var(--couleur-strong);
        text-decoration: none;
    }
  .brut-v1a-menuslide a:hover {
        text-decoration: underline;
    }

@media (max-width: 800px) {
  #menu-slidecontent {
     right: -90%;
     width: 90%;
   }
} 



/* menu simple brut v1b */
.brut-v1a-header .menu {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
}
.brut-v1a-header .menu ul {
  list-style-type: none; /* Supprime les puces */
  padding: 0;
  margin: 0;
}

.brut-v1a-header .menu li {
  display: inline-block; /* Affiche les éléments sur une seule ligne */
  margin-right: 20px; /* Marge entre les éléments */
}

.brut-v1a-header .menu a {
  text-decoration: none; /* Supprime le soulignement des liens */
  /* font-size: 20px;  Taille de la police */

  /** color: var(--couleur-strong); supprimé car géré plus haut !!? */
}

.brut-v1a-header .menu a:hover {
  color: var(--couleur-light);
  /* Couleur du texte au survol */
}



/* accueil -- container slider  */
.container-slidergh {
    display: flex;
    align-items: center;
    justify-content:center;
    /*height:80vh;*/
}


.container-slidergh .slidergh {
    height: 100%;
    width: 100%;
    
   background: var(--couleur-background);

    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
  }

.container-slidergh .slidergh img {
   max-height:100%;
}

.container-slidergh .slidergh .content {
    position:absolute;
    top:0;
    right:0;
    left:0;
    bottom:0;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;


    border-bottom: var(--size-bordergrid) solid var(--couleur-border);
  }

  .container-slidergh .slidergh:first-child .content {
    border-right: var(--size-bordergrid) solid var(--couleur-border);
  }

 

    
/* media */ @media (max-width: 800px) {
        .o-page-intro-titre h2 {
        font-size: 1.6em; 
        }
    
	} 
    
    .wp-block-media-text .wp-block-media-text__media {
        border: 0px solid black;
        margin: 0 14px;
    }
    







/* ----------- new menu mobile 2024 ----------- */

/* container : logo */
.menu-mobile {
  display: none;
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  right: 0;

  height: var(--menu_hauteur);

  border: 4px solid black;
  border: var(--border_grosseur) solid black;
  background: #ffffff;
}
.mini-logo-menu {
  /* maintenant dans menu_brut-v1 */
}

/* mobile : display if: max-width 767px */
@media (max-width: 767px) {
  .menu-mobile {
      display: flex;
      align-items: center;
  }
}


.super-black-cool-menu {
  display:none;
  /* was here 
  * remplacé par menu_brut-v1 
  * novembre 2024 
  */
}

/* ----------- menu shop woocommerce ---------- */
/* reste du css pour woo dans le style-woo.css 
note if amelioration: reduire le code des menu et essayer de les regrouper ? 
un code devrait pouvoir gerer tous les menu qui sont en titre et ce qui les englobes pourrait gerer leurs positions */


.ici_le_menu_shop_cb {
  position: relative;
  /*border: 1px solid black;*/
  max-width: 900px;
  margin: 0 auto;
  padding: 10px;
} 

.ici_le_menu_shop_cb {
  /*border: 2px solid rgb(139, 77, 77);*/
  font-family: 'Termina', Arial, sans-serif;
  width: 70%;

  font-size: 12px;
  text-transform: uppercase;

  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;

  height: 100px;
}

.ici_le_menu_shop_cb h2 {
  /* border: 1px solid grey; */
  font-family: var(--font-bigextra);
  font-weight: 500;
  font-size: 34px;
  text-transform: uppercase;
  line-height: 22px;
  color: #000;
  text-align: left;
  padding: 0 20px;
}


/* menu simple brut v1b */
.ici_le_menu_shop_cb .menu {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
}
.ici_le_menu_shop_cb .menu ul {
  list-style-type: none; /* Supprime les puces */
  padding: 0;
  margin: 0;
}

.ici_le_menu_shop_cb .menu li {
  display: inline-block; /* Affiche les éléments sur une seule ligne */
  margin-right: 20px; /* Marge entre les éléments */
}

.ici_le_menu_shop_cb .menu a {
  text-decoration: none; /* Supprime le soulignement des liens */
  /* font-size: 20px;  Taille de la police */

  /** color: var(--couleur-strong); supprimé car géré plus haut !!? */
}

.ici_le_menu_shop_cb .menu a:hover {
  color: var(--couleur-light);
  /* Couleur du texte au survol */
}


/* --- Style par défaut pour les liens du menu --- */
.ici_le_menu_shop_cb .menu li a {
  color: #000; /* Noir par défaut */
  border: 0; /* Pas de bordure par défaut */
  border-bottom: 1px solid transparent; /* Bordure transparente par défaut */
  transition: color 0.3s, border-color 0.3s; /* Transition pour des effets doux */
}

/* --- Style au survol des liens du menu --- */
.ici_le_menu_shop_cb .menu li a:hover {
  border-color: black; /* Bordure noire au survol */
  color: black; /* Couleur noire au survol */
}

/* --- Style pour le lien actif (current page) --- */
.ici_le_menu_shop_cb .menu li.current-menu-item a {
  border-color: black; /* Bordure noire pour le lien actif */
  color: black; /* Couleur noire pour le lien actif */
}


/* le panier */
.ici_le_panier {
  font-family: 'Termina', Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;

  padding: 10px 0;
}

.ici_le_panier_img {
  font-family: var(--font-bigextra);
  font-weight: 500;
  font-size: 32px;

  text-transform: uppercase;
  padding: 10px 0;
  position: relative;
  display: inline-block;

  z-index: 1234;
}

.ici_le_panier_img img {
  width: 60px; /* La largeur initiale du sac */
  transition: transform 0.3s ease;
}

.cart-count {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #333;
  font-weight: bold;
  pointer-events: none;
  font-family: var(--font-bigextra);
    font-weight: 500;
}


@media screen and (max-width: 768px) {

  .ici_le_menu_shop_cb {
    width: 100%;
    font-size: 12px;
    text-transform: uppercase;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100px;
  }

  .ici_le_menu_shop_cb .menu li {
    margin-right: 10px;
  }

  /*.ici_le_menu_shop_cb a {
    display: block;
    width: 83px;
  }*/

  .ici_le_menu_shop_cb h2 {
    font-size: 27px;
    line-height: 22px;
    width: 73px;
    padding: 0;
  }
}

/* -------- if english, si francais -------- */
/* in-english in-french dans header code */


/* -------------------- /fin menu stuff -------------------- */







/*.wp-block-image {margin-bottom:0}*/



/* ------------------------------------------------------------- */     
/* ---- VIDEOS RESPONSIVE RATIO ---- */
    /* video centré et grande dans texte content */
    /* preciser d'entourer la balise video d'une div class="embed-container" */
    .embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } 
    .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* ---- edit options (28 mars 2022) ---- */       
.qr_editlink a {
    width: 100%;
    display: flex;
    padding: 4px;
    position: absolute;
    bottom: 5px;
    right: 5px;
    border: 2px solid black;
    border-radius: 10px;
    max-width: 170px;
    align-items: center;
    justify-content: center;
}

/* edit button 2022 */
.edit-button-administrator-yellow-absolute-corner a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: 1001;
  background-color: rgb(255, 234, 48);
  text-align: center;
  line-height: 40px;
  opacity: 0.1;
  transition: all 0.4s ease;
  text-decoration: none;
  padding: 10px 10px 12px;
}
.edit-button-administrator-yellow-absolute-corner a:hover {
  opacity: 0.95;
  transition: all 0.4s ease;
}


/* 2024: edit button brut v1.2 */
.edit-button-administrator-brut-corner a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 86px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: 101;
  background-color: #fff;
  border: 4px solid black;
  color: #000;
  font-size: 24px;
  padding-bottom: 1px;
  font-weight: 900;
  opacity: 0.8;
  transition: all 0.4s ease;
  text-decoration: none;
  opacity: 0.01;
}

.edit-button-administrator-brut-corner a:hover {
  opacity: 0.8;
  transition: all 0.4s ease;
  background-color: #000;
  color: #fff;
}





/* ----------- accueil- slider- slick slider ----------- */
.accueil_container-slider {
  display: flex;
  align-items: center;
  justify-content: center;
  /*height: calc(100vh - var(--size-hauteurheader) - var(--size-hauteurheader) - var(--size-hauteurheader) - var(--size-hauteurheader));*/
  height: auto;
  background: #ddd;

  flex-direction: column;
    flex-wrap: wrap;
}

.slider {
  /*width: 50%;*/
  width: 100%;
  height: 100%;
  
  background: var(--couleur-background);
  overflow: hidden;

  padding: 20px 20px 0; 
  /*background: pink;*/
}

/*.slider:first-child {
    border-right: var(--size-bordergrid) solid var(--couleur-border);
}*/

.slick-list {
  height: 100%;
}

.slick-track {
  height: 100%;
}
.slick-slide {
  height: auto;
}

.slide {
  height: 100%;
  /*overflow: visible;*/
  overflow: hidden;
   
  display: flex; 
  align-items: center; 
  justify-content: center; 

  /*padding: 10px; 
  background: grey;*/
}
  
.slide_inslide {
  height: 100%;
   
  display: flex; 
  align-items: center; 
  justify-content: center; 

  background: var(--couleur-background);

  /*background-image: url(http://placekitten.com/800/600); 
  background-size: cover;
   aspect-ratio: 8 / 7;*/
}
  
.accueil_container-noslider-slide_inslide {
  position: relative;
  display: flex;
  width: 100%; 

  display: flex; 
  align-items: center; 
  justify-content: center; 
  aspect-ratio: 1 / 1;
  min-height: 270px;

  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-color: #ddd;
}


.slide_thumbnail {
  padding: 10px; 
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
 
/*if link*/
.slide_thumbnail a {
  display: block;
  height: 100%;
}

  
 .slide img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  
  /*.nonavigation {border: 1px solid yellow}*/
  .nonavigation .slick-prev,
  .nonavigation .slick-next {
    display: none !important;
  }
  
  .slick-prev,
  .slick-next {
    /*display: none !important;*/
    position: absolute;
    top: 0;
    padding: 10px;
    background: transparent;
    text-transform: uppercase;
    cursor: pointer;
    
     display: flex; 
     align-items: center; 
     justify-content: center; 
    z-index: 100;
    
  }
  .slick-prev {
    left: -0px;
    width: 20%;
    height: 100%;
  }
  .slick-next {
    right: -0px;
    width: 80%;
    height: 100%;
  }
  
  *:focus {
    outline: none;
  }

/* responsive: on computer */
@media only screen and (min-width: 800px) {
  .accueil_container-slider {
    display: none;
  }
}

/* ----------- /accueil- slider -slick slider ----------- */



/* ----------- accueil- slider -noslider ----------- */
.accueil_container-noslider {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    padding: 30px 10% 0px;
}

.accueil_container-noslider-bloc {
    position: relative;
    display: flex;
    width: 50%; 
    flex-direction: row;
    flex-wrap: wrap;
    aspect-ratio: 1 / 1;

    padding: 10px;
}

.accueil_container-noslider-picture {
    position: relative;
    display: flex;
    width: 50%; 
    aspect-ratio: 1 / 1;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color: #ddd;
}

a.lien_accueil_container-noslider-picture {
    color: transparent;
    height: 100%;
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

a:hover.lien_accueil_container-noslider-picture {
  color: black;
  height: 100%;
  width: 100%;
  background-color: #cacab5b3;
}

/* responsive: on mobile */
@media only screen and (max-width: 800px) {
  .accueil_container-noslider {
    display: none;
  }
}


/* ----------- /accueil- container big link ----------- */
.accueil_container-afterlink {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  padding: 10px calc(10% + 15px);
  font-weight: 400;
  font-size: var(--size-regular);
  letter-spacing: 0.5px;
  font-style: italic;
}


.accueil_container-size_gauche {
  width: 30%;
  text-align: left;
}

.accueil_icon_tour-eiffel {
  width: 22px;
}

.accueil_container-size_droite {
  width: 30%;
  text-align: right;
}


/* ----------- footer ----------- */


.footer {
  background: var(--background-footer);
  width: 100%;

  /* padding: 10px; */
  /* border: 1px solid rgb(139, 77, 77); */

  font-family: var(--font-footer);
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap; /* retour à la ligne si besoin */
  flex-direction: row;
  /*justify-content: center;*/
  justify-content: space-evenly;
}

.footer img {
  max-width: 100px
}

.footer-colonne {
  /*border: 1px solid #ddd;*/
  /*flex: 1;*/
  margin: 10px;
  padding: 10px;

  display: flex;
  align-items: center;
}

.footer-colonne ul {
  list-style-type: none; 
  padding: 0; 
}

.footer-colonne li {
  display: inline; 
}

.footer-colonne a {
  position: relative;
  display: inline-block;
  padding: 0 10px;
}

.footer-monogramme {
  position: relative
}

.footer-monogramme img {
  width: 70px;
}

.footer-reseaux {
  position: relative
}

.footer-reseaux img {
  width: 26px;
}





/* Pour mobile, passer en affichage en colonne */
/* some Mobile are on : max-width 767px */

@media screen and (max-width: 850px) {
  .footer {
      flex-direction: column;
      align-items: center;
  }

  .footer-colonne {
    /*border: 1px solid #26244c;*/
    margin: 10px;
    padding: 10px;

    flex-wrap: wrap;
    justify-content: center;
  }

  /* newsletter */
  .footer-newsletter {
    display: none;
  }

  .footer-colonne a {
    padding: 10px 10px;
  }

  .footer-monogramme {
    padding: 10px 20px;
  }
}




/* ------------------------------------------------------------- */     
/* ----------- /page- style ----------- */
.page_container-full {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: row;
  width: 100%;
  /*min-height: calc(70vh - 50px);*/
  background-color: var(--couleur-background);

  padding: 20px 20px 20px;
  margin: 0 auto 0;
  margin-top: calc(var(--menu_hauteur) - var(--border_grosseur));
  border: var(--border_grosseur) solid black;
}

/* spacer ? */
.page_container-full_spacer {
  width: 100%;
  margin-top: calc(var(--menu_hauteur) - 0px);
  border: 0;
}

/* titre principal */
.page_container-full .titre_principal-v1{
  border: var(--border_grosseur) solid black;
  padding: 20px 20px;
  width: 50%;
}

/* content principal */
.page_container-full .content {
  position: relative;
  width: 100%;
  /*max-width: 600px;*/
  border: var(--border_grosseur) solid black;
  margin-left: calc(0px - var(--border_grosseur));
  font-size: 13px;
  line-height: 1.8em;
  padding: 10px 10px 10px 30%;
}

/* page new */
.page_container-full_pagenew {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  /* min-height: calc(70vh - 50px); */
  background-color: var(--couleur-background);
  padding: 20px 20px 20px;
  margin: 0 auto 0;
  border: var(--border_grosseur) solid black;
}

/* add spacer if needed */
.add-spacer-to-container {
  margin-top: calc(var(--menu_hauteur) - var(--border_grosseur));
}

/* page details */
.pagenew_titre-container {
  display: flex;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  column-gap: 20px;
}

.pagenew_colonne-titres {
    flex: 1 0 calc(50% - 10px);
    border: 1px solid #000;
    padding: 10px;
}

.mini_on-top-titre {
  border: 1px solid grey;
  font-size: 10px;
  color: grey;
  padding: 5px;
}

/* responsive: on mobile */
@media only screen and (max-width: 800px) {
    .page_container-full {
      align-items: flex-start;
      flex-direction: column;
      min-height: auto;
      padding: 20px 20px 20px;
    }

    .page_container-full .titre_principal-v1 {
      width: 100%;
      padding: 10px;
    }

    .page_container-full .content {
      width: 100%;
      border: var(--border_grosseur) solid black;
      margin-left: 0;
      margin-top: calc(0px - var(--border_grosseur));
      padding: 10px 10px 10px 10px;
    }

    .regle-width-v1a  {
      /*border: 1px solid purple; */
      padding: 40px 0px;
    }
}


/* ----- page .content wordpress classique liste ----- */

.content .has-x-large-font-size {
  padding: 0px 2px;
  /*border: 1px solid grey;*/
  /*font-family: var(--font-bigextra);*/
  font-weight: 500;
  font-size: 46px !important;
  line-height: 38px;
  color: #000;
}

.content h2 {
  padding: 4px 0 10px;
    /* border: 1px solid grey; */
    /*font-family: var(--font-bigextra);*/
    font-weight: 500;
    font-size: 30px;
    line-height: 32px;
    color: #000;
}

.content p {
  padding: 4px 0;
}

.content .wp-block-columns {
  position: relative;
  /*border: 1px solid green;*/
  padding: 10px;
}

.content .wp-block-columns.is-layout-flex {
  display: flex;
  justify-content: center; /* Centre horizontalement */
  align-items: center; /* Centre verticalement */
  flex-direction: row;
  flex-wrap: wrap !important;
}

.content .wp-block-column {
  position: relative; 
  /*border: 1px solid blue;*/
  padding: 10px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: flex-start;
}

.style_prestations-flex {
  flex-direction: row !important;
}

.style_prestations-flex:nth-of-type(1) {
  background-color: transparent;
}

.style_prestations-flex:nth-of-type(2) {
  flex-direction: row-reverse!important;
}

.style_prestations-flex:nth-of-type(3) {
  background-color: transparent;
}

.style_prestations-flex:nth-of-type(4) {
  flex-direction: row-reverse!important;
}

.style_prestations-flex:nth-of-type(5) {
  background-color: transparent;
}


/* responsive: on mobile */
@media only screen and (max-width: 800px) {


  .content .wp-block-columns.is-layout-flex {
    padding: 20px 10px 80px;
  }

  .container_image-stack-simple {
    margin-left: 10px;
}
}



/* --------------- 2024 ---------------- */
/* --------------- page par page --------------- */


.stgallery_overlay {
  position: fixed;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 100%;
  height: 100%;
  display: none;
  background-color: #ffffffc4;
  z-index: 1000 !important;
}

.stgallery_overlay .overlay-content {
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  /* transform: translate(-50%, -50%); */
  /* background-color: white; */
  padding: 20px;
}

.overlay-supertitre {
  /*border: 1px solid pink;*/
  position: fixed;
  top: 70px;
  left: 65px;
  z-index: 20;
  padding: 4px 0 10px;
    /* border: 1px solid grey; */
    font-family: var(--font-bigextra);
    font-weight: 500;
    font-size: 30px;
    line-height: 32px;
    color: #000;
}

.stgallery_overlay .overlay-content .draggableee {
  background-color: #fff;
}

.overlay-content img {
  max-width: 350px;
  max-height: 400px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}

.overlay-content p {
  border: 0px dotted red;
  top: auto !important;
  left: 0px !important;
  bottom: 0px;
  right: 0;
  width: 100%;
  text-align: left;
  padding: 2px 10px;
  font-weight: 500;
}

.stgallery_overlay .close-btn {
  position: absolute;
  top: 60px !important;
  right: 20px !important;
  left: auto !important;

  cursor: pointer;
  border-radius: 50%;
  padding: 10px;

  display: flex;
  z-index: 1000 !important;
  align-content: center;
  justify-content: center;
  align-items: center;

  background: #222;
  color: #fff;
  font-size: 24px;
  font-weight: 100;
  height: 40px;
  width: 40px;
}

/* en dessous de 850 pour image stack mobile */
@media screen and (max-width: 850px) {
  .stgallery_overlay .close-btn {
    top: auto !important;
    bottom: 20px !important;
  }

  .overlay-content img {
    max-width: 280px;
    max-height: 350px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
  }
}

.stgallery_overlay .random-div {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}


#random-divs-container {
  /*border: 1px solid red;*/
  width: 100%;
  height: 100%;
}


.stgallery_overlay .blue {
  background-color: blue;
}

.stgallery_overlay .green {
  background-color: green;
}

.stgallery_overlay .orange {
  background-color: orange;
}

.stgallery_overlay .yellow {
  background-color: yellow;
}

.stgallery_overlay .black {
  background-color: black;
}

/* 2 */
.stgallery_overlay .purple {
  background-color: purple;
}

.stgallery_overlay .pink {
  background-color: pink;
}

.stgallery_overlay .beige {
  background-color: beige;
}

/* 3 */
.stgallery_overlay .red {
  background-color: red;
}

.stgallery_overlay .cyan {
  background-color: cyan;
}

.stgallery_overlay .magenta {
  background-color: magenta;
}

.stgallery_overlay .lime {
  background-color: lime;
}

.stgallery_overlay .brown {
  background-color: brown;
}

/* ---- sac et drag flottement du sac ---- */
.sac_drag_full-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*border: 4px solid red;*/
  pointer-events: none; /* Rendre la div non cliquable */
  z-index: 9; /* S'assurer que la div est au-dessus des autres éléments */
}

/* Définir une animation nommée "flotter" */
@keyframes flotter {
  0% {
      margin-left: 0px; /* Position de départ */
      margin-top: 0px; /* Position de départ */
  }

  40% {
    margin-left: 0px; /* Position de départ */
    margin-top: 0px; /* Position de départ */
}
  50% {
      margin-left: 5px; /* Position intermédiaire */
      margin-top: 15px; /* Position intermédiaire */
  }
  60% {
    margin-left: 25px; /* Position intermédiaire */
    margin-top: 10px; /* Position intermédiaire */
}
  100% {
      margin-left: 0px; /* Retour à la position de départ */
      margin-top: 0px; /* Retour à la position de départ */
  }
}

/* Appliquer l'animation à votre div */
.flottement-du-sac {
  animation: flotter 24s infinite; /* Animation "flotter" pendant 10 secondes, en boucle */
}

.flottement-du-sac img{
  max-width: 100px;
}

.flottement-du-sac p {
  width: 50px !important;
  position: absolute;
  border: 0px dotted red;
  top: 30px !important;
  left: 30px !important;
  bottom: 30px !important;
  /* font-size: 0; */
}

/* en dessous de 850 pour image stack mobile */
@media screen and (max-width: 850px) {
  .flottement-du-sac img {
    max-width: 60px;
  }
}


.sac-version2 {
  position: fixed;
  top: 8%;
  right: 2%;
  font-size: 0;
  z-index: 10000;

  display: flex;
  justify-content: center;
  align-items: center;
}

.position-sac-one {
  top: auto;
  right: auto;
  bottom: 6%;
  left: 2%;
}

.position-sac-two {
  top: auto;
  right: 20%;
  bottom: 6%;
  left: auto;
}

.position-sac-three {
  top: auto;
  right: 7%;
  bottom: 45%;
  left: auto;
}

.position-sac-foor {
  top: 6%;
  right: auto;
  bottom: auto;
  left: 2%;
}

.sac-version2 img{
  max-width: 100px;
  display: none;
}

.sac-version2 p {
  width: 50px !important;
  position: absolute;
  border: 0px dotted red;
  top: 30px !important;
  left: 30px !important;
  bottom: 30px !important;
  font-size: 0;
}

.overlaydrag-cool {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
/*background: blue;*/
  z-index: 9999;
  pointer-events: none; /* L'overlay est non cliquable */
}

.jesuisdrag-cool {
  cursor: move;
  pointer-events: auto; /* Les divs draggables restent interactives */
  display: inline-block;
}

.sac-version2 img {
  max-width: 120px; /* Limite la taille de l'image à 120px */
  display: block;
}

.sac-version2 a {
  position: absolute;
    padding: 10px;
    top: 25%;
    left: 15%;
    width: 60%;
    height: 50%;
    /*background: rgba(255, 255, 255, 0.7);  Fond semi-transparent pour le lien */
    /*border: 1px solid red;  Bordure rouge autour du lien */
    text-align: center;
    text-decoration: none;
    color: black; /* Couleur du texte du lien */
    font-size: 14px; /* Taille du texte */
    white-space: nowrap;
    z-index: 1;
    pointer-events: none; /* Désactive les événements pointer pour le lien */
}

.jesuisdrag-cool a {
  pointer-events: auto; /* Réactive les événements pointer pour le lien à l'intérieur de la div draggable */
}



/* en dessous de 850 pour image stack mobile */
@media screen and (max-width: 850px) {
  .sac-version2 img {
    max-width: 60px;
  }
}




/* -------- new carousel 2024 --------- */
/* remplace super-drag-container dans prestations */

.new-carousel-container {
  display: flex;
    align-items: center;
    height: 100%;
    
    /*border: 4px solid red;*/
}

.slick-slide {
  position: relative; 

  /*border: 1px dotted black;
  background: grey;*/
}

.new-carousel-container p {
  border: 0!important;
  bottom: 7px;
 
  
  text-align: left;

  padding: 2px 18px;

  font-weight: 500;
  position: absolute;
  color: #fff;

  width: 80%;
  
  /*right: 0;
  left: 4px !important;*/


  /*background-color: green;*/
}

@media screen and (max-width: 850px) {
  .new-carousel-container p {
   /* background-color: green;*/
    width: 100%;
    text-align: center;
    padding: 4px 46px;
  }
}



/* overlay new aout 2024 */
body.precar24_no-scroll {
  overflow: hidden;
  /*border: 1px solid green;*/
}
.precar24_overlay {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background: rgba(255, 255, 255, 0.80);
  backdrop-filter: blur(2px);

  color: rgb(5, 5, 5);

  z-index: -1;
  padding: 0px;

  box-sizing: border-box;
  transition: opacity 0.3s ease, z-index 0.3s ease;

  /*display: flex;
  align-items: center; fait bugger le carousel */

  opacity: 0;
  /*z-index: 100000;*/
}
.precar24_overlay.active {
  opacity: 1;
  pointer-events: all;
  z-index: 100000;
}
.precar24_overlay-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  height: 100%;
    justify-content: center;
}

/*
.precar24_overlay-title {
  margin: 0;
  font-size: 1.5em;
}*/

.precar24_overlay-title {
    /* border: 1px solid pink; */
    /*position: fixed;
    top: 70px;
    left: 65px;
    z-index: 20;*/
    padding: 10px 20px;

    /* border: 1px solid grey; */
    font-family: var(--font-bigextra);
    font-weight: 500;
    font-size: 30px;
    line-height: 32px;
    color: #000;
}



.precar24_close-button {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  font-size: 0em;
  cursor: pointer;

  /* il faudrait qu'il soit 20px au dessus du carousel mais le repere c'est la page du coup complex, peut etre en positionnnat differement la div dans le html , will see  ou mettre un fond blanc sur mobile */

  background-color: #ac97c7; 
  border-radius: 50%; 
  display: flex;
  align-items: center;
  justify-content: center;

}

.precar24_close-button::before,
.precar24_close-button::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px; /* Épaisseur de la ligne */
  height: 60%; /* taille croix */
  background-color: black; 
  transform-origin: center;
}

.precar24_close-button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.precar24_close-button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}



/* fleche */
.precar24_arrow-button-right, .precar24_arrow-button-left {
  position: absolute;
  bottom: 45%;
  width: 40px;
  height: 40px;
  background-color: #ac97c7; 
  border-radius: 50%; 
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 25px;
  font-weight: 400;
}

.precar24_arrow-button-right {
  right: 20px;
}

.precar24_arrow-button-left {
  left: 20px;
}


/* carousel de prestation */
.new-carousel-container {
  width: 100%;
  margin: 0 auto;

  max-height: 500px;
}

.new-carousel-container .slick-slide img {
  margin: auto;
  height: 100%;
  /* max-height: 400px; */

  padding: 10px;
}

.new-carousel-container .slick-center img {
  /*transform: scale(1.2);*/
  border: 0px solid blue;
}

/* buttons */
.new-carousel-container .slick-prev, .new-carousel-container .slick-next {
  border: 0px solid red;
  color: #ffffff00;
}

/* -- loader stack -- */

.container-du-stack {
  display: flex;
  justify-content: center;
  align-items: center;
  /* border: 2px dotted black; */
  /* height: 90vh; */
  /* width: 100%; */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  background: #fff;
  /* opacity: 0.8; */
  pointer-events: none;
}

.logo_before-stack {
  /*border: 1px solid red;*/
  position: absolute; 
  max-width: 300px;
  animation: fadeOutokok 0.1s ease 5s forwards; /* Animation pour faire disparaître l'élément */
}

@keyframes fadeOutokok {
  to {
    opacity: 0; /* L'opacité atteint 0 à la fin de l'animation */
  }
}

.image-stack {
  position: relative;

  width: 260px; /* Adjust width according to your preference */
  height: 260px; /* Adjust height according to your preference */

  width: 100%;
  height: 100%;

  /*border: 1px solid red;*/

}

.image-stack img {

  max-width: 350px;
  max-height: 350px;

  max-width: 20vw;
}

.image-stack img.img-horizont {

  max-width: 350px;
  max-height: 350px;

  max-width: 26vw;
}


.image-stack img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.5s ease;
  
  box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
}



.image-stack img:nth-child(1) {
  z-index: 1;
  /*animation: fadeIncool 1s forwards 0.5s;*/
  margin-left: 1px;
    margin-top: -4px;
}

.image-stack img:nth-child(2) {
  z-index: 2;
  /*animation: fadeIncool 1s forwards 1.5s;*/
  margin-left: -6px;
    margin-top: 4px;
}

.image-stack img:nth-child(3) {
  z-index: 3;
  /*animation: fadeIncool 1s forwards 2.5s;*/
  margin-left: 7px;
  margin-top: -6px;
}

.image-stack img:nth-child(4) {
  z-index: 4;
  /*animation: fadeIncool 1s forwards 3.5s;*/
  margin-left: -3px;
  margin-top: 1px;
}

.image-stack img:nth-child(5) {
  z-index: 5;
  /*animation: fadeIncool 1s forwards 4.5s;*/
  margin-left: -2px;
  margin-top: 10px;
}

.image-stack img:nth-child(6) {
  z-index: 6; 
  /*animation: fadeIncool 1s forwards 4.5s;*/
  margin-left: 1px;
    margin-top: -4px;
}

.image-stack img:nth-child(7) {
  z-index: 7; 
  /*animation: fadeIncool 1s forwards 4.5s;*/
  margin-left: -6px;
    margin-top: 4px;
}

.image-stack img:nth-child(8) {
  z-index: 8; 
  /*animation: fadeIncool 1s forwards 4.5s;*/
  margin-left: 7px;
  margin-top: -6px;
}

.image-stack img:nth-child(9) {
  z-index: 9; 
  /*animation: fadeIncool 1s forwards 4.5s;*/
  margin-left: -3px;
  margin-top: 1px;
}

.image-stack img:nth-child(10) {
  z-index: 10; 
  /*animation: fadeIncool 1s forwards 4.5s;*/
  margin-left: -2px;
  margin-top: 10px;
}

@keyframes fadeIncool {
  to {
    opacity: 1;
  }
}


/* en dessous de 850 pour image stack mobile */
@media screen and (max-width: 850px) {
  .image-stack {
    border: 0px solid orange ;
  }

  .image-stack img {

  
    max-width: 40vw;
  }
  
  .image-stack img.img-horizont {
    max-width: 52vw;
  }
}




/* ----- la phrase : version ordi ----- */
.laphrase {
  display: inline;
  margin: 0; 
  
  font-size: 40px;
  font-size: 4.7vw;
  font-weight: 500;
  
  line-height: 100px;
  line-height: 8vw; 
}

.laphrase p {
  display: inline-block;
  position: relative;
  /*border: 1px solid green;*/
}

.laphrase img {
  display: inline;
  max-width: 200px;
  max-width: 13vw;
  vertical-align: bottom;
  /*border: 1px solid #ddd;*/
  padding: 2px;
  margin: -25px 10px -25px 10px;
}

.laphrase .img-hori img {
  max-width: 21vw;
  /*margin: -25px 10px -25px 10px;*/
}

.laphrase .specialeimg img {
  /*border: 1px solid red; */
  margin: -105px 5px -25px 5px;
  vertical-align: baseline;
}

.laphrase .spacerrr {
  background: black;
  /* width: 20vw;  la taille se UNIQUEMENT fait avec le text */
  position: relative;
  display: inline;
  opacity: 0;
}

.laphrase .lap-info {
  /*border: 1px solid red; */
    position: absolute;
    display: flex;
    left: 0;
    right: 0;
    top: -40px;
    /* bottom: -50px; */
    font-size: 0.5em;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    align-items: flex-start;
    justify-content: center;
}

.laphrase .specialeimg .lap-info {
  top: -110px;
  align-items: flex-start;
}

/* Initialement, cacher les span */
.laphrase a span.lap-info {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

/* Afficher les span au survol du lien */
.laphrase a:hover span.lap-info {
  opacity: 1;
}


/* en dessus de 850 */
@media screen and (max-width: 850px) {
  .laphrase {
    display: none;
  }
}

/* au dessus de 850 */
@media screen and (min-width: 850px) {
  .laphrasemobile {
    display: none;
  }
}
/* en dessous de 850 */
@media screen and (max-width: 850px) {
  .laphrasemobile {
    display: inline;
  }
}

/* -- la phrase -- */
.laphrasemobile {
  margin: 0; 
  
  font-size: 40px;
  font-size: 4.7vw;
  font-weight: 500;
  
  line-height: 100px;
  line-height: 8vw; 

  /*border: 1px solid red;*/
  font-size: 10.0vw;
  font-size: 9.6vw;
  line-height: 14.2vw;
}

.laphrasemobile p {
  /*display: inline-block;*/
  display: inline;
  position: relative;
  /*border: 1px solid green;*/
}

.laphrasemobile img {
  display: inline;
  max-width: 200px;
  max-width: 13vw;
  vertical-align: bottom;
  /*border: 1px solid #ddd;*/
  padding: 2px;
  margin: -25px 10px -25px 10px;

  max-width: 23vw;

    vertical-align: bottom;
    padding: 2px;
    margin: -25px 10px -25px 10px;
}

.laphrasemobile .img-hori img {
  max-width: 21vw;
  /*margin: -25px 10px -25px 10px;*/

  max-width: 27vw;
  margin: -25px 0px -4px 0px;
}

.laphrasemobile .specialeimg img {
  /*border: 1px solid red; */
  margin: -105px 5px -15px 5px;
  vertical-align: baseline;
}

.laphrasemobile .spacerrr {
  background: black;
  /* width: 20vw;  la taille se UNIQUEMENT fait avec le text */
  position: relative;
  display: inline;
  opacity: 0;
}

.laphrasemobile .lap-info {
  /*border: 1px solid red; */
    position: absolute;
    display: flex;
    left: 0;
    right: 0;
    top: -40px;
    /* bottom: -50px; */
    font-size: 0.5em;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    align-items: flex-start;
    justify-content: center;

    display: none;
}

.laphrasemobile .specialeimg .lap-info {
  top: -40px;
  align-items: flex-start;
}


/* -- essaie deux -- */

.the_phrase {
  display: block;
  margin: 0; 
  
  font-size: 40px;
  font-size: 4.7vw;
  font-weight: 500;
  
  line-height: 100px;
  line-height: 8vw; 

  border: 1px solid blue;

}

.the_phrase .partphra {
  display: inline;
  position: relative;
  border: 1px solid green;
}

.the_phrase .partimg {
  position: relative;
  display: inline-block;
}

.the_phrase .partimg img {
  display: inline;
  max-width: 200px;
  max-width: 13vw;
  vertical-align: bottom;
  border: 1px solid #ddd;
  padding: 2px;
  margin: -25px 10px -25px 10px;
}

.the_phrase .partimg .img-hori img {
  max-width: 21vw;
  /*margin: -25px 10px -25px 10px;*/
}

.the_phrase .partimg .specialeimg img {
  /*border: 1px solid red; */
  margin: -105px 5px -25px 5px;
  vertical-align: baseline;
}

.the_phrase .spacerrr {
  background: black;
  /* width: 20vw;  la taille se UNIQUEMENT fait avec le text */
  position: relative;
  display: inline;
  opacity: 0.4;
}

.the_phrase .partimg .lap-info {
  border: 1px solid red;
  position: absolute;
  left: -5px;
  right: 0;
  top: 30px;
  font-size: 0.6em;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
}



/* spacer end home */
.spacer-end-home {
  height: 100px;
  background-color: var(--couleur-background);
}

/* en dessous de 850 pour image stack mobile */
@media screen and (max-width: 850px) {
  .spacer-end-home {
    height: 19px;
  }
}




/* -------- page depuis 2013 -------- */
.cbl_client_full-v1a {
  /*border: 1px solid black;*/
  background-color: var(--couleur-background);
  font-family: var(--font-bigextra); /* span */
  font-size: 42px;
  line-height: 38px;
}

.cbl_client_full-v1a p {
  border: 0px solid black;

  width: 100%;
  overflow: hidden; /* no saut de ligne */
  white-space: nowrap; /* no saut de ligne */

  transform: skewX(10deg); /* Incline le texte */
}

.cbl_client_full-v1a p:nth-child(odd) { /* impaire */
  border-color: red; 
  transform: skewX(-15deg); /* Incline le texte à droite */

}

.cbl_client_full-v1a p:nth-child(even) { /* paire */
  border-color: blue; 
  transform: skewX(10deg); /* Incline le texte */
}





/* ---------- defillement ---------- */
.cont-defillement{
  width: 100%;
  overflow: hidden;
  /*border: 2px solid red;*/
  /*margin:10px;*/
}

.scorri{
  position: relative;
  display: flex;
  width: 100%;
  justify-content: space-between;

  /*border-top: 2px solid blue;*/
}

.scorri ul{
  padding: 0;
}

.scorri li{
  width: fit-content;
  display: inline-block;
  list-style: none;
  padding-right: 10px;
  
  /*font-size: 20px;*/

  /* border-top: 2px solid grey; */

    border: 0px solid black;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    transform: skewX(10deg);

    margin-bottom: -5px;
}

.tithome-invert li {
  transform: skewX(-10deg);
}

.tithome{
  animation-name: marqueecool;
  animation-duration: 45s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  flex-shrink: 0;

  /*border-top: 2px solid green;*/
}

.tithome-invert{
  animation-name: marqueecoolinvert;
  animation-duration: 45s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  flex-shrink: 0;

  /*border-top: 2px solid orange;*/
}

@keyframes marqueecool {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

@keyframes marqueecoolinvert {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}







/* --- les regles de l'art --- */
/* voir dans optionnels pour la largeur de width*/





/* --- optionnels --- */
/* full largeur */
.full-width-v1a {
  position: relative;
}

.full-width-v1a .content {
  /*border: 1px solid orange; */
  max-width: 100%;
}

.regle-width-v1a .content {
  /*border: 1px solid purple; */
  max-width: 80%;
}



/* --------------- 2023 ---------------- */



.page_categorie_full {
  padding: 40px 5%;
  max-width: 1200px;
  margin: 0 auto;
}

.page_container-flexiblocs {
  padding: 10px; 
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.page_content_bloc_produit-full  {
  padding: 10px;
  width: 33.33%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page_content_bloc_produit-full h3 {
  font-weight: 400;
  font-size: var(--size-regular);
  padding: 10px 0;
}

.page_content_bloc_produit-full img {
  object-fit: cover; 
  aspect-ratio: 1 / 1;
}

/* responsive: on mobile */
@media only screen and (max-width: 800px) {
  .page_content_bloc_produit-full {
    width: 100%;
  }
}

.category_cover {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center right;
  aspect-ratio: 3 / 1;
  margin: 30px 0;
}

/* ----------- /page- produit ----------- */
.page_s_prod_full {
  display: flex;
}

.page_s_prod_colonne {
  width: 50%;
  padding: 30px;
}

.page_content_sticky {
  position: sticky;
  top: 0;
}

.page_content_general {
  display: block;
}

.page_content_general h2 {
  font-weight: 500;
  font-size: var(--size-big);
  padding: 10px 0;
}

.page_content_general .prix {
  font-weight: 400;
  font-size: var(--size-big);
  padding: 5px 0 10px;
}


.page_content_general p {
  font-weight: 400;
  font-size: var(--size-regular);
  padding: 10px 0;
}

.page_content_general sub {    
  font-size: 0.6em;
  vertical-align: baseline;
}   

.the_content {
  padding: 10px;
}

/* responsive: on mobile */
@media only screen and (max-width: 800px) {
  .page_container {
     padding: 0px; 
    margin: 10px auto; 
}

.page_content_general {
  padding: 10px 30px;
}

  .page_s_prod_full {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
  .page_s_prod_colonne {
    width: 100%;
  }

  .colonne_images {
    padding: 0px;
  }

}

/* ----------- page produit: button ----------- */
.button_vers_email {
  padding: 20px 0;
}

.button_vers_email a {
  display: block;  
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  border-radius: 11px;
  
  padding: 11px 30px 10px;
  background-color: transparent;
  border: 1px solid #000;
  color: #000;
}

.button_vers_email a:hover {
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  background-color: #fff;  
  border: 1px solid #444;
  color: #222;
}

/* ----------- /page- termsetconditions ----------- */

.page_content-termsetconditions {
  padding: 10px 40px;

    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
    align-items: start;
    align-items: stretch;

    max-width: 1000px;
}

.page_content-termsetconditions {
  color: var(--couleur-strong);
}

.page_content-termsetconditions h2 {
  font-size: 1.3em;
  padding: 0 0 25px; 
  color: var(--couleur-strong);
  text-transform: uppercase;
}

.page_content-termsetconditions p {
  padding: 0 0 25px; 
  font-size: 0.86em;
}

.page_content-termsetconditions li {
  list-style: none;
  font-size: 0.86em;
  padding-bottom: 5px;
}

.page_content-termsetconditions ul {
  padding-bottom: 25px;
}

/* mobile */
@media only screen and (max-width: 900px) {
  .page_content-termsetconditions {
    display: flex;
  }
}


.wp-block-group:first-child {
  border-right: var(--size-bordergrid) solid var(--couleur-border);
  padding: 10px;
}

.wp-block-group {
  padding: 10px;
}


/* ----------- /page- contact formulaire ----------- */

.formbox {
  padding: 30px;
  margin: 40px 20px;
  background: #fbfbfb;
}
 


/* les emails et text du form */
input[type=text], input[type=email], input[type=tel], input[type=adresse], textarea[type=message], input[type=reference] {
  border: 1px solid #000;
  margin: 10px 0;
  padding: 10px 20px;
  width: 100%;
  color: #000;
  font-size: 16px;
  /*text-align: center;*/
  border-radius: 20px;
}

/* ::placeholder */
input[type=text]::placeholder, input[type=email]::placeholder, input[type=tel]::placeholder, input[type=adresse]::placeholder, textarea[type=message]::placeholder, input[type=reference]::placeholder {                    
  color: #000;
  opacity: 0.8;
}

/* :focus::placeholder */
input[type=text]:focus::placeholder, input[type=email]:focus::placeholder, input[type=tel]:focus::placeholder, input[type=adresse]:focus::placeholder, textarea[type=message]:focus::placeholder, input[type=reference]:focus::placeholder {                    
  color: #000;
  opacity: 0.4;
}

.form-recaptcha {
  margin: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
}

/* bouton envoyer */
 .buttonconcon {
  margin: 15px 0;
  width: 100%;
  padding: 10px 45px 10px 30px;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  transition: 0.4s;
  text-transform: uppercase;
  background-image: url(img/fleche050pt.svg);
  background-size: 20px 10px;
  background-repeat: no-repeat;
  background-position: right 15px bottom 50%;
  display: inline-block;
}
              
.buttonconcon:hover {
  background-color: #000; 
  color: #fff; 
  border: 1px solid #000;  
  padding: 10px 37.5px 10px 37.5px;
  cursor:pointer;
  transition:0.4s;
}

.message-envoyer {
  padding: 20px;
  background: #000;
  color: #fff;
  margin: 0 0 20px;
  font-size: 1.2em;
}

.buttonblablabla {
  border: 1px solid black;
  border-radius: 20px;
  padding: 5px 10px;
}

/* -------------------- new 2023 ------------------- */

/* -------------------- menu 2023 ------------------- */

.v1-menu-un, .v1-menu-deux, .v1-menu-trois, .v1-menu-quatre {
  /* text-transform: uppercase; */
  font-size: 14px;
  font-weight: 400;
}

.v1-menu-un {
  position: fixed;
  top: 0;
  left: 0;
  max-width: 256px;
  padding: 10px;
  z-index: 1001;
}
.v1-menu-deux {
  position: fixed;position: fixed;
  top: 73px;
  right: -69px;
  padding: 10px;
  z-index: 1001;
  transform: rotate(90deg);
}
.v1-menu-trois {
  position: fixed;
  bottom: 57px;
  left: -50px;
  padding: 10px;
  z-index: 1001;
  transform: rotate(270deg);
}
.v1-menu-quatre {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 10px;
  z-index: 1001;
}


/* -------------------- home 2023 ------------------- */

.home-avantcode {
  position: relative;
  display: flex;
  margin: 10px auto;
  flex-direction: column;
  flex-wrap: wrap;
  min-height: 100vh;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.liste-home-products {
  position: relative;
  display: flex;
  margin: 10px auto;
  flex-direction: row;
    flex-wrap: wrap;
    min-height: 100vh;
}

.bloc-home-product {
  border: 1px solid var(--couleur-border-clair); 
  border-left: 0px solid var(--couleur-background); 
  border-top: 0px solid var(--couleur-border-clair);
  width: 25%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-direction: column;
}

/* Les quatre premières divs ont une ligne haute */
.liste-home-products .bloc-home-product:nth-child(-n+4) {
  border-top: 0px solid var(--couleur-border-clair); 
}

/* La quatrième div à pas de bordure à droite */
.liste-home-products .bloc-home-product:nth-child(4n+4) {
  border-right: 0px solid var(--couleur-background); 
}

@media screen and (max-width: 900px) {
  .bloc-home-product {
    width: 100%;
  }
}

.corner-top::before, .corner-top::after, .corner-bottom::before, .corner-bottom::after {
  content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: var(--couleur-background); 
}

.corner-top::before {
  top: -1px;
  left: -1px;
}

.corner-top::after {
  top: -1px;
  right: -1px;
}

.corner-bottom::before {
  bottom: -1px;
  left: -1px;
}

.corner-bottom::after {
  bottom: -1px;
  right: -1px;
}



/* ------------ section cover ------------ */
#cover-section {
  position: relative;
  height: 100vh; /* Ajustez selon vos besoins */
  overflow: hidden;
}

.cover-image {
  background-size: cover;
  background-position: center;
  height: 100%;
}

.cover-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff; /* Couleur du texte */
}


/* ------------ ssection pages enfants ------------ s*/
#child-pages {
  margin-top: 20px; /* Ajustez selon vos besoins */
}

.child-page {
  margin-bottom: 20px; /* Ajustez selon vos besoins */
}

.thumbnail {
  max-width: 100px; /* Ajustez selon vos besoins */
  margin-bottom: 10px; /* Ajustez selon vos besoins */
}

.page-title a {
  text-decoration: none;
  color: #333; /* Couleur du titre */
}









/* -------- page prestations ------- */

/* ---------- images sack simple ------------ */

.container_image-stack-simple {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.image-stack-simple {
  position: relative;
  max-width: 400px; /* Adjust width according to your preference */

  padding: 0px;

  background-color: #eee;
  z-index: 1;

  cursor: pointer;
}

.image-stack-simple img {
  width: 100%
}

.real_img_stack_principal {
  position: relative;
  max-width: 400px;
  width: 100%;
  border: 0px solid green;
  /* top: -8px; */
  /* left: -8px; */
  height: 100%;
  padding: 0px;
  background-color: #fff;
}

.fake_img_stack_01 {
  position: absolute;
  max-width: 400px;
  width: 100%;
  border: 1px solid #000;
  top: -8px;
  left: -8px;
  height: 100%;
  background-color: #fff;
  z-index: -1;
}

.fake_img_stack_02 {
  position: absolute;
  max-width: 400px;
  width: 100%;
  border: 1px solid #000;
  top: -16px;
  left: -16px;
  height: 100%;
  background-color: #fff;
  z-index: -2;
}

.fake_img_stack_03 {
  position: absolute;
  max-width: 400px;
  width: 100%;
  border: 1px solid #000;
  top: -24px;
  left: -24px;
  height: 100%;
  background-color: #fff;
  z-index: -3;
}





/* ----------- menu 2024 partie 2 (mai) ----------- */

/* contact part */
.contact-card {
  position: absolute;
  /*border: 1px solid #000000;*/
  /*padding: 20px;*/
  /*box-shadow: 0 4px 8px rgba(0,0,0,0.1);*/
  display: none;
  color: #fff;

  margin-left: -140px;
}

  /* random colors */
  .bg-gray { background-color: #1120b9; color: #00bc2f; border-color: #1120b9;
  background-color: transparent;}  
  .bg-black { background-color: #00bc2f; color: #1120b9; border-color: #00bc2f;
    background-color: transparent; }
  .bg-darkgray { background-color: #fffffe; color: #000; border-color: #000; 
    background-color: transparent;}

/*
  bleu: #1120b9;
  vert: #00bc2f;
  blanc cassé: #fffffe; 
  */

  .c_card-sentence {
    position: relative; 
    border: 1px solid grey;
    padding: 2px;
  }
  .c_card-sentence-right {
    position: relative; 
    border: 1px solid grey;
    padding: 2px;
  }
  .c_card-mail {
    position: relative; 
    border: 1px solid grey;
    padding: 2px;
  }
  .c_card-linkedin {
    position: relative; 
    border: 1px solid grey;
    padding: 2px;
  }
  .c_card-insta {
    position: relative; 
    border: 1px solid grey;
    padding: 2px;
  }
  .c_card-minilogo {
    position: relative; 
    border: 1px solid grey;
    padding: 2px;
  }





/* --------- page contact 20 mai 2024 --------- */
.carte-contact {
    position: relative;
    max-width: 480px;
    height: auto;
    margin: 0 auto 100px;
    cursor: pointer;
}

.carte-contact img {
    width: 100%;
    height: auto;
    display: block;
}

.carte-contact a {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #444;
  padding: 10px 20px;
  text-decoration: none;
  font-family: var(--font-generale);
  font-weight: 500;
  text-transform: uppercase;

  font-size: 9px;
}

@media (max-width: 767px) {
  .carte-contact a {
    font-size: 9px;
  }
}




/* ----- nouveau ajout ------ */

/* brut v1.2.mir4 */
/* ----- if index cover */
.cover-section {
  position: relative;
  width: 100%;
  height: 90vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;

  font-size: 1.5rem;

  margin-top: calc(0px - var(--hauteur-menu));
}
