/*
Theme Name: Aidancia
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: HARVEST
Author URI: https://wordpress.org
Description:
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Template: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/



/* -------------------------------------------------------------------------- */
/* 0) Imports & resets                                                        */
/* -------------------------------------------------------------------------- */

@import url("https://use.typekit.net/bky2prg.css");

:where(.wp-site-blocks *:focus){outline-width:0px !important;outline-style: none !important;}



/* Le navigateur garde le scroll vertical natif, on gère l'horizontal */
.slider-viewport{
  touch-action: pan-y;
  overscroll-behavior: contain;           /* évite le rebond iOS/Android dans la section pin */
  -webkit-overflow-scrolling: touch;
}

html,
body {
  min-height: 100vh;
  width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior: none;
 
}

a,
a:focus,
a:active {
  outline: 0 !important;
}

.wp-block-navigation a:where(:not(.wp-element-button)):focus,
.wp-block-post-title a:where(:not(.wp-element-button)):focus,
.wp-block-site-title a:where(:not(.wp-element-button)):focus,
a:where(:not(.wp-element-button)):focus {
  text-decoration: none;
}

.sliderProjet .wp-block-column.contenu {
  position: relative;
  z-index: 2;
}
.sliderProjet .wp-block-column.contenu .slider-controls {
  pointer-events: auto;
}



/* -------------------------------------------------------------------------- */
/* 1) États init / préchargement                                              */
/* -------------------------------------------------------------------------- */

/* la loading ne doit JAMAIS intercepter les clics une fois cachée */
.loading[hidden] { display: none !important; }      /* kill total */
.loading.is-gone  { display: none !important; }     /* classe de secours */

/* quand l’overlay est à 0 d’opacité, on n’intercepte plus les clics */
.loading:not([data-active="1"]) { pointer-events: none !important; }


.smooth-content { visibility: hidden; }

.loading {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(26, 26, 26);
  overflow: hidden;
  z-index: 999999;
  opacity: 0;
  backdrop-filter: blur(2px);
  transition: opacity .3s ease; /* sécurité si JS en panne */
}


/* -------------------------------------------------------------------------- */
/* 3) Header / navigation                                                     */
/* -------------------------------------------------------------------------- */


/* Anti-flicker logo pendant l'init */
html.is-prep header .heading .wp-block-site-logo,
html.is-prep header .heading .wp-block-site-logo img {
  transition: none !important;
}

/* Un petit coup de pouce au moteur de rendu (WebKit) */
header .heading .wp-block-site-logo {
  will-change: transform, opacity;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999999;
  background-color: transparent;
  transition: 0.3s all ease-in-out;
}

/* avant : transition: 0.4s all ...  ->  provoque flicker sur mask/height */
header .wp-block-site-logo {
  transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}

/* On prépare le conteneur du logo */
.wp-block-site-logo {
    position: relative; /* Indispensable pour placer la pastille derrière */
    display: inline-block !important;
    padding: 30px; /* Crée l'espace nécessaire pour que la pastille soit visible dessous */
    z-index: 1;
}

.wp-block-site-logo::before {
    content: "";
    position: absolute;
    /* On centre la pastille derrière le logo */
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    /* Dimensions basées sur votre SVG (85x80) que l'on peut doubler si besoin */
    width: 270px; 
    height: 260px;
    
    /* Intégration de votre SVG exact */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='85' height='80' viewBox='0 0 85 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M35.2237 0C20.1013 0.596088 -1.79682 17.7336 0.118041 43.4151C2.082 69.0469 21.3288 81.068 43.9634 79.9255C63.4556 78.932 90.7546 62.1919 83.9299 34.5731C78.8236 13.9087 60.5588 -0.943806 35.1747 0.049674' fill='%23CA9F70'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    
    z-index: -1; /* Derrière le logo */
      transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}

.main-tool-bar--scrolled .wp-block-site-logo::before{
	opacity: 0;
}

