/***** fonts et reset *****/
@import url('https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');

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, dialog ,figcaption, figure, footer, header, hgroup, main, nav, section { display:block;}  
input, textarea						{ -webkit-appearance:none; -ms-appearance:none; appearance:none; -moz-appearance:none; -o-appearance:none; border-radius:0;}
*          							{ outline:none;}
strong, b							{ font-weight: 600; font-size: 14px; color: #675d54;}
ul									{ list-style-type:none;}
body								{ font: 400 15px/30px "PT Serif"; letter-spacing: 0.4px; color: #675d54; background: #fff; position: relative; }
body.active_overflow				{ height: 100vh; overflow:hidden;}
a									{ text-decoration: none; color: #675d54; position:relative;}
img									{ border:none;}
#wrapper 							{ min-width:320px; margin:0 auto; overflow: hidden; position:relative;}
#wrapper *							{ box-sizing:border-box;}
/***** scollbar *****/
::-webkit-scrollbar 				{ width:6px; background-color:#fff;}
::-webkit-scrollbar-thumb			{ background-color:#5793a6;}

/***** transition *****/
@media (min-width:1201px) {
.link, .slick-arrow, :before, :after, a, a span, .sub { transition:all 400ms ease-in-out;}
}


/**** class ****/
.wrapper 							{ width:90vw; min-width:1080px; max-width:1200px; margin:0 auto; position:relative;}
.clear								{ clear:both; display:block;}
.titre_main	 						{ font:500 60px/70px "PT Serif"; letter-spacing: 0.4px; position:relative; margin-bottom: 20px; color: #5793a6;}
.titre		 						{ font:400 40px/50px "PT Serif"; letter-spacing: 0.5px; position:relative; margin-bottom: 15px; color: #5793a6;}
.sous_titre 						{ font:400 20px/30px "PT Serif"; letter-spacing: 0.4px; position:relative; margin-bottom:15px; color: #5793a6;}
.chapo		 						{ font:400 15px/28px "PT Serif"; letter-spacing: 0.4px;}
.link 								{ font:400 14px/58px "PT Serif"; letter-spacing: 0.4px; height: 60px; border: none; display: inline-block; vertical-align:middle; color:#fff; padding:0 30px; background-color: #5793a6; border-radius: 5px;}
.link_arrow                         { position: relative; display: block; width: 40px; height: 50px; background: url("../images/arrow_long_blue.svg") 50% / cover no-repeat transparent; background-size: 40px 14px; left: 0;}

.lire_plus,
.lire_moins 						{ cursor: pointer; color: #5793a6;}
.lire_plus.active					{ opacity: 0; cursor: default;}

p a						        	{ color: #5793a6; border-bottom: 1px solid #eee;}
.anchor 							{ position: absolute; top: -120px; left:0;}

@media (min-width:1201px) {
.link:hover 						{ background-color: #675D54; color: #fff;}
p a:hover                           { color: #5793a6; border-bottom:1px solid #5793a6;}
.link_arrow:hover 					{ left: 25px; }
}

@media (max-width:1200px) {
.wrapper 							{ min-width:inherit;}
}
@media (max-width:1000px) {
.wrapper 							{ max-width: 750px;}
.titre_main	 						{ font-size: 42px; line-height: 52px; }
.titre		 						{ font-size: 30px; line-height: 40px; }
.sous_titre							{ font-size: 20px; line-height: 30px; }
}
@media (max-width:600px) { 
.wrapper 							{ width:85vw;}
.titre_main	 						{ font-size: 25px; line-height: 35px; margin-bottom: 10px;}
.titre		 						{ font-size: 22px; line-height: 32px; margin-bottom: 10px;}
.sous_titre							{ font-size: 18px; line-height: 26px; margin-bottom: 10px;}
    
.link_arrow                         { height: 60px; border-radius: 5px; padding: 15px 7.5vw; font-size: 10px; }
.link_arrow span                    { display: none;}
    
strong, b							{ font-size: 13px;}
}


.ul_list							 { margin: -5px 0 30px 0;}
.ul_list li				             { padding: 6px 0 6px 35px; position: relative; background: url("../images/plus_list_blue.svg") 0 15px no-repeat}



/***** header et menu *****/
.header 							{ width: 100%; background: #fff; font-size: 0; line-height: 0; position: fixed; left: 0; top: 0; z-index: 100; text-align: right; transition: all 400ms ease-in-out;}
.header .logo						{ width: 230px; position: absolute; left: 0; transform: translateY(-50%); top: 50%; margin-top: 10px; z-index: 140;}
.header .logo img					{ max-width: 100%; height: auto; display: block;}
.header_top .mail                   { font-size: 15px; color: #5793A6; position: relative; top: 4px; display: inline-block; margin-right: 30px; padding-left: 56px;}
.header_top .mail:after     		{ content: ""; background: url("../images/mail_blue.svg") 50% no-repeat; position: absolute; left: 24px; top: -5px; display: inline-block; width: 20px; height: 15px;}

.header_top .tel					{ border-radius: 0 0 5px 5px; height: 50px; line-height: 48px; padding: 0 30px 0 56px;}
.header_top .tel:after     			{ content: ""; background: url("../images/tel_white.svg") 50% no-repeat; position: absolute; left: 25px; top: 16px; display: inline-block; width: 15px; height: 15px;}
.header_nav							{ position: relative;}
.header_nav .menu					{ display: inline-block; position: relative;}
.header_nav .menu li				{ position: relative; display: inline-block; vertical-align: top; margin-left: 40px;}
.header_nav .menu li a				{ font: 500 18px/78px "PT Serif"; letter-spacing: 0.7px height: 80px; color: #675D54; display: block; transition-property: color, height, line-height;}
.header_nav .menu>li.active>a 		{ color: #5793A6;}
.header_nav .sub					{ width: 300px; margin-left: -150px; text-align: center; position: absolute; top: 100%; left: 50%; display: block; visibility: hidden; opacity: 0; padding: 20px 0; background: #2D2A27; border-radius: 10px;}
.header_nav .sub li					{ width: 100%; margin: 0;}
.header_nav .sub li a				{ width: 100%; font-size: 15px; letter-spacing: 0.6px; line-height: 38px; height: 40px; font-weight: 400; color: #fff;}
.header_nav .menu li:hover .sub		{ opacity: 1; visibility: visible; z-index: 999; top: 100%;}
.header_nav .menu .sub li.active a	{ color: #5793A6;}

.sticky .header 					{ box-shadow: 0 0 30px 0 rgba(0 0 0 / 8%);}


@media (min-width:1201px) {
.header_nav .menu .vue_mobile,
.menu_mobile 						{ display: none;}
.header_nav .sub:after 				{ width: 10px; height: 10px; position: absolute; left: 50%; top: -5px; margin: 0 0 0 -5px; transform: rotate(45deg); background: #2D2A27; content: "";}
.header_nav .menu>li:hover>a		{ color: #5793a6;}
.header_nav .sub li a:hover			{ color: #5793a6;}
.header_top .tel:hover     			{ background-color: #5793a6}
.sticky .logo      					{ width: 165px; top: 80px;}
.sticky .header						{ top: -50px;}
}
@media (max-width:1200px) {
.menu_mobile						{ width: 60px; height: 90px; display: inline-block; vertical-align: middle; cursor: pointer; position: relative; margin: 0 -15px;}
.menu_mobile div					{ width: 30px; height: 2px; background: #5793A6; position: absolute; right: 50%; top: 50%; margin: -1px -15px 0 0;}
.menu_mobile div:before				{ width: 100%; height: 2px; background: #5793A6; position: absolute; right: 0; top: 7px; content: "";}
.menu_mobile div:after				{ width: 100%; height: 2px; background: #5793A6; position: absolute; right: 0; top: -7px; content: "";}
.menu_mobile.active div				{ height: 0;}
.menu_mobile.active div:before		{ top: 0; transform: rotate(-135deg);}
.menu_mobile.active div:after		{ top: 0; transform: rotate(-45deg);}
    
.header .logo						{ width: 190px; margin-top: 0;}
.header_top 						{ padding: 0; position: relative; z-index: 120;}
.header_top .mail                   { display: none;}
.header_top .tel 					{ margin-right: 5vw; border-radius: 5px; }
.header_top .tel:after    			{ left: 18px; top: 17px;}
.header_nav 	  					{ width: 100%; height: 100vh; position: fixed; right: -100%; top :0; overflow-y: scroll; display: grid; align-content: flex-start; z-index: 100; padding-top: 100px; background: #fff; transition: all 400ms ease-in-out 600ms;}
.header_nav::-webkit-scrollbar		{ display: none;}
.header_nav .menu  					{ width: auto; text-align: left; margin: 5vw 5vw; position: relative; z-index: 100;  align-self: center; opacity: 0; transition: all 200ms ease-in-out 0ms;}
.header_nav .menu li 				{ width: 100%; display: block; margin: 0;}
.header_nav .menu li a				{ width: 100%; font-size: 16px; line-height: 55px; height: 55px;}
.header_nav .menu li i				{ width: 70px; height: 41px; display: block; margin-top: -48px; position: relative; z-index: 5; background: url("../images/scrolldown_white.svg") 50% no-repeat #2D2A27; float: right; border-radius: 8px;}
.header_nav .menu li i.active		{ transform: rotate(0deg)}
.header_nav .menu .sub 				{ width: auto; visibility: visible; position: relative; left: auto; top: auto; padding: 20px 0; margin: 15px 0; opacity: 1; display: none;}
.header_nav .menu .sub 				{ text-align: left; padding: 20px 35px;}
.header_nav .menu .sub li a 		{ line-height: 43px; height: 45px; }

.header_nav.active					{ right: 0; transition-delay: 200ms;}
.header_nav.active .menu			{ opacity: 1; transform: translateY(0); transition-delay: 600ms;}
}

@media (max-width:600px) {
.menu_mobile						{ height: 70px;}
.header .logo						{ width: 150px;}
.header_top .tel					{ width: 50px; height: 50px; padding: 0; font-size: 0; background-position: 50% 50%; margin-right: 7.5vw;}
.header_nav .menu  					{ padding: 7.5vw; margin: 0;}
.header_nav .menu>li>a				{ font-size: 14px; line-height: 40px; height: 42px;}
.header_nav .menu li i				{ height: 38px; margin-top: -38px; border-radius: 5px;}

.header_nav .menu .sub 				{ border-radius: 5px;}
.header_nav .menu .sub li a 		{ font-size: 13px; line-height: 32px; height: 34px;}
}



/***** horaires *****/
.horaires							{ position: relative; background-color: #fff; color: #675d54; display: block; max-width: 350px; vertical-align: top;border-radius: 5px; margin-top: 35px;}
.horaires p							{ padding: 15px 80px 15px 30px; cursor: pointer; position: relative; font-size: 15px; line-height: 30px; border-radius: 5px; }
.horaires p:after					{ width: 50px; height: 50px; position: absolute; right: 10px; top: 20px; background: url("../images/scrolldown_blue.svg") 50% 52% no-repeat transparent; content:"";}
.horaires p.active:after			{ transform: rotate(-180deg)}
.horaires b							{ font-size: 20px; font-weight: 400; letter-spacing: 0.4px; display:block; padding-bottom: 2px;}
.horaires .active                   { font-size: 15px;}
.horaires ul						{ width: 100%; background: #fff; text-align: left; line-height: 30px; padding: 20px 30px; margin-top: -5px; font-size: 14px; letter-spacing: 0.4px; position: absolute; left: 0; top: 100%; color: #675d54; display: none; box-shadow: 0px 10px 10px 0px rgba(31,31,31,0.10);}

.horaires li						{ display: grid; grid-template-columns: 1fr auto;}
.horaires li span                   { text-align: left;}

@media (max-width:1200px) {
.horaires							{ max-width: none;}
}
@media (max-width:600px) {
.horaires							{ color: #171717; margin: 20px 0;}
.horaires b							{ font-size: 16px; font-weight: 500; padding: 0;}
.horaires p							{ padding: 15px 60px 15px 5vw; font-size: 13px;}
.horaires p:after					{ top: 20px;}
.horaires .active                   { font-size: 13px;}
}


.contact                            { text-align: center; margin: 180px auto; position: relative;}
.contact:before                     { content: ""; width: 285px; height: 240px; position: absolute; top: -70px; left: 50%; transform: translateX(-50%); background: url("../images/fav.svg") 50% no-repeat; }
.contact .titre                     { color: #675d54; }
.contact .sous_titre                { color: #675d54; }
.contact .sous_titre a              { color: #5793a6; border-bottom: 1px solid transparent; }
@media (min-width:1201px) {
.contact .sous_titre a:hover        { color: #5793a6; border-bottom: 1px solid #5793a6;}
}
@media (max-width:1200px) {
.contact                            { margin: 160px auto;}
}
@media (max-width:1200px) {
.contact                            { margin: 130px auto;}
}
@media (max-width:600px) {
.contact                            { display: none;}
}





.footer								{ width:100%; position:relative; padding-top:0; color:#fff; font-size:0; background:#2d2a27; z-index: 1;}
.footer	.facebook      				{ text-align: center; display: flex; gap: 30px; justify-content: center; align-items:center; background-color: #5793a6; color: #fff; margin: 0 auto; padding: 22px 0; margin-bottom: 80px}
.footer	.facebook .sous_titre     	{ font-size: 20px; color: #fff; margin-bottom: 0; }
.footer .sous_titre					{ font-size: 25px; color: #5793a6; margin-bottom:10px;}
.footer .bloc_footer 				{ display: inline-block; vertical-align: top; margin-right: 60px;}
.footer .bloc_footer p				{ margin-top:20px; font-size:15px;line-height: 25px;}
.footer .bloc_footer p b			{ color: #5793a6;}
.footer .bloc_footer p a			{ color: #fff; border: none;}
.footer .bloc_footer.col-2			{ margin-top: 40px;}

.footer .bloc_footer li a			{ color:#fff; font-size:15px; line-height:36px; margin-bottom:0; background: url("../images/list_footer.svg") 0 51% no-repeat; padding-left:20px; display:inline-block;}
.footer ul.bloc_footer 				{ margin:20px 0 0 80px;} 

.footer .bloc_footer.infos_legales   { margin-right: 0;}
.footer .bloc_footer.infos_legales p { font-size: 12px; margin-top: 60px;}

.footer	.rs							{ position: absolute; right:0; top:-10px;}
.footer	.rs a						{ width:50px; height:50px; display:inline-block; border-radius: 50%; vertical-align:middle; margin-left:10px;}
.footer	.rs .scroll					{ background:url("../images/scrolltop_white.svg") 50% 48% no-repeat #5793a6;}
.footer_bottom   					{ padding:20px 0; line-height:0; margin-top:60px;}
.footer_bottom li 					{ display:inline-block; margin-right:25px; position:relative;font: 400 11px/28px "PT Serif"; letter-spacing: 0.5px;}
.footer_bottom li:after				{ width:1px; height:8px; content:""; position:absolute; right:-13px; top:9px; background:#5793a6;}
.footer_bottom li:last-child:after 	{ display:none;}
.footer_bottom li a					{ color:#fff;}


.footer .bloc_footer.politique		{ display: block; margin-right: 0;} 
.footer .table_plus 				{ margin: 30px 0 40px; } 
.footer .table_plus .hide     		{ padding: 40px 0; display: none;} 
.footer .table_plus p:first-of-type	{ margin-top: 0; } 
.footer .table_plus p             	{ font-size: 12px; } 
.footer .titre_plus 			    { padding: 10px 80px 10px 30px; font-size: 14px;}

.footer .titre_plus 				{ position: relative; letter-spacing: 0.2px; cursor: pointer; padding: 10px 80px 10px 30px; background: #5793a6; color: #fff; font-size: 15px; font-weight: 400; transition: all 400ms ease-in-out; border-radius: 8px;}
.footer .titre_plus:before			{ width: 30px; height: 30px; background: url("../images/plus.svg") 50% no-repeat #fff; border-radius: 50%; position: absolute; right: 30px; top: 50%; margin-top: -15px; transition: all 400ms ease-in-out; content: "";}
.footer .titre_plus.active:before 	{ transform: rotate(135deg); }

@media (min-width:1201px) {
.titre_plus:hover					{ background-color: #675D54; }
}


.toponweb							{ display:block; position:absolute; right:0; bottom:-65px; transition: bottom 400ms ease-in-out;z-index:25; border-bottom: 0px solid transparent;}
.toponweb span						{ width:auto; display:block; padding:18px; background:linear-gradient(to left, #5793a6 0%, #5793a6 50%, #fff 50%, #fff 100%); background-size:200% 100%; background-position:100% 0; }
.toponweb img						{ width:74px; height:auto; display:block; margin:0 auto;}
.toponweb a							{ border-bottom: 0px solid transparent;}
.toponweb.show						{ bottom:0;}

@media (min-width:1201px) {
.footer .bloc_footer p a:hover,
.footer .bloc_footer li a:hover,
.footer_bottom li a:hover			{ color: #5793a6;}
.footer .bloc_footer .link:hover    { color: #fff;}
.footer	.rs .scroll:hover 			{ background-color:#675D54;}
.footer	.facebook:hover				{ background-color: #675D54;}

.toponweb:hover span				{ background-position:0 0;}
}

@media (max-width:1200px) {
.footer .bloc_footer:last-child 	{ margin-right: 0; }
.toponweb							{ position: absolute;}
}

@media (max-width:1000px) {    
.footer .bloc_footer 				{ margin:0 50px 40px 0;} 
.footer_bottom   					{ margin-top:60px;}
.footer .bloc_footer.last			{ display: none;}
}

@media (max-width:600px) {
.footer	.facebook      				{ gap: 15px; padding: 18px 20px; margin-bottom: 50px}
.footer	.facebook img  				{ width: 40px;}
.footer	.facebook .sous_titre     	{ font-size: 15px; }

.footer	.rs							{ position:relative; left: 0; top:0; text-align: left;}
.footer	.rs .facebook				{ margin: 0;}
.footer_bottom 	 					{ text-align:left; margin-top:0; padding:40px 0 20px 0;}
.footer_bottom li 					{ display:block; margin-right:0; line-height:30px;}
.footer_bottom li:after				{ display:none;}
.footer .link:nth-of-type(2)		{ margin-top: 10px;}
}