/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0.0
Text Domain: generatepress
*/


div:target{
scroll-behavior: smooth;
}



/* Barre adminb */

#wp-toolbar {
  min-height: 32px;
}

#wpadminbar:hover {
  opacity: 1;
  top: 0px;
  height: 32px;
}

#wpadminbar {
  top: -24px;
  opacity: 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  height: 0px;
}

/**
* Couleurs
**/

:root{
  --blanc:#ffffff;
  --pointe-bulle-tech:#5f778b;
  --pointe-bulle-outils:#5f778b;
  --pointe-bulle-savoir:#8a9aa8;
  --fd-bulle:#002849;
}


/**
* Police titre
**/

.police-titre {
  /*font-family: "Orbitron", serif!important;*/
  font-family: "Poiret One", serif!important;
  font-weight: 600!important;;
}

.police-texte {
  
  font-family: PT Sans, sans-serif!important;
  
}

/**
* Initialisation du scroll-padding-top pour les ancres à cause de la barre admin
**/

html {
  scroll-padding-top: 0px;
}

/**
* Général
**/

body {
  overflow-x: hidden;
}


.justify,
.justify * {
  text-align: justify;
}

.txt-blanc{
  color:var(--blanc);
}

p {
  margin-bottom: 10px;
}

.fontsize-zero>a{
  font-size:0px;
}

/**
* Largeur volet droit menu principal
**/

body {
  --gp-slideout-width:300px;
}


/**
* Bouton remonter en haut de page

**/

.gp-icon svg {
  height: 1.5em!important;
  width: 1.5em!important;
}

body a.generate-back-to-top {
  background-color: var(--turquoise);
  border:2px solid var(--base-3);
  color: var(--base-3);
  height:40px;
}

body a.generate-back-to-top:hover, body a.generate-back-to-top:focus {
  background-color: var(--marine);
}


/**
* Topbar
**/

.header-page-inter {
 /* position: fixed!important;*/
}

body:not(.home) header {
  position: absolute;
  right: 0;
  top: 0;
}


body.home .site.container{
  padding-top:180px;
  
}


/**
* MENU
**/
.slideout-navigation.main-navigation .main-nav ul:first-child>li>a {
  text-transform: uppercase;
  font-size:17px;
  font-weight:600;
  letter-spacing: 0.05em;
}

body .slideout-navigation.do-overlay .menu-item-has-children .dropdown-menu-toggle {
  padding: 0 0px;
  margin: 0 0 0 4px;
}

body .slideout-navigation.do-overlay .slideout-exit { 
  right: 40px; 
}

.main-navigation .main-nav ul ul li a {
  line-height: normal;
  padding: 4px 20px 4px 30px;
  font-size: 16px;
}

body .slideout-navigation.do-overlay .slideout-menu li {
  margin-bottom: 0px;
}

.main-navigation ul ul{
  box-shadow: none;
}

/**
* Fil d'ariane
**/



