#entete,
#content,
#footer{
/* max-width:1280px; */
width:100%;
margin:auto;
}

#corps{
margin-top:30px;
padding-top:120px;
overflow-x: clip;
transition:all ease .5s;
}

#smart-icon{
cursor:pointer;
}
#smart-menu{
display:none;
}

.intro-n-slide{
display:flex;	
max-width:1280px;
width:100%;
margin:auto;
position:relative;
overflow:hidden;
}
.intro{
max-width:320px;
text-align:left;
align-self:center;
height:100%;
padding:30px 50px 30px 30px;
}
.intro p, .intro li, .intro strong{color:white;} 
.intro h2,.intro h3,.intro h4{color:var(--jaune);} 



.slideshow{
width:100%;
display:inline-block;
position:relative;
/* height:380px; */
float:left;
}
.slideshow .diaporama{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
list-style:none;
padding:0;
margin:0;
z-index:1;
}
.slideshow .txtSlide{
position:absolute;
top:-1px;
left:-1px;	
z-index:2;
height:101%;
width:100%;
padding-top:60px;
/* padding:60px 100px 0 0;
clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
background:var(--gris); */
}
.slideshow .txtSlide::after{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-image:url(/images/bloc-bkg-slide2.svg);
background-repeat:no-repeat;
background-size:contain;
background-position:top left;
z-index:-1;	
}
.slideshow .txtSlide p{
color:var(--gris2);
font-weight:800;
font-size:1.5em;
line-height:1.1em;
display:flex;
align-items:center;	
margin-right:20px;
}
.slideshow .txtSlide p::before{
content:'';
width:30px;
height:60px;
background-image:url(/images/slide-chevron.svg);
background-repeat:no-repeat;
background-size:contain;
background-position:center left;
margin-right:5px;
}

.slideshow .diaporama > li{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
.slideshow .diaporama > li picture,
.slideshow .diaporama > li img{
display:block;
width:100%;
height:100%;
}
.slideshow .diaporama > li img{
object-fit:cover;
object-position:center;
}

.page .complet{
display:flex;
max-width:1280px;
margin:auto;	
}
.page .complet .img2{
width:55%;
/* background:#e6d3d3; /*debug*/ */
}
.page .complet .txt{
width:45%;
/* background:#bed0ca; /*debug*/ */
}
.page .complet .img2 img{
object-fit:cover;
object-position:top left;	
}
.page .complet:is(.article_intro) .txt{
padding:100px 50px;	
}
.page .complet:is(:not(.article_intro)) .txt{
padding:50px;	
}

.page .txt.noMedia{
width:100%!important;
padding:0 50px;	
}

.complet{
background:var(--gris2);
}
.complet .txt{
background:none;	
}

.colorDark h5 a{
color:var(--text);	
border:1px solid var(--text);
}


@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}


@keyframes slideInBottom {
    from { opacity: 0; translate: -50% 100px; }
    to   { opacity: 1; translate: -50% 0; }
}



.complet:has(.formulaire){
background:linear-gradient(To right, var(--bleu3), var(--bleu))!important;	
}
.complet:has(.formulaire) *{
color:white;
}
.formulaire{
max-width:720px;	
margin:15px auto 30px auto;
text-align:left;
}
.formulaire .eForm{
margin-bottom:24px;
}
.formulaire label{
display:block;
margin-top:16px;
}
.formulaire input,
.formulaire textarea{
width:100%;
display:block;
/* border-radius:1em; */
border:none;
padding:12px;
text-align:left;
}
.formulaire input{
padding:8px 12px;	
border-radius:.5em;
}
.formulaire textarea{
border-radius:.5em;
height:120px;	
}
.formulaire p{
max-width:720px;	
width:100%;	
margin:auto;
}
.formulaire .no-eForm p *{
font-size:.8em;	
}
.formulaire .no-eForm small{
font-size:12px;	
}
.formulaire .no-eForm small strong{
font-size:inherit;	
}