/* On s'assure que le logo reste bien au-dessus */
.wp-block-site-logo img {
    position: relative;
    z-index: 2;
    display: block;
    margin: 0 auto;
    
}

/*
header .wp-block-site-logo:before{
	content: "";
	background: url(img/cercle.svg) no-repeat -100px center;
	background-size: contain;
	display: block;
	position: fixed;
	width: 396px;
	height: 396px;
	z-index: 1;
	top: -150px;
	overflow: visible;
	
}
*/
header .wp-block-site-logo a{
	z-index: 2;
}





header.main-tool-bar--scrolled {
	background-color: var(--wp--preset--color--primary);
}

header .wp-block-site-logo img{
	height: 113px;
	transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}

header.main-tool-bar--scrolled .wp-block-site-logo{
	padding: 0px 30px 0px 30px;
}

header.main-tool-bar--scrolled .wp-block-site-logo img {
	height: 70px;
}

header.open { height: 100%; }

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{
	color: rgba(255, 255, 255, 0.26);
}

/* État actif menu / archive projets */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover
{
  color: white;
}
.current-menu-item,
.post-type-archive-projets .projets, .single-projets .projets{
	color: var(--wp--preset--color--primary);
}

.ariane_group{
	z-index: 100 !important;
	position: relative;
}


/* -------------------------------------------------------------------------- */
/* 4) Hero / Intro                                                            */
/* -------------------------------------------------------------------------- */

section.intro { position: relative; }
section.intro .title { position: relative; z-index: 2; }
section.intro .two { position: relative; z-index: 3; }
section.intro .lines { position: relative; z-index: 1; }
section.two { margin-top: -50vh; }

/* h1 { opacity: 0; } /* (corrigé: suppression espace invisible) */ */

/* -------------------------------------------------------------------------- */
/* 5) Éléments graphiques (cercles, flair, gradients)                         */
/* -------------------------------------------------------------------------- */


mark a {
  position: relative;
  text-decoration: none;
  background:
    linear-gradient(to right, var(--wp--preset--color--contrast), var(--wp--preset--color--contrast)),
    linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--primary));
  background-size: 100% 2px, 0 2px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: all 400ms;
}

mark a:hover {
  color: var(--wp--preset--color--primary);
  background-size: 0 2px, 100% 2px;
}

