/*--------------------------------------------------------------

INDEX : 


## Design
### HEADER
### FOOTER

### Pages

## Animations
## Configuration

## Reusable :
### PREDIFINED STYLES

## Font-size
## Colors




/*--------------------------------------------------------------
## Design ( mobile first )
--------------------------------------------------------------*/

body.page-contact form{ padding:1% 10% }

/* ### HEADER */

.site__header{
		position: relative;
	  height: 300px;
    background-size: cover;
    background-image: url(../img/bg_header.jpg);
    background-repeat: no-repeat;
    background-position: center right;
    overflow: hidden;
}
body.page-template-default .site__header{
	background-position: 100% 30%;
}


@media all and (max-width:768px){
	.site__header::after{
		display: block;
		content:"";
		height: 100vh;
		background-color: rgb(234 218 221 / 50%);
		width: 100%;
		position: absolute;
		top:0;
		left: 0;
		z-index: 1;
	}
	.site__header .hero__col{
		position: relative;
		z-index: 9;
	}
}

.header-logo__img{ max-width: 230px }


body.page-template-tpl-ville .site__header{
	    min-height: 800px;
}

body.page-mentions-legales .entry-content p{
	font-size: 1em;
	line-height: 1.5em;
}

.contactHero__btns .o-btn{
    background: #4c4c4c;
    border-color: #4c4c4c;
    
 }
 .contactHero__btns .o-btn:hover{
 	background-color: #ff4000;
 	border-color: #ff4000;
 }
 .contactHero__btns .o-btn .o-btn__text{
		color:#fff;
 }
  
.contactHero__title{
		color: #4c4c4c;
	  font-size: 26px;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 15px;
}
.contact__btns{
	display: inline-block;
}
.contact__in{
	padding-top: 50px;
	margin-bottom: 50px;
}
.contact__title{
 font-size: 25px;
 font-weight: bold;
 margin-bottom: 20px;
}

.content__in{
	margin-bottom: 50px;
}

.content__item{
	display: inline-block;
}

main .entry-header{
	padding-top: 25px;
	margin-bottom: 25px;
}

.contentItem__title{
	font-size: 30px;
	line-height: 1.25em;
	margin-bottom: 25px;
	font-weight: bold;	
}
@media all and (min-width:768px){
	.contentItem__title{
		font-size: 40px;
	}
}

.contentItem__img{
	margin-bottom: 15px;
	text-align: center;
}

@media all and (max-width:768px){
	.contentItem__img{
		
	}
}
	img.img_contentItem{
		border-radius: 10px;
		display: inline;	
	}

@media all and (min-width:768px){
	.contentItem__text{
		padding: 0 50px;
	}
}

.contentItem__text p{
	font-size: 22px;
	margin-bottom: 25px;
	line-height: 30px;
}

.o-separation,
.bg_hr-jpg
{
	  background-image: url(../img/hr.png);
    height: 20px;
    background-repeat: no-repeat;
    border: 0;
    background-position: center;
    margin: 50px 0;
}
.o-separation.o-separation_color{
	background-image: url(../img/hr_color.png);
}
.site-main{
	min-height: 80vh;
}
.page-confirmation .site-main{
	text-align: center;
	min-height: 500px;
}
.site__footer{
	text-align: center;
	font-size: 14px;
}

.section_map{
	background-color: #F0F0F0;
	filter: grayscale(50%) contrast(1.15) hue-rotate(60deg);
}
.map__in{
}
.footer__in{
	padding-top: 25px;
	margin-bottom: 25px;
}

.page-template-default p{ margin-bottom:15px }
.page-template-default p a{ text-decoration:underline; }
.page-template-default h2{
	margin-bottom: 15px;
}	
/* ### PREDIFINED STYLES */

