/***** banner *****/
.banner 								{ position: relative; background: url("../images/banner.webp") 50% / cover no-repeat; background-attachment: fixed; padding-top: 120px;}
.banner:after							{ width: 100%; height: 105px; position: absolute; left: 0; bottom: -1px; background: url("../images/shape_bg.svg") 50% 100% repeat-x; content: "";}
.banner .wrapper_large 					{ display: grid; align-items: center; height: 80vh; max-height: 950px; padding-bottom: 105px;}
.banner .texte 							{ padding: 100px 0 140px 0; color: #fff; position: relative; z-index: 5;}
.banner .texte .titre_main 				{ font-size: 60px; line-height: 65px; color: #fff; margin-bottom: 35px;}
.banner .texte .titre_main span			{ font-size: 28px; line-height: 36px; font-weight: 500; text-transform: none; letter-spacing: 0.6px; display: block; margin-top: 10px;}
.banner .texte ul li					{ font-size: 17px; line-height: 40px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; background: url("../images/target.svg") 0 50% no-repeat; padding-left: 60px; margin-top: 15px;}
.banner .promo 							{ width: 750px; padding: 22px 90px; background: #fff; position: absolute; left: 50%; bottom: 160px; border-radius: 10px; text-align: center; transform: translateX(-50%); z-index: 15;}
.banner .promo p 						{ font: 700 16px/24px "Barlow"; text-transform: uppercase; letter-spacing: 0.8px;}
.banner .promo p a 						{ color: #ffb600; display: inline-block;}
.banner .promo .splash					{ width: 190px; height: 170px; background: url("../images/splash_yellow_1.svg") 50% / cover no-repeat; text-align: center; position: absolute; right: -110px; top: -90px; display: grid; align-items: center; padding: 0 55px 5px 50px;}
.banner .promo .splash p				{ font-size: 18px; line-height: 22px; color: #000;}

@media (min-width:1201px) {
.banner .promo p a:hover  				{ color: #000;}
}
@media (max-width:2000px) {
.banner:after							{ background-size: 1400px auto;}
.banner .wrapper_large 					{ height: auto; min-height: 80vh; max-height: none;}
.banner .texte 							{ padding: 100px 0 120px 0;}
.banner .promo 							{ bottom: 140px;}
}
@media (max-width:1600px) {
.banner 								{ background: url("../images/banner_1600.webp") 50% 100px / cover no-repeat; background-attachment: fixed;}
.banner:after							{ background-size: 1300px auto;}
.banner .texte .titre_main 				{ font-size: 50px; line-height: 55px;}
.banner .texte .titre_main span			{ font-size: 24px; line-height: 32px;}
.banner .texte ul li					{ font-size: 16px;}
.banner .promo 							{ width: 580px; padding: 22px 80px 22px 50px; text-align: left; bottom: 120px;}
}
@media (max-width:1400px) {
.banner:after							{ background-size: 1200px auto;}
.banner .promo 							{ width: 540px; bottom: 100px;}
}
@media (max-width:1200px) {
.banner 								{ background-position: 75% 50%; background-attachment: scroll; padding-top: 115px;}
.banner:after							{ background-size: 1000px auto;}
.banner .wrapper_large 					{ min-height: inherit; padding-bottom: 80px;}
.banner .texte 							{ padding: 110px 0 90px 0;}
.banner .texte .titre_main 				{ font-size: 40px; line-height: 45px;}
.banner .texte .titre_main span			{ font-size: 22px; line-height: 30px;}
.banner .texte ul li					{ margin-top: 10px;}
.banner .promo 							{ width: 75%; bottom: 0; background: #000; color: #fff; padding: 30px 50px; text-align: center;}
.banner .promo .splash					{ width: 150px; height: 150px; right: 0; top: -122px; background-image: url("../images/splash_yellow_2.svg"); padding: 0 24px 2px 30px;}
.banner .promo .splash p				{ font-size: 16px; line-height: 20px;}
}
@media (max-width:1000px) {
.banner 								{ background-position: 85% 50px;}
.banner .texte 							{ padding: 140px 0 120px 0;}
.banner .texte .titre_main 				{ font-size: 35px; line-height: 40px; margin-bottom: 30px;}
.banner .texte .titre_main span			{ font-size: 18px; line-height: 28px;}
.banner .texte ul li					{ margin-top: 10px;}
.banner .promo 							{ padding: 30px 40px;}
}
@media (max-width:700px) {
.banner 								{ background: none; padding-top: 45px;}
.banner:after							{ display: none;}
.banner .wrapper_large 					{ padding-bottom: 0; width: 100%;}
.banner .texte 							{ padding: 0; height: 85vw; background: url("../images/banner_700.webp") 50% 20px / cover no-repeat;}
.banner .texte:after 					{ width: 100%; height: 45px; position: absolute; left: 0; bottom: -1px; background: url("../images/shape_bg.svg") 50% 100% repeat-x; background-size: 650px auto; content: "";}
.banner .texte *						{ opacity: 0; visibility: hidden;}
.banner .promo 							{ width: 100vw; padding: 20px 7vw 60px 7vw; left: auto; bottom: auto; transform: none; border-radius: 0; position: relative; margin-top: -45px;}
.banner .promo:after 					{ width: 100%; height: 45px; position: absolute; left: 0; bottom: 0; background: url("../images/shape_bg.svg") 50% 100% repeat-x; background-size: 650px auto; content: "";}
.banner .promo .splash					{ width: 105px; height: 105px; right: 5vw; top: -82px; padding: 0 4px 0 10px;}
.banner .promo .splash p				{ font-size: 11px; line-height: 15px;}
.banner .promo p 						{ font-size: 12px; line-height: 22px;}
}


/***** activites *****/
.activites 							    { position: relative; padding-bottom: 120px; margin-top: 120px;}
.activites:before 					   	{ width: 200vw; position: absolute; left: -50vw; top: 275px; bottom: 0; background: #000; z-index: -1; content: "";}
.activites .slider 					    { margin-top: 35px; width: 2000px; max-height: 560px;}
.activites .item 		 				{ margin-right: 40px; float: none; display: inline-block; vertical-align: top; max-width: 380px; color: #fff; position: relative;}
.activites .item img		 			{ width: 100%; height: auto; display: block; border-radius: 50%; border: 30px solid rgba(168,168,168,0.5); transition: filter 400ms ease-in-out;}
.activites .item .row			   		{ padding: 20px 25px 0 25px; position: relative;}
.activites .item .titre			   		{ margin: 0 0 10px 0; font: 700 18px/30px "Barlow"; text-transform: uppercase; letter-spacing: 1px; transition: color 400ms ease-in-out;}
.activites .item .titre span	   		{ font: 400 14px/20px "Barlow"; text-transform: none; letter-spacing: 0.6px; padding-left: 5px;}
.activites .item p	   					{ letter-spacing: 0.6px; }
.activites .item .arrow_link	   		{ width: 100%; height: 440px; background: url("../images/arrow_yellow.svg") right+25px bottom+18px no-repeat; position: absolute; left: 0; top: 0; font-size: 0; cursor: url(../images/zoom.svg), auto;}
.activites .nav_slider 				    { position: absolute; right: -15px; top: -2px;}

@media (min-width:1201px) {
.activites .item:hover img				{ filter: brightness(0.65);}
.activites .item:hover .titre 			{ color: #ffb600;}
}
@media (max-width:2000px) {
.activites .item img		 			{ border-width: 27px;}
}
@media (max-width:1600px) {
.activites 							    { padding-bottom: 100px; margin-top: 100px;}
.activites:before 					   	{ top: 240px;}
.activites .slider 					    { margin-top: 30px;}
.activites .item 		 				{ max-width: 335px;}
.activites .item img		 			{ border-width: 23px;}
.activites .item .row			   		{ padding: 20px 10px 0 10px;}
.activites .item .titre			   		{ font-size: 17px;}
.activites .item .titre span	   		{ display: block;}
.activites .item .arrow_link	   		{ height: 396px;}
.activites .nav_slider 				    { position: absolute; right: -15px; top: -2px;}
.activites .nav_slider 				    { top: -4px;}
}
@media (max-width:1200px) {
.activites 							    { padding-bottom: 80px; margin-top: 80px;}
.activites .item img		 			{ border-width: 20px;}
.activites .nav_slider 				    { top: -10px;}
}
@media (max-width:1000px) {
.activites 							    { padding-bottom: 60px; margin-top: 60px;}
.activites:before 					   	{ top: 216px;}
.activites .item 		 				{ max-width: 300px;}
.activites .item .arrow_link	   		{ height: 361px;}
}
@media (max-width:700px) {
.activites 							    { padding-bottom: 35px; margin-top: 30px; text-align: center;}
.activites .titre_main				    { line-height: 25px;}
.activites:before 					   	{ top: calc(20.25vw + 45px);}
.activites .slider 					    { width: 100%; margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; grid-gap: 25px 5vw; max-height: none;}
.activites .item 		 				{ max-width: none; width: auto; margin: 0;}
.activites .item img		 			{ border-width: 10px;}
.activites .item .row			   		{ padding: 15px 0 15px 0; text-align: center;}
.activites .item .titre			   		{ font-size: 14px; line-height: 20px;}
.activites .item .arrow_link	   		{ height: 100%; background-position: center bottom;}
.activites .item p, 
.activites .nav_slider 				    { display: none;}
}


/***** link tarifs *****/
.link_tarifs  							{ position: relative; background: #ffb600; margin-bottom: 120px;}
.link_tarifs a							{ display: block; border-radius: 0; text-align: center; background: #ffb600; height: auto;}
.link_tarifs a span						{ display: inline-block; padding-right: 80px; background: url("../images/arrow_black.svg") right center no-repeat; font-size: 20px; line-height: 88px; height: 90px;}

@media (min-width:1201px) {
.link_tarifs a:hover   					{ color: #000;}
.link_tarifs a:hover span  				{ padding-right: 95px;}
}
@media (max-width:1200px) {
.link_tarifs  							{ margin-bottom: 90px;}
.link_tarifs a span						{ font-size: 17px; height: 80px; line-height: 78px;}
}
@media (max-width:1000px) {
.link_tarifs  							{ margin-bottom: 70px;}
}
@media (max-width:700px) {
.link_tarifs  							{ background: #000; padding: 0 7vw 40px 7vw; margin-bottom: 40px;}
.link_tarifs a							{ border-radius: 5px;}
.link_tarifs a span						{ display: block; padding: 0; background: #ffb600; font-size: 12px; line-height: 48px; height: 50px;}
}


/***** link stage *****/
.link_stage 							{ padding: 0 100px; margin: 160px auto 120px auto; position: relative; display: block;}
.link_stage .splash						{ position: absolute; left: 0; top: -105px; z-index: 10;}
.link_stage .casque						{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); z-index: 10;}
.link_stage a							{ display: block; border-radius: 15px; text-align: center; background: url("../images/bg_camouflage.webp") 50% no-repeat; font-size: 20px; line-height: 30px; height: auto; padding: 50px 140px; max-width: 1040px; color: #fff;}
.link_stage a span						{ display: inline-block; padding: 0 80px 2px 0; background: url("../images/arrow_yellow.svg") right center no-repeat;}

@media (min-width:1201px) {
.link_stage a:hover   					{ background-position: 50%;}
.link_stage a:hover span  				{ padding-right: 95px;}
}
@media (max-width:1200px) {
.link_stage 							{ padding: 0; margin: 80px auto;}
.link_stage .splash,						
.link_stage .casque						{ display: none;}
.link_stage a							{ border-radius: 10px; padding: 40px; max-width: none; font-size: 17px;}
}
@media (max-width:1000px) {
.link_stage 							{ margin: 60px auto;}
}
@media (max-width:700px) {
.link_stage 							{ margin: 0 -7vw 40px -7vw;}
.link_stage a							{ border-radius: 0; padding: 30px 7vw 25px 7vw; max-width: none; font-size: 14px; line-height: 22px; background-size: 300% auto;}
.link_stage a span						{ padding: 0 0 22px 0; background-position: center bottom;}
}


/***** about *****/
.about 									{ position: relative; grid-gap: 0 80px; margin-bottom: 60px;} 
.about .splash							{ position: absolute; right: -200px; bottom: 0; z-index: 10;}
.about .photo							{ margin-bottom: 40px;} 
.about .texte							{ margin-bottom: 40px;} 
.about .hide 							{ grid-column: span 2; margin: 40px auto 20px auto; padding: 50px 70px; background: #f2f2f2; border-radius: 15px; display: none;}
.about .hide :last-child 				{ margin-bottom: 0;}

@media (max-width:1400px) {
.about .splash							{ display: none;}
.about .hide 							{ padding: 40px 60px;}
}
@media (max-width:1200px) {
.about 									{ grid-gap: 0 60px; margin-bottom: 40px;} 
.about .hide 							{ margin: 20px auto; padding: 40px 50px; border-radius: 10px;}
}
@media (max-width:1000px) {
.about 									{ margin-bottom: 20px;} 
.about .hide 							{ grid-column: auto; margin: 0 auto 40px auto; padding: 40px;}
}
@media (max-width:700px) {
.about 									{ display: none;} 
}


/***** plan acces *****/
.plan_acces 							{ margin-top: 0;} 
.plan_acces .splash						{ position: absolute; left: -200px; bottom: -80px; z-index: 10;}

@media (max-width:1400px) {
.plan_acces .splash						{ display: none;}
}
@media (max-width:1000px) {
.plan_acces.reverse .photo img 			{ height: auto;} 
}
@media (max-width:700px) {
.plan_acces 							{ text-align: center; grid-gap: 40px;} 
.plan_acces.reverse .photo 				{ grid-area: 2; margin: 0 -7vw;} 
.plan_acces.reverse .photo img 			{ border-radius: 0;} 
.plan_acces.reverse .texte 				{ grid-area: 1;} 
.plan_acces.reverse .texte .titre_main	{ margin-top: -5px;} 
}


/***** faq *****/
.faq 									{ position: relative;}
.faq .splash							{ position: absolute; right: -200px; bottom: -100px; z-index: 10;}

@media (max-width:1400px) {
.faq .splash							{ display: none;}
}


/***** avis *****/
.avis 									{ position: relative; margin: 110px 0 -200px 0; z-index: 10;}
.avis .score 							{ display: grid; grid-template-columns: auto auto 1fr; align-items: center; grid-gap: 10px; line-height: 0; font-size: 0;}
.avis .score img						{ display: inline-block; vertical-align: middle; margin: 0 3px;}
.avis .score p							{ font-size: 25px; line-height: 24px; margin: 0;}
.avis .slider 							{ margin-top: 35px; margin-right: -30px; position: relative;}
.avis .item 							{ background: #000; color: #fff; border-radius: 15px; margin: 10px 30px 0 0; position: relative; padding: 40px;}
.avis .item:before						{ width: 35px; height: 20px; background: url("../images/quote.svg") 50% no-repeat; position: absolute; right: 40px; top: -10px; content: "";}
.avis .item p.author					{ color: #ffb600; margin-top: 10px;}
.avis .nav_slider 				   	 	{ position: absolute; right: -15px; top: -17px;}

@media (max-width:1400px) {
.avis 									{ margin: 100px 0 -180px 0;}
.avis .item 							{ padding: 30px;}
.avis .item:before						{ right: 30px;}
}
@media (max-width:1200px) {
.avis 									{ margin: 80px 0 -160px 0;}
.avis .slider 							{ margin-top: 30px; margin-right: -20px;}
.avis .item 							{ border-radius: 10px; margin: 10px 20px 0 0;}
}
@media (max-width:1000px) {
.avis 									{ margin: 65px 0 -160px 0;}
}
@media (max-width:700px) {
.avis 									{ margin: 40px 0 -100px 0;}
.avis .score 							{ grid-template-columns: auto 1fr; grid-gap: 8px;}
.avis .score img						{ width: 18px; height: auto; margin: 0 2px;}
.avis .score p							{ font-size: 18px; line-height: 20px; margin: 0;}
.avis .score p:last-of-type 			{ grid-column: span 2; text-transform: none; letter-spacing: 0.4px; font-size: 13px; font-weight: 500;}
.avis .slider 							{ margin-top: 20px; margin-right: -7vw;}
.avis .item 							{ border-radius: 5px; margin: 0 7vw 0 0; padding: 20px;}
.avis .item:before						{ display: none;}
.avis .nav_slider 				   	 	{ right: -14px; top: 0;}
}


/***** banner cta *****/
.banner_cta .texte 						{ padding: 400px 0 160px 0;}

@media (max-width:2000px) {
.banner_cta .texte 						{ padding: 380px 0 140px 0;}
}
@media (max-width:1600px) {
.banner_cta .texte 						{ padding: 360px 0 120px 0;}
}
@media (max-width:1400px) {
.banner_cta .texte 						{ padding: 320px 0 120px 0;}
}
@media (max-width:1200px) {
.banner_cta .texte 						{ padding: 300px 0 80px 0;}
}
@media (max-width:1000px) {
.banner_cta .texte 						{ padding: 280px 0 60px 0;}
}
@media (max-width:700px) {
.banner_cta .texte 						{ padding: 150px 0 50px 0;}
}