.gradient {
  background: -webkit-linear-gradient(var(--wp--preset--color--base), #313131);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button__link{
/* 	background-color: rgba(255, 255, 255, 0.1) !important; */
	color: white;
}

.wp-block-button__link:hover{
	background-color: white !important;
	color: var(--wp--preset--color--primary) !important;
}




/* Vignette qui suit la souris */
.cursor-sidecar{
  position: fixed;
  top: 0; left: 8%;
  width: clamp(150px, 15vw, 300px);
  aspect-ratio: 1 / 1;
  background: center / cover no-repeat;
  border-radius: 50%;
  pointer-events: none;
  z-index: 100;
  opacity: 0;
  transform: translate(-50%, -50%);
  box-shadow: 0 12px 48px rgba(0,0,0,.35);
}

@media (pointer: coarse) {
  .cursor-sidecar { display: none !important; }
}

/* -------------------------------------------------------------------------- */
/* 6) Texte scindé / animations de lignes                                     */
/* -------------------------------------------------------------------------- */

.lines { position: relative; will-change: transform; }
.split-line,
.line-wrap,
.line { display: block; overflow: hidden; }

.line-inner {
  display: inline-block;
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Hover d’expérience */
.exp .line {
  transition: all .5s ease-in-out;
  cursor: pointer;
  transform-origin: left;
}
.exp .line:hover { transform: scale(1.1); }

/* -------------------------------------------------------------------------- */
/* 7) Blocs divers                                                            */
/* -------------------------------------------------------------------------- */

/* Citation en dégradé animé (texte en “mask”) */
.citation > div {
  background: linear-gradient(to right, var(--wp--preset--color--contrast) 50%, rgb(37,37,37) 50%);
  background-size: 200% 100%;
  background-position-x: 100%;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
}
.light .citation > div {
  background: linear-gradient(to right, var(--wp--preset--color--base) 50%, rgb(37,37,37) 50%);
}


.wp-block-spacer { background-color: var(--wp--preset--color--contrast); }

.siteWeb figure::before {
  content: '';
  display: block;
  width: 100%;
  height: 43px;
  background-color: #262626;
  border-radius: 25px 25px 0 0;
}

.grid img { border-radius: 20px; }

.wp-block-group.is-layout-grid {
  display: grid;
  /* si ce n’est pas déjà le cas */
/*   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); */
  align-items: center; /* centrage vertical */
  justify-items: center; /* centrage horizontal */
  gap: 6rem; /* espace entre les logos */
}

.wp-block-group.is-layout-grid figure {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0; /* supprime les marges inline */
}

.wp-block-group.is-layout-grid img {
  max-width: 100%;
  height: auto;
  object-fit: contain; /* meilleure gestion des ratios */
}

p { margin: 10px; }

.selected { color: var(--wp--preset--color--custom-rose-cp) !important; }

.pages_title{ position: relative; z-index: 100;}

.SiteVids video{
  border-radius: 0 !important;
}

/* liste pages contenu */
.ListeInfos p{
  margin: 0;
}
.ListeInfos a {
  inline-size: 25.3rem;
  display: flex !important;
  text-decoration: none !important;
  display: flex !important;
  margin: 0;
  padding-bottom: 10px;
  justify-content: space-between; /* texte à gauche, flèche à droite */
  align-items: center;
  border-bottom: 1px solid #ccc;
  cursor: pointer;
  transition: transform 0.3s ease-in-out ;
}

/* la flèche */
.ListeInfos a::after {
  content: "→"; /* flèche simple */
  font-weight: 400;
  font-size: 40px;
  color: inherit;
}

/* effet au survol */
.ListeInfos a:hover {
  color: var(--wp--preset--color--primary) !important;
  transform: translateX(5px);
}

.ListeInfos a:hover::after {
  transform: translateX(5px); /* la flèche glisse légèrement à droite */
}

/* -------------------------------------------------------------------------- */
/* 10) Accordéon                                                              */
/* -------------------------------------------------------------------------- */

.accordion { width: 250px; margin: 15px; box-shadow: 0 8px 17px rgba(0,0,0,.2); }
.accordion-menu { color: #fff; padding: 10px; cursor: pointer !important; user-select: none; position: relative; }
.accordion-content { height: 0; overflow: hidden; font-size: 14px; width: 60%; }
.accordion-content.expanded { height: 0; overflow: hidden; } /* (semble volontaire) */
.accordion-plus,
.accordion-minus { position: absolute; top: 7px; right: 8px; }

/* -------------------------------------------------------------------------- */
/* 11) Formulaires (Gravity Forms)                                            */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/* 11) Formulaires (Gravity Forms)                                            */
/* -------------------------------------------------------------------------- */

.gform_title{
	font-size: 2rem !important;
}

.gform-theme--foundation .gform_fields {
    row-gap: 11px !important; /* Remplacez 10px par la valeur souhaitée */
}

/* 1. On cible le conteneur parent pour qu'il n'y ait aucun espace entre les enfants */
.parent-jaune-global {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important; /* Supprime l'espace entre les blocs internes */
    -webkit-perspective: 1000; /* Force Safari iOS à stabiliser le rendu 3D */
    perspective: 1000;
}

/* 1. On prépare le conteneur du texte pour qu'il porte la soudure */
p.active-trigger {
    position: relative !important;
    background-color: var(--wp--preset--color--secondary) !important;
    z-index: 10 !important;
    margin-bottom: 0 !important;
}

/* 2. LE JOINT DE SOUDURE : Un rectangle jaune qui dépasse de 2px en bas */
/* Il va boucher le trou de pixel que Safari crée lors du rendu */
p.active-trigger::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px; /* Il descend sous le texte */
    height: 5px;   /* Il a une petite épaisseur */
    background-color: var(--wp--preset--color--secondary) !important;
    z-index: -1;   /* Il passe derrière le formulaire qui s'ouvre */
    display: block;
}

/* 3. On s'assure que le formulaire n'a aucune marge parasite */
.form-to-hide {
    margin-top: 0 !important;
    border: none !important;
    background-color: var(--wp--preset--color--secondary) !important;
    /* On force Safari à ne pas lisser le haut du formulaire */
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* 4. On désactive les ombres natives de Gravity Forms qui créent des lignes grises */
.gform_wrapper {
    box-shadow: none !important;
}

/* 2. On soude physiquement les deux blocs avec un chevauchement forcé */
p.has-white-color.active-trigger {
    position: relative;
    z-index: 2;
    margin-bottom: -2px !important; /* On fait descendre le texte SUR le formulaire */
}

.wp-block-group.form {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
}

/* 3. On désactive les styles de bordures natifs de Gravity Forms qui pourraient être blancs */
.gform_wrapper.gform-theme--orbital, 
.gform_wrapper.gform-theme--orbital form {
    border: none !important;
    outline: none !important;
}

/* On cache uniquement le formulaire à l'intérieur, pas le fond jaune */
.form-to-hide {
    display: none;
    background: transparent !important;
}

/* On nettoie Gravity Forms pour Safari */
.gform_wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* On ajoute un minuscule chevauchement pour masquer la ligne de cassure */
.wp-block-group.form {
    margin-top: -1.5px !important;
    padding-top: 1.5px !important;
}

/* Masque le formulaire au chargement */
.wp-block-group.form {
    display: none;
}

.gform_wrapper .ginput_container input {
  background: none;
  border: none;
  border-bottom: 1px solid var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

.gform_wrapper .ginput_container textarea {
  background: none;
  border-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

.contact .message .gform-field-label,
.email .gform-field-label,
.nom .gform-field-label {
  font-size: 2rem !important;
  font-weight: 400 !important;
}

.ginput_container_consent { padding-top: 3rem; }

.gform_button {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  border: none;
  border-radius: 20px;
  padding: 20px 40px;
  font-size: medium;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: 600;
  transition: transform 0.3s ease;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover {
  transform: scale(1.05);
}

.gfield_consent_label::after {
  content: "*";
  position: relative;
  top: -0.5rem;
  color: #FFD07B;
  font-weight: bold;
  font-size: 1rem;
}

.gfield_required::before {
  content: "*";
  position: relative;
  color: #FFD07B;
  font-weight: bold;
  font-size: 1rem;
}

.gfield_required_text { display: none !important; }

/* -------------------------------------------------------------------------- */
/* 12) Mise en page Contact                                                   */
/* -------------------------------------------------------------------------- */

.contact-page .circle.one,
.contact-page .circle.two {
  display: flex;
  position: relative !important;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  transform: rotate(90deg) !important;
}

.contact-page .circle.one { right: -13.7vw !important; }
.contact-page .circle.two { left: -13.7vw; top: -7vh; }

/* -------------------------------------------------------------------------- */
/* 13) Projets                                */
/* -------------------------------------------------------------------------- */

/* /assets/css/query-slider.css */
.sliderProjet .wp-block-post-template{
  display:flex;
  gap:clamp(12px,1.5vw,24px);
  padding:0; margin:0; list-style:none;
  transition:transform .4s cubic-bezier(0.43, 0.195, 0.02, 1); will-change:transform;
}
.sliderProjet .wp-block-post-template > li{
  flex:0 0 var(--slide-basis,100%);
}
.sliderProjet .slider-viewport{ overflow:hidden; position:relative; }


/* Active le mode fade sur ce bloc */
.sliderProjet.is-fade .wp-block-post-template{
  transition: none;            /* on ne slide plus */
  will-change: opacity;
}

/* couche fantôme qui crossfade par-dessus */
.sliderProjet .fade-layer{
  position:absolute; inset:0;
  pointer-events:none;         /* clics passent au-dessous */
  opacity:0;
  transition: opacity 1s cubic-bezier(0.43, 0.195, 0.02, 1);
  z-index: 3;
}
/* 1 / vue mobile (par défaut) */
@media (min-width:640px){
  .sliderProjet{ --per-view: 2; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - clamp(12px,1.5vw,24px)) / 2);
  }
}
@media (min-width:1024px){
  .sliderProjet{ --per-view: 3; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - 2*clamp(12px,1.5vw,24px)) / 3);
  }
}

/* /assets/css/query-slider.css */
.sliderProjet .wp-block-post-template{
  display:flex;
  gap:clamp(12px,1.5vw,24px);
  padding:0; margin:0; list-style:none;
  transition:transform .4s ease; will-change:transform;
}
.sliderProjet .wp-block-post-template > li{
  flex:0 0 var(--slide-basis,100%);
}
.sliderProjet .slider-viewport{ overflow:hidden; position:relative; }

/* 1 / vue mobile (par défaut) */
@media (min-width:640px){
  .sliderProjet{ --per-view: 2; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - clamp(12px,1.5vw,24px)) / 2);
  }
}
@media (min-width:1024px){
  .sliderProjet{ --per-view: 3; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - 2*clamp(12px,1.5vw,24px)) / 3);
  }
}

