/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.154
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*couleur vert #007882  gris clair ##D7D7D7  doré : #9E8C31   beige fond organigrame #D7CDA9 */


/*bouton cookies footer*/
.bouton-cookies{
	text-align:center;
}

.bouton-cookies button {
	border-style : none;
	background-color : #007882;
	color : #FFFFFF !important;
}

 .bouton-cookies button:hover, .bouton-cookies button:focus {
	border-style : none;
	background-color : #007882;
	color : #D7D7D7 !important;
	outline:0px;
}



/*contact footer */
.font-koho a{
	font-family:KoHo, sans-serif;
}


/*couleur doré pour plan du site */


.elementor-widget-sitemap .elementor-sitemap-title {
	color: #9E8C31;
}






/*pour la grille savoir-faire*/
/*.hauteur-max-colonne div {
	max-height : 300px;
}*/



@media (min-width: 1025px) {
	.grid-hauteur {
		display: flex;
		flex-wrap: wrap;  /* permet de créer plusieurs lignes indépendantes */
		align-items: stretch; /* les colonnes d’une même ligne sont égales */
	}


	.grid-hauteur > .e-child {
	  flex: 1 1 33.333%;        /* 3 colonnes par ligne */
	  max-width: 33.333%;
	  box-sizing: border-box;   /* évite les débordements avec padding */
	}
}

.formulaire-contact label {
	display : block;
/*	width : 90%; */
	line-height : 30px;
}
.wpcf7-form-control.wpcf7-captchar {
	width : 30% !important;
}
.wpcf7-list-item {
	margin-left : 0px !important;
}


.formulaire-contact input.wpcf7-form-control.wpcf7-submit.has-spinner {
	background-color: #9E8C31;
    color: #FFFFFF;
    border-style: none;
	font-weight : 600;
}


.formulaire-contact input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
	background-color: #FFFFFF;
    color: #9E8C31;
    border: 1px solid #9E8C31;
	
}


/*travail pour mobile */



/*cacher fleches carroussel entete mobile */
.carroussel-entete-mobile .elementor-swiper-button.elementor-swiper-button-next, .carroussel-entete-mobile .elementor-swiper-button.elementor-swiper-button-prev {
	/*display : none;*/
}


.cote-a-cote-mobile {
	@media (max-width: 767px) {
		--flex-wrap: nowrap !important;
	}
}


/*titre 2 avec police authentic */
.font-authentic-titre2 h2 {
	font-family:Authentic Signature, sans-serif;
	font-size : 65px;
	line-height: 64px;
}

@media (max-width: 767px) { 
	.font-authentic-titre2 h2 {
		font-size: 40px;
		line-height: 35px;
	}
	
	/*desactiver les hotspot de la carte en version mobile */
	.slideshow a {
		pointer-events: none !important;  /* lien inactif */
		cursor: default !important;
	}
	
	
	.font-titre2-mobile h2{
		font-size: 1.3rem;
	}	
	
	.font-titre3-mobile h3{
		font-size: 1.1rem;
	}	
	
	
}

 /* Aligner le menu dans son conteneur à droite*/
.menu-mobile .elementor-nav-menu li {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  align-items: flex-end;
  text-align : right;
}


.menu-mobile a.elementor-sub-item {
	font-size : 16px !important;
}


/* page savoir-faire*/

.h3-savoir-faire h3{
	font-weight : 500 !important;
	font-size : 22px !important;
}



/*pagination chantier*/
.pagination-chantier span.post-navigation__next--label, .pagination-chantier span.post-navigation__prev--label {
	text-transform : none;
}


/*carroussel chantier */
#big-image img{
	height : 400px;
	width : 810px;
	object-fit: cover;
}

.carrousel-vignettes  img{
	height : 180px;
	width : 260px;
	object-fit: cover;
}

/*titre des articles */
.page-header .entry-title {
	margin-top : 30px;
	font-family : koho;
	text-align : center;
	text-transform : uppercase;
	font-weight : 800;
	color : #007882;
}


@media (max-width: 767px) { 
	.page-header .entry-title {
		font-size : 1.5rem;
		margin-top : 0px;
	}
	
}

/*boucle des articles chantiers*/

.img-boucle-chantier img {
	width : 340px;
	height : 230px;
	object-fit: cover;
}




/*hotspot organigrames */


/*.elementor-22 .elementor-element.elementor-element-f811dc5  .e-hotspot__outer-circle */

 .hotspot-filiale .e-hotspot__outer-circle
   {
	border-radius: 0%;
	height : 260px;
}

/*hotspot du groupe */
.hotspot-filiale .elementor-repeater-item-e7aced0 .e-hotspot__outer-circle
{
	height : 35px !important;
}


/*pages groupes...*/

.texte-2-colonnes {
	
    column-count: 2; /* Nombre de colonnes */
    column-gap: 40px; /* Espacement entre les colonnes */

}

@media (max-width: 767px) { 
	.texte-2-colonnes {
		column-count: 1;
	}
	
}


.big-titre-koho-h1 h1 {
	font-size: 3rem;
    font-weight: 600;
}

.titre-koho-h1 h1{
	font-size: 2rem;
	font-weight: 600;
}