.yoast-breadcrumbs span{
  font-size:13px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/**
* toggle btn
**/

.gp-icon:not(.pro-close):not(.icon-arrow) svg {
  height: 2em;
  width: 2em;
} 

body .gp-icon.pro-close svg {
  fill: var(--base-3);
}


/**
* scroll down icon
**/


.scroll {
  display:inline-block;
	width: 40px;
	height: 40px;
	border: 2px solid var(--base-3);
	border-radius: 50%;
	position: relative;
	animation: down 1.5s infinite;
	-webkit-animation: down 1.5s infinite;
	&::before {
		content: '';
		position: absolute;
		top: 10px;
		left: 12px;
		width: 12px;
		height: 12px;
		border-left: 2px solid var(--base-3);
  	border-bottom: 2px solid var(--base-3);
		transform: rotate(-45deg);
	}
}

@keyframes down {
	0% {
		transform: translate(0);
	}
	20% {
		transform: translateY(15px);
	}
	40% {
		transform: translate(0);
	}
}

@-webkit-keyframes down {
	0% {
		transform: translate(0);
	}
	20% {
		transform: translateY(15px);
	}
	40% {
		transform: translate(0);
	}
}

/**
* menu ancres droit sticky
**/

.menu-droit-sticky{
  position:fixed;
  right:15px;
  top:30%;
  z-index:5;
}

/*
.menu-droit-sticky>a.current>div:first-child {
  background: var(--marine);
  
}*/

.trait-arobase-menu-fixe svg line{
stroke:var(--marine);
}

.menu-fixe-arobase{
  margin-top: -40px;
  margin-right: -3px;
  z-index: 0;
}

.branche-menu-fixe {
  margin-top: -28px;
  margin-right:6px;
}

.label-menu-fixe {
  margin-bottom: -10px;
  margin-right: -30px;
  z-index: 10;
}

.menu-droit-sticky>a>.branche-menu-fixe svg>path{
  stroke:var(--marine); 
}

.menu-droit-sticky>a.current>.branche-menu-fixe svg>path{
  stroke:var(--base-3); 
}

.menu-droit-sticky>a.current>div:nth-child(2) {
  background: var(--base-3);
  color:var(--marine);
}


/**
*menu-hori-pages-inter
**/

.menu-hori-pages-inter .wp-block-navigation__container{
  gap:20px;
}

/**
* Fil d'ariane
**/

.yoast-breadcrumbs {

  
}
/**
* Footer
*/

/**
* Classes de titres
**/

.gb-headline.h1 {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 42px;
  line-height: 1.2em;

}

.gb-headline.h2 {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 35px;
  line-height: 1.2em;
}

.gb-headline.h3 {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2em;
}

.gb-headline.h4 {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 24px;
  
}

.gb-headline.h5 {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.2em;
}

.gb-headline.h6 {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.2em;
}

body .entry-title a:hover {
  color:var(--accent); 
}

/**
* Bouton
**/



/**
* Formulaire contact
**/




::-webkit-input-placeholder { /* Chrome */
  color: var(--accent);
}
:-ms-input-placeholder { /* IE 10+ */
  color: var(--accent);
}

::-moz-placeholder { /* Firefox 19+ */
  color: var(--accent);
  opacity: 1;
}
:-moz-placeholder { /* Firefox 4 - 18 */
  color: var(--accent);
  opacity: 1;
}

/**
* Barre RGPD
**/
.cookieLaw>.cl-panel .cl-btn {
  color: #fff;
}

.cookieLaw {
  position: fixed;
  z-index: 200001;
  background: #000000c7;  
  
  display: flex;
  font-size: 18px;
}

.cookieLaw>.cl-container>.buttons>a.agree{
  color:var(--accent);
}

.cookieLaw>.cl-panel{
  background:var(--accent);
}


/**
* btn retour haut page
**/



a.generate-back-to-top {
  background-color: var(--accent);
  border-radius: 50%;
  bottom:90px;
  transition: background-color .3s ease-in-out;
}

a.generate-back-to-top:hover, a.generate-back-to-top:focus {
  background-color: var(--contrast);

}


/**
* Galerie images masonry
**/

.qi-block-image-gallery-masonry .qodef-e-inner img {
  object-fit: cover;
}


/**
* normes techniques, points légende
**/

.point-legende .gb-icon {
  margin-top: -7px;
  margin-right: -2px;
}

/**
* Historique & équipes
**/

.qi-block-timeline .qodef-e-point-holder .qodef-e-point { 
  background-color: var(--orange)!important;
}

.qi-block-timeline .qodef-e-date {
  color: var(--orange)!important;
  background:var(--blanc)!important;
  padding: 2px 4px;
  border-radius: 4px;
  width: fit-content;
  position: relative;
}

.qi-block-timeline .qodef-e-date:after {
  content:'';
  position: absolute;
  bottom:-5px;
  left: 50%;
  transform: translateX(-50%)!important;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: #FFFFFF transparent transparent transparent;
  transform: rotate(0deg);
}

.titre-pole {
  position: relative;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.titre-pole:before,
.titre-pole:after {
  content:"";
  display:block;
  width:30%;
  height:2px;
  background-color: var(--base-3);
}

.titre-pole.marine:before,
.titre-pole.marine:after {
background-color: var(--marine);
}

.titre-pole:before {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.titre-pole:after {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.bloc-pole{
  position: relative;
}

.bloc-pole:before{
  content:"";
  display:inline-block;
  width:100px;
  height: 100px;
  border-radius:50%;
  position:absolute;
  top:50%;
  margin-top: -50px;
  background-color: black;
}

.bloc-pole.rond-gauche:before{
  left:-50px;
}

.bloc-pole.rond-droit:before{
  right:-50px;
}

.marine::before{
  background-color: var(--marine);
}

.glaz:before{
  background-color: var(--glaz);
}

.glaz-dark:before{
  background-color: var(--glaz-dark);
}

.vert-dark:before{
  background-color: var(--vert-dark);
}




  



/**
* Page produit
**/

.align-left-boxed{
  margin-left: calc((100% - 1400px) / 2);
}

/**
* Super carrousel
**/

.scarrousel.deport-navs .scarrousel-outer>.scarrousel-navs>a {
  color: var(--accent);
}

.scarrousel .scarrousel-item>.scarrousel-overlay{
  background:var(--accent);
}

/**
* svg animé
**/

path#experts{
  stroke:var(--marine);
  stroke-dasharray: 8000;
  stroke-dashoffset: 8000;
  /*animation-delay: 2.5s;*/
}


path#savoir-faire{
  stroke:var(--marine);
  stroke-dasharray: 8500;
  stroke-dashoffset: 8500;
}

path#coccinelle{
  stroke:var(--marine);
  stroke-dasharray: 2500;
  stroke-dashoffset: 2500;
}

path#commercial{
  stroke:var(--marine);
  stroke-dasharray: 7000;
  stroke-dashoffset: 7000;
}

