@charset "UTF-8";

/* Reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
	border:0;
	font:inherit;
	/* Conserver ou non le calcul des tailles automatiques ? */
	/* font-size:calc(12px + (16 - 12) * ((100vw - 300px) / (1900 - 300))); */
	margin:0;
	padding:0;
	font-weight:normal;
	box-sizing: border-box;
}


*, *:before, *:after {
  box-sizing: inherit;
}


/* Fonts */


/* Light */
.inter-300 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

/* Regular */
.inter-400 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* Medium */
.inter-500 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

/* Semi-bold */
.inter-600 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}


/* Bold */
.inter-700 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}



/* Parameters */
html {
	--max-width:1440px;
	--vert:#B1C800;
	--vert_clair:#B1C80059;
	--beige:#EFEAE2;

}

/* Régler le sizing style */
html {background-color:#EAE7E4;font-family:"Inter", sans-serif;color:#000;}
body {max-width:var(--max-width);margin:0 auto;box-shadow:0px 0px 40px rgba(0,0,0,0.1);background-color:#fff;}


/* Global layout */
hr {height:17px;background:url('../images/hr.svg') repeat-x 0 0;border:0;width:90%;display:block;margin:2em auto;}
a, a:hover, a:visited {text-decoration:none;color:inherit;}
p a, p a:visited {color:var(--rouge);text-decoration:underline;}
p a:hover {background-color:var(--rouge);color:#fff;text-decoration:none;}
strong {font-weight:bold;}
p {font-size:16px;line-height:1.4em;padding:1em 0;text-align:justify;}


p em {font-style:normal;font-weight:bold;background-color:var(--vert_clair);}
h1 em {font-weight:inherit;font-style:normal;position:relative;display:inline-block;z-index:0}
h1 em::after {content:"";position:absolute;width:100%;height:50%;left:0;top:50%;background-color:var(--vert_clair);z-index:-1;}

b, strong, .bold {font-weight:bold;font-size:inherit;}
small {font-size:0.8em;}
ul li, ol li {font-size:1.25em;line-height:1.3em;margin-bottom:1em;}
img {max-width:100%;}
code {display:block;border:1px solid;padding:1em;margin:0.5em 0;background-color:var(--mauve);width:100%;}
button {cursor:hand;}

section {width:100%;}


/* Raccourcis */
.flex {display:flex;}
.column {flex-direction:column;}
.wrap {flex-wrap:wrap;}
.nowrap {flex-wrap:nowrap;}
.space-between {justify-content:space-between;}
.space-evenly {justify-content:space-evenly;}
.space-arround {justify-content:space-arround;}
.justify-center {justify-content:center;}
.align-center {align-items:center;}
.no-margin {margin:0;}
.shadow {box-shadow:0 0.1rem 0.5rem 0 rgba(0,0,0,.15);}
.uppercase {text-transform:uppercase;}
.rouge {color:red;}



.surligne {position:relative;display:block;z-index:0}

.surligne {box-decoration-break: clone;background:linear-gradient(to bottom, transparent 50%, var(--vert_clair) 50%);

  background-repeat: no-repeat;box-decoration-break: clone;z-index:-1}




/* Section Cover de rubrique*/
section.cover_texte {width:100%;height:580px;padding:0 7.5%;background-position:center center;}
img.alternative_mobile {display:none;}

section.cover_texte .texte {flex:50%;max-width:50%;align-self:flex-end;padding:0 5%;}
section.cover_texte .texte h1 {font-size:32px;line-height:32px;}
section.cover_texte .texte h1 span.inter-300 {line-height:39px;margin-top:0.4em;}
section.cover_texte .texte h2 {font-size:32px;line-height:38px;margin-top:0.6em;}
section.cover_texte .texte span.descriptif {font-size:16px;line-height:22px;margin-top:1.2em;}
section.cover_texte button.cta {margin:3em 0;width:fit-content;}
section.cover_texte.inverser .texte {margin-left:auto;}
body.rubrique section.cover_texte .texte {align-self:flex-start;}
body.sommaire section.cover_texte button.cta, body.article section.cover_texte button.cta{display:none;}


/* Header */
header.main main {background-color:#141215;color:#fff;margin:0 auto;align-items:center;padding:1.25em 5%;}
header.main main .cta {font-size:13px;font-weight:700;}
header.main main .cta.devis {margin:auto 1.5em;}
header.main main .engagement {align-self:flex-start;margin-top:-1em;margin-left:auto;}
header.main main .engagement .note strong {margin:0 0.5em;font-size:14px;font-weight:700;}
header.main main .engagement .note small {font-weight:500;font-size:8px;line-height: 1;}
header.main main .engagement a {font-weight:600;font-size:24px;}

header.main nav {background-color:#fff;flex-basis:100%;width:100%;padding:1em 5%;font-size:13px;}
header.main nav ul {list-style-type:none;justify-content:center;margin:0;padding:0;}
header.main nav ul li {flex:1;text-align:center;font-size:13px;}
header.main nav ul li a {text-decoration:none;align-items:center;justify-content:center;}
header.main nav ul li a span {font-weight:500;color:#000;}
header.main nav ul li a span.exergue {font-weight:700;color:var(--vert);}
header.main nav ul li a img {height:50px;width:50px;}
header.main nav ul li a:hover {}

header.main nav {max-width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-behavior:smooth;}


/* CTA */
.cta {border:1px solid #000;padding:0.7em 1.2em;background-color:#000;color:var(--vert);font-size:15px;font-weight:600;display:flex;align-items:center;border-radius:2px;white-space:nowrap;}
.cta.highlight {border:1px solid var(--vert);}
.cta.grand {padding:1.15em 1.5em;}
.cta:after {content:url('images/fleche-verte.svg');width:18px;margin-left:1em;}
.cta.flottant {position:fixed;z-index:99;bottom:20px;right:20px;}
.cta.flottant:after {content:url('images/pictogramme-devis-blanc.svg');width:18px;margin-left:1em;}

a.appeler, a.appeler:hover, a.appeler:visited {color:var(--vert);}

/* Images */
figure.dans-texte {position:relative;margin:1.25em auto;max-width:970px;}
figure.dans-texte img {border-radius:15px;/*box-shadow:10px 10px 0px #ea505d;*/}
figure.dans-texte figcaption {margin:15px;position:absolute;bottom:0;right:0;padding:0.15em 0.30em;background-color:rgba(255, 255, 255, 0.70);}
figure.dans-texte figcaption p {font-style:italic;}


/* listes */
main.contenu ul li {list-style-type:none;}
main.contenu ul li:before {content:"—";margin-right:1em;color:var(--rouge);}


/* Scrollable */
.scrolling_zone {position:relative;max-width:100%;}
.scrollable {position:relative;max-width:100%;}
button.rond {position:absolute;top:calc(50% - (32px / 2));z-index:2;width:32px;height:32px;border:3px solid #fff;border-radius:32px;background-color:var(--vert);color:#fff;cursor:pointer;text-align:center;font-weight:bold;font-size:1.4em;justify-content:center;align-items:center;display:flex;}
button.rond.precedent {left:calc(-32px/2);}
button.rond.precedent:before{content:"‹";}
button.rond.suivant {right:0;}
button.rond.suivant:before{content:"›";}

.scrollable {flex-wrap:nowrap;overflow-x:scroll;max-width:100%;flex-wrap:nowrap;overflow-x:scroll;    -webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-behavior:smooth;position:relative;}
.scrollable::-webkit-scrollbar {padding:0 1em;width:10px;height:10px;}
.scrollable::-webkit-scrollbar-thumb {background:var(--vert);border-radius:10px;}
.scrollable::-webkit-scrollbar-track {background:#efefef;border-radius:10px;}
.scrollable.retirer-scroller {overflow-x:visible;padding-bottom:0;}

.scrollable::-webkit-scrollbar {display:none;}
.scrollable::-webkit-scrollbar-thumb {display:none;}
.scrollable::-webkit-scrollbar-track {display:none;}



section.liste {padding:0 10%;margin-bottom:2em;width:100%;margin:8em 0;}

section.realisations {background-color:var(--beige);}



/* Liste carré */
section.liste_carre main {flex-wrap:nowrap;}

section.liste_carre h1.main {
	font-size:28px;
	line-height:34px;
}

section.liste_carre span.vert {
	font-size:18px;
	line-height:22px;
}

section.liste_carre article.card {margin:0 1em 2em 0;}
section.liste_carre article.card:last-child {margin-bottom:0;}
section.liste_carre article.card picture {width:300px;}
section.liste_carre figure {position:relative;}
section.liste_carre figure img {border-radius:6px;object-fit:cover;height:100%;}
section.liste_carre figure figcaption {position:absolute;width:50%;left:calc(50% - 50% / 2);bottom:0;background-color:#fff;padding:2em;}
section.liste_carre figure figcaption h1 {font-size:18px;font-weight:700;line-height:22px;margin-bottom:1em;}
section.liste_carre figure figcaption:before {content:"";display:block;position:absolute;width:20%;top:0;left:calc(50% - 20% / 2);border-bottom:15px solid var(--vert_clair);margin-top:-6.25px;}



/* Section liste_numerotee */
section.liste_numerotee h1 div,
section.liste_numerotee h1 div em {
	font-weight: 700 !important;
	font-size: 32px !important;
}

section.liste_numerotee h1 span {
	font-weight: 300;
	font-size: 32px;
}

section.liste_numerotee .arguments_numerotes {
    counter-reset: custom-counter; /* Initialise le compteur */
    list-style: none; /* Supprime les puces par défaut */
    padding: 0;
    display: flex;
    flex-wrap: wrap; /* Permet aux éléments de passer à la ligne */
    justify-content: space-between; /* Espace égal entre les éléments */
	margin-top:4em;
	gap: 50px; 	
}

section.liste_numerotee .arguments_numerotes li {
    flex: 1 1 calc(25% - 40px); /* Chaque élément occupe 25% de la largeur moins un peu d'espace pour le gap */
	margin-bottom: 0px; /* Espace entre les éléments */
    text-align: left; /* Assure que le texte et les numéros sont alignés à gauche */
    padding-left: 0; /* Enlève le padding gauche car le numéro est au-dessus */
    position: relative; /* Nécessaire pour positionner la ligne */
}

section.liste_numerotee .arguments_numerotes li::before {
    counter-increment: custom-counter; /* Incrémente le compteur */
    content: counter(custom-counter) " —"; /* Concatène le numéro avec un trait */
    display: block;
    font-size: 72px;
    color: #A5C62E; /* Couleur du numéro et du trait */
    font-weight: 400;
    line-height: 0.9;
    margin-bottom: 10px; /* Espace entre le numéro et le titre */
}

section.liste_numerotee .arguments_numerotes strong {
    display: block;
	font-weight: 700;
	font-size: 18px;
	line-height:22px;
    margin: 20px 0 10px 0; /* Espace entre le titre et le numéro/ligne */
    color: #000; /* Couleur du titre */
}

section.liste_numerotee .arguments_numerotes span {
    margin-top: 1.3em;
	display:block;
    color: #333;
	font-weight: 400;
	font-size:16px;
	line-height:22px;
}


section span.vert {font-size:18px;color:var(--vert);margin:0.75em 0 2em 0;}

/* Style Cards */

section.cards {margin-top:-4.7em;padding:0 10%;width:100%;}
section.cards main, main.liste-cards {gap:1%;}

article.card {position:relative;flex:1;flex-grow:1;flex-basis:20%;width:300px;min-width:200px;max-width:360px;justify-content:space-between;background-color:#fff;box-shadow:0px 3px 6px #00000029;border-radius:6px;margin:0em 1em 2em 1em;}
article.card h1 {font-size:16px;line-height:19px;font-weight:600;padding:1.3em 1em 1em 1em;text-align:left;}
article.card span.lieu_chantier {font-size:12px;line-height:15px;padding:0 0 2em 1em;text-align:left;}
article.card picture {min-width:100px;min-height:100px;width:200px;object-fit:cover;border-radius:6px;position:relative;display:block;}
article.card picture:after {content:"";display:block;position:absolute;width:25%;left:calc(50% - 25% / 2);border-bottom:15px solid var(--vert_clair);margin-top:-6.25px;}


/* Cards des sous-rubriques sur rubrique */
article.card_h {flex:1;flex-grow:1;flex-basis:30%;min-width:30%;max-width:100%;justify-content:space-between;background-color:#fff;box-shadow:0px 3px 6px #00000029;border-radius:2px;height:auto;}
article.card_h a {display: flex;  align-items: stretch;  flex-wrap: nowrap; }
article.card_h .informations {display:flex;flex-direction:column;padding:1em;text-align:left;}
article.card_h .informations h1 {font-weight:700;font-size:18px;text-align:left;}
article.card_h .informations span.texte {margin:0.75em 0 1em 0;font-weight:400;font-size:12px;text-align:left;}

article.card_h img {min-width:110px;object-fit:cover;margin-left:auto;height:100%;}

span.cta_like, a.cta_like {display:flex;align-items:center;color:var(--vert);font-weight:bold;font-size:13px;}
span.cta_like:before, a.cta_like:before {content:url('images/fleche-verte.svg');width:18px;height:auto;margin-right:1em;}


section main {width:100%;flex-wrap:wrap;}




/* Section catalogue produits */
section.catalogue_produits .titraille {
	margin-top:2em;
}


section.catalogue_produits .titraille h1 {
	font-weight:400;
	font-size:28px;
}

section.catalogue_produits .titraille h2 {
	color:var(--vert);
	font-weight:400;
	font-size:18px;
	margin-top:0.5em;
}

section.catalogue_produits p.legende,
section.catalogue_realisations p.legende {
	font-size:11px;
}

section.catalogue_produits main {margin:2em 0;}

section.catalogue_produits main article.card h1 {
	font-weight:600;
	font-size:16px;
}

section.catalogue_produits main article.card {width:auto;max-width:256px;}
section.catalogue_produits main article.card picture {width:auto;max-width:256px;}
section.catalogue_produits main article.card picture img {border-radius:10px;}

section.catalogue_produits main article.card::after {
    content: url('data:image/svg+xml;base64,CjxzdmcgaWQ9IkZsYWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjE4IiB2aWV3Qm94PSIwIDAgMjggMTgiPgogICAgPGcgaWQ9IlJlY3RhbmdsZV82MyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkpIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmUyZTIiIHN0cm9rZS13aWR0aD0iMSI+CiAgICAgICAgPHJlY3Qgd2lkdGg9IjEwIiBoZWlnaHQ9IjE4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjkiIGhlaWdodD0iMTciIGZpbGw9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfNjIiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDYyIiB3aWR0aD0iOSIgaGVpZ2h0PSIxOCIgZmlsbD0iIzBlMmU4NiIvPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV82NCIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgNjQiIHdpZHRoPSI5IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOSkiIGZpbGw9IiNhYTIxMjEiLz4KPC9zdmc+Cg==');
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: auto;
    display: block;
}



/* Section catalogue réalisations */
section.catalogue_realisations {
	background: linear-gradient(to bottom, #efefef 0%, #ffffff 40px); /* Du gris vers le blanc */
	padding-top:10em;
	padding-bottom:1em;
}

section.catalogue_realisations main.scrollable {gap:1.6em;}
section.catalogue_realisations main article.card {flex:0 0 calc(25% - 1.5em);margin:0;}
section.catalogue_realisations main article.card picture {width:260px;}
section.catalogue_realisations main article.card picture img {border-radius:10px;}
section.catalogue_realisations main article.introduction {padding:2em;border:1px solid #ccc;}
section.catalogue_realisations main article.introduction span.titre {font-size:18px;color:var(--vert);}
section.catalogue_realisations main article.introduction footer strong {margin:0 0.5em;}
section.catalogue_realisations main article.introduction footer small {font-size:8px;}

section.catalogue_realisations.clients_satisfaits {
	margin:0;
	background:none;
	background-color:var(--beige);
}

section.catalogue_realisations.clients_satisfaits main.scrollable {padding:6em 0 1em 0;}
section.catalogue_realisations.clients_satisfaits {padding-bottom:6em;}


/* Section notre équipe */
section.notre_equipe {background-color:#000;margin:0;padding:4em 10%;}
section.notre_equipe .titraille {max-width:750px;margin:0 auto;margin-top:2em;text-align:center;}
section.notre_equipe .titraille h1 {color:#fff;font-weight:700;font-size:32px;line-height:39px;}
section.notre_equipe .titraille span.introduction {color:var(--vert);font-size:18px;line-height:22px;margin-top:0.75em;}
section.notre_equipe main {margin-top:5em;}
section.notre_equipe main article.auteur {
	background-color:#FFFFFF33;
	color:#fff;
	position:relative;
	flex:1;
	flex-grow:1;
	padding:0 2% 2% 2%;
	justify-content:space-between;
	border-radius:6px;
	margin:0em 1em 2em 1em;
	text-align:center;
}
section.notre_equipe main article.auteur img {border-radius:50px;margin-top:-30px;}
section.notre_equipe main article.auteur h1 {font-size:28px;line-height:34px;color:var(--vert);margin-top:0.25em;}
section.notre_equipe main article.auteur .titre_professionnel {font-size:18px;line-height:22px;margin:0.5em 0;}
section.notre_equipe main article.auteur .presentation {font-size:12px;line-height:15px;}

/* Section Texte/Image */
section.texte_image {gap:4em;}

section.texte_image .texte, 
section.texte_image .image {flex:1;}

section.texte_image .texte h1 {font-size:32px;}
section.texte_image .texte h1 em {font-weight:700;display:inline;width:fit-content;}
section.texte_image .texte h1 span {margin-top:0.25em;}
section.texte_image .texte ul {list-style:none;padding-left:0;margin-top:2em;}
section.texte_image .texte ul li {
    margin-bottom: 20px; 
    font-size: 18px; 
    font-weight:700;
    display: flex;
    align-items:center;
}
section.texte_image .texte ul li::before {
	content:url('images/fleche-verte-dans-rond.svg');
	display: inline-block;
	margin-right: 30px;
	width:71px;
	height:71px;
	flex-shrink: 0;
}
section.texte_image .image figure {position:relative;}
section.texte_image .image figure::before {
	content: '';
    position: absolute;
    left: -31px;
    top: 50px;
    width: 72px;
    height: 16px;
    background-color: var(--vert_clair);
}
section.texte_image .image figure img {
	border-radius:10px;
	width: 100%; 
	height: auto;
	object-fit: cover;
	max-height: 500px;
}

section.texte_image.azurenov .texte h1 {
	font-weight:700;
	font-size:32px;
	font-weight:39px;
}

section.texte_image.azurenov .texte span.texte {
	margin-top:1.5em;
}




/* Section rubrique à la une */

section.rubrique_une + section.rubrique_une {
    margin-top:-8em; /* Uniquement pour les sections consécutives */
}

section.rubrique_une main{
	gap:4em;
	border:1px solid #EFEAE2;
	border-radius:8px;
	padding:1em;
}

section.rubrique_une.image_gauche .texte {order:2;}

section.rubrique_une .texte, 
section.rubrique_une .image {
	flex:1;
}

section.rubrique_une .texte {
	margin-right:5%;
	margin-left:5%;
}


section.rubrique_une .texte h1 {
	margin-top:calc(50px - (32px / 2));
    font-size: 32px;
    line-height: 39px;
	font-weight:700;
}

section.rubrique_une .texte .texte {
	margin:1em 0;
    font-size: 16px;
    line-height: 22px;
}

section.rubrique_une .texte a.lien {
    font-size: 13px;
	font-weight:700;
    line-height: 16px;
	color:var(--vert);
}

section.rubrique_une .texte a.lien:before {
	content:"→";
	font-size:16px;
	color:var(--vert);
	margin-right:0.75em;
}


section.rubrique_une .image figure {
	position:relative;
}

section.rubrique_une .image figure::before {
	content: '';
    position: absolute;
    left: -31px;
    top: 50px;
    width: 72px;
    height: 16px;
    background-color: var(--vert_clair);
}


section.rubrique_une.image_gauche .image figure::before {
	content:none;
}

section.rubrique_une.image_gauche .image figure::after {
	content: '';
    position: absolute;
    right: -31px;
    top: 50px;
    width: 72px;
    height: 16px;
    background-color: var(--vert_clair);
}


section.rubrique_une .image figure img {
	border-radius:10px;
	width: 100%; /* Assure que l'image prend 100% de la largeur du conteneur */
	height: auto; /* Maintient la hauteur proportionnelle */
	object-fit: cover; /* Remplit le conteneur sans déformer l'image */
	max-height: 500px; /* Limite maximale pour la hauteur, à ajuster si nécessaire */
}



/* Section CTA milieu de page */
section.cta_milieu_page {
	background-color:var(--beige);
	padding-bottom:2em;
}

section.cta_milieu_page main {
	max-width:750px;
	margin:0 auto;
}

section.cta_milieu_page main h1 {
	margin:2em 0 1.5em 0;
	font-weight:400;
	font-size:28px;
	text-align:center;
}

section.cta_milieu_page main .regle {
	width:80%;
}


/* Section Texte de la rubrique */
section.texte_rubrique {
	padding-bottom:8em;
}

section.texte_rubrique header {
  position: relative;
  width: 100%;
  text-align: center;
}

section.texte_rubrique header .cover {
  width: 100%;
  height: auto;
  display: block;
}

section.texte_rubrique header h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size:32px;
  line-height:39px;
  font-weight:300;
  background-color:#fff;
  padding:0.5em;
}

section.texte_rubrique article {
	max-width:716px;
	margin: 6em auto 4em auto;
}

section.texte_rubrique article h1 {
	font-weight:700;
	font-size:32px;
}

section.texte_rubrique article .introduction {
	font-weight:400;
	font-size:18px;
	color:var(--vert);
	padding:2em 0;
}

section.texte_rubrique article .texte h2 {
	font-weight:400;
	font-size:28px;
	padding:1.5em 0 0.5em 0;
}

section.texte_rubrique article .texte h3 {
	font-weight:400;
	font-size:18px;
	line-height:21px;
	padding:1.5em 0 1em 0;
}

section.texte_rubrique article .texte p {
	font-weight:400;
	font-size:16px;
	line-height:22px;
	text-align:left;
	padding:0.75em 0;
}

section.texte_rubrique article .texte ul {list-style-type:none;}
section.texte_rubrique article .texte ul li {
	font-size:16px;
	line-height:22px;
}
section.texte_rubrique article .texte ul li:before {
	content:"→";
	font-size:16px;
	color:var(--vert);
	margin-right:0.75em;
}


section.texte_rubrique footer {
	max-width:900px;
	margin:0 auto;
}

section.texte_rubrique footer.cta_beige h1 {
	font-weight:400;
	font-size:18px;
}




/* Section rubriques associées */
section.rubriques_associees {
	background-color:var(--beige);
	padding:4em 10% 6em 10%;
	margin:0;
}

section.rubriques_associees h1 {
	font-size:32px;
	font-weight:700;
	line-height:39px;
	margin-bottom:1em;
	max-width:800px;
	text-align:center;
}


/* Footer CTA (beige) */
footer.cta_beige {
	background-color:var(--beige);
	padding:2em;
	position: relative;
    width: 100%;
    overflow: hidden;
	border: 1px solid #DEDAD3;
	border-radius:2px;
}


footer.cta_beige .bouton-demi-cercle {
    position: absolute;
    left: -50px; /* Positionne le demi-cercle de manière à ce qu'il soit coupé à droite */
    top: 50%;
    transform: translateY(-50%);
    width: 100px; /* Diamètre du cercle complet */
    height: 100px; /* Diamètre du cercle complet */
    overflow: hidden; /* Assure que seule la moitié du cercle est visible */
}

footer.cta_beige .bouton-demi-cercle::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--vert);
    border-radius: 50%;
}

footer.cta_beige .bouton-demi-cercle::after {
    content: '→';
    position: absolute;
    right:100%;
	left:50%;
    top:50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 1.5em;
}


footer.cta_beige h1 {
	font-weight:400;
	font-size:28px;
}

footer.cta_beige span {
	font-weight:400;
	font-size:18px;
	margin-top:0.75em;
}

footer.cta_beige a.tel {
	color:var(--vert);
	font-weight:700;
	font-size:28px;
	margin-bottom:0.35em;
}


/* Section de liste horizontale */
section.liste_horizontale h1.main {
	font-size:28px;
	line-height:34px;
}

section.liste_horizontale span.vert {
	font-size:18px;
	line-height:22px;
}


/* Section materiaux */
section.materiaux h1 {
	font-size:32px;
	line-height:39px;
	font-weight:700;
}

section.materiaux span.sous_titre {
	font-size:32px;
	line-height:39px;
	font-weight:300;
	margin-top:0.4em;
}

section.materiaux .colonnes {
	margin-top:3em;
	gap:2em;
}

section.materiaux .colonnes article h1 {
	font-size:28px;
	line-height:34px;
	font-weight:400;
}

section.materiaux .colonnes article h2 {
	margin-top:0.5em;
	font-size:18px;
	line-height:22px;
	font-weight:700;
}

section.materiaux .colonnes article .texte {
	margin-top:1.25em;
}




/* Section du formulaire de contact */
section.formulaire_contact .titraille {}
section.formulaire_contact .titraille h1 {font-size:28px;color:var(--vert);line-height:20px;}
section.formulaire_contact .titraille span.introduction {font-size:16px;line-height:20px;margin-top:1em;}

/* Formulaire principal de contact */
section.formulaire_contact form.formulaire {margin:2em 0;gap:2em;}
section.formulaire_contact form.formulaire .ligne {width:100%;gap:2em;}
section.formulaire_contact form.formulaire .ligne > div {flex:1;}
section.formulaire_contact form.formulaire .ligne > .toggle-switchy {flex:1;}
section.formulaire_contact form.formulaire label.input {margin-bottom:0.25em;}
section.formulaire_contact form.formulaire label.input span {padding-left:0.75em;}
section.formulaire_contact form.formulaire input {height:60px;border:1px solid #00000033;border-radius:4px;padding:0.5em 1em;width:100%;}
section.formulaire_contact form.formulaire input.consentement {height:33px;border-radius:100px;}
section.formulaire_contact form.formulaire textarea {font-family:inherit;border:1px solid #00000033;border-radius:4px;}

form input[name="firstname"],
form input[name="name"],
form input[name="ville"] {
	display:none;
}

.round {position:relative;}
.round label {background-color:#fff;border:1px solid #00000033;border-radius:50%;cursor:pointer;height:28px;left:0;position:absolute;top:0;width:28px;}
.round label:after {border:2px solid #fff;border-top:none;border-right:none;content:"";height:6px;left:7px;opacity:0;  position:absolute;top:8px;transform:rotate(-45deg);width:12px;}
.round input[type="checkbox"] {visibility:hidden;}
.round input[type="checkbox"]:checked + label {background-color:var(--vert);border-color:var(--vert);}
.round input[type="checkbox"]:checked + label:after {opacity: 1;}


form.contact input[type="text"] {height:60px;padding:0.5em;border:1px solid #00000033;border-radius:4px;}

form.contact label .span {font-size:16px;}

form.formulaire .consentement .round {}
form.formulaire .consentement .explication {margin-left:2em;font-size:12px;line-height:14px;opacity:0.5;}

form.formulaire button[type="submit"] {width:fit-content;margin:0 auto;}


.toggle-switchy {color:#fff;}
.toggle-switchy > input + .toggle {border:1px solid #ccc;}
.toggle-switchy > input + .toggle:before {content:'ON';}
.toggle-switchy > input + .toggle:after {content:'OFF';}
.toggle-switchy > input + .toggle > .switch {background:var(--vert);}
.toggle-switchy > input + .toggle + .label {color:#000;}
.toggle-switchy > input:checked + .toggle {background:#fff;}
.toggle-switchy > input:not(:checked) + .toggle {background:#fff;}
.toggle-switchy > input:checked + .toggle > .switch {border:3px solid #fff;}
.toggle-switchy > input:not(:checked) + .toggle > .switch {border:3px solid #fff;}
.toggle-switchy > input:focus + .toggle,
.toggle-switchy > input:active + .toggle {box-shadow:0 0 5px 1px #ececec;}

/* Rounded switch corners */
.toggle-switchy > input + .toggle {border-radius:4px;}
.toggle-switchy > input + .toggle .switch {border-radius:6px;}

/* CORE STYLES BELOW  */
.toggle-switchy {display:inline-flex; align-items:center; user-select:none; position:relative; vertical-align:middle; margin-bottom:0;}
.toggle-switchy:hover {cursor:pointer;}
.toggle-switchy > input {position:absolute; opacity:0;}
.toggle-switchy > input + .toggle {align-items:center; position:relative;}
.toggle-switchy > input + .toggle {overflow:hidden; position:relative; flex-shrink:0;}
.toggle-switchy > input[disabled] + .toggle {opacity:0.5;}
.toggle-switchy > input[disabled] + .toggle:hover {cursor:not-allowed;}
.toggle-switchy > input + .toggle {width:100%; height:100%; margin:0; cursor:pointer;}
.toggle-switchy > input + .toggle > .switch {display:block; height:100%; position:absolute; right:0; z-index:3; box-sizing:border-box;}

/* Labels */
.toggle-switchy > input + .toggle:before,
.toggle-switchy > input + .toggle:after {display:flex; align-items:center; position:absolute; z-index:2; height:100%;}
.toggle-switchy > input + .toggle:before {right:55%;}
.toggle-switchy > input + .toggle:after {left:50%;}
.toggle-switchy > input + .toggle + .label {margin-left:10px;}
.toggle-switchy[data-label='left'] > input + .toggle {order:2;}
.toggle-switchy[data-label='left'] > input + .toggle + .label {order:1; margin-left:0; margin-right:10px;}

/* Show / Hide */
.toggle-switchy > input + .toggle:before {opacity:0;}
.toggle-switchy > input:checked + .toggle:before {opacity:1;}
.toggle-switchy > input:checked + .toggle:after {opacity:0;}

/* Transitions */
.toggle-switchy > input + .toggle {transition:background 200ms linear, box-shadow 200ms linear;}
.toggle-switchy > input + .toggle:before,
.toggle-switchy > input + .toggle:after {transition:all 200ms linear;}
.toggle-switchy > input + .toggle > .switch {transition:right 200ms linear, border-color 200ms linear;}

/* Size: Extra Large */
.toggle-switchy[data-size='xl'] > input + .toggle							{width:85px; height:40px;}
.toggle-switchy[data-size='xl'] > input + .toggle > .switch					{width:40px;}
.toggle-switchy[data-size='xl'] > input + .toggle:before,
.toggle-switchy[data-size='xl'] > input + .toggle:after						{font-size:1.2rem;}
.toggle-switchy[data-size='xl'] > input:not(:checked) + .toggle > .switch	{right:calc(100% - 40px);}

/* Style: Rounded */
.toggle-switchy[data-style='rounded'] > input + .toggle,
.toggle-switchy[data-style='rounded'] > input + .toggle > .switch			{border-radius:50px;}
.toggle-switchy[data-style='rounded'] > input + .toggle:before				{right:50%;}
.toggle-switchy[data-style='rounded'] > input + .toggle:after				{left:50%;}

/* Text: Off */
.toggle-switchy[data-text='false'] > input + .toggle:before,
.toggle-switchy[data-text='false'] > input + .toggle:after					{content:'';}
.toggle-switchy[data-text='false'][data-size='xl'] > input + .toggle		{width:80px;}
.toggle-switchy[data-text='false'][data-size='lg'] > input + .toggle		{width:70px;}
.toggle-switchy[data-text='false'] > input + .toggle						{width:60px;}
.toggle-switchy[data-text='false'][data-size='sm'] > input + .toggle		{width:50px;}
.toggle-switchy[data-text='false'][data-size='xs'] > input + .toggle		{width:40px;}


/* Footer du site */

footer section {padding:3em 10%;}

footer section.action {
	background-color:var(--vert);
	gap:3em;
}

footer section.action main {
	width:auto;
}

footer section.action main h1 {
	font-size:32px;
	font-weight:700;
	line-height:39px;
}

footer section.action main .introduction {
	font-size:18px;
	font-weight:400;
	line-height:22px;
	display:block;
	margin:2em 0 1em 0;
}

footer section.action main .boutons {
	margin-top:2em;
}

footer section.action main .boutons .cta {
	color:#fff;
}

footer section.action main .boutons .cta.contacter {
	margin-right:1em;
}

footer section.reassurance {
	background-color:var(--beige);
}

footer section.reassurance span {
	font-weight:700;
	font-size:18px;
	line-height:22px;
	text-align:left;
}

footer section.reassurance .argument embed.pictogramme {
	width:60px;
	height:60px;
	margin-right:0.75em;
}

footer section.footer {margin-bottom:0;}
footer section.footer .logo {flex-basis:25%;}
footer section.footer .contact {flex-basis:50%;}
footer section.footer .contact .coordonnees {font-size:12px;line-height:15px;}
footer section.footer .partenaires {flex-basis:25%;}

footer section.footer .logo img {
	margin-bottom:2em;
}

footer section.footer .contact .cta {
	margin-top:2em;
	width:fit-content;
}



footer section.footer span.activite {
	font-weight:600;
	font-size:16px;
	line-height:19px;
}

footer section.footer .partenaires img {
  object-fit: contain;
  height: auto;
  padding:0 1em 0.5em 0;
}

footer section.reseaux_sociaux  {padding:0 10% 2em 10%;}
footer section.reseaux_sociaux .reseaux {margin-left:auto;}
footer section.reseaux_sociaux .reseaux .logo {width:39px;margin-right:0.5em;}
footer section.reseaux_sociaux ul.liens {list-style-type:none;margin-left:auto;}
footer section.reseaux_sociaux ul.liens li {font-size:12px;cursor:hand;}

footer section.mentions_obligatoires {margin:0;}
footer section.mentions_obligatoires main {border-top:1px solid #000;font-size:12px;line-height:14px;text-align:center;padding:1em 0 0 0;}
footer section.mentions_obligatoires main .signature {color:#707070;margin:1.5em 0;gap:4em;}
footer section.mentions_obligatoires main .signature .logo_webvaloris {height:25px;}
