/* ******************************** */
/* NE PAS MODIFIER */
/* ******************************** */
:focus{outline: none!important}
/* MATOMO */
.matomo-mesure-audience{display:none}
/* overflow sans scroll ni coupure en hauteur */
.overflow-x-clip{overflow-x:clip}
/* masquer une section ayant la classe parent-to-hide  si le widget loop n'a pas d'élément */
.parent-to-hide:has(.e-loop-nothing-found-message){display:none}
/* le widget elementor icon ne gère que la hauteur et width est à 1em => revert-layer : Rétablit la valeur d'une propriété à la valeur qu'elle avait à la couche précédente.*/
.elementor-widget-icon svg{width:revert-layer!important}
/* ******************************** */

/* ******************************** */
/* A MODIFIER */
/* ******************************** */

/* COULEURS */
/* ******************************** */
/*
à mettre à jour et à utiliser dans ce fichier var(--e-global-color-xxxxxxxx)
Une fois les couleurs paramétrées dans Elementor, aller sur le site, inspecter le code et récupérer les éléments couleurs dans
.elementor-kit-6 {

--e-global-color-primary: #66A4A1;
--e-global-color-secondary: #897767;
--e-global-color-text: #2D2D38;
--e-global-color-accent: #F3F3F3;
--e-global-color-a7184e6: #FFFFFF;
--e-global-color-2d085e7: #000000;
--e-global-color-a07d143: #414355;
--e-global-color-95dab40: #449E9A;
--e-global-color-731f5d9: #99F0EE;
*/

.elementor-kit-6 {
  --principal : var(--e-global-color-primary);
  --primary : var(--e-global-color-primary);
  --secondaire: var(--e-global-color-secondary);
  --secondary: var(--e-global-color-secondary);
  --text: var(--e-global-color-text);
  --blanc: var(--e-global-color-a7184e6);
  --noir: var(--e-global-color-2d085e7);
  --gris: var(--e-global-color-accent);
  --gris-bleu: var(--e-global-color-a07d143);
  --primary-hover: var(--e-global-color-95dab40);
  --bleu-clair: var(--e-global-color-731f5d9);
}

.elementor-icon{color:var(--text)}

/* =========================== */
/* padding par défaut pour les sections - tous les containers sont à 0 0 0 0 par défaut */
/* =========================== */
section {--container-default-padding-left:40px!important;--container-default-padding-right:40px!important;--padding-left:40px!important;--padding-right:40px!important;}
section section {--container-default-padding-left:0px!important;--container-default-padding-right:0px!important;--padding-left:0px!important;--padding-right:0px!important;}
@media (max-width: 1023.98px) {
  section {--container-default-padding-left:30px!important;--container-default-padding-right:30px!important;--padding-left:30px!important;--padding-right:30px!important;}
}

@media (max-width: 767.98px) {
  section {--container-default-padding-left:20px!important;--container-default-padding-right:20px!important;--padding-left:20px!important;--padding-right:20px!important;}
}

/* =========================== */
/* LISTES A PUCES */
/* =========================== */
/* changement de couleur des puces : ="%23000000  par ="%23CODEHEXA */

/* Pour ajout de nouvelle puce
 1- à partir d'un svg (https://www.svgrepo.com/) ou enregistré depuis AI -
    l'encoder pour une utilisation dans CSS    https://yoksel.github.io/url-encoder/
    Coller le code du SVG dans "Insert SVG:"
    Cliquer sur Single dans "External quotes: single /double"
    Récupérer le code dans "Ready for CSS:" sans background-image:

2- ci-dessous coller dans une variable

3- Mettre à jour background-image: var(--puce) ci-dessous dans dans .elementor-widget-text-editor li:before

*/
.elementor-kit-6{
  /* check */
  /*
  --puce-li: url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cg id="check"%3E%3Cpath id="Vector" d="M6 12L10.2426 16.2426L18.727 7.75732" stroke="%23000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/g%3E%3C/svg%3E');

  --puce-blanche-li: url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cg id="check"%3E%3Cpath id="Vector" d="M6 12L10.2426 16.2426L18.727 7.75732" stroke="%23FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/g%3E%3C/svg%3E');
*/
  /* square */
  /*
  --puce-li:url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E%3Csvg fill="%23000000" viewBox="0 0 50 50" version="1.2" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" overflow="inherit"%3E%3Cpath d="M1 1h48v48h-48z"/%3E%3C/svg%3E');
  */
  /* circle */

  --puce-li:url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E %3Csvg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"%3E%3Ctitle%3Ecircle%3C/title%3E%3Ccircle cx="12" cy="12" r="6" fill-rule="evenodd" fill="%23000000" /%3E%3C/svg%3E');
  --puce-blanche-li:url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E %3Csvg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"%3E%3Ctitle%3Ecircle%3C/title%3E%3Ccircle cx="12" cy="12" r="6" fill-rule="evenodd" fill="%23FFFFFF" /%3E%3C/svg%3E');

  /* chevron */
  /*
  --puce-li:url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E %3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M10 17L15 12L10 7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke="%23000000" /%3E%3C/svg%3E');
  */
}