path#devis  {
  stroke:var(--marine);
  stroke-dasharray: 5500;
  stroke-dashoffset: 5500;
}

path#fabrication {
  stroke:var(--marine);
  stroke-dasharray: 5000;
  stroke-dashoffset: 5000;
}

path#compta {
  stroke:var(--marine);
  stroke-dasharray: 7500;
  stroke-dashoffset: 7500;
}

path#pile-livres {
  stroke:var(--marine);
  stroke-dasharray: 17000;
  stroke-dashoffset: 17000;
  stroke-width: 2px;
}

#equipe,
#innovation,
#excellence,
#integrite,
#engagement{
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
}

path#gouvernance{
  stroke:var(--marine);
  stroke-dasharray: 6500;
  stroke-dashoffset: 6500;
}

path#environnement{
  stroke:var(--marine);
  stroke-dasharray: 4500;
  stroke-dashoffset: 4500;
}

path#shield{
  stroke:var(--marine);
  stroke-dasharray: 2500;
  stroke-dashoffset: 2500;
  stroke-width: 2px;
}

path#coche{
  stroke:var(--marine);
  stroke-dasharray: 350;
  stroke-dashoffset: 350;
  stroke-width: 2px;
 
}

.aos-animate #coche {
  animation-delay: 1s;
 animation: offset 0.5s linear forwards;
}

.aos-animate #experts,
.aos-animate #savoir-faire,
.aos-animate #coccinelle,
.aos-animate #commercial,
.aos-animate #devis,
.aos-animate #fabrication,
.aos-animate #compta,
.aos-animate #equipe,
.aos-animate #innovation,
.aos-animate #excellence,
.aos-animate #integrite,
.aos-animate #engagement,
.aos-animate #gouvernance,
.aos-animate #environnement,
.aos-animate #shield,
.aos-animate #pile-livres    {
  animation-delay: 2.5s;
 animation: offset 2s linear forwards;
}

@keyframes offset{
  to {
  stroke-dashoffset:0;
  }
  }
  
  
/**
* marge haute page inter
**/
  



.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {
  margin-top: 0;
}


/**
* Bulle bd
**/

/* Pour les versions des bulles : https://css-generators.com/tooltip-speech-bubble/ */

.bulle-bd-v13 {

  /* tail dimension */
  --b: 2em; /* base */
  --h: 1.5em; /* height */
  --p: 18%;  /* main position (0%:left 100%:right) */
  --x: -2em; /* tail position (relative to the main position). Can be percentage */
  --r: 1.2em; /* the radius */
  --_e: max(0%,-1*var(--x) - var(--p),var(--x) + var(--p) - 100%);

  color:var(--base-3);
  padding: 30px 30px 0px 30px;
  border-radius: var(--r) var(--r) min(var(--r),100% - var(--p) - var(--b)/2) min(var(--r),var(--p) - var(--b)/2)/var(--r);
   background: 50% 0/calc(100% + 2*var(--_e)) calc(100% + var(--h)) 
    linear-gradient(60deg,var(--fd-bulle) 5%,rgb(from var(--fd-bulle) r g b / 30%) 100%); /* the gradient */
    background-color: initial !important;  
  position: relative;
  z-index: 0;
  max-width: 560px;
}

.bulle-bd-v13:before {
  content: "";
  position: absolute;
  z-index: -1;
  border-width: 70px 8px 0px 13px;
  border-color: rgb(from var(--pointe-bulle) r g b / 90%) transparent transparent;
  border-style: solid;
  top: 0;
  margin-top: -50px;
  left: 250px;
  transform: rotate(140deg);
}

.pointe-bulle-savoir:before{
  border-color: rgb(from var(--pointe-bulle-savoir) r g b / 90%) transparent transparent;
}