/* --- Boutons = pagination (flèches latérales) --- */
.sliderProjet { position: relative; }

.sliderProjet .wp-block-query-pagination{
 margin-left: 100px;
  inset:0;
  padding-left: 50px;
  display:block;
  pointer-events:none;
  z-index: 5;
  position: relative;
  	margin-top: -200px !important;
	margin-bottom: 100px !important;
	font-size: 30px;
}

.sliderProjet.right .wp-block-query-pagination{
	  margin-left: 50%;
}


/* Boutons de navigation */
.sliderProjet .wp-block-query-pagination-previous,
.sliderProjet .wp-block-query-pagination-next{
  transform:translateY(-50%);
  pointer-events:auto;
  border:none;
  text-decoration:none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
}

.sliderProjet .wp-block-query-pagination-next{
	margin-left: 30px;
	margin-bottom: -40px;	
}


/* Force 1 carte par vue uniquement quand .oneSlide est présent */
.sliderProjet.oneSlide { --per-view: 1 !important; }

.sliderProjet.oneSlide .wp-block-post-template {
  gap: 0; /* optionnel: pas d’espace entre slides quand 1/écran */
}
.sliderProjet.oneSlide .wp-block-post-template > li{
  --slide-basis: 100% !important;
  flex: 0 0 100% !important;
  min-width: 100% !important;
}