@media (max-width: 767px) { 
	.big-titre-koho-h1 h1 {
		font-size: 2.5rem;
	}
	
	.titre-koho-h1 h1 {
		font-size: 1.5rem;
	}
	
}

.titre-koho-mobile {
	font-weight: 400 !important;
}

/*menu groupe pour ECAL...*/

.menu-color-selected a {
	color : #9E8C31 !important;
}


/*footer*/
/*menu*/

.menu-footer a {
	padding-left : 5px !important;
	padding-right : 5px !important;
	padding-top : 10px !important;
	padding-bottom : 10px !important;
}


/*couleur*/

.greencolor a {
	color : #007882 !important;
}

/*galerie image dans les articles*/

.gallery-article .gallery {
    display: grid;
    grid-template-columns: 3fr 1fr; /* 1 colonne large + 1 colonne étroite */
    grid-template-rows: repeat(3, 1fr); /* 3 lignes de hauteur égale */
    gap: 10px; /* Espacement entre les images */
    align-items: stretch; /* Étire les images pour remplir l'espace */
    height: 450px; /* Assure une hauteur uniforme */
}

/* Première image à gauche occupant toute la hauteur */
.gallery-article .gallery-item:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 4; /* Occupe les 3 lignes */
    min-height: 450px;
}


/* Première image à gauche occupant toute la hauteur */
.gallery-article .gallery-item:nth-child(1) img {
   height: 450px;
}

.gallery-article .gallery-item:nth-child(2) img,
.gallery-article .gallery-item:nth-child(3) img,
.gallery-article .gallery-item:nth-child(4) img {
	max-height : 100px;
}


/* Les trois images de droite se répartissent en trois lignes égales */
.gallery-article .gallery-item:nth-child(2),
.gallery-article .gallery-item:nth-child(3),
.gallery-article .gallery-item:nth-child(4) {
    grid-column: 2 / 3;
	padding: 0 15px 5px 0 !important;
   
}

/* Correction : aligner chaque image sur une ligne précise */
.gallery-article .gallery-item:nth-child(2) { grid-row: 1 / 2; }
.gallery-article .gallery-item:nth-child(3) { grid-row: 2 / 3; }
.gallery-article .gallery-item:nth-child(4) { grid-row: 3 / 4; }

/* Ajustement des images pour bien remplir leur cadre */
.gallery-article .gallery-icon img {
 /*   width: 100%;
    height: 100%; */
    object-fit: cover; /* Coupe l’image pour remplir sans distorsion */
}

/* Masquer les images 5 et 6 dans la galerie, mais elles restent visibles en lightbox */
.gallery-article .gallery-item:nth-child(n+5) {
    display: none;
}

/* Responsive - Passer en colonne unique sur mobile */
@media (max-width: 768px) {
    .gallery-article .gallery {
        grid-template-columns: 1fr; /* Une seule colonne */
        grid-template-rows: auto;
    }

    .gallery-article .gallery-item {
        grid-column: 1 / 2;
        grid-row: auto;
    }
}





@media (min-width: 768px) {
    .elementor-image-gallery .gallery-columns-2 .gallery-item {
        max-width: 100%;
    }
}

/*zone de recherche*/

.search-zone .elementor-widget-search .e-search .e-search-submit>svg:is(svg) {
	height: 20px;
}

.search-zone button.e-search-submit {
	max-height: 30px !important;
    padding: 2px !important;
}  

.search-zone .e-search-input {
	max-height: 30px;
}




/*compteur accueil*/

.font-compteur-million span.elementor-counter-number {
	font-family:KoHo, sans-serif;
}

.font-compteur-million span.elementor-counter-number-suffix {
	font-family:KoHo, sans-serif;
	/*font-weight : normal;*/
}

.font-compteur-million div.elementor-counter-number-wrapper {
	border : 2px solid #007882;
	padding : 5px;
	min-width : 210px;
}

.font-compteur-million div.elementor-counter-title {
	font-family:Poppins, sans-serif;
}

/* carte page accueil */

.slideshow {
    position: relative;
    width: 100%;
    max-width: 600px; /* Ajuste la largeur */
    height: 400px; /* Ajuste la hauteur */
    overflow: hidden;
}

/*pour mobile */
@media (max-width: 767px) { 
	.slideshow {
		height: 250px; /* Ajuste la hauteur */
	}
}


.slide {
    position: absolute;
	  top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
}

#image10  {
    position: absolute;
	  top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
/*    opacity: 0; */
	display : flex;
	justify-content : center;
}

#image10 img {
	opacity: 0;
}

/* Animation du changement d'images */
@keyframes slideshow {
    0% { opacity: 1; }
	25% { opacity: 1; }
    30% { opacity: 0; }
    100% { opacity: 0; }
}

/* Identifiants des images pour un meilleur contrôle */

#image1.visible { animation: fadeIn 0.2s linear 0s forwards; }

#image2.visible { animation: fadeIn 0.2s linear 0.2s forwards; }

#image3.visible { animation: fadeIn 0.2s linear 0.4s forwards; }

#image4.visible { animation: fadeIn 0.2s linear 0.6s forwards; }