.pointe-bulle-tech:before {
  border-color: rgb(from var(--pointe-bulle-tech) r g b / 90%) transparent transparent; 
}

.pointe-bulle-outils:before {
  border-color: rgb(from var(--pointe-bulle-outils) r g b / 90%) transparent transparent; 
}




/**
* Grille produits
**/


.gb-query-loop-item.produits .gb-container.gbp-card:after{
  transition: opacity 0.5s ease-in-out;
  
}

.gb-query-loop-item.produits:hover .gb-container.gbp-card:after{
  opacity:0;

}

.gb-query-loop-item:has(.description-categorie){
  width:33.33%;
}

.description-categorie{
  height:100%;
}


/**
* Fond papier body taxonomy
**/

body.tax-categorie-produit.archive{
  background-image: url('../../uploads/2025/04/bg-site-internet-blanchi-v2.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

/**
* menu filtres categories
**/

.menu-filtres-categories li a{
  padding:10px 25px;
  background:var(--base-3);
}

/**
* formulaire mon espace
**/ 
[data-page="login"].mi-root{
width: fit-content;
margin: 0 auto;
}

/**
* grille réalisations
**/


.extrait-grille-rea .read-more{
display:inline-block;
margin:15px auto;
padding:15px 20px;
border:2px solid var(--marine);
border-radius:50px;
color:var(--marine);
}

.extrait-grille-rea .read-more:hover{
  color:var(--blanc);
  background-color:var(--marine);
  border-color:var(--marine);
}

/**
* Voir plus (seemore)
**/
.seemore-toggle{
  cursor: pointer;
}
@property --n{
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}
/** Nombre de ligne **/
.seemore.count-1{--n:1;}
.seemore.count-2{--n:2;}
.seemore.count-3{--n:3;}
.seemore.count-4{--n:4;}
.seemore.count-5{--n:5;}
.seemore.count-6{--n:6;}
.seemore.count-7{--n:7;}
.seemore.count-8{--n:8;}
.seemore.count-9{--n:9;}
.seemore.count-10{--n:10;}
.seemore.count-11{--n:11;}
.seemore.count-12{--n:12;}
.seemore.count-13{--n:13;}
.seemore.count-14{--n:14;}
.seemore.count-15{--n:15;}
.seemore.count-16{--n:16;}
.seemore.count-17{--n:17;}
.seemore.count-18{--n:18;}
.seemore.count-19{--n:19;}
.seemore.count-20{--n:20;}
.seemore{
  display:-webkit-box;
  display:-moz-box;
  display:-ms-box;
  display:box;
  -webkit-box-orient:vertical;
  -moz-box-orient:vertical;
  transition: max-height .3s ease-in-out, --n .3s ease-in-out;
  max-height: var(--h,auto);
  overflow:hidden;
  -webkit-line-clamp: var(--n,0);
  -moz-line-clamp: var(--n,0);
  line-clamp: var(--n,0);
  text-wrap: pretty;
}
.seemore.opened{--n:1000;}

/**
* Formaulaire landing page
**/

.wpcf7[data-wpcf7-id="3058"] p{
  display: flex;
  gap: 10px;;

}

.wpcf7[data-wpcf7-id="3058"] p input,
.wpcf7[data-wpcf7-id="3058"] p span{
  width:100%;
}

.wpcf7 input[type=submit].gb-button-text{
      padding: 15px 20px;
    border: 2px solid var(--accent-6);
    background-color: var(--marine);
    color: var(--base-3);
    text-decoration: none;
    border-radius: 50px;
    width:fit-content;
}
.wpcf7 input[type=submit].gb-button-text:hover,
.wpcf7 input[type=submit].gb-button-text:focus{
  background:var(--blanc);
  color:var(--marine);
 
}




.wpcf7 p.align-droite{
  justify-content: flex-end;
  position: relative;
}

.wpcf7 p.align-droite .wpcf7-spinner{
  position: absolute;
  right: -30px;
  width:auto;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], input[type="datetime-local"], input[type="date"], input[type="time"], textarea, select {
    color: var(--ardoise);
    background-color: var(--blanc);
    border-color: var(--ardoise);
    border-radius:10px;
    border-width:2px;
    border-style: solid;
    padding: 10px 15px;
}

/**
* ContactForm7 Datetime
**/
.datetime-container {
    position: relative;
}

.datetime-container>label {
    position: absolute;
    left: 15px;
    color: var(--accent);
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.datetime-container>input {
    width: 100%;
}

.datetime-container:has(input.filled)>label {
    opacity: 0;
}

.datetime-container>input:not(.filled) {
    color: transparent;
}