.contact{
 margin-top: -70px !important;
 background-color: #ffffff !important;
  position: relative;
  z-index: 100;
}
.contact:hover{
	background-color: var(--wp--preset--color--base) !important;
}
.send{
 	transition: all 1s cubic-bezier(0.43, 0.195, 0.02, 1);
	 background-color: var(--wp--preset--color--base) !important;
	 color: white !important;

}
.send:hover{
	background-color: #1d1d1d;
}

/* Base : le cover du slider */
.sliderProjet .wp-block-cover {
  position: relative;
  overflow: hidden;
}

/* Cible les images et vidéos du cover */
.sliderProjet .wp-block-cover__image-background,
.sliderProjet .wp-block-cover video.wp-block-cover__video-background {
  --fade-size: 80px; /* largeur du fondu — ajustable */
  display: block;
  object-fit: cover !important;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: -webkit-mask-image .3s ease, mask-image .3s ease;
}

/* === FONDU À DROITE === */
.sliderProjet .wp-block-cover.fade-right
  .wp-block-cover__image-background,
.sliderProjet .wp-block-cover.fade-right
  video.wp-block-cover__video-background {
  -webkit-mask-image: linear-gradient(
    to right,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) calc(100% - var(--fade-size)),
    rgba(0,0,0,0) 100%
  );
  mask-image: linear-gradient(
    to right,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) calc(100% - var(--fade-size)),
    rgba(0,0,0,0) 100%
  );
}