#image5.visible { animation: fadeIn 0.2s linear 0.8s forwards; }

#image6.visible { animation: fadeIn 0.2s linear 1s forwards; }

#image7.visible { animation: fadeIn 0.2s linear 1.2s forwards; }

#image8.visible { animation: fadeIn 0.2s linear 1.4s forwards; }

#image9.visible { animation: fadeIn 0.2s linear 1.6s forwards; }



#image10.visible img {
    opacity: 0; /* Initialement cachée */
    animation: fadeIn 0.2s linear 1.8s forwards; /* Apparition après 9 secondes */
}

/* Animation d'apparition de l'image 4 */
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}


/* Assurer que l'image 4 reste visible après l'animation */
/*#image4 img {
    opacity: 1 !important; 
}
*/


/*carrousel entete */
.carroussel-accueil {
	max-height : 500px;
}



/*fleche devant les sous-menus entête accueil */

.arrow-submenu a{
    display: flex;       /* Garde le texte aligné avec la flèche */
    align-items: center; /* Centre verticalement */
    color: #9E8C31 ;      /* Applique la couleur demandée */
    font-size: 16px;     /* Ajuste la taille si nécessaire */
}

.arrow-submenu a::before {
    content: "▶";        /* Flèche pleine */
	font-family: Arial, sans-serif;
    color: #9E8C31 ;      /* Applique la couleur */
    margin-right: 8px;   /* Espace entre la flèche et le texte */
    font-size: 1em;      /* S'assure qu'elle est de la même taille que le texte */
}


.arrow-submenu-groupe a{
    display: flex;       /* Garde le texte aligné avec la flèche */
    align-items: center; /* Centre verticalement */
  /*  color: #007882 !important;      /* Applique la couleur demandée */
    font-size: 16px;     /* Ajuste la taille si nécessaire */
}

/*.arrow-submenu-groupe a:hover{
	color : #9E8C31 !important
}
*/

.arrow-submenu-groupe a::before {
    content: "▶";        /* Flèche pleine */
	font-family: Arial, sans-serif;
    color: #007882 !important;      /* Applique la couleur */
	background-color: transparent !important; /* Supprime tout fond */
    margin-right: 5px;   /* Espace entre la flèche et le texte */
    font-size: 1em;      /* S'assure qu'elle est de la même taille que le texte */
	opacity : 1 !important;
	
}

.arrow-submenu-groupe a:hover::before, .arrow-submenu-groupe a.elementor-item.elementor-item-active::before {
	 color: #9E8C31 !important;
}


.arrow-submenu-groupe .elementor-item:before {
	position : relative;
}


.font-semi-gras, .font-semi-gras h3 {
	font-weight : 600 !important;
}


.font-authentic {
	font-family:Authentic Signature, sans-serif;
}

.font-koho {
	font-family:KoHo, sans-serif;
}


.font-hanzel-titre-h1 {
	font-family:Hanzel, sans-serif;
	font-size : 2.25rem;
}

.font-hanzel {
	font-family:Hanzel, sans-serif;
}

.font-hanzel-menu a {
	font-family:Hanzel, sans-serif !important;
}

/****************************************************************************************/
/*fonts*/


/* Polices Authentic Signature */
@font-face {
    font-family: 'Authentic Signature';
    src: url('../../uploads/fonts/Authentic Signature.otf') format('opentype');
}

/* Polices Hanzel */
@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelBold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelBoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelCondensedBold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelCondensedBoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelCondensedItalic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelCondensedNormal.ttf') format('truetype');
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelExtendedBold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelExtendedBoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelExtendedItalic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelExtendedNormal.ttf') format('truetype');
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelItalic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelNormal.ttf') format('truetype');
	font-weight: 400;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelThinBold.ttf') format('truetype');
    font-weight: 300;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelThinBoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelThinItalic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelThinNormal.ttf') format('truetype');
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelWideBold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelWideBoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelWideItalic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'Hanzel';
    src: url('../../uploads/fonts/HanzelWideNormal.ttf') format('truetype');
}

/* Polices KoHo */
@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-Bold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-ExtraLight.ttf') format('truetype');
    font-weight: lighter;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-ExtraLightItalic.ttf') format('truetype');
    font-weight: lighter;
    font-style: italic;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-Italic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-Light.ttf') format('truetype');
    font-weight: 300;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-Medium.ttf') format('truetype');
    font-weight: 500;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-SemiBold.ttf') format('truetype');
    font-weight: 600;
}

@font-face {
    font-family: 'KoHo';
    src: url('../../uploads/fonts/KoHo-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}


/* poppins-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('../../uploads/fonts/poppins-v22-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 300;
  src: url('../../uploads/fonts/poppins-v22-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../../uploads/fonts/poppins-v22-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('../../uploads/fonts/poppins-v22-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('../../uploads/fonts/poppins-v22-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  src: url('../../uploads/fonts/poppins-v22-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../../uploads/fonts/poppins-v22-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  src: url('../../uploads/fonts/poppins-v22-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('../../uploads/fonts/poppins-v22-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  src: url('../../uploads/fonts/poppins-v22-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