.formulaire input[type="submit"]{
width:auto;
background:var(--blanc);
color:var(--marron);
display:block;
margin:30px auto 0 auto;
font-weight:800;
font-size:1.2em;
text-transform:uppercase;
padding:6px 20px;	
transition:all ease 0.5s;
cursor:pointer;
}
.formulaire input[type="submit"]:hover{
background:var(--dore);
filter:drop-shadow(0px 4px 12px #ddb97f5c);
padding:6px 36px;		
}

.fileUpload {
display: flex;
align-items: center;
gap: 15px;
flex-wrap: wrap;
align-content:center;
margin-top:16px;
direction:ltr;
}
.fileUpload label{margin-top:0;}
.fileUpload input[type="file"] {
display: none;
}
.fileUpload p{margin-top:-8px;}
.fileUpload p small{font-size:12px;}

.fileButton {
display: inline-block;
background: var(--bleu2);
color: #fff;
border-radius: 8px;
padding: 6px 16px;
font-weight: 700;
cursor: pointer;
transition: background 0.2s ease, transform 0.2s ease;
}

.fileButton:hover {
background: var(--text);
transform: translateY(-1px);
}

#fileName {
color: var(--text);
font-size: 0.9rem;
direction:rtl;
}

.center{
text-align:center;
}

.vCenter{
align-content:center;
}

.squarelinks{
max-width:1280px;
padding:30px 0;
text-align:center;
margin:30px auto;
position:relative;
display:flex;
/* flex-wrap:wrap; */
justify-content:center;
gap:20px;
}

.picto .img2{
width:86px!important;
height:86px!important;
margin:15px auto 30px auto!important;	
transition:all ease .5s;
}
.center{
text-align:center!important;	
}
.full{
width:100%!important;
/* background:red; */
}
.full .txt{
width:100%!important;	
}
.noPadding > *{
padding:0!important;	
}
.noMargin > *{
padding:0!important;	
}

.picto:hover .img2{
transform:scale(1.1);
}
.picto:hover{
/*a animer avec background-position:*/
}


.demi{
width:50%;	
text-align:left;
}

.demi.renforcer{
background:white;
border-radius:20px;
width:70%;
display:flex;
}
.demi.renforcer .img2{
margin:30px;
width:40%;	
}
.demi.renforcer .txt{
width:60%;
align-content:center;
}

.demi.action{
background:var(--bleu2);
border-radius:20px;
width:30%;
}
.demi.action .img2{
height:120px;
margin:30px 0 -20px 30px;
}
.demi.action .img2 img{
height:100%;	
}
.demi.action *{color:white;}
.demi.action h5 a{
background:white;
color:var(--text);	
}

.demi .img2{
width:50%;
margin:30px auto 0 auto;	
}
.demi .txt{padding:30px;}

.tiers{
width:320px;
display:inline-block;
vertical-align:top;
margin:20px;
padding:10px 10px 40px 10px;
border-radius:4px;
transition:all ease 0.5s;
position:relative;
text-align:left;
}

.quart{
width:320px;
display:inline-block;
vertical-align:top;
/* margin:20px; */
/* padding:20px; */
border-radius:4px;
transition:all ease 0.5s;
/* cursor:pointer; */
position:relative;
text-align:left;
}
.quart.picto{
width:220px;
}
.quart.picto:hover{
transform:translateY(-8px);	
}

.cinquieme{
width:192px;
display:inline-block;
vertical-align:top;
margin:20px;
padding:10px 10px 40px 10px;
border-radius:14px;
transition:all ease 0.5s;
/* cursor:pointer; */
position:relative;
text-align:left;
}

.page .demi .bloc,
.page .tiers .bloc,
.page .quart .bloc,
.page .cinquieme .bloc{
display:inline-block;
}
.page .tiers .img2,
.page .quart .img2,
.page .cinquieme .img2{
margin-bottom:10px;	
}
.page .demi .img2{
width:calc(100% - 60px);
margin-bottom:0px;
}
.page .demi .img2 img{
object-fit:contain;		
}

.page .tiers *,
.page .quart *,
.page .cinquieme *{
/* color:white;	 */
}
.txt ul,
.txt ol{
	list-style-type:none;
	padding-left:0;
	margin-bottom:5px;
}

.txt ol{
	counter-reset: txtol;
}

/* on cible uniquement les enfants DIRECTS, pas tous les descendants */
.txt ul > li,
.txt ol > li{
	margin-bottom:5px;	
	padding-left:1.5em;
	position:relative;
}

.txt ol > li{
	counter-increment: txtol;
}

.txt ul > li:before{
	content:'';
	position:absolute;
	top:7px;
	left:8px;	
	width:8px;
	height:8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Ccircle cx='3' cy='3' r='3' fill='%23ddb97f'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 8px 8px;
	display:block;
}

.txt ol > li:before{
	content: counter(txtol)".";
	position:absolute;
	top:0;
	left:0px;
	width:1.5em;
	text-align:right;
	padding-right:0.3em;
	box-sizing:border-box;
}