/* === FONDU À GAUCHE === */
.sliderProjet .wp-block-cover.fade-left
  .wp-block-cover__image-background,
.sliderProjet .wp-block-cover.fade-left
  video.wp-block-cover__video-background {
  -webkit-mask-image: linear-gradient(
    to left,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) calc(100% - var(--fade-size)),
    rgba(0,0,0,0) 100%
  );
  mask-image: linear-gradient(
    to left,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) calc(100% - var(--fade-size)),
    rgba(0,0,0,0) 100%
  );
}

/* Option : adapter le fondu sur grand écran */
@media (min-width: 1024px) {
  .sliderProjet .wp-block-cover__image-background,
  .sliderProjet .wp-block-cover video.wp-block-cover__video-background {
    --fade-size: 40vw;
  }
}

.go{ 
	transition: 1s all cubic-bezier(0.43, 0.195, 0.02, 1);
	opacity: 0.4;
}
.go:hover{
	opacity: 1;
}

.wp-block-cb-carousel-v2 .cb-button-next, .wp-block-cb-carousel-v2 .cb-button-prev{
	color: white !important;
}

/* -------------------------------------------------------------------------- */
/* 14) Éléments décoratifs positionnés                                       */
/* -------------------------------------------------------------------------- */

.get-on-front { position: relative; z-index: 999 !important; }

.ligne-verte,
.beige-ligne,
.bleu-ligne {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.ligne-verte2{
  position: absolute;
  right: 10rem;
}

.ligne-verte { bottom: 10rem; width: 1rem; }
.beige-ligne { bottom: 18rem; width: 2rem; }
.bleu-ligne  { bottom: -7rem; width: 2rem; z-index: 2; }

.savoir-faire { position: relative; left: 2rem; }
.creativite   { position: relative; left: -2rem; }

.lignes { position: relative; left: 18rem; top: 15rem; }
.arcs-cercles { position: relative; left: -5rem; top: 9rem; }

.arcs-cercles .wp-image-706 { width: 8rem !important; }
.lignes .wp-image-699       { width: 10rem !important; }

.heart img{
  left:0;
  right:0;
  margin:0 auto;
 }

 @keyframes heartFadeInOut {
  0% {transform: scale(1);}
  25% {transform: scale(.97);}
  35% {transform: scale(.9);}
  45% {transform: scale(1.1);}
  55% {transform: scale(.9);}
  65% {transform: scale(1.1);}
  75% {transform: scale(1.03);}
  100% {transform: scale(1);}
}

.heart img { 
	top: 30%;	
  animation-name: heartFadeInOut; 
  animation-iteration-count: infinite;
  animation-duration: 2s;
	width: 40vh;	
}

/* -------------------------------------------------------------------------- */
/* 15) Utilitaires perf                                                       */
/* -------------------------------------------------------------------------- */

/* Aides GPU / reveal */
[data-reveal],
[data-parallax],
[data-item] {
  will-change: transform, opacity;
  transform: translateZ(0);
}

/* -------------------------------------------------------------------------- */
/* 16) Media queries                                                          */
/* -------------------------------------------------------------------------- */

.masquer{
	display: none;
}

.chapo_review h3{
	margin-bottom: -80px !important;
	z-index: 50;
	position: relative;
}

@media (min-width: 650px){ 
	.cat{
	 margin-bottom: -280px !important;
	 position: relative;
	}
}

@media (max-width: 1213px) {
  .basline { min-width: 445px !important; }
}

@media (max-width: 650px) {
  .circle.one { top: 15vh; right: -47vw; }
  .circle.two { left: -15vw; }
  .circle svg { height: 60vw; }

  .creativite,
  .savoir-faire { left: 0 !important; }

  .bleu-ligne,
  .beige-ligne { display: none; }

  .ginput_container_consent { padding-top: 0 !important; }
}

@media (max-width: 400px) {
  .title { padding-left: 0 !important; padding-right: 0 !important; }
}