.banner 								{ position: relative; padding-top: 160px; margin-top: 0;}
.banner .container						{ position: relative; display: grid; grid-template-columns: 1fr; align-items: center; margin: 0 auto}
.banner img						        { position: relative; width: 100%; height: 100%; object-fit: cover; min-height: 400px; background-position: right; display: block; border-radius: var(--imgRadius)}
.banner .txt   					        { position: absolute; left:5vw; max-width: 580px; align-items: center}
.banner .img .macaron					{ position: absolute; right:35%; top:10%; width: 150px; height: auto; z-index: 20; min-height: inherit;}

@media (max-width:1200px) {
.banner 								{ padding-top: 130px;}
.banner .container						{ width: 100%;}
.banner img						        { border-radius: 0;}
.banner .txt   					        { max-width: 400px;}
}

@media (max-width:1000px) {
.banner .img .macaron					{ right:30%; top:10%; width: 100px;}    
}


@media (max-width:700px) {
.banner 								{ padding-top: 70px;}
.banner .img .macaron					{ right:10%; top:10%; width: 100px;}   
.banner img						        { min-height: 300px}
.banner .container						{ grid-gap: 30px;}
.banner .txt   					        { position: relative;}

}




/***** horaires *****/
.horaires               { position: relative; background-color: #fff; color: var(--mainColor3); width: 100%; padding: 10px 0 10px 30px; vertical-align: top; margin-top: 25px; transition: all 300ms ease-in-out; z-index: 20; border-radius: var(--linkRadius)}
.horaires p             { cursor: pointer; position: relative; margin: 0; z-index: 10; color:var(--mainColor1); text-transform: uppercase; font-weight: 600}
.horaires p span        { display: block; text-transform: none; font-weight: 400; color: var(--mainColor3);}
.horaires p:after         { width: 50px; height: 50px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); background: url("../images/arrow_down.svg") 50% 52% no-repeat transparent; content:""; z-index: 20;}
.horaires p.active:after { transform: rotate(-180deg) translateY(50%);}
.horaires ul            { width: 100%; background: var(--mainColor2); text-align: left; line-height: 30px; padding: 10px 30px 20px; margin-top: 0; position: absolute; left: 0; top: 100%; color: #fff; display: none; border-radius:var(--linkRadius) }
.horaires li            { display: grid; grid-template-columns: 80px 1fr; align-items: center;}
.horaires li.title      { display: block;}
.horaires li span       { text-align: left; padding: 0 0 0 30px;}

@media (max-width:1200px) {
.horaires               { text-align: left; z-index: 20;}
}
@media (max-width:700px) {
.horaires               { padding: 15px 0 15px 20px; margin-top: 20px; background: var(--bgColorLight) }
.horaires ul            { padding: 40px 20px 20px;}
}

/***** links */

.gridlinks 											{ position: relative; text-align: center}
.gridlinks .icon									{ position: absolute; top:50%; left:20px; transform: translateY(-50%); width: 50px}
.gridlinks							                { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px; margin-top: 50px; align-items: center}
.gridlinks a							            { height: 80px; line-height: 80px; font-size: 20px}


@media (max-width:1000px) { 
.gridlinks							            { grid-template-columns: 1fr; margin: 20px 0;}
}

@media (max-width:500px) { 
.gridlinks              { text-align: left;}    
.gridlinks a            { height: initial; line-height: 80px; font-size: 16px; padding: 30px 0 30px 70px; line-height: initial;}
.gridlinks .icon        { width: 40px;}
}

/***** card item : img + txt */

.card_item_v1								{ overflow: hidden; position: relative; text-align: left;  border-radius: 0 0 10px 10px}
.card_item_v1 .wrap							{ padding: 40px}
.card_item_v1 img 							{ display: block; margin: 0;}
.card_item_v1 img:not(.icon)				{ width: 100%; height: auto; aspect-ratio: 5/3; object-fit: cover; margin-bottom: -15px; border-radius: 10px 10px 0 0}
.card_item_v1 .sous_titre 					{ margin: 20px 0 10px 0;}
.card_item_v1 p								{ margin: 20px 0;}
.card_item_v1 .link.fullw 					{ width: 100%; padding: 0;}
.card_item_v1 .link							{ width: 100%; text-align: center;}


@media (max-width:1200px) {
.card_item_v1 .wrap							{ padding: 30px;}
}
@media (max-width:700px) {
.card_item_v1 .wrap							{ padding: 30px;}

}



/***** slider services v1 *****/
.slider_services  										{ position: relative; overflow: hidden;}
.slider_services:before	 						        { position: absolute; width: 100%; right :0; bottom: -60px; top:40%; background:var(--bgColorLight); z-index: -1; transition: none; content: ""; border-radius:0;}
.slider_services .slider_wrap  							{ position: relative; text-align: right;}
.slider_services .slider  								{ margin: 25px -30px 25px 0; position: relative;}
.slider_services .slider .slick-list 					{ overflow: visible; padding-bottom: 40px;}
.slider_services .slider .slick-slide 					{ margin-right: 30px;}
.slider_services .slider .slick-slide .blc				{ background: #fff; opacity: 0; visibility: hidden; transition-duration: 500ms;}
.slider_services .slider .slick-active .blc 			{ opacity: 1; visibility: visible;}
.slider_services .slider_nav 							{ position: absolute; right: -12px; top: -70px;}
.slider_services .slider_nav .slick-arrow				{ width: 40px;}



/***** moving img *****/
.moving_img									{ position: relative; overflow: hidden; padding: 20px 0;}
.moving_img .row 							{ width: auto; display: flex;}
.moving_img .row .grid 						{ width: auto; display: flex; animation: moving_img 80s linear infinite;}
.moving_img .row .grid div 					{ padding: 0 10px;}
.moving_img .row .grid img 					{ width: auto; height: 640px; display: block; object-fit: cover; transition: all 300ms ease-in-out; border-radius: var(--imgRadius)}
.moving_img .link							{ display: block; margin: 50px auto; width: fit-content; }

@keyframes moving_img {
0%											{ transform: translate(0, 0);}
100% 										{ transform: translate(-100%, 0);}
}

@media (max-width:1600px) {
.moving_img .row .grid div 					{ padding: 0 15px;}
.moving_img .row .grid img 					{ height: 420px;}
}
@media (max-width:1400px) {
.moving_img .row .grid img 					{ height: 400px;}
}
@media (max-width:1200px) {
.moving_img									{ margin-top: 40px;}
.moving_img .row .grid div 					{ padding: 0 10px;}
.moving_img .row .grid img 					{ height: 380px;}
}
@media (max-width:1000px) {
.moving_img									{ margin-top: 0;}
.moving_img .row .grid img 					{ height: 350px;}
}
@media (max-width:700px) {
.moving_img .row .grid div 					{ padding: 0 7px;}
.moving_img .row .grid img 					{ height: 60vw; max-height: 350px;}
	
}


/***** assets v1 *****/
.assets_v1 									{ text-align: center; position: relative;}
.assets_v1 .container 						{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; position: relative;}
.assets_v1 .item  						    { padding: 40px; background: var(--bgColorLight); border-radius: var(--imgRadius);}
.assets_v1 .item p 						    { margin-top: 10px}
.assets_v1 .item img 						{ display: block; margin: 0 auto 20px auto;}
.assets_v1 .item .sous_titre 				{ font: 400 20px/24px "Outfit";}
.assets_v1 .item .sous_titre span			{ display: block; text-transform: lowercase; font-weight: 400}


@media (max-width: 1200px){
.assets_v1 .item  						    { padding: 30px;}
}
@media (max-width: 1000px){
.assets_v1                                  { margin-bottom: 40px;}
.assets_v1 .container					    { grid-template-columns: repeat(1, 1fr);}
}
@media (max-width: 800px){
.assets_v1 .item  						    { padding: 20px;}
.assets_v1 .item img 						{ width:80px;}
.assets_v1 .item .sous_titre 				{ margin: 0; font-size:18px; }
}

