/* IMPORT FONTS */
@font-face {
    font-family: 'pop-b';
    src: url('../fonts/poppins-bold-webfont.eot');
    src: url('../fonts/poppins-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/poppins-bold-webfont.woff') format('woff'),
         url('../fonts/poppins-bold-webfont.ttf') format('truetype'),
         url('../fonts/poppins-bold-webfont.svg#poppinsbold') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'pop-l';
    src: url('../fonts/poppins-light-webfont.eot');
    src: url('../fonts/poppins-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/poppins-light-webfont.woff') format('woff'),
         url('../fonts/poppins-light-webfont.ttf') format('truetype'),
         url('../fonts/poppins-light-webfont.svg#poppinslight') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'pop-r';
    src: url('../fonts/poppins-regular-webfont.eot');
    src: url('../fonts/poppins-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/poppins-regular-webfont.woff') format('woff'),
         url('../fonts/poppins-regular-webfont.ttf') format('truetype'),
         url('../fonts/poppins-regular-webfont.svg#poppinsregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'pop-m';
    src: url('../fonts/poppins-medium-webfont.eot');
    src: url('../fonts/poppins-medium-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/poppins-medium-webfont.woff') format('woff'),
         url('../fonts/poppins-medium-webfont.ttf') format('truetype'),
         url('../fonts/poppins-medium-webfont.svg#poppinsmedium') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'pop-sb';
    src: url('../fonts/poppins-semibold-webfont.eot');
    src: url('../fonts/poppins-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/poppins-semibold-webfont.woff') format('woff'),
         url('../fonts/poppins-semibold-webfont.ttf') format('truetype'),
         url('../fonts/poppins-semibold-webfont.svg#poppinssemibold') format('svg');
    font-weight: normal;
    font-style: normal;

}


/* RESET */
body, ul, li, ol, form, h1, h2, h3, h4, h5, h6, div, span, p { padding:0; margin:0; border:0; -webkit-text-size-adjust:none; -moz-text-size-adjust:none; text-size-adjust:none;}
article, aside, footer, header, main, nav, section           { display:block;}
input, textarea, select                  					 { -webkit-appearance:none; -ms-appearance:none; appearance:none; -moz-appearance:none; -o-appearance:none; border-radius:0;}
strong,b	{ font-weight:normal; font-family:pop-b;}
ul			{ list-style-type:none;}
body		{ font:normal 16px/24px pop-r, Arial; color:#2f2f2f; background:#fff;}
a			{ text-decoration:none; color:#a18d1c; outline:none; }
img			{ border:none;}
#wrapper 	{ min-width:320px;}
#wrapper *	{ box-sizing:border-box;}


/* CLASS */
.clear			{ clear:both; float:none !important; width:100% !important; padding:0 !important; margin:0 !important; display:block;}
.left			{ float:left;}
.right 			{ float:right;}
.sousTitre 		{ font:normal 24px/36px pop-r; color:#19a149; position:relative; margin:0 0 25px 0;}
.link 			{ width:auto; height:50px; display:inline-block; border:1px solid #39b54a; position:relative; font:normal 16px/48px pop-r; letter-spacing:.4px; color:#39b54a; text-decoration:none !important; padding:0 20px; background:transparent;}
.link span::before { content: "> ";position: relative;     transition-duration: initial; }
.wrapper		{ max-width: 1200px;padding:0 60px;  width: 100%; position: relative;margin: 0 auto;}
.clr:after 		{ content: ''; display: table; width: 100%; clear: both;}

/* HEADER */
#header						{ width:100%; position:relative;}
.headerTop					{ width:100%; height:auto; position:relative; z-index:65; background:#f2f2f2; padding:17px 60px; font:normal 12px/18px pop-r, Arial; color: #5f5f5f;}

.headerTop .adress-top 	 	{ float: left; background: url('../images/icon-adr-t.svg') no-repeat 0 2px; padding-left: 44px; width: 208px; min-height: 30px; }
.headerTop .horaire-top 	{ float: left; background: url('../images/icon-h-t.svg') no-repeat 0 2px; padding-left: 44px; min-height: 30px; }
.headerTop .hidden-desk 	{ display: none; }
.headerTop a				{ display:block; color:#fff; letter-spacing:.6px; float:left; font:normal 18px/46px pop-r;}
.headerTop .rs 				{ width:30px; height:30px; text-indent:-9999px; border-radius:50%; margin:0;}
.headerTop .facebook		{ background:url(../images/icon-facebook.svg) center no-repeat #1aa34a; background-size: 6px; margin: 0 9px; }
.headerTop .google			{ background:url(../images/icon-google.svg) center no-repeat #1aa34a; background-size: 13px; }
.headerTop .lettre			{ background:url(../images/icon-mail.svg) center no-repeat #1aa34a; background-size: 15px; }
.logo-nav 					{ padding: 20px 60px 0; height: 102px; }

.logo						{ display:inline-block; width:auto; height:62px; background: url('../images/logo.svg') no-repeat top left; color: #404040; text-transform: uppercase; font: 21px 'pop-m',Arial; background-size: 62px; padding-left: 75px;padding-top: 15px;  }
.logo span 					{ font-size: 14px; color: #19a149; display: block; text-transform: capitalize; font-weight: normal; }

/* MENU */
.menu						{ width: auto; display:block; position:relative; z-index:60; margin-top: 15px;}
.menu>ul					{ width:100%; display:block; position:relative; text-align:center; background:#fff; font-size:0; line-height:0;}
.menu>ul>li 				{ position: relative; }
.menu>ul>li:nth-child(3)    { padding-bottom: 32px; }
.menu>ul>li::after 			{ content: "";position: absolute; display: inline-block; right: -25px; top: 0px;background: #e1e6df;width: 1px; height: 37px; }
.menu>ul>li:last-child::after { display: none; }
.menu>ul>li:last-child 		  { margin-right: 0; }
.menu li					{ display:inline-block; position:relative; margin:0 25px;}
.menu a						{ width:auto; height:35px; font:normal 14px/35px pop-m; letter-spacing:0; color:#2c2d2c; display:block; padding:0; position:relative; text-transform: uppercase;}
.menu a span 				{ width:0; height:1px; position:absolute; left:0; top: 28px; background:#37a623; display:block;}
.menu>ul>li.active>a		{ color:#339923;}
.menu>ul>li.active>a span	{ width:100%;}

/* SUB */
.sub						{ width:300px; position:absolute; top:67px; left:50%; z-index:995; margin-left:-150px; display:block; background:#f0f0f0; visibility:hidden; opacity:0;}
.sub li						{ width:100%; margin:0; border:none; padding:0; text-align:center;}
.sub li a					{ width:100%; height:60px; line-height:60px; position:relative; border-bottom:1px solid #339923; margin:0;}
.sub li:last-child a		{ border:0;}
.menu li:hover .sub 		{ opacity:1; visibility:visible; z-index:999;}
.menu .sub li.active a		{ background:#339923; color: #fff;}

@media (min-width:1025px) 	{ .menu ul { display:block !important;}}

.txt-banner					{ position:absolute; right:150px; top:250px; z-index:50; max-width: 500px; text-align: center;}
.txt-banner .titre			{ font:normal 72px/68px pop-l; color:#19a149; text-transform: uppercase;  margin-bottom: 15px; }
.txt-banner .titre span 	{ font:normal 40px pop-l; display:block; text-transform:uppercase; color: #393939; }
.txt-banner p 				{ color: #393939; font:normal 15px/24px pop-r;  }




/* SLIDER */
#slider						{ width:100%; height:535px; position:relative; z-index:45; border-bottom: 1px solid #d3ecd1;  }
#slider .slick-list			{ width:100%; height:100%;}
#slider .slick-track		{ width:100%; height:100%;}
#slider .banner1			{ background:url(../images/banner1.jpg) #fff bottom left no-repeat; -webkit-background-size:cover ; -moz-background-size:cover ; background-size:cover ; height: 100%;}

.slick-prev 				{ width:66px; height:66px; background:url(../images/icon-arrow-l.svg) 50% 50% no-repeat rgba(255,255,255,0.88) ; position:absolute; left: 2px; top:50%; z-index:50; cursor:pointer; text-indent:-9999px; outline:none; border:0; padding:0; margin-top:-33px; background-size: 21px; }
.slick-next 				{ width:66px; height:66px; background:url(../images/icon-arrow-r.svg) 50% 50% no-repeat rgba(255,255,255,0.88) ; position:absolute; right: 2px; top:50%; z-index:50; cursor:pointer; text-indent:-9999px; outline:none; border:0; padding:0; margin-top:-33px; background-size: 21px; }

.slick-dots					{ width:100%; height:16px; position:relative; text-align:center; padding:0; line-height:0; z-index:50;}
.slick-dots	li				{ display:inline-block; height:16px; margin:0 10px;}
.slick-dots button			{ display:block; width:16px; height:16px; border-radius:50%; text-indent:-9999px; background:none; outline:none; padding:0; border:1px solid #fff;}
.slick-active button		{ background:#fff;}


/* HOME PAGE */
.blocBienvenue 				{ width:100%; padding: 45px 60px 70px; text-align:center; position:relative; background: #f3f6f2;}
.blocBienvenue .wrapper 	{ max-width:1050px; padding: 0 }
.blocBienvenue .titre 		{ font:normal 48px pop-l; color: #11943f; position: relative; margin-bottom: 40px; }
.blocBienvenue .titre:after { content: ""; background: #49b13d; width: 207px; height: 1px; display: block; margin: 25px auto 0;position: relative;}
.blocBienvenue .titre span 	{ font:normal 28px pop-l; color: #a18d1c; display: block; margin-top: 2px;}
.blocBienvenue .soustitre	{ font-size: 24px; margin-bottom: 25px;}
.blocBienvenue p	 		{ font:normal 16px/24px pop-r; margin:0 auto 35px; color: #2f2f2f;}
.blocBienvenue * 			{ position:relative; z-index:2;}

.blocBienvenue .line2 		{ left:25%;}
.blocBienvenue .line3 		{ left:50%;}

.blocActu 					{ background: rgb(14, 126, 55); background: -moz-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: -webkit-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: -o-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: -ms-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: linear-gradient(90deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); position: relative; }
.blocActu .content 		  	{ padding: 33px 60px; color: #fff; position: relative; }
.blocActu .titre 			{ float: left; font: 27px pop-l;text-transform: uppercase; padding: 0; position: absolute; top: 50% ; left: 60px; margin-top: -24px; }
.blocActu .titre .soustitre { display: block; text-transform: lowercase; width: 190px; font: 16px pop-r; margin-top: 5px;  }
.blocActu .titre .soustitre:first-letter { text-transform: uppercase;}
.blocActu p 				{ float: left; width: 835px; font: 14px/22px pop-r; margin-left: 190px; padding-left: 27px; border-left: 1px solid #fff; }
.blocActu .link 			{ float: right; border-color: #fff;background-color: transparent; color: #fff; padding: 0 30px; height: 52px; line-height: 50px; position: absolute; right: 60px; top: 50%; margin-top: -26px; }

.blocServices 				{ width:100%; height:auto; padding: 66px 60px 57px; border-bottom: 1px solid #d3ecd1;}
.blocSlide					{ width:20%; height:auto; float:left; position:relative; text-align:center; background:#fff; color:#404040; }
.blocSlide img				{ margin:0 auto; display:block; width:auto; height:auto; max-width: 100%; position: relative; top: 0;}
.blocSlide .titre			{ font:normal 14px/16px pop-r; letter-spacing: 0; padding:20px 0 0;}
.blocSlide .titre span 		{ display: block; }
.blocSlide p				{ margin:0 auto 20px auto; max-width:260px;}
.blocSlide .link			{ border-color:#fff; color:#fff; background:none;}

.blocContenu1 				{ width:100%; height:auto; position:relative; text-align: center;}
.blocContenu1 .wrapper 		{ max-width: 1247px;padding: 47px 0 74px; }
.blocContenu1 .titre 		{ font: 27px pop-r; color: #3c3c3c; margin-bottom: 7px; }
.blocContenu1 .wrapper > p  { margin-bottom: 50px; }
.specialisation 			{ height: 310px; margin-bottom:55px}
.specialisation .item 		{ height: 380px; overflow: hidden; position: relative; cursor: pointer; background-size: cover !important; border-right: 1px solid #fff; }
.specialisation .item1 		{ background: url('../images/bg-sec1.jpg') no-repeat top left; }
.specialisation .item2 		{ background: url('../images/bg-sec2.jpg') no-repeat top left; }
.specialisation .item3 		{ background: url('../images/bg-sec3.jpg') no-repeat top left; }
.specialisation .item4      { background: url('../images/bg-sec4.jpg') no-repeat top left; }
.specialisation .item5      { background: url('../images/bg-sec5.jpg') no-repeat top left; }
.specialisation .item6      { background: url('../images/bg-sec6.jpg') no-repeat top left; }
.specialisation .item7      { background: url('../images/bg-sec7.jpg') no-repeat top left; }
.specialisation .item8 		{ background: url('../images/bg-sec8.jpg') no-repeat top left; }
.specialisation .content-item { min-width: 222px;position: absolute;padding: 18px 30px 20px;bottom: 0;width: 100%; background-color: rgba(17,148,63,1); color: #fff; height: 63px; }
.content-item .titre 		{ font: 21px pop-r;color: #fff; margin-bottom: 30px; position: relative; }
.content-item .titre::after { content: ""; position: relative; display: block; width: 46px;height: 1px;margin: 0 auto; background: #fff; top: 13px; opacity: 0; }
.content-item p 			{ font: 14px/22px pop-r; }
.content-item .link-plus 	{ font: 30px/47px pop-l; color: #fff; border-radius: 50%; border: 1px solid #fff; width: 45px;height: 45px; display: inline-block; margin: 17px auto 0; }



.blocContenu2				{ width:100%; height:100%; position:relative; background: url(../images/bg-map.jpg) top right #dfdfdf no-repeat ;}
.blocContenu2 .adr-horaire 	{ background: #19a149; color: #fff; min-height: 468px; padding: 35px 60px 0; display: inline-block; width: 410px; }
.adr-horaire .titre 		{ font: 18px/21px pop-m; margin-bottom: 10px;  }
.adr-horaire .titre span 	{ font-size: 14px; display: block; }
.adresse p 					{ font: 14px/24px pop-r; }
.adr-horaire a 				{ color: #fff; }
.adr-horaire .adresse 		{ border-bottom: 1px solid #53b977; padding-bottom: 17px; margin-bottom: 20px; }
.horaire .heure 			{ text-align: right; }
.horaire .heure li 			{ display: inline-block; font: 12px pop-m; white-space: nowrap; }
.horaire .heure li:nth-child(2) { margin-left: 27px;  }
.horaire .heure li:nth-child(3) { margin-left: 7px; margin-right: 53px;  }
.horaire .graph li 			{ line-height: 0; margin-bottom: 18px; }
.horaire .graph em 			{ display: inline-block; max-width: 45px; vertical-align: middle; font: 12px pop-r; width: 100%; }
.horaire .graph span 		{ display: inline-block; width: 240px; vertical-align: middle; height: 12px; background: #fff; position: relative;  }
.horaire .graph span:before { content:""; display: block; position: absolute;top: 0; left: 20px; background: #41f17f;width: 70px; height: 100%; }
.horaire .graph span:after { content:""; display: block; position: absolute;top: 0; right: 20px; background: #41f17f;width: 90px; height: 100%; }
.horaire .graph li:nth-child(6) span:after { display: none; }
.horaire .graph li:last-child em 	{ max-width: 100%; }

/* si besoin, CSS pour les <a>, <strong>, <b>, ... sur la HP */
#homePage a 				{ color:#444; text-decoration:underline;}
#homePage .hide a 			{ color:#fff; text-decoration:underline;}


/* PAGES INTERIEURES */
.page .menu a span			{ bottom:-1px;}
.page .menu .sub			{ top:67px;}
.page .blocBottom			{ border-top:1px solid #cecece;}

/* CONTENT + ASIDE */
.banner-page 				{ background: url('../images/banner-page.jpg') no-repeat top left ; min-height: 300px;height: 100%; background-size: cover; position: relative; }
.banner-page .content 		{ padding: 0 60px; }
.titrePage					{ display:inline-block; font:normal 48px pop-l; position: absolute;bottom: 0;left: 60px; background-color: rgba(161,141,28,0.47); padding: 12px 25px 0; color: #fff; text-transform: uppercase; height: 66px; min-width: 286px; text-align: center; }
.pageContent				{ width:100%; min-height:1084px; margin:0 auto; position:relative; padding:0 358px 0 0;}
.pageLeft					{ width:100%; max-width:1015px; position:relative; margin:0 auto; padding:60px 60px 54px; }
.pageLeft p					{ margin:0 0 25px 0; font: normal 15px/26px pop-r; color: #333333;}
.pageLeft ul				{ margin:0 0 39px 0; padding: 0 38px;}
.pageLeft ul li				{ padding: 0px 0 0px 13px; background: url(../images/icon-liste-p.svg) 0 13px no-repeat; font: normal 15px/36px pop-r; color: #333333;}
.photoPage					{ width:100%; max-width:100%; height:auto; margin:0 0 40px; padding:0;}
.photoPage img				{ width:100%; height:auto; margin:0; padding:0;}

.aside						{ width:25%; max-width: 297px; height:100%; position:absolute; right:60px; top:67px; background: transparent;}
.aside-actu 				{ background-color: #19a149; color: #fff; text-align: center; padding: 35px 45px; border-bottom: 1px solid #fff; }
.aside-actu .titre 			{ font: 27px pop-l; text-transform: uppercase; margin-bottom: 20px; }
.aside-actu > p 			{ font: 14px/24px pop-r; margin-bottom: 20px; }
.aside-actu .link 			{ background-color: transparent; color: #fff; border-color: #fff;  }
.aside .slideRight			{ width:100%; position:relative; background: transparent; border-bottom: 1px solid #fff;}
.aside .blocSlide			{ width:auto; padding:70px 40px 45px 40px; cursor:pointer;}
.aside .blocSlide a			{ width:30px; height:15px; margin:0 auto; background:url(../images/icone-arrow2.svg) 0 0 no-repeat; display:block; text-indent:-9999px;}
.aside .specialisation .item { border: none; text-align: center; }
.aside .specialisation .content-item { padding-top: 17px; }
.aside .content-item p      { padding-left: 35px;padding-right: 35px; }
.aside .slick-prev 			{ left: 0; width:60px; }
.aside .slick-next 			{ right: 0; width:60px; }

.aside .blocRight			{ background-color: #ffffff; border: 1px solid #bababa; }
.aside .adr-horaire 		{ padding: 30px 28px; }
.aside .horaire .heure 		{ margin-bottom: 5px; }
.aside .horaire .graph span { background-color: #ececec; width: 204px; }
.aside .adr-horaire .titre 	{ color: #53b775; margin-bottom: 15px; }
.aside .adr-horaire .adresse { margin: 0; padding: 0; border:none; }
.aside .horaire .graph span:before 	{ width: 60px;left: 15px; }
.aside .horaire .graph span:after 	{ width: 80px; right: 13px; }
.aside .horaire .graph em 			{ max-width: 30px; }
.aside .horaire .heure li:nth-child(2) 	{ margin-left: 12px; }
.aside .horaire .heure li:nth-child(3) 	{ margin-right: 35px; margin-left: 4px; }
.aside .horaire .graph li:last-child 	{ margin-bottom: 0; }

.bloc-info 					{ text-align: center; color: #fff; background: rgb(14, 126, 55); background: -moz-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: -webkit-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: -o-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: -ms-linear-gradient(0deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); background: linear-gradient(90deg, rgb(14, 126, 55) 30%, rgb(26, 216, 94) 100%); }
.bloc-info .content 		{ padding: 22px 0; }
.bloc-info .titre 			{ font: 30px/28px pop-r; }
.bloc-info p 				{ font: 18px/24px pop-r; }
.bloc-info .tel-info 	 	{ font: 38px pop-sb; color: #fff; line-height: 28px; display: inline-block; margin-top: 14px; }


/* PAGE SERVICES */
.blocPage					{ margin:30px 0 10px 0; padding:30px 0 0 0; border-top:1px dotted #cecece;}
.blocPage>div 				{ border-bottom:1px dotted #cecece; padding:0 0 30px 0; margin:0 0 30px 0;}
.blocPage>div img			{ width:30%; height:auto; float:left; padding:0;}
.blocPage>div>div			{ width:70%; height:auto; float:left; padding:10px 0 0 30px;}
.blocPage>div .sousTitre 	{ margin:0 0 10px 0;}
.blocPage>div p		 		{ margin:0 0 14px 0;}
.blocPage>div .link			{ margin:0 0 5px 0;}


/* PAGE GALERIE */
.pageFull 					{ width:100%; padding:60px 36px 60px 36px; border-top:1px solid #cecece;}
.pageFull .wrapFull			{ max-width:1200px; margin:0 auto;}
.pageFull .blocFull			{ padding:0 4px; margin:0 0 26px 0;}
.pageFull .galerie 			{ padding-bottom:16px;}
.pageFull .galerie a		{ display:block; float:left; width:33.33%; padding:4px; position:relative; line-height:0;}
.pageFull .galerie img		{ width:100%; height:auto; display:inline-block; margin:0; padding:0;}
.pageFull .galerie a span	{ display:block; width:100%; height:100%; background:url(../images/icone-loupe.svg) 50% 50% no-repeat rgba(0,0,0,.5); position:absolute; left:0; top:0; border:4px solid #fff; opacity:0;}

/* FOOTER */
#footer						{ width:100%; height:auto; position:relative;}
.footer						{ width:100%; position:relative; background:#fff; padding: 70px 60px 50px; color:#6c6c6c; font:normal 14px/24px pop-r; letter-spacing: 0;}
.footer1 					{ float:left;}
.footer2  					{ float:left; padding:0 60px;}
.footer2 li 	 			{ padding: 0 0 0 12px; background:url(../images/icon-liste.svg) 0 8px no-repeat;}
.footer2 li a	 			{ color:#6c6c6c;}
.footer2 li strong 			{ font-family: 'pop-sb'; }
.footer3 					{ float:right;}
.social 					{ float:left; padding:0;}
.social a 					{ width:30px; height:30px; border-radius:50%; text-indent:-9999px; display:block; float:left; cursor:pointer;}
.social .facebook			{     background: url(../images/icon-facebook.svg) center no-repeat #1aa34a; background-size: 6px; margin: 0 9px;}
.social .google				{ background: url(../images/icon-google.svg) center no-repeat #1aa34a; background-size: 13px;}
.social .open-plan			{ background: url(../images/icon-plan.svg) center no-repeat #1aa34a; background-size: 9px;}
.toponweb					{ min-width:120px; min-height:60px; display:block; z-index:85; position: fixed; bottom: 0; background: rgba(255,255,255,0.5); padding: 20px 20px; right: 0; opacity:0}
.opacity                    { opacity:1}
.toponweb img				{ width:74px; display:block; margin:0 auto;}
.plan						{ width:100%; position:relative; padding:15px 60px; background:#eee; text-align:center; overflow:hidden; display:none; font-size: 14px;}
.plan a						{ padding:0 8px; color:#444;}


/* PAGE SERVICES */
.blocPage                   { margin:30px 0 10px 0; padding:30px 0 0 0; border-top:1px dotted #cecece;}
.blocPage>div               { border-bottom:1px dotted #cecece; padding:0 0 30px 0; margin:0 0 30px 0;}
.blocPage>div img           { width:30%; height:auto; float:left; padding:0;}
.blocPage>div>div           { width:70%; height:auto; float:left; padding:10px 0 0 30px;}
.blocPage>div .sousTitre    { margin:0 0 10px 0;}
.blocPage>div p             { margin:0 0 14px 0;}
.blocPage>div .link         { margin:0 0 5px 0;}

@media (max-width:800px) {
.blocPage>div img           { width:40%;}
.blocPage>div>div           { width:60%;}
}
@media (max-width:600px) {
.blocPage>div img           { display:none;}
.blocPage>div>div           { width:100%; float:none; padding:0;}
}


/* PAGE CONTACT */
form                        { width:100%; padding:0;}
input                       { width:100%; border:1px solid #cecece; padding:0 20px; margin:0 0 15px 0; line-height:60px; height:60px; outline:none; font:normal 15px/26px pop-r;}
textarea                    { width:100%; min-height:160px; border:1px solid #cecece; padding:20px; margin:0 0 7px 0; font:normal 15px/26px pop-r; outline:none;}
form .link                  { width:auto; cursor:pointer; margin:15px 0 30px 0; border:0; border:1px solid #19a149;}
form .error                 { border:1px solid #e03c2a;}
input, textarea             { -webkit-appearance:none; -ms-appearance:none; appearance:none; -moz-appearance:none; -o-appearance:none; border-radius:0;}
.requis                     { background:url(../images/icone-requis.svg) right 24px no-repeat;}
.requisTxt                  { padding:8px 0 8px 20px; background:url(../images/icone-requis.svg) left 50% no-repeat;}
.formError                  { color:#fff; text-align:center; width:100%; height:60px; line-height:60px; margin: 0 0 15px 0; background:#e03c2a;}
.formSent                   { max-width:500px; padding:40px; margin:20px auto; border:2px solid #45b552; text-align:center; background:#e3f4e5;}
.formSent img               { margin:0 0 12px 0;}
.formSent p                 { font:normal 18px/26px sspr; color:#45b552; margin:0 0 20px 0;}
.formSent .link             { border:1px solid #45b552; color:#45b552; background:#fff;}
.formSent .link:hover       { color:#fff; background:#45b552; border-color:#45b552;}
@media (max-width:500px) {
.formSent                   { padding:25px; margin:0 auto;}
}

.blocContact                { margin:0 0 50px 0;}
.blocContact>div            { width:100%; border-bottom:1px dotted #cecece; padding:15px 0 15px 40px; position:relative;}
.blocContact>div a          { color:#333333;}
.blocContact>div .mapc:hover      { color:#333333;}
.blocContact>div a:hover          { color:#19a149;}
.blocContact>div span       { display:block; width:30px; height:30px; background:url(../images/icones-contact.svg) 0 0 no-repeat #19a149; border-radius:50%; position:absolute; left:0; top:13px;}
.blocContact .contact1      { background-position:0 0;}
.blocContact .contact2      { background-position:0 -30px; cursor:default;}
.blocContact .contact3      { background-position:0 -60px;}
.blocContact .contact4      { background-position:0 -90px;}
.blocContact .contact5      { background:url(../images/icones-fax.png) 0 0 no-repeat #19a149;}

/* SELECT */
	
.js .input-file-container {  
      position: relative;  
      width: 100%;  
    }  
    .js .input-file-trigger {  
      display: block;  
      padding: 14px 45px;  
      background: #45b552;  
      color: #fff;  
      font-size: 1em;  
      transition: all .4s;  
      cursor: pointer;  
    }  
    .js .input-file {  
      position: absolute;  
      top: 0; left: 0;  
      width: 100%;  
      padding: 14px 0;  
      opacity: 0;  
      cursor: pointer;  
    }  
       
    /* quelques styles d'interactions */  
    .js .input-file:hover + .input-file-trigger,  
    .js .input-file:focus + .input-file-trigger,  
    .js .input-file-trigger:hover,  
    .js .input-file-trigger:focus {  
      background: #067012;  
      color: #fff;  
    }  
       
    /* styles du retour visuel */  
    .file-return {  
      margin: 0;  
    }  
    .file-return:not(:empty) {  
      margin: 1em 0;  
    }  
    .js .file-return {  
      font-style: italic;  
      font-size: .9em;  
      font-weight: bold;  
    }  
    /* on complète l'information d'un contenu textuel 
       uniquement lorsque le paragraphe n'est pas vide */  
    .js .file-return:not(:empty):before {  
      content: "Selected file: ";  
      font-style: normal;  
      font-weight: normal;  
    }  
	
	.input-file-trigger.error { background: #e03c2a;}

@media (max-width:1280px) {
	.headerTop 						{ padding:17px 40px;}
	.txt-banner 					{ right:40px;}
	.titrePage 						{ left: 40px; }
	.footer2 						{ padding:0 40px;}
	.wrapper,
	.blocContenu1 .wrapper,
	.blocContenu2 .adr-horaire,
	.blocServices,
	.blocActu .content, .footer,
	.logo-nav, .blocBienvenue,
	.pageLeft 				 		{ padding-left: 40px; padding-right: 40px; }
	.blocContenu1 .wrapper 			{ max-width: 100%; }
	.blocContenu2 .adr-horaire 		{ width: auto; }
	.adr-horaire .content 			{ min-width: 290px; }
	.aside 							{ right: 40px; min-width: 297px; }
	.pageContent 					{ padding-right: 337px; }
	.pageLeft 						{ max-width: 100%; margin: 0; }
	.aside .adr-horaire .content 			{ min-width: 100%; }

}

@media (max-width:1279px) {
    .blocActu p                     { width: 60%; }
	.aside-actu 					{ padding: 25px; }


}


@media (min-width:1201px) {
	body a span, body a, span:before, span:after, *:after, *:before, .link, .slick-prev, .slick-next, .slick-dots button, .blocSlide, .blocSlide *, .sub, .blocContenu1 .right div, .content-item { -webkit-transition:all 400ms ease-in-out; -moz-transition:all 400ms ease-in-out; -ms-transition:all 400ms ease-in-out; transition:all 400ms ease-in-out;}
	a:hover, .footer2 li a:hover		{ color:#339923;}
	.logo:hover							{ opacity:.5; color: inherit;}
	.rs:hover 							{ background-color:#008a31 !important;}
	.headerTop .tel:hover				{ background-color:#006492; border-color:#006492; color:#fff;}
	.menu li:hover>a 					{ color:#339923;}
	.menu .sub a:hover 					{ background:#339923; color:#fff;}
	.aside-banner a:hover 				{ background-color:#006492; color:#fff;}
	.txt-banner a:hover 				{ color:#fff;}
	.txt-banner a:hover:after			{ width:0%;}
	.scroll:hover						{ opacity:.5;}
	.link:hover 						{ background-color:#39b54a; border-color:#39b54a; color:#fff;}
	.adr-horaire a:hover,
    .bloc-info .tel-info:hover 			{ opacity: .5;color: inherit; }
	.blocActu .link:hover 				{ background-color:#fff; border-color:#fff; color:#39b54a;}
	.blocSlide:hover .hide 				{ opacity:1;}
	.hide .link:hover					{ background-color:#fff; color:#19a149;}
	.aside-actu .link:hover 			{ background-color:#fff; color:#19a149; border-color: #fff; }
	.blocContenu1 .right:hover>div		{ background:rgba(0,0,0,.8);}
	.devis:hover						{ background-color:#006492; border-color:#006492;}
	.slick-prev:hover 					{ background-color:#caffdd;}
	.slick-next:hover 					{ background-color:#caffdd;}
	.toponweb:hover 					{ background: rgba(255,255,255,1); }
	.slide-galerie a:hover span			{ opacity:1;}
	.menu li > a:hover span 			{ width: 100%; }
	.blocSlide:hover .content img 		{ top: -10px; }
	.specialisation .item:hover .content-item 	{ padding-top: 30px; height:inherit; background-color: rgba(17,148,63,.8); bottom: -75px; }
    .aside .item:hover .content-item            { bottom: -50px; }
	.specialisation .item:hover .titre 			{ margin-bottom: 30px; }
	.specialisation .item:hover .titre::after 	{ opacity: 1; }
	.content-item .link-plus:hover 				{ background: #fff; color: #11943f; }
}

/* HIDE MOBILE */
.wrapMenuMobile, .menu .vueMobile,.hidden-desk		{ display:none; }


/* RESPONSIVE */

@media (max-width:1145px) {
	#slider 							{ height: 408px; }
	#slider .banner1  					{ background-position: -40px 0; }
	.txt-banner 						{ top: 235px; }
}

@media (max-width:1100px) {
	.blocContenu2 						{ background-position: 70% 0;  }
}

@media (max-width:1024px) {
	/* header */
	.wrapMenuMobile						{ width:auto; height:60px; display:block; z-index:80; transition:all 400ms ease-in-out; color:#000; font:normal 14px pop-r; letter-spacing:0; cursor:pointer; padding: 30px 40px 0; position:absolute; right:0; top:80px;}
	.menuMobile							{ width:auto; display:block; height:18px; cursor:pointer; position:relative; line-height:20px; padding:0 40px 0 0;}
	.menuMobile>div						{ width:30px; height:2px; background:#000; position:absolute; right:0; top:50%; margin-top:-1px;}
	.menuMobile>div:before				{ width:100%; height:2px; background:#000; position:absolute; right:0; top:8px; content:"";}
	.menuMobile>div:after				{ width:100%; height:2px; background:#000; position:absolute; right:0; top:-8px; content:"";}
	.menuMobile.active>div				{ height:0px;}
	.menuMobile.active>div:before		{ top:0; transform:rotate(45deg);}
	.menuMobile.active>div:after		{ top:0; transform:rotate(-45deg);}
    .menu>ul>li:nth-child(3)            { padding-bottom: 0; }
	.menu 								{ float: none; height: 0; background: white; }
	.menu>ul>li::after 					{ display: none; }
	#slider .banner1  					{ background-position: bottom left; }
	.logo-nav 							{ padding-left: 0px; padding-right: 0px; }
	.logo-nav .logo 					{ position: relative; z-index: 90; left: 40px; }
	.menu>ul 							{ width:100%; height:auto; position:absolute; left:0; top: 5px; padding:0; background:#f0f0f0; display:none; z-index:999;}
	.menu ul li 						{ width:100%; margin:0 auto; display:block; float:none; padding:0;}
	.menu li a							{ height:60px; line-height:60px; border:0; padding:0 40px; margin:0; text-align:left; border-bottom:1px solid #cecece;}
	.menu li a span						{ display:none;}
	.menu>ul>li.active>a 				{ background:#11943f; color:#fff; border-color:#11943f;}
	.menu i 							{ display:block; width:100%; height:60px; position:absolute; right:0; top:0;}
	.menu i:before 						{ display:block; width:2px; height:22px; position:absolute; right:50px; top:50%; margin-top:-11px; content:""; background:#11943f;}
	.menu i:after 						{ display:block; width:22px; height:2px; position:absolute; right:40px; top:50%; margin-top:-1px; content:""; background:#11943f;}
	.menu i.active:before				{ display:none;}
	.menu li.active i:before			{ background:#fff;}
	.menu li.active i:after				{ background:#fff;}
	.menu .vueMobile 					{ display:block;}
	.menu .sub 							{ display:none; visibility:visible; width:100%; position:relative; left:auto; top:auto; margin:0; opacity:1; background:#19a149; padding:0;}
	.menu .sub li a						{ color:#fff; text-align:left; padding:0 40px;}
	.menu .sub li.active a				{ color:#fff; background:#008a31;}

	.headerTop .tel 					{ position:absolute; left:40px; top:80px; padding-left:22px; color:#14a5db; height:60px; line-height:60px; border:0; margin:0; background:url(../images/icone-tel2.svg) 0 50% no-repeat;}
	#slider .banner1 					{ background-size: 100%;  }

	.txt-banner 						{ top: 225px; }
	.txt-banner .titre					{ font-size: 62px;line-height: 60px; }
	.txt-banner .titre span 			{ font-size: 32px; }
	.txt-banner p 						{ display: none; }

	#slider .banner1					{ background-image:url(../images/banner1-1024.jpg);}
	.banner-page 						{ background-image: url(../images/banner-page-1024.jpg); }

	/* homepage */


	/* pages */
	.page .menu .sub					{ top:auto;}
	.aside								{ display:none;}
	.pageContent						{ padding:0; min-height:0;}
	.pageLeft 							{ padding: 50px 40px 30px; max-width: 100%;}
	.sub li:last-child a		 		{ border-bottom:1px solid #ccc !important}

}

@media (max-width: 979px) {
	.txt-banner .titre 					{ font-size: 55px; line-height: 50px;}
	.txt-banner .titre span 			{ font-size: 28px;}
	.blocActu p 						{ width: 47%; }
	.blocActu 							{ text-align: center; }
	.blocActu .titre, .blocActu p 		{ text-align: left; }
	.footer 							{ padding: 40px; }
	.footer1 							{ float: none; text-align: center; margin-bottom: 30px; }
	.footer2 							{ padding: 0;}

}

@media (max-width:767px) {
	#slider 							{ height: 290px; min-height:0; margin-top: 15px;}
	.headerTop .left, .headerTop .right { display: none; }
	.headerTop 							{ padding: 0; }
	.logo 								{ background: none; padding: 10px 0 0 55px; height: 45px; position: relative; font-size: 15.24px; float: none; left: 0 !important; }
	.logo span 							{ font-size: 10.16px; text-align: left; }
	.logo::before 						{ content: ""; background: url('../images/logo.svg') no-repeat center; width: 45px;height: 45px; position: absolute;display: inline-block; background-size: 100%; left: 0; top: 0; }
	.logo-nav 							{ text-align: center; padding: 25px 0 0; }
	.headerTop .tel-mob 				{ display: inline-block; position: absolute; color: #000; font: 14px pop-r; left: 40px; top: 95px; }
	.headerTop .tel-mob:before 			{ display: inline-block; content: "";background: url('../images/icon-tel-m.svg') no-repeat center; width: 15px;height: 20px; vertical-align: middle; position: relative; top: -1px; margin-right: 7px }
	#slider .banner1 					{ background-image: url(../images/banner1-700.jpg); }
	.banner-page 						{ background-image: url(../images/banner-page-700.jpg); }
	.wrapMenuMobile 					{ height: 20px; padding: 0 40px 0; top: 90px; }
    .menu                               { height: 50px; }

	.menu>ul 							{ top: 50px; }
	.sousTitre 							{ font-size: 21px;line-height: 30px; }
	.blocServices 						{ padding-top: 25px;padding-bottom: 25px; }
	.titrePage 							{ font-size: 29.9px; height: 50px; min-width: 173px; padding: 10px 25px 0; }
	.blocSlide .content 				{ padding: 25px 0; }
	.txt-banner 						{ margin:0; top: 160px; }
	.txt-banner .titre 					{ font-size: 40px; text-align: right; margin: 0; }
	.txt-banner .titre span 			{ font-size: 20px; }
	.blocActu 							{ display: none; }
	.blocSlide 							{ width: 50%;}
	.blocContenu2 						{ padding:0; background: #19a149; text-align: center;}
	.horaire .graph li 					{ text-align: left; }
	.bloc-info .titre 					{ font-size: 25px; }
	.bloc-info .tel-info 				{ font-size: 35px; margin-top: 10px; }
	.blocContenu2 .right 				{ background:none;}
	.blocContenu2 .right div			{ max-width:100%; text-align:left;}
	.bloc-info .content 				{ padding: 25px 0;}
	.blocBottom 						{ border-top:1px solid #cecece;}
	.pageLeft ul 						{ padding:0;}
	.specialisation .content-item 		{ height: 60px; padding-top: 16px; }
	.footer 							{ padding:50px 40px 100px;}
	.social								{ padding:0;}
	.social .open-plan 					{ display:none;}
	.toponweb img						{ width:84px; height:auto; margin:0 auto;}
	.specialisation  					{ margin-bottom: 59px;}

}
@media (max-width:600px) {
		.toponweb 							{ position:absolute; right:26px; bottom:12px; width:auto; height:80px; padding: 50px 0 0 0; margin:0;}
		.footer 							{ padding:50px 40px 41px;}

}

@media (max-width:500px) {
	.wrapper, .blocContenu1 .wrapper,
	.blocContenu2 .adr-horaire,
	.blocActu .content, .footer,
	.blocBienvenue 								{ padding-left: 25px; padding-right: 25px;}
	.logo-nav .logo 							{ text-align: left; left: 25px !important; }
	.logo-nav 									{ text-align: left; height: auto; }
	#slider 									{ height: 252px;     margin-top: 0;  }
    .txt-banner                                 { top: 150px; }
	.banner-page 								{ background-image: url(../images/banner-page-500.jpg); min-height: 185px; }
	#slider .banner1 							{ background-image: url(../images/banner1-500.jpg); }
	.menu li a									{ padding:0 25px;}
	.headerTop .tel-mob 						{ left: 25px; top: 93px; }
	.wrapMenuMobile 							{ padding: 0 25px 0; top: 91px; }

	.titrePage 									{ left: 25px; }
	.menu i:before 								{ right:35px;}
	.menu i:after 								{ right:25px;}
	.blocBienvenue 								{ padding-top: 37px; padding-bottom: 60px; }
	.blocBienvenue .titre::after 				{ display: none; }
	.blocBienvenue .titre 						{ margin-bottom: 10px; }
	.menu .sub li a								{ padding:0 25px;}
	.txt-banner 								{ right: 25px; }
	.txt-banner .titre 							{ font-size: 24.66px; text-align: right; line-height: 22px; }
	.txt-banner .titre span 					{ font-size: 13.7px; }
	.blocSlide 									{ width: 100%; float: none;}
    .specialisation,
    .specialisation .item                       { height: 280px; }
    #slider                                     { border-color: #d6d6d6; }
	.blocServices 								{ padding: 0; }
	.blocSlide .content a 						{ display: none; }
	.blocContenu2 .adr-horaire 					{ min-height: 404px; }
	.blocContenu1 .wrapper 						{ padding-top: 40px; padding-bottom: 50px; }
	.adr-horaire .titre 						{ margin-bottom: 0; text-align: left; }
	.adr-horaire .adresse 						{ padding-bottom: 12px; text-align: left; margin-bottom: 13px; }
	.horaire .titre 							{ margin-bottom: 10px; }
	.blocSlide .titre 							{ display: block; text-align: left; padding: 0; }
	.blocSlide .content 						{ position: relative; border-bottom: 1px solid #d6d6d6; height: 95px; padding: 33px 0 0 98px; }
	.blocSlide .content::after 					{ content: "";background: url('../images/icon-arrow-mob.svg') no-repeat center; width: 23px;height: 18px; position: absolute; top: 40px; right: 25px; display: block; }
	.blocSlide img 								{ width: 0;height: 0; }
	.blocSlide .serv-1 							{ background: url('../images/icon-serv-1.svg') no-repeat; background-size: 30px; background-position: 40px 24px; }
	.blocSlide .serv-2 							{ background: url('../images/icon-serv-2.svg') no-repeat; background-size: 47px; background-position: 32px 20px; }
	.blocSlide .serv-3 							{ background: url('../images/icon-serv-3.svg') no-repeat; background-size: 44px; background-position: 34px 24px; }
	.blocSlide .serv-4 							{ background: url('../images/icon-serv-4.svg') no-repeat; background-size: 60px; background-position: 25px 23px; }
	.blocSlide .serv-5 							{ background: url('../images/icon-serv-5.svg') no-repeat; background-size: 41px; background-position: 36px 23px; border-bottom: 0; }
	.blocBienvenue .titre 						{ font-size: 30px; }
	.blocBienvenue .titre span 					{ font-size: 21px; }
	.blocBienvenue .soustitre 					{ font-size: 18px; line-height: 24px; }
	.blocBienvenue p 							{ font-size: 15px; line-height: 24px; }
	.blocBienvenue .link 						{ background-color: transparent; }
	.adr-horaire .adresse > p 					{ display: none; }
	.link 										{ min-width: 160px; height: 55px;line-height: 55px; }
	.blocContenu1 .titre 						{ font-size: 18px; line-height: 22px;margin-bottom: 20px; }
	.blocContenu1 .wrapper > p 					{ font: 15px/24px pop-r; margin-bottom: 25px; }
	.adr-horaire .content 						{ min-width: 270px;}
	.horaire .graph span 						{ width: 230px; }
	.horaire .graph em 							{ max-width: 35px; }
	.bloc-info .content 						{ display: none; }
	.bloc-info 									{ background: #19a149;height: 12px; }
	.pageLeft ul li 							{ font: 15px/24px pop-r; background-position: 0 7px; margin-bottom: 7px; }

	.footer 									{ padding:29px 25px 125px;}
	.footer1 									{ text-align: left; margin-bottom: 17px; }
	.footer2 									{ float: none; }
	.footer2 li 								{ font: 12px/24px 'pop-r'; padding: 0 0 0 10px; }
	.footer3, .social 							{ float: none; clear: both;  }
	.footer3 									{ margin-top: 12px; }
	.pageLeft 									{ padding: 20px 25px 20px;}
	.photoPage 									{ margin: 0 0 20px; }
	.toponweb img 								{ width: 98px; }
    .toponweb 							        { position:absolute; left:0; bottom:0; width:100%; height:80px; padding: 27px 0 0 0; margin:0; border-top:1px solid #d6d6d6}
	.specialisation  					        { margin-bottom:-11px;}


}