.page:not(:has(h5)) a{
color:var(--bleu2);
text-decoration:none;
position:relative;
}
.page:not(:has(h5)) a::after{
position:absolute;
content:'';
display:block;
width:120%;
bottom:-5px;
left:-10%;
height:1px;
background:linear-gradient(to right, #ffffff00, var(--bleu2), #ffffff00);

}
.page:not(:has(h5)) a:hover{
color:#ca4848;
text-decoration:none;
position:relative;
}
.page:not(:has(h5)) a:hover::after{
height:1px;
background:linear-gradient(to right, #ffffff00, #ca4848, #ffffff00);   
}

.tiers .theme{
background:linear-gradient(to right, var(--bleu3), var(--bleu));
text-align:left;
color:white;
font-weight:600;
padding:8px 10px;
border-radius:8px;
margin-bottom:6px;
font-weight:700;
}
.tiers .theme::before{
content:'';
background-image:url(images/pZig.svg);
background-repeat:no-repeat;
background-size:contain;
background-position:center;
width:1.2em;
height:1.2em;
display:inline-block;
vertical-align:bottom;
margin-right:5px;
}
.tiers .img2{
width:100%;
margin-bottom:12px;
border-radius:8px;
height:220px;
/* overflow:hidden; */
transition:all ease 0.5s;    
}
.tiers .img2 img{
transition:all ease 0.5s;    
object-fit:contain;
/* height:220px; */
width:100%;
}
.tiers:hover .img2 img{
transform:scale(105%);
}

p a{
color:inherit;  
text-decoration:none;  
}

/* standard */
.fondVert{
background:var(--vert)!important;	
}
.fondBleu{
background:var(--bleu)!important;	
}
.fondRose{
background:var(--rose)!important;	
}
.fondGris{
background:var(--gris)!important;	
}
.colorDark *{
color:var(--text);	
}
.colorDark h5 a:hover{
color:var(--text);	
border-color:var(--text);	
}

.colorBright *{
color:var(--blanc);	
}
.colorBright h5 a:hover{
color:var(--blanc);	
border-color:var(--blanc);	
}



.none{
position: relative;
/* padding:0px 0 50px 0!important;
margin-bottom:50px; */
}

.groupe{
z-index:5;
position: relative;
padding:0px 0 50px 0!important;
margin-bottom:50px;
width:100%;
min-height:480px;
}

.groupe:is(.fondVert, .fondBleu, .fondGris)::before{
content:'';
display:bloc;
position:absolute;
top:-80px;
height:80px;
width:100%;
}
.groupe:is(.fondVert, .fondBleu, .fondGris)::after{
content:'';
display:bloc;
position:absolute;
bottom:-80px;
height:80px;
width:100%;
background-size: 100% 100%;
background-repeat: no-repeat;
}

.groupe:is(.fondVert)::before{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 149.6' preserveAspectRatio='none'><path d='M1366 149.6H0v-4.9L1366 2z' fill='%2300cda6'/></svg>");
}
.groupe:is(.fondVert)::after{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 149.6' preserveAspectRatio='none'><path d='M0 0H1366v4.9L0 147.6z' fill='%2300cda6'/></svg>");
}
.groupe:is(.fondBleu)::before{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 149.6' preserveAspectRatio='none'><path d='M1366 149.6H0v-4.9L1366 2z' fill='%233fa9f5'/></svg>");
}
.groupe:is(.fondBleu)::after{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 149.6' preserveAspectRatio='none'><path d='M0 0H1366v4.9L0 147.6z' fill='%233fa9f5'/></svg>");
}
.groupe:is(.fondGris)::before{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 149.6' preserveAspectRatio='none'><path d='M1366 149.6H0v-4.9L1366 2z' fill='%23ecf0f1'/></svg>");
}
.groupe:is(.fondGris)::after{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1366 149.6' preserveAspectRatio='none'><path d='M0 0H1366v4.9L0 147.6z' fill='%23ecf0f1'/></svg>");
}


.groupe:has(.offsetImage) .img2{
position:relative;
top:-100px;	
}
.groupe:is(.fondVert, .fondBleu, .fondGris) .img2 img{
object-fit:contain;	
object-position:center;
}

.none:has(+ .squarelinks),
.groupe:has(.squarelinks){
margin-top:100px;
padding-bottom:0px!important;
}


.imgFitOffset .img2{
	
}
.imgFitOffset .img2 img{
	
}

.complet:has(.img2),
.gauche:has(.img2),
.droite:has(.img2){
display:flex;
max-width:1280px;
margin:auto;
}
.complet .img2,
.droite .img2{
min-height:280px;
/* animation: slideInLeft 1ms linear both;
animation-timeline: view();
animation-range: entry 0% cover 30%; */
}
.gauche .img2{
max-height:320px;
/* animation: slideInRight 1ms linear both;
animation-timeline: view();
animation-range: entry 0% cover 30%; */
}
.imgFitMax240{
}
.imgFitMax240 .img2{
min-height:240px!important;	
text-align:center;
border:1px dashed #81ff00;	/* debug */
}
.imgFitMax240 .img2 img{
object-fit:contain!important;	
background:red;
}
.imgFitMax240 .img2 svg{
max-height:100%;
margin:auto;
background:#00000024;	/* debug */
}

.marginTopNegative{
margin-top:-80px!important;	
}
.fullRadius{
position:relative;
border-radius:100em;
padding:0 50px;	
z-index:10!important;
}
.fullRadius .img2{
padding:30px;	
}


.droite .img2 img,
.gauche .img2 img{
object-fit:contain;	
}


/* Layout */
.complet .txt{
    width:50%;
    padding:50px;
    direction:ltr;
    align-content:center;
    border:1px dashed var(--debug); /* debug */
}

/* Animation uniquement si le parent n'a PAS .noAnim */
.complet:not(.noAnim) .txt{
	position:relative;
    /* animation: slideInRight 1ms linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
	z-index:2!important; */
}
.gauche:not(:has(.img2)) .txt,
.droite:not(:has(.img2)) .txt{
max-width:1280px;
margin:auto;	
}
.gauche:has(.img2) .txt{
width:50%;
padding:50px;
direction:ltr;
align-content:center;
border:1px dashed var(--debug); /* debug */
animation: slideInLeft 1ms linear both;
animation-timeline: view();
animation-range: entry 0% cover 30%;
}

.droite:has(.img2) .txt{
width:50%;
padding:50px;
direction:ltr;
align-content:center;
border:1px dashed var(--debug); /* debug */
animation: slideInRight linear both;
animation-timeline: view();
animation-range: entry 0% cover 30%;
border-radius:1em;
}

.droite,
.gauche{
    width:100%;
    max-width:1280px;
    margin:auto;
    position:relative;
    align-content:center;
    z-index:2;
    /* padding-bottom:50px; */
}

.bloc{
position:relative;
display:flex;
margin:auto;	
}
.droite{text-align:left;direction:rtl;}
.complet .img2,
.gauche .img2,
.droite .img2{
width:50%;
position:relative;
}

.complet .img2 picture,
.gauche .img2 picture,
.droite .img2 picture{
position:absolute;
inset:0;
width:100%;
height:100%;
border-radius:1em;
overflow:hidden;
}
.complet img,
.gauche img,
.droite img{
width:100%;
height:100%;
object-fit:cover
}

.diapo
strong{
font-weight:700;
font-size:inherit;
color:inherit;
}
.download{
display:block;
/* background:red;	 */
}
.download .elem{
display:block;
padding:8px 0;	
}
.download .elem a{
background:var(--bleu2);
transition:all ease .5s;
color:white;
text-decoration:none;
padding:6px 12px 6px 32px;
border-radius:8px;
font-weight:700;	
position:relative;
}
.download .elem a:hover{
background:var(--bleu3);	
}
.download .elem a::before{
content:'';
position:absolute;
top:6px;
left:9px;
width:18px;
height:21px;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 19.24 23.9' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23fff' stroke-miterlimit='10'%3E%3Cpath d='m17.22 23.4h-15.22a1.52 1.52 0 0 1 -1.5-1.52v-19.88a1.52 1.52 0 0 1 1.5-1.5h11.3l5.42 5.41v16a1.52 1.52 0 0 1 -1.5 1.49z'/%3E%3Cpath d='m13.32.5v3.89a1.53 1.53 0 0 0 1.53 1.52h3.89'/%3E%3Cpath d='m4.92 8.99h9.71'/%3E%3Cpath d='m4.92 11.95h9.71'/%3E%3Cpath d='m4.92 14.91h9.71'/%3E%3Cpath d='m4.92 17.86h4.85'/%3E%3C/g%3E%3C/svg%3E");
background-repeat:no-repeat;
background-position:center;
background-size:contain;
display:block;
}

.tiers:hover{
background:white;
transform:translateY(-10px);
}
.page .tiers:hover{
background:none;
transform:none;	
}
.page .tiers:not(:has(h5)) {
padding: 10px;
}
.article_intro:has(.txt.noMedia){
padding:0;	
}

h1,
h2{
font-family: "Elms Sans", sans-serif;
font-optical-sizing: auto;
font-style: normal;
line-height:1.1em;
margin-bottom:10px;
} 
h3{
line-height:1.2em;
margin-bottom:5px;
font-weight:800;
} 
h4,
h5{
line-height:1.2em;
margin-bottom:10px;
font-weight:700;
} 
h1{
font-size:2.3em;
line-height:1em;
font-weight:900;
color:var(--bleuf);
}
h2{
font-size:2em; 
font-weight:900;
color:var(--bleuf);
}
.fondBleu h2{
color:white;
} 
h3{
color:var(--bleuf);
font-size:1.3em; 
}
h4{
font-size:2em; 
font-weight:300;
margin-bottom:5px;
}
p{
margin-bottom:10px;	
}
p strong,
li strong{
font-weight:700;    
}
h5{
transition:all ease 0.5s;
display:inline-block;
margin:10px 15px 0 0;
}
h5:hover,
.picto:hover h5{
filter:drop-shadow(0px 4px 12px #2c518c4a);	
}
h5 a{
display:inline-block;
color:var(--bleuf);
padding:10px 20px;
text-decoration:none;
font-size:1em;
margin:5px 0;
font-weight:500;
transition:all ease 0.3s;
border:1px solid var(--dore);
border-radius:100em;
background:white;
}
h5 a:hover{
transform:translateX(-6px);
}

h5.orange a{
background:var(--orange);
color:white;	
}

h5.spec{
display:block;	
position:relative;
}
h5.spec a{
color:var(--bleuf);	
font-size:1.4em;
line-height:1em;
position:relative;
display:block;
padding:8px 20px 8px 64px;
border:2px solid var(--bleuf);
}
h5.spec a strong{
font-weight:800;	
font-size:inherit;
color:inherit;
}
h5.spec a small{
color:inherit;
position:relative;
font-size:14px;
color:var(--text);
top:-4px;
}
h5.spec:hover a{
background:var(--bleuf);
color:white;	
}
h5.spec:hover small{
color:white;	
}



.bigBtn h5 a{
font-size:160%;	
}

.depliable-divs{
margin-bottom:50px;	
display:block;
}
.depliable{
background:white;
max-width:1024px;
border-radius:1em;	
margin:0 auto 10px auto;
align-content:center;
padding:6px;
}

.diaporama li{
list-style-type:none;
padding:0;
margin:0;	
}
.diaporama li::before{
cotnent:none;
display:none;	
}
.diaporama{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:15px;
padding:15px;
}
.diaporama li{
width:160px;
height:160px;	
/* background:red; */
align-content:center;
overflow:hidden;
object-fit:cover;
border:1px solid var(--bleu3);
border-radius:8px;
transition:all ease .5s;	
}
.diaporama li img{
transition:all ease .5s;	
height:100%;
object-fit:cover;
}
.diaporama li:hover{
border:1px solid var(--bleu);	
}
.diaporama li:hover img{
transform:scale(1.1);
}



.slideDiaporama{
position:relative;
list-style:none;
padding:0;
margin:0;
overflow:hidden;
flex:0 0 40%; 
aspect-ratio:4 / 3;
align-self:flex-start;
}
.slideDiaporama > li{
position:absolute;
top:0;
left:0;
width:100%;
height:calc(100% - 60px);
opacity:0;
pointer-events:none;
}
.slideDiaporama > li.active{
opacity:1;
pointer-events:auto;
}
.slideDiaporama > li picture,
.slideDiaporama > li img{
display:block;
width:100%;
height:100%;
}
.slideDiaporama > li img{
object-fit:cover;
object-position:center;
}
/* Pastilles */
.slideDiaporama .slides-dots,
.slideDiaporama .slides-dots{
position:absolute;
bottom:22px;
left:50%;
transform:translateX(-50%);
list-style:none;
padding:0;
margin:0;
display:flex;
gap:10px;
z-index:10;
}
.slideDiaporama .slides-dots > li{
width:16px;
height:16px;
border-radius:50%;
background:var(--gris2);
cursor:pointer;
transition:background 0.3s ease, transform 0.3s ease;
}
.slideDiaporama .slides-dots > li:hover{
background:var(--gris2);
}
.slideDiaporama .slides-dots > li.active{
background:var(--jaune);
/* transform:scale(1.3); */
} 




/*accordeon */
.faq{
background-color:var(--bleu);
background-image:url(/images/Fd-FAQ-1980x16c.png);
background-repeat:no-repeat;
background-size:100% auto;
background-position:center top;
padding:50px;
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px); /* Safari */	
}
.faq .txt{
max-width:800px;
margin:auto;	
}
.faq h2{
color:white;
font-size:2.6em;
margin-bottom:0;
}

.accordeon{
background:white;
margin-bottom:10px;
padding:15px;
border-radius:1.4em;  
box-sizing:border-box;
}
.accordeon p{
color:var(--text)!important;
font-size:95%;	
}
.accordeon p:last-child {
margin-bottom:0;	
}

.accordeon .accordeon-toggle{
cursor:pointer;
margin-bottom:0;   
position:relative;
padding-right:30px;
line-height:1em; 
position:relative;
transition:all ease .3s;
}

.accordeon .accordeon-toggle::after{
background-image: url("data:image/svg+xml,%3Csvg height='800' viewBox='-20 -20 552 552' width='800' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%232c518c' d='m256 0c-141.163 0-256 114.837-256 256s114.837 256 256 256 256-114.837 256-256-114.837-256-256-256zm79.083 271.083-106.667 106.666c-4.16 4.16-9.621 6.251-15.083 6.251-5.461 0-10.923-2.091-15.083-6.251-8.341-8.341-8.341-21.824 0-30.165l91.585-91.584-91.584-91.584c-8.341-8.341-8.341-21.824 0-30.165s21.824-8.341 30.165 0l106.667 106.667c8.341 8.341 8.341 21.823 0 30.165z'/%3E%3C/svg%3E");background-repeat:no-repeat;
background-position:center;
background-size:contain;
width:32px;
height:32px;
content:'';
display:block;
position:absolute;
top:50%;
right:-7px;
transition:all ease .5s;
transform:translateY(-50%);
}
.accordeon .accordeon-toggle.open::after,
.accordeon .accordeon-toggle:hover::after{
background-image: url("data:image/svg+xml,%3Csvg height='800' viewBox='-20 -20 552 552' width='800' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%235cbfcb' d='m256 0c-141.163 0-256 114.837-256 256s114.837 256 256 256 256-114.837 256-256-114.837-256-256-256zm79.083 271.083-106.667 106.666c-4.16 4.16-9.621 6.251-15.083 6.251-5.461 0-10.923-2.091-15.083-6.251-8.341-8.341-8.341-21.824 0-30.165l91.585-91.584-91.584-91.584c-8.341-8.341-8.341-21.824 0-30.165s21.824-8.341 30.165 0l106.667 106.667c8.341 8.341 8.341 21.823 0 30.165z'/%3E%3C/svg%3E");background-repeat:no-repeat;
transform:translateY(-50%) rotate(90deg);
}
.accordeon .accordeon-toggle.open{
/* padding-bottom:.5em;    */
}
.accordeon .accordeon-content{
display: none; 
padding:0 15px 10px 15px;
}
.accordeon .accordeon-content[style*="display: block"]{
padding-top:.5em;	
}
.accordeon .accordeon:has(> .accordeon-toggle){
background-color:#eef3fa;
}
.accordeon .accordeon .accordeon:has(> .accordeon-toggle){
background-color:#dde9f7;
}



/* partenaires */
.partenaires{
width:100%;
padding:50px 0; 
display:block;   
}
.partenaires .bloc{
display:flex;
max-width:1280px;
margin:auto;
align-items:center;
justify-content:center;
}
.partenaires .pictoPart{
width:100%; 
max-width:300px;  
display:block;  
}
.partenaires .pictoPart img{
object-fit:contain; 
height:100%;
width:100%;   
}

.partenaires .txt{
width:auto;
position:relative;
padding:15px 50px;   
}
.partenaires .txt::after{
content:'';    
position:absolute;
top:10%;
right:0;
height:80%;
border-left:1px solid var(--bleu3);
}
.partenaires .txt:last-child::after{content:none;}

.partenaires .diaporama{
list-style-type:none;
width:100%;    
}
.partenaires .diaporama li:before{content:none;}
.partenaires .diaporama li{
list-style-type:none;
width:140px;
height:140px;	
align-content:center;
overflow:hidden;
object-fit:contain;
border:none;
border-radius:0px;
}
.partenaires .diaporama li img{object-fit:contain;}
.partenaires .diaporama li:hover{border:none}
.diaporama li:hover img{transform:none}

#backToTop{
position:fixed;
bottom:55px;
right:20px;
width:35px;
height:35px;
z-index:999;
cursor:pointer;
background-image: url("data:image/svg+xml,%3Csvg height='26.5' viewBox='0 0 26.5 26.5' width='26.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m22.97 0h-19.44c-1.95 0-3.53 1.58-3.53 3.53v19.43c0 1.95 1.58 3.53 3.53 3.53h19.43c1.95 0 3.53-1.58 3.53-3.53v-19.43c0-1.95-1.58-3.53-3.53-3.53zm-5.96 13.2v9.39h-7.52v-9.39h-5.54l9.3-9.3 9.3 9.3z' fill='%23ddb97f'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
}
#backToTop img{
display:none;   
}
#backToTop:hover{
opacity:.8;    
}

