html{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;scrollbar-color:var(--main-couleur) var(--second-couleur);scrollbar-width:auto;caret-color:var(--main-couleur);}
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}
a,abbr,acronym,address,applet,article,aside,audio,b,blockquote,big,body,center,canvas,caption,cite,code,command,datalist,dd,del,details,dfn,dl,dt,em,embed,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,i,iframe,img,ins,kbd,keygen,label,legend,meter,nav,object,ol,output,p,pre,progress,q,s,samp,section,small,span,source,strike,strong,sub,sup,video,tt,u,var{margin:0;padding:0;border:0 none;border:0;outline:0;background:transparent;}
img{vertical-align:middle;}
ol{list-style:none;}
blockquote,q{quotes:none;}
table,table td{border-collapse:collapse;padding:5px;}
embed,object{vertical-align:top;outline:none;}
input,select{font-weight:normal;vertical-align:middle;}
strong{font-weight:700;}
.italic{font-style:italic;}
.clear{clear:both;}
.cleara::after{clear:both;content:"";display:table;}
.hidden{display:none !important;visibility:hidden;}
.grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%);}
.contrast{-webkit-filter:contrast(160%);filter:contrast(160%);}
.brightness{-webkit-filter:brightness(0.25);filter:brightness(0.25);}
.blur{-webkit-filter:blur(3px);filter:blur(3px);}
.invert{-webkit-filter:invert(100%);filter:invert(100%);}
.sepia{-webkit-filter:sepia(100%);filter:sepia(100%);}
.huerotate{-webkit-filter:hue-rotate(180deg);filter:hue-rotate(180deg);}
.opacity{-webkit-filter:opacity(50%);filter:opacity(50%);}
.upper{text-transform:uppercase;}
.lower{text-transform:lowercase;}
.txtleft{text-align:left;}
.txtcenter,.center{text-align:center;}
.txtright{text-align:right;}
.alert{margin:10px 0;padding:10px;border:1px solid #bce8f1;border-radius:3px;color:#3a87ad;background-color:#d9edf7;}
.shadow{box-shadow:0 0 2px 2px rgba(0,0,0,0.3);display:block;}
.uppercase{text-transform:uppercase;}
.underline{text-decoration:underline;}
.black{font-weight:900;}
.bold{font-weight:700;}
.semibold{font-weight:600;}
.light{font-weight:300;}
.fleft{float:left;}
.fright{float:right;}
.inline-block{display:inline-block;vertical-align:middle;}
.bloc-visimodif-mod{position:relative;z-index:999;font:400 20px/30px var(--bodyfont),sans-serif;}
.bloc-visimodif-normal{padding:10px 0;z-index:999;font:400 20px/30px var(--bodyfont),sans-serif;}
.table{width:100%;display:table;table-layout:fixed;}
.relative{position:relative;}
.minibar{width:100%;}
.rotatetxt{content:"";display:block;position:absolute;bottom:0;right:0;transform:translateX(100%) rotate(-90deg);transform-origin:bottom left;}
.rotatetxt2{position:absolute;width:70px;left:-70px;top:0;bottom:0;background:var(--main-couleur);font:700 var(--haccsize)/1.2em var(--hfont),sans-serif;color:#fff;text-transform:uppercase;writing-mode:vertical-lr;transform:rotate(180deg);text-align:center;display:flex;align-items:center;justify-content:center;}
.fontresponsive{font-weight:400;font-family:var(--bodyfont),sans-serif;font-size:calc(20px + (40 - 20) * ((100vw - 320px) / (2000 - 320)));line-height:1.2;}
.contour{text-shadow:-2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;}
.wrapper{width:100%;max-width:var(--wrapper);margin:0 auto;position:relative;display:table;padding:0;table-layout:fixed;}
.mentionsrgpd{font-style:italic;padding:10px 0;text-align:center;}
.mwrap{padding:0 calc( (100% - var(--wrapper)) / 2);}
.sticky{position:sticky;top:0;}

/*
10px = 0.625rem
12px = 0.75rem
14px = 0.875rem
15px = 0.937rem
16px = 1rem (base)
18px = 1.125rem
20px = 1.25rem
24px = 1.5rem
30px = 1.875rem
32px = 2rem
36px = 2.25rem
40px = 2.5rem
48px = 3rem
*/

/*
Thin = 100
Extra Light = 200
Light = 300
Normal = 400
Medium = 500
Semi Bold = 600
Bold = 700
Extra Bold = 800
Heavy = 900
*/

:root {
	--main-couleur:#3e7a51;
	--second-couleur:#181818;
	--third-couleur:#fff;
	--widthlogo:198px;
	--heightmap:465px;
	--widthbtn:590px;
	--marg:50px;
	--bodysize:1rem;
	--menusize:1rem;
	--h1size:3rem;
	--h2size:1.875rem;
	--h3size:1.5rem;
	--bodyfont:"Montserrat";
	--menufont:"Oswald";
	--hfont:"Oswald";
	--wrapper:1200px;
	--widthanim:2000;
	--heightanim:790;
	--ratioanim:var(--heightanim)/var(--widthanim); /*ANIM_H / ANIM_W*/
	--ratioaspect:var(--widthanim)/var(--heightanim); /*ANIM_W / ANIM_H*/
	--scrollbar:calc(100vw - 100%);
}

html{scroll-behavior: smooth;}
html::-webkit-scrollbar{width:16px;width:1rem;background-color:var(--second-couleur);}
html::-webkit-scrollbar-thumb{background:var(--main-couleur);}
/*html{scrollbar-color:var(--main-couleur) var(--second-couleur);scrollbar-width:auto;caret-color:var(--main-couleur);}*/

/*FONTS STANDARDS*/
body{font:400 var(--bodysize)/1.5em var(--bodyfont),sans-serif;color:var(--second-couleur);overflow-x:hidden;}
	a{color:var(--second-couleur);}
#menu a{font:600 var(--menusize)/1.2em var(--menufont),sans-serif;color:var(--second-couleur);text-transform:uppercase;}
header h1,h1,.mentions-legales .h1,.h1{font:600 var(--h2size)/1.2em var(--hfont),sans-serif;color:var(--second-couleur);margin:0 auto 20px; text-transform: uppercase; position: relative;}

.h1{padding: 0 0 20px;}
.h1::before{content: ""; position: absolute; bottom: 0; left: 0; width: 50px; height: 2px; background-color: var(--main-couleur); }

h2{font:400 var(--h3size)/1.2em var(--hfont),sans-serif;color:var(--second-couleur);margin:0 0 10px;}
h3{font:400 var(--h3size)/1.2em var(--hfont),sans-serif;color:var(--second-couleur);margin:0 0 5px;}

.titre{font:700 var(--h1size)/1.2em var(--hfont),sans-serif;color:var(--second-couleur);margin:0 0 20px; text-transform: uppercase; padding-bottom: 20px; position: relative; text-align: center;}
.titre::before{content: ""; position: absolute; bottom: 0; left: calc(50% - 25px); width: 50px; height: 2px; background-color: var(--main-couleur); }

.sstitre{font:400 var(--h3size)/1.2em var(--hfont),sans-serif;color:var(--second-couleur);margin:0;}

/*HEADER*/
#header{margin:0;padding:0;position:relative;z-index:500;}
	#logo{display:block;max-width:var(--widthlogo);height:auto;margin:0 auto;z-index:10;}
		#logo img{display:block;max-width:100%;height:auto;}

/*MENU*/
#menu{z-index:5;text-align:center;padding:0;position:relative;}
	ul.navigation{padding:0;margin:0;display:flex;justify-content:space-around;align-items:center;}
	#menu .navigation li.nomenu{display:none;}
	#menu li{list-style:none;position:relative;margin:0;z-index:10;padding:0;flex:0 1 auto;display:flex;align-self:stretch;align-items:center;justify-content:center;transition:all .3s linear;}
	#menu li a{text-decoration:none;padding:0;position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:all .3s linear;}
	/*#menu li + li{margin-left:30px;}*/
	/*#menu li:hover,#menu li.active{background:var(--main-couleur);}*/
	/*#menu li:hover a,#menu li.active a{color:var(--main-couleur);}*/

	/*SOUSMENU*/
	#menu ul.smenu2{display:none;position:absolute;left:0;top:100%;padding:var(--marg);white-space:nowrap;text-align:left;background:var(--main-couleur);}
		#menu ul.smenu2 a{font:400 var(--menusize)/1.2em var(--menufont),sans-serif;color:var(--second-couleur);}
		#menu ul.smenu2 li{padding:0;}
		#menu li:hover ul.smenu2{display:block;}
		#menu ul.smenu2 li,#menu ul.smenu2 li.hidden{display:block !important;visibility:visible !important;border:none !important;}
		#menu ul.smenu2 li a{text-decoration:none;padding:0;display:block;margin:5px 0;}
		#menu ul.smenu2 li:hover,#menu ul.smenu2 li.active{border:none;}
		/*#menu li:hover ul.smenu2 li a,#menu li.active ul.smenu2 li a{background:none;}
		#menu li ul.smenu2 li:hover a,#menu li ul.smenu2 li.active a{color:var(--second-couleur);}
		#menu li ul li + li{margin-left:0;}*/

	/*SOUSSOUSMENU*/
	#menu ul.smenu3{display:none;position:absolute;top:0;left:200px;padding:0;white-space:nowrap;text-align:left;background:var(--main-couleur);}
		#menu ul.smenu2 li:hover ul.smenu3{display:block;}
		#menu ul.smenu3 li,#menu ul.smenu3 li.hidden{display:block !important;visibility:visible !important;border:none !important;}
		#menu ul.smenu3 li a{text-decoration:none;padding:0 20px;display:block;}
		#menu ul.smenu3 li:hover,#menu ul.smenu3 li.active{border:none;}
		#menu li:hover ul.smenu3 li a,#menu li.active ul.smenu3 li a{background:none;}
		#menu li ul.smenu3 li:hover a,#menu li ul.smenu3 li.active a{background:var(--second-couleur);}

/*CONTENT*/
#content{position:relative;padding:calc(2 * var(--marg)) 0;}
.index #content{background-color: var(--second-couleur); color: var(--third-couleur);}
#content2{position:relative;padding:calc(2 * var(--marg)) 0;}

/*CONTAINER*/
#article{flex:1 1 0%;padding-left:calc(2* var(--marg));order:2;}
#aside{flex:0 1 70%;margin-left: -35%; order:1;}

#article2{flex:1 1 0%;padding-right:calc(2* var(--marg));order:1;}
#aside2{flex:0 1 75%;margin:0 -45% 0 10%; order:2;}

#full{flex:1 1 0%;margin:0 auto;}

/*SOUSCONTAINER*/
.content,.indentm{position:relative;padding:0;}
.indentm .h1{display:none;}
.message-container .content{margin:0;border:none;padding:0;}
	#visicod{display:none !important;}

/*MAP*/
#map{position:relative;display:block;width:100%;height:var(--heightmap);-webkit-transition:all .2s linear;-kthtml-transition:all .2s linear;transition:all .2s linear;}
	#map:hover{filter:grayscale(100%);}
	#map img{max-width:100%;width:auto;height:100%;object-fit:cover;}

/*FOOTER*/
#footer{font:400 14px/20px var(--bodyfont),sans-serif;color:#fff;padding:20px;margin:0;position:relative;background:var(--main-couleur);}
	#footer a{color:#fff;z-index:10;text-decoration:none;}

/*DIVERS*/
.sep{display:block;width:90%;height:2px;background:var(--second-couleur);margin:30px auto;}
.videodetector{display:block;width:100%;height:640px;position:relative;}
	.videodetector iframe{width:100%;height:100%;position:absolute;top:0;left:0;}
#menu li a::before{content:"";width:0;height:2px;position:absolute;bottom:-5px;left:0;right:0;margin:0 auto;background:var(--main-couleur);transition:all 0.3s ease-in-out 0s;}
	#menu li:hover a::before,#menu li.active a::before{width:100%;}
/*#menu li a::after{content:"";width:10px;height:10px;position:absolute;bottom:0;left:0;right:0;margin:0 auto;background:url("../images/menu.png") no-repeat center center transparent;opacity:0;transition:all 0.3s ease-in-out 0s;}
	#menu li:hover a::after,#menu li.active a::after{opacity:1;}*/
/*header h1::before,.mentions-legales .h1::before,.h1::before{content:"";width:100%;height:4px;display:block;position:absolute;left:0;right:0;bottom:-10px;margin:0 auto;background:var(--second-couleur);}*/
/*#menu li:hover ul.smenu2 li::after{opacity:0 !important;}*/
/*#menu li:hover ul.smenu2 li a::before,#menu li:hover ul.smenu2 li a::after{display:none !important;}*/
/*#menu .smenu2 li a::after{display:none;}*/




.flex{display:flex;flex-wrap:wrap;align-items: center;}


.flexhead{display:flex;align-items:center;justify-content:center;}
	.flexlogo{flex:0 1 auto; background-color: var(--second-couleur); padding: 15px 25px; border-radius: 0 0 25px 25px;}
	.flexmenu{flex:1 1 0%;}


/* ANIMATION */
#animation{position:relative;width:100%;aspect-ratio:var(--ratioaspect);/*height:calc(100vw - var(--scrollbar) * var(--ratioanim));*/}
#animation .container{position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center;}
#animation .flex{flex-wrap: nowrap;}
#animation .left{flex: 0 1 350px; padding: 15px; display: flex;flex-direction: column;gap: 15px;}
#animation .right{flex: 1 1 0%; padding: 15px; display: flex;flex-direction: column;align-items: flex-end;gap: 50px;}

#animation .title{position:relative;border: 1px solid var(--second-couleur); border-radius: 25px; padding: var(--marg);}
#animation .title h1{font: 700 4.8vw/1.2em var(--hfont),sans-serif; text-transform: uppercase; color: var(--second-couleur);}
#animation .title h2{font: 600 30px/1.2em var(--hfont),sans-serif;  text-transform: uppercase;}
#animation .adresse,#animation .phone,#animation .email{font: 600 var(--h3size)/1.2em var(--hfont),sans-serif; color: var(--third-couleur); padding: 10px 20px; background-color: var(--second-couleur); border-radius: 20px;}
#animation .adresse{padding:50px 20px;}
#animation .email{padding: 20px 50px; margin-right: var(--marg);}
#animation .bouton{position: absolute;bottom: -22px;left: calc(2* var(--marg));}

#imgAnim{position: absolute;left: 30%;top: 7%;width: 15vw;z-index: 10;}



.imgaside{display:block;margin:0 auto;max-width:100%;height:auto; border-radius: 25px;}
article #content ul{display:inline-block;}
.flextrad{display: flex; flex-wrap: nowrap; gap: 10px; justify-content: center; align-items: center;}
.flag{width: 40px; height: 40px;}

/* CONTENT */
.index #content::before{content: ""; position: absolute; top: -7vw; left: 0; width: 12vw; height: 12vw; background: url('../images/a1-aside3.png') center no-repeat;background-size: contain;}
.index #content::after{content: ""; position: absolute; top: -10vw;right: 10vw;width: 20vw;height: 15vw;background: url('../images/a1-aside2.png') center no-repeat;background-size: contain;}

.index #content .h1{color: var(--third-couleur);}
#content .sticky{display: flex;flex-direction: column;align-items: flex-end;}
#content .imgaside{margin: 0;}
#content .imgaside:nth-child(even){margin: -75px auto 0;}

/* ACCUEIL */
#accueil{padding:var(--marg) 0;}
	.flexacc{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;}
		.btnacc{flex:0 1 var(--widthbtn);text-decoration:none;position:relative;}
			.blocimg{overflow:hidden; border-radius: 20px;}
				.imgacc{max-width:100%;height:auto;transition:all .3s linear;}
			.hacc{padding:10px;font:700 var(--h2size)/1.2em var(--hfont),sans-serif;color:var(--second-couleur);text-align:center; text-transform: uppercase;}
			.btnacc:hover .imgacc{transform:scale3d(1.1,1.1,1.1);}
			.btnacc:hover .blocimg{box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, .5);}


.flexbtn{display:flex;align-items:center;justify-content:flex-end;margin-top:var(--marg);}
	.bouton,.bouton2{display:inline-block;font:700 var(--bodysize)/1em var(--hfont),sans-serif;color:#fff;background:var(--second-couleur);padding:15px 50px;text-decoration:none;text-align:center;text-transform:uppercase;transition:all .3s linear;}
		.bouton:hover,.bouton2:hover{background:var(--main-couleur); box-shadow: 0 0 10px 2px rgba(0, 0, 0, .5);}

		.bouton{border-radius: 50px;}
		.bouton2{border-radius: 5px;}

			/*.bouton::before{content:'';width:100%;height:1px;background:var(--second-couleur);position:absolute;bottom:0;right:0;left:0;margin:0 auto;transition:bottom 0.3s;}*/
			/*.bouton::after{content:'';width:1px;height:1px;background:var(--main-couleur);position:absolute;bottom:0;right:0;transition:height 0.3s;}*/
				/*.bouton:hover::before{bottom:100%;opacity:1;}*/
				/*.bouton:hover::after{height:100%;}*/


#prefooter{position:relative;}
	.flexfoot{display:flex;align-items:center;justify-content:center; flex-direction: column;}
		.flexadresse{flex:0 1 auto;}
			.flexadresse .flex{justify-content: space-around; align-items: center; gap: 25px;}
			.flexadresse .flex>div{width: 300px;}
			.flexadresse h3{font:700 var(--h3size)/1.2em var(--hfont),sans-serif; margin: 0 0 20px; padding: 0 0 20px; position: relative; text-align: center; text-transform: uppercase;}
			.flexadresse h3::before{content: ""; position: absolute; bottom: 0; left: calc(50% - 25px); width: 50px; height: 2px; background-color: var(--main-couleur);}
			.flexadresse p{font-weight: 600; font-size: 18px; line-height: 24px; text-align: center;}
			.logo2{display:block;max-width:100%;height:auto;margin:0 auto 20px; background-color: var(--second-couleur); padding: 25px 15px; border-radius: 15px;}
			.flexadresse .flexbtn{position:relative;z-index: 100; justify-content: center; margin-bottom: -25px;}
		.flexmap{flex:0 1 auto;}


.partenaires .owl-carousel{margin:var(--marg) auto 0;}
	.partenaires .owl-nav{display:none !important;}

.owl-carousel .owl-item a img{width:auto !important;}

/*-----------------------------------------------*\
|*					RESEAUX SOCIAUX				 *|
\*-----------------------------------------------*/
#footer .flex{align-items:center;justify-content:space-between;}
.mentions{flex:0 1 auto;}
ul.social{padding:0;margin:0;flex:none;}
ul.social li{display:inline-block;font-size:14px;vertical-align:middle;z-index:10;}
ul.social li.reseau-social{font-size:24px;display:inline-block;padding:0 0.3em 0 0;}
ul.social li.reseau-social:last-child{padding-right:0;}
ul.social li.reseau-social a span{font-size:0;line-height:0;display:none;}
ul.social li.reseau-social a:hover,ul.social li.reseau-social a:focus{outline:none;}
ul.social li.reseau-social:active{-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9);}
ul.social li.reseau-social svg{width:1.2em;height:1.2em;fill:currentColor;z-index:10;-webkit-transition:all .2s linear;-kthtml-transition:all .2s linear;transition:all .2s linear;display:block;}
ul.social li:hover svg{fill:var(--second-couleur);}



/*-----------------------------------------------*\
|*					RESPONSIVE					 *|
\*-----------------------------------------------*/
@media (max-width:1600px){
	.index #content::after{top: -7vw;right: 5vw;}
}

@media (max-width:1400px){
	.index #content::after{display: none;}
	#animation .title h1 {font: 700 4vw/1.2em var(--hfont),sans-serif;}

	#article{flex:1 1 0%;padding-left:var(--marg);order:2;}
	#aside{flex:0 1 40%;margin-left: 0%; order:1;}
	#content .imgaside:nth-child(even){margin: 20px 0 0;}

	#article2{flex:1 1 0%;padding-right:var(--marg);order:1;}
	#aside2{flex:0 1 65%;margin:0 -25% 0 0; order:2;}

	.hacc{font-size: 1.25rem;}
}

@media (max-width:1220px){
	:root {
		--wrapper:980px;
		--marg:25px;
		--widthlogo:160px;
		--menusize:0.875rem;
	}
}

@media (max-width:1000px){
	:root {
		--wrapper:100%;
		--marg:10px;
		--h1size:1.5rem;
		--h2size:1.25rem;
		--h3size:1.125rem;
	}

	nav .navigation,#menu,.nomob{display:none !important;visibility:hidden !important;}

    .wrapper{width:var(--wrapper) !important;}
	
	body{margin:0;}
	
	#header{width:100%;margin:0;padding:10px 0;position:relative;border:none;text-align:center;}
		header h1,h1,.mentions-legales .h1,.h1,.sstitre{text-align:center;}

	#logo{margin:0 auto;width:90%;height:auto;float:none;padding:0;display:block;position:relative;top:0;left:0;right:0;bottom:0;}
		#logo img{width:100%;height:auto;}

	#article,#article2,#aside,#aside2,#full,#content,#content2,.content,.indentm,#footer,#accueil,#prefooter{flex:0 1 100%;display:block;width:100%;max-width:100%;height:auto;min-height:auto !important;float:none;border:none;padding:0;margin:0;left:0;top:0;right:0;bottom:0;position:relative;box-shadow:none;box-sizing:border-box;}
	#article,#article2,#aside,#aside2,#full{padding:var(--marg);}
	#content,#content2,#accueil{padding:50px 0;margin:0;}
	.content,.indentm{padding:0; text-align: center;}

    #article{order:1;}
    	article .content p img{max-width:100% !important;height:auto !important;display:block;float:none !important;margin:10px auto !important;}

    #aside{order:2;text-align:center;}

	#footer{padding:10px;box-sizing:border-box;height:auto;text-align:center;}
	    ul.social li.reseau-social{font-size:35px;}

	.sep{margin:10px auto;}

    #map{margin:0 auto;float:none;border:none;background-size:cover;}

    iframe{max-width:100%;}

	#animation{margin:0;border:0;max-width:100%;padding:0;width:100%;height:auto;aspect-ratio:auto;}

	#footer .flex{flex-wrap:wrap;}
		.mentions,ul.social{flex:0 1 100%;}

	.flexbtn{flex-wrap:wrap;justify-content:center;margin:20px auto;}
	
	.flexlogo{flex:1;margin:0;}
	
	.flexfoot{flex-wrap:wrap;}
		.flexadresse{flex:0 1 100%;padding:var(--marg);}*
		.flexadresse .flex{flex-direction: column;
			.logo2{margin:0 auto 20px;}
		}
		.flexmap{flex:0 1 auto;}



	.slicknav_menu{background-color: var(--second-couleur)};
	.slicknav_btn{background-color: var(--main-couleur); transition: all linear .3s;}
	.slicknav_btn:hover{background-color: rgba(62, 122, 81, .7);}
	.flexlogo{border-radius: 0;}

	#animation .adresse, #animation .phone, #animation .email, #animation .bouton,#imgAnim {display: none;}

	#animation .flex{flex-direction: column-reverse; gap: 15px;}
	#animation .left,#animation .right{flex: 1 1 auto; padding: 0;}

	#animation .title{text-align: center; background-color: #fff;}
	#animation .title h2 {font: 700 3vw/1.2em var(--hfont),sans-serif;}

	.h1::before {left: calc(50% - 25px);}
	#content .sticky{flex-direction: row; gap: 15px; flex-wrap: wrap; justify-content:center; align-items: flex-start;}
	#content .imgaside:nth-child(even){margin: 0;}
}

@media (max-width:600px){
	#animation .title{padding: 5px; border-radius: 5px;}
	#animation .title h1 {font: 700 1.15em/1.2em var(--hfont),sans-serif; margin-bottom: 5px;}
	#animation .title h2 {font: 700 1em/1.2em var(--hfont),sans-serif; margin-bottom: 0;}
	.flag{width: 30px; height: 30px;}
}