/* liste à puces par défaut de l'éditeur html on coupe les puces par défaut */
.elementor-widget-text-editor ul, .elementor-widget-text-editor li{list-style:none;}
/* indentation de la liste à puce*/
.elementor-widget-text-editor ul{padding-inline-start: 1rem;margin-bottom: 10px;margin-top: -8px;}
/* indentation au retour à la ligne sous la puce   -  valeur = padding-right + font-size */
.elementor-widget-text-editor li{text-indent: 0px; margin-left: 0px;}
/* .elementor-widget-text-editor li{text-indent: -18px; margin-left: 18px;} */
.elementor-widget-text-editor li{position:relative;}
.elementor-widget-text-editor li:before{--puce-height:10px;width: 10px;height: var(--puce-height);content: "";position: absolute;left: -18px;top: 50%;transform: translate(0, calc( -0.5 * var(--puce-height) ));background-repeat: no-repeat;background-image: var(--puce-li)}

.troisdx-bgcolor .elementor-widget-text-editor li:before{background-image: var(--puce-blanche-li)}

/* =========================== */

/* =========================== */
/* FORMULAIRES  */
/* =========================== */
form{overflow-x:clip}
/* Correctifs suite pb avec module redirection for CF7 (+ wp-config.php) */
.wpcf7 .screen-reader-response{position: static;overflow: visible;clip: inherit;clip-path: inherit;height: auto;width: auto;}
.wpcf7 form.invalid .wpcf7-response-output{background-color:red;color:#fff;font-weight:normal;border-color:red}
/* fin correctifs */

/* FORMULAIRES : champs */
/* ==================*/
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], .filter-wrapper :not(select), textarea  {color: var(--e-global-color-text)!important;padding: 5px!important;background-color: #fff!important;border: 1px solid var(--primary)!important;border-radius: 10px!important;}
.wpcf7-form [type=submit]{color: var(--e-global-color-text);border: none!important;border-radius: 0px;}
.wpcf7-form  [type=submit]:hover, .wpcf7-form [type="submit"]:focus, .wpcf7-form  button:focus, .wpcf7-form  button:hover {color: var(--e-global-color-primary);background-color: var(--e-global-color-text);text-decoration: none;}

/* FORMULAIRES : Messages après envoi + Champ non valide */
/* ==================*/
.wpcf7-not-valid-tip{color:red}
.wpcf7 .screen-reader-response {padding: 10px;margin-bottom: 10px;font-weight:bold}
.wpcf7 .screen-reader-response.invalid{background-color:red;color:#fff;font-weight:normal}
.wpcf7 .screen-reader-response.sent{background-color:green;color:#fff;font-weight:normal}
.wpcf7 .screen-reader-response ul{display:none}
.wpcf7 .screen-reader-response p{margin-bottom:5px}
.wpcf7 input[aria-invalid="true"], .wpcf7 textarea[aria-invalid="true"]{border-color:red!important}
/* =========================== */


/* HEADER */
/* =========================== */
/* Bouton Hamburger - ajout du terme MENU ( à modifier éventuellement) */
/* .wrapper-global-header .elementor-icon-wrapper:after{content:'MENU';font-size: 12px;position:absolute;right: -2px;bottom: -10px;}
*/

/* header scroll */
#header-scroll{ position:fixed;	top:0; right:0; z-index:100; transition: top 0.5s ease-in-out;}
.logged-in #header-scroll{top:32px}

/* couper les effet pour le sticky header */
.wrapper-logo.e-con ,.wrapper-logo.e-con .elementor-widget-container {transition-property: none;transition: background 0, border 0, box-shadow 0, transform 0;}

/* Couper le style d'Elementor pour le menu dropdown focus, hover, active*/
/*
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active, .elementor-nav-menu--dropdown .elementor-item.highlighted, .elementor-nav-menu--dropdown .elementor-item:focus, .elementor-nav-menu--dropdown .elementor-item:hover, .elementor-sub-item.elementor-item-active, .elementor-sub-item.highlighted, .elementor-sub-item:focus, .elementor-sub-item:hover {
    background-color: inherit!important;
    color: inherit!important;
}
*/
.e--pointer-double-line .elementor-item::after, .e--pointer-double-line .elementor-item::before, .e--pointer-overline .elementor-item::after, .e--pointer-overline .elementor-item::before, .e--pointer-underline .elementor-item::after, .e--pointer-underline .elementor-item::before {height:0px!important;}
/* =========================== */

/* ******************************** */
/* STYLE PERSONNALISE GENERIQUE  */
/* ******************************** */

/* couper les effet pour le sticky header */
.wrapper-logo.e-con ,.wrapper-logo.e-con .elementor-widget-container {transition-property: none;transition: background 0, border 0, box-shadow 0, transform 0;}

/* LIENS */
/* =========================== */
.btn-pleine-largeur a{display:inline-block;width:100%}

/* underline des liens d'un couleur différente */
/*
a{text-decoration: none;box-shadow: inset 0 -1px 0 var(--secondary), 0 1px 0 var(--secondary)!important; /*transition: box-shadow .3s;*//*overflow: hidden;}
.lien-sans-style a, a.lien-sans-style, a.elementor-button, a.dialog-close-button,  a.btn, #wpadminbar a{/*border-bottom: none;*//*box-shadow:unset!important;}
header a, #elementor-popup-modal-1083 a, #elementor-popup-modal-3095 a, :not(p).elementor-heading-title a{/*border:none!important;*//*box-shadow:unset!important;}
a:hover, :not(p).elementor-heading-title a:hover{box-shadow: inset 0 -2px 0 var(--secondary), 0 3px 0 var(--secondary)!important;}
.troisdx-bgcolor-secondary a{box-shadow: inset 0 -1px 0 var(--primary), 0 1px 0 var(--primary)!important;}
.troisdx-bgcolor-secondary a:hover{box-shadow: inset 0 -2px 0 var(--primary), 0 3px 0 var(--primary)!important;}

.lien-sans-style a:hover, a.lien-sans-style:hover, a.elementor-button:hover, a.dialog-close-button:hover,  a.btn:hover, .troisdx-bgcolor-secondary .lien-sans-style a:hover, .troisdx-bgcolor-secondary a.lien-sans-style:hover, .troisdx-bgcolor-secondary a.elementor-button:hover, .troisdx-bgcolor-secondary a.dialog-close-button:hover,  .troisdx-bgcolor-secondary a.btn:hover, .troisdx-bgcolor-secondary a.elementor-button-link{background-color: transparent;box-shadow:unset!important;}
*/


/* couper le underline des liens  */
.lien-sans-style a, a.lien-sans-style{}
.lien-sans-style a:hover, a.lien-sans-style:hover{}

.troisdx-bgcolor-primary, .troisdx-bgcolor-primary a, .troisdx-bgcolor-primary a:hover{color: var(--blanc);}
.troisdx-bgcolor-secondary, .troisdx-bgcolor-secondary a, .troisdx-bgcolor-secondary a:hover{color: var(--noir);}


/* widget-troisdx-global-link-container "Si placé en 1er, au hover les liens dessous simulent un hover" */
.troisdx-bgcolor .elementor-widget-troisdx-global-link-container a{}
.elementor-widget-troisdx-global-link-container:hover ~ .elementor-widget-heading a, .elementor-widget-troisdx-global-link-container:hover ~ .elementor-widget-text-editor a{}
.elementor-widget-troisdx-global-link-container:hover ~ .elementor-widget-button a.elementor-button-link{}
.elementor-widget-troisdx-global-link-container:hover ~ .elementor-widget-button a.elementor-button-link:after{}
/* =========================== */

/* Slider-SWIPER  Pagination */
/* =========================== */
/*
.swiper-pagination-bullets {bottom:40px!important}
.swiper-pagination-bullets .swiper-pagination-bullet{width:17px;height:17px;opacity:1!important;  border : 1px solid var(--principal) ;  padding : 4px ;  background-clip : content-box ;background-color:var(--blanc)!important}
.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active{background-color:var(--noir)!important}

@media (max-width: 767.98px) {
  .swiper-pagination-bullets {bottom:5px!important}
}
*/
/* =========================== */

/* Slider-SWIPER  Navigation */
/* =========================== */
/*
.elementor-swiper-button .cls-1{stroke: var(--noir)!important;}
*/
/* =========================== */


/* MENU OVERLAY */
/* =========================== */
.wrapper-menu-overlay, .container-menu-overlay{overflow-x: clip;overflow-y: clip;}
.contenu-menu-overlay{overflow-x:hidden;}
/* =========================== */


.troisdx-bgcolor.troisdx-bgcolor-primary{background-color:var(--primary)}
.troisdx-bgcolor.troisdx-bgcolor-secondary{background-color:var(--secondary)}

.wrapper-menu-principal{padding:20px 0 10px 0}
.wrapper-menu-principal ul{padding-left:125px}
.wrapper-menu-principal .menu-item{margin-right:50px!important;padding:4px 0}
.wrapper-menu-principal .menu-item:last-child{margin-right:0px!important}
.wrapper-menu-principal .menu-item-2{margin-left:25px!important}
.wrapper-menu-principal .menu-item-3{margin-left:165px!important}

.wrapper-menu-principal .menu-item a{padding:2px 0!important}
.wrapper-menu-principal .menu-item.current-menu-item a,.wrapper-menu-principal .menu-item a:hover{border-top:1px solid var(--blanc); border-bottom:1px solid var(--blanc)}

.sticky-header-active .wrapper-logo{--width:100px!important;top:-11px!important}
.sticky-header-active .wrapper-logo img{width:100px!important}

@media (max-width: 1023.98px) {
  .wrapper-logo{--width:150px!important;/*top:-11px!important*/}
}
@media (max-width: 767.98px) {
  .wrapper-logo{--width:100px!important;top:-11px!important}
  .wrapper-logo img{width:100px!important}
}

blockquote{border-left:5px solid var(--primary);padding: 10px 20px;    margin: 0 0 20px;}


/*  listes réalisations */
.wrapper_autres_realisations{display: flex;flex-direction: row;justify-content:center;align-items:center;align-content:center;gap: 0px 0px;flex-wrap: wrap;}
.item-autre-realisation{position:relative;z-index:10;display: flex;flex-direction: column;justify-content:center;align-items:flex-start;width:33%;/*height:100%;max-width:300px;min-width:300px;*/cursor:pointer}
@media (max-width: 767.98px) {
  .item-autre-realisation{width:50%}
}
@media (max-width: 559.98px) {
  .item-autre-realisation{width:100%;max-width:300px}
}
.wrapper_link_container{position:absolute;z-index:8;left:0;top:0;width:100%;height:100%;}
.wrapper_link_container .link_container, .item-autre-realisation .link_container{width:100%;height:100%;}

.wrapper_link_container a{display:block;width:100%;height:100%;position:relative;--plus: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"%3E%3Cpath d="M352 128C352 110.3 337.7 96 320 96C302.3 96 288 110.3 288 128L288 288L128 288C110.3 288 96 302.3 96 320C96 337.7 110.3 352 128 352L288 352L288 512C288 529.7 302.3 544 320 544C337.7 544 352 529.7 352 512L352 352L512 352C529.7 352 544 337.7 544 320C544 302.3 529.7 288 512 288L352 288L352 128z" fill="%23FFFFFF" stroke="%23FFFFFF"  /%3E%3C/svg%3E');}
.wrapper_link_container a, .link_container a:hover, .link_container a:focus, .link_container a:active{
  text-decoration:none!important;  text-decoration-line: none!important;  text-decoration-thickness: unset!important;  text-decoration-style: unset!important;  text-decoration-color: unset!important;  box-shadow:unset!important;}

.wrapper_link_container .link_container a{background-position: 50% 40%;}
.wrapper_link_container:hover .link_container a{background-color:rgba(0,0,0,0.5);background-image: var(--plus);background-repeat: no-repeat;background-position: 50% 50%;background-size:40px 40px;
transition: background-color .5s linear, background-position 0.5s linear;
}

.liste-realisations .elementor-widget-loop-grid .elementor-grid .e-loop-item{height:calc(24vw / 4 * 3);overflow:hidden}
@media (max-width: 1023.98px) {
  .liste-realisations .elementor-widget-loop-grid .elementor-grid .e-loop-item{height:calc(49vw / 4 * 3);}
}

@media (max-width: 767.98px) {
  .liste-realisations .elementor-widget-loop-grid .elementor-grid .e-loop-item{height:calc(96vw / 4 * 3);}
}



/* page fiche réalisation */

@media (min-width: 768px) {
  .single-realisations .swiper-slide{height:calc(48vw / 4 * 3);overflow:hidden}
  .texte-fiche-realisation{max-width:600px;padding-left:10px}
}
@media (min-width: 1024px) {
  .texte-fiche-realisation{padding-left:50px}
}
@media (min-width: 1200px) {
  .texte-fiche-realisation{padding-left:100px}
}

/* ******************************** */
/* STYLE PERSONNALISE MODELES */
/* ******************************** */


/* Modèle 201 - Bouton fond transparent bord gris */
/* =========================== */
.m201-element i:before{color:var(--primary)!important}

/* =========================== */


/* Modèle 300 – Titre haut de page Global */
/* =========================== */
@media (max-width: 767.98px) {
  .m300-wrapper img{width:18px;}
}

/* Modèle 400 – Réassurance Global */
/* =========================== */
@media (max-width: 767.98px) {
  .m400-element{max-width:300px;margin:auto}
  .m400-element .img-wrapper {padding-top:30px}
  .m400-element .img-wrapper img{max-width:100px;margin:auto}
}
/* =========================== */




/* =========================== */
/* MEDIA QUERY  */
/* =========================== */
/* EN-DESSOUS de ... */

@media (max-width: 1119.98px) {

}

@media (max-width: 1023.98px) {

}

@media (max-width: 767.98px) {

}