#footer{
margin-top:40px;
padding:30px;
text-align:center;
position:relative;
background-image:url(/images/background-pied.jpg);
background-size:cover;
background-repeat:no-repeat;
}

#footer *{
font-size:1em;
}

#footer a:hover{
color:white;	
}

.colFooter > div{
display: block;
max-width:1280px;
margin:auto;
/* background:#ff000012; */
}
.colFooter .infos{
margin-bottom:40px;	
}

body .infos .liens{
position:relative;
right:0;
bottom:0; 
top:0;
margin-top:15px;
display:block;
}


/* Sitemap en 2 colonnes identiques */
.sitemap ul li{
padding:3px;
display:inline-block;
}
.sitemap a {
text-decoration: none;
color:var(--dore);
}
.colFooter .infos p{
margin-bottom:0;
}

#footer .img2{
max-width:180px;
margin:0 auto 15px auto;
}

.copyright{
display:block;
height:30px;
bottom:0;
left:0;
width:100%;
background:linear-gradient(to right, var(--bleu3), var(--bleu));
align-content:center;
text-align:center;
}
.lastLinks{
display:block;
margin-top:30px;
list-style-type:none;	
}
.lastLinks a{
color:var(--dore);
font-size:0.8em;
opacity:.8;
}
.copyright *{
color:var(--text);
font-size:.9em;
}