hr.u-space{ border:0 }
hr.u-cboth{ border:0 }
hr.divider,
hr.decoration{

	background-image:url(../img/img_hr-decoration.png);

	border:0;
	margin-bottom: 50px;



    clear: both;
    height: 17px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

hr.o-decoration{
	border:0;
    clear: both;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    height: 55px;
    background-color: #f4f4f4;
}

img.o-decoration{
	width: 100%;
}

hr.bg_bleu-fonce-haut{background-image: url('img/bg_bleu-fonce-haut.png'); }
hr.bg_bleu-fonce-haut-2{}

hr.bg_bleu-bas{ background-image: url('img/bg_bleu-bas.png'); }

hr.bg_bleu-fonce-bas{ background-image: url('img/bg_bleu-fonce-bas.png'); }
hr.bg_bleu-fonce-bas-2{}

hr.bg_blanc-haut{}
hr.bg_blanc-haut-2{}

hr.bg_blanc-bas{ background-image: url('img/bg_blanc-bas.png'); } }
hr.bg_blanc-bas-2{ background-image: url('img/bg_blanc-bas-2.png'); }

/*--------------------------------------------------------------
## Font-Size
--------------------------------------------------------------*/


.u_txt-xl,
.u_txt-5
{
	font-size: 40px;
	line-height: 50px;
}
.u_txt-l,
.u_txt-4
{
	font-size: 30px;
	line-height: 40px;
}
.u_txt-l,
.u_txt-3
{
	font-size: 25px;
	line-height: 35px;
}

.u_txt-m,
.u_txt-2
{
	font-size: 20px;
	line-height: 30px;
}
.u_txt,
.u_txt-1
{
	font-size: 16px;
	line-height: 26px;
}
.u_txt-s,
.u_txt-0
{
	font-size: 13px;
	line-height: 23px;
}




img.img_icon{ display: inline; } 

.u-bbf4,
*[class*="_Bbf4"]{ border-bottom: 2px #f4f4f4 solid; }


*[class*="_Fwb"]{ font-weight: bold; }
*[class*="_Db"]{ display: block; }
*[class*="_Dib"]{ display: inline-block; }

*[class*="_Up"]{ text-transform: uppercase; }
*[class*="_Ac"]{ text-align: center; }
*[class*="_Fs1"]{ font-size: 15px; }
*[class*="_Ls01"]{ letter-spacing: 0.1em; }
*[class*="_Ls02"]{ letter-spacing: 0.2em; }
*[class*="_Ff2"]{ font-family: 'Pluto','PT Sans', 'Lato', serif; }

*[class*="_Mb5"]{ margin-bottom: 5px; }
*[class*="_Mb10"]{ margin-bottom: 10px; }
*[class*="_Mb15"]{ margin-bottom: 15px; }
*[class*="_Mb25"]{ margin-bottom: 25px; }
*[class*="_Mb50"]{ margin-bottom: 50px; }

*[class*="_Fs15"]{ font-size: 15x; }
*[class*="_Fs20"]{ font-size: 20px; }
*[class*="_Fs40"]{ font-size: 40px; }


.page-template-default .u-cmax{
	padding: 1em;
}


ul.liste_villes_public {
    display: grid;
    gap: 15px; /* Espacement entre les éléments */
    list-style: none; /* Supprime les puces des listes */
    padding: 0
}
@media all and (min-width:1000px){
	ul.liste_villes_public {
    	grid-template-columns: repeat(3, 1fr); /* 3 colonnes */
	}
}

ul.liste_villes_public li {
    text-align: center; /* Centrer les liens */
}

ul.liste_villes_public a {
    display: block;
    padding: 10px;
    background: #f5f5f5; /* Couleur de fond */
    color: #333; /* Couleur du texte */
    text-decoration: none; /* Supprime le soulignement */
    border-radius: 5px; /* Coins arrondis */
    transition: background 0.3s ease;
}

ul.liste_villes_public a:hover {
    background: #ddd; /* Effet au survol */
}

ul.liste_villes_public a .ville{
	font-weight: bold;
}



.intervention-button {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 999;
    width: 65px;
    height: 65px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.intervention-button a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.intervention-button svg {
    width: 40px;
    height: 40px;
}

.intervention-button:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.3);
}