#footer .social{
position:relative;
display:block;
}
#footer .social p{
color:var(--text);
font-size:.9em;
}
#footer .social ul{
list-style-type:none;
height:32px;
margin-top:4px;
}
#footer .social ul li{
display:inline;
}
#footer .social ul li a{
background:white;
color:var(--text);
height:26px;
width:26px;
margin:0 2px;
display:inline-block;
align-content:center;
text-align:center;
border-radius:2em;
text-decoration:none;
transition:all ease 0.3s;
position:relative;
}
#footer .social ul li a:hover{
background:var(--bleu);
}
#footer .social ul li a svg{
width:60%;
height:60%;
fill:black;
position:absolute;
top:50%;
left:50%;
transform:translateX(-50%) translateY(-50%);
}


@media screen and (max-width: 960px) {

  .complet:not(.noAnim) .txt,
  .complet .img2,
  .gauche:has(.img2) .txt,
  .gauche .img2,
  .droite:has(.img2) .txt,
  .droite .img2 {
    animation: none !important;
    animation-timeline: auto !important;
    animation-range: initial !important;
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
  }

.gauche:has(.img2) .txt{
width:100%;
}

.fullBkgImage.colorDark:not(:has(.bkgColor)) *{
color:var(--blanc);	
}
.fullBkgImage.colorDark:not(:has(.bkgColor)) h5 a{
border-color:var(--blanc);	
}

#corps{
padding-top:100px;
overflow-x: clip;
}
	
  /* -----------------------------------------------------
     Respect de prefers-reduced-motion (bonus)
     ----------------------------------------------------- */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.001ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.001ms !important;
    }
  }
}



/* ==========================================================
   COMPLÃƒâ€°MENTS RESPONSIVE Ã¢â‚¬â€ AJUSTEMENTS FINS
   ========================================================== */

@media screen and (max-width: 960px) {

	.droite:has(.img2) .txt{
	width:100%;
	}
	
  /* -----------------------------------------------------
     Suppression de TOUS les bords arrondis
     ----------------------------------------------------- */
	  *:not(h5 a),
	  *::before,
	  *::after {
	    border-radius: 0 !important;
	  }

	.fullBkgImage {
	padding: 0 0 0px 0;
	display: block;
    min-height: auto;
	}
	.noFullBkgImageSmart .fullBkg{
		display:none!important;
	}

	.fullBkgImage > .fullBkg {
	position: relative;
	display:block;
	}
	.fullBkg{
	display:block!important;
	heitgh:100%!important;
	}

	
	.none,
	.groupe{
	position: relative;
	padding:0px 0 30px 0!important;
	margin-bottom:30px;
	}
	.none.fadeTopBottom,
	.groupe.fadeTopBottom{
	position: relative;
	padding:0px 0 0px 0!important;
	}
	.none:has(.noPadding) .txt{padding:0!important}

	.none:has(.complet),
	.groupe:has(.complet),
	.none:has(.fullBkgImage),
	.groupe:has(.fullBkgImage){
	position: relative;
	padding:0px 0 0px 0!important;
	margin-bottom:0px;
	}
	.none:has(+ .squarelinks),
	.groupe:has(.squarelinks){
	margin-top:0px;
	padding-bottom:0px!important;
	}
	.groupe:has(.none) .none{
	margin-top:0px!important;	
	margin-bottom:0;
	}
	.bkgColor{
	margin-bottom:0!important;
	}
	[class~="fadeTop"] + div {
	    margin-top: 0px!important;
	}

	.formulaire{
	width:80%;	
	}
	
	.bkgColor > .squarelinks{
		margin:0!important;
	}

	.bloc {
		display: flex;
		flex-direction: column;
	}
	.bloc .img2 {
		order: -1; /* remonte img2 avant txt */
	}
	
  h1 {
    font-size: 2em;
  }
  h2 {
    font-size: 1.6em;
  }
  h3 {
    font-size: 1.2em;
  }
	
  /* Sur tablette, les .complet passent en flex column
     pour que image et texte s'empilent proprement */
  .page .complet:not(:has(.widgetPortfolio, .formulaire, .temoignages, .carousel)) {
    flex-direction: column;
    direction: ltr;
  }

  .page .complet .img2,
  .page .complet .txt {
    width: 100% !important;
  }

  .complet:has(.img2),
  .gauche:has(.img2),
  .droite:has(.img2) {
    flex-direction: column;
  }

  .complet .img2,
  .gauche .img2,
  .droite .img2 {
    width: 100%;
    height: auto;
  }

  /* squarelinks : gÃƒÂ©rer les enfants qui ne rentrent plus */
  .squarelinks {
    flex-wrap: wrap;
padding:0 30px;gap:0;
  }

  /* Diaporama : rÃƒÂ©duire un peu les vignettes */
  .diaporama li {
    width: 140px;
    height: 140px;
  }
}


@media screen and (max-width: 860px) {

  /* Sur smartphone/tablette ÃƒÂ©troite : idem, on force
     l'empilement partout et on neutralise animations */
  .complet,
  .gauche,
  .droite {
    display: block !important;
  }
  .complet .txt,
  .gauche .txt,
  .droite .txt {
	  padding:30px !important;
	 }

	/* FAQ : espacement rÃƒÂ©duit */
  .faq {
    padding: 35px 24px;
  }
  .faq h2 {
    font-size: 1.9em;
  }

  /* Back to top plus prÃƒÂ¨s du bord */
  #backToTop {
    bottom: 20px;
    right: 15px;
    width: 40px;
    height: 40px;
  }

	  .tiers,
  .quart,
  .quart.picto,
  .cinquieme,
  .demi {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
    margin: 15px 0;
  }
	
}


@media screen and (max-width: 600px) {

  /* Ajustements typographiques serrÃƒÂ©s */
  .intro {
    padding: 20px;
  }

  .slideshow {
    min-height: 240px;
  }

  .slideshow .diaporama {
    height: 240px;
  }

  /* Diaporama vignettes plus petites */
  .diaporama li {
    width: 45%;
    max-width: 160px;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  /* AccordÃƒÂ©on : padding compact */
  .accordeon {
    padding: 12px;
  }
  .accordeon .accordeon-toggle {
    padding-right: 32px;
    font-size: 1em;
  }
  .accordeon .accordeon-toggle::after {
    width: 24px;
    height: 24px;
    right: 0;
  }

  /* Formulaire : boutons full width */


  /* Footer social bien centrÃƒÂ© */
  #footer .social ul {
    text-align: center;
  }

  /* Partenaires : vignettes plus petites */
  .partenaires .diaporama li {
    width: 100px;
    height: 100px;
  }

  /* Copyright hauteur auto pour texte qui wrap */
  .copyright {
    height: auto;
    padding: 8px 15px;
  }

}



@media screen and (max-width: 380px) {

  #corps {
    padding-top: 90px;
  }

  h1 { font-size: 1.4em; }
  h2 { font-size: 1.2em; }
  h4 { font-size: 1.4em; }

	h5 {
    display: block;
    margin: 8px 0;
  }
  h5 a {
    display: block;
    text-align: center;
  }

}
