/***** activites *****/
.bg 			     					{ position: relative; width: 100%; height: 100%; background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) calc(100% - 140px), rgba(236, 250, 255, 1) calc(100% - 140px), rgba(236, 250, 255, 1) 100%); }
.bg:after		     					{ content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url("../images/wave-top.svg") 50% calc(100% - 140px) repeat-x; }

.banner 								{ position: relative; grid-gap: 0;}
.banner .photo  						{ margin-left: -260px; border-radius: 40px;}
.banner.bloc_grid               		{ margin: 0; padding: 120px 0 0; z-index: 40;}
.banner.bloc_grid.reverse .photo img	{ height: 100%; }
.banner .texte							{ background: #fff; box-shadow: 0 0 30px 0 rgba(37, 179, 227, 0.18); border-radius: 40px; padding: 75px 80px 85px; z-index: 100; overflow: hidden; max-width: 680px;}
.banner .chapo                          { margin-bottom: 20px;}
.banner .titre_main                     { margin-bottom: 20px;}

@media (max-width:1600px) { 
.banner                                 { grid-template-columns: 620px 1fr;}
.banner .photo                          { margin-left: -310px;}
}
@media (max-width:1500px) {
.banner .texte							{ padding: 60px;}
}
@media (max-width:1400px) {
.banner                                 { grid-template-columns: 500px 1fr;}
.banner   								{ align-items: center;}
.banner .photo img  				    { height: 50vh; min-height: 640px;}
.banner .link                           { margin-top: 0px;}
}
@media (max-width:1300px) {
.banner                                 { grid-template-columns: 450px 1fr;}
.banner .photo img  				    { height: 43vh; min-height: 600px;}
.banner .texte                          { padding: 40px;}
}
@media (max-width:1200px) {
.banner                                 { margin-top: 120px;}
.banner .photo img  				    { height: auto; min-height: 430px;}
}
@media (max-width:1000px) {
.banner                                 { margin: 90px 0 0; display: block; border-radius: 0;}
.banner.bloc_grid                       { gap: 40px; }
.banner .photo                          { margin: 0; border-radius: 5px; overflow: hidden;}
.banner .photo img 						{ height: auto; max-height: 450px; min-height: auto;  object-position: 50%; border-radius: 20px;}
.banner .texte                          { max-width: 80vw; border-radius: 0; padding: 0; margin: -100px auto 0 auto;  border-radius: 10px;}
.banner .texte .row                     { padding: 40px;}
.banner .texte p 						{ max-width: none;}
.banner .link                           { margin-top: 10px;}


}
@media (max-width:700px) {
.banner                                 { padding-bottom: 0; overflow: initial;}
.banner.bloc_grid                       { gap: 30px; }

.banner .photo                          { margin-bottom: 20px;}
.banner .photo img 						{ max-height: 500px; min-height: 300px; height: 75vw; border-radius: 15px;}
.banner .texte							{ padding: 35px 7vw 0 7vw; box-shadow: none; text-align: center;}
.banner .texte .row                     { padding: 30px;}
.banner .titre_main                     { margin-bottom: 15px; font-size: 30px;}
.banner .texte .link 					{ width: 100%; margin-top: 0;}
}



.intro                                  { padding: 120px 0 100px; position: relative; background-color: var(--bgColorLight)}
.intro .content                         { max-width: 1000px; margin: 0 auto; }
@media (max-width:1200px) {
.intro                                  { padding: 90px 0; }
}
@media (max-width:1000px) {
.intro                                  { padding: 70px 0 30px 0 ;}
}
@media (max-width:700px) {
.intro                                  { padding: 40px 0 ; }
}

.wave                                   { position: absolute;}
.wave img                               { width: 100vw; height: auto;}

/***** bloc grid *****/
.bloc_grid	                        { display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; margin: 95px 0; gap: 80px;}
.bloc_grid.align_top                { align-items: start;}
.bloc_grid .photo					{ position: relative; line-height: 0;}
.bloc_grid .photo img 				{ width: 100%; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; border-radius: 40px;}
.bloc_grid .texte					{ position: relative;}
.bloc_grid .texte :last-child 		{ margin-bottom: 0;}
.bloc_grid p               			{ margin-bottom: 15px;}
.bloc_grid .link					{ margin-top: 10px;}
.bloc_grid.reverse .texte			{ grid-area: 1 / 1;}
.bloc_grid.reverse .photo        	{ grid-area: 1 / 2;}

@media (max-width:1200px) { 
.bloc_grid	                        { margin: 100px 0; gap: 50px;}
}
@media (max-width:1000px) { 
.bloc_grid	                        { grid-template-columns: 1fr; margin: 80px 0; gap: 60px;}
.bloc_grid.reverse .texte,
.bloc_grid .texte					{ padding: 0;}
.bloc_grid.reverse .texte			{ grid-area: 2;}
.bloc_grid.reverse .photo        	{ grid-area: 1;}
.bloc_grid .photo:before            { display: none;}

.bloc_grid .photo img ,
.bloc_grid.reverse .photo img       { height: 60vh;}

}
@media (max-width:700px) { 
.bloc_grid	                        { margin: 40px 0; grid-gap: 30px;}
.bloc_grid p               			{ margin-bottom: 10px;}
.bloc_grid .photo img               { border-radius: 20px; }
}




/***** atouts *****/
.annonces 							{ margin: var(--marginTB); position: relative; text-align: center; padding: 30px 0; background-color: var(--bgColorLight);/* background-color: var(--mainColor2)*/}
.annonces .moving_text 				{ width: 100vw; position: relative; left: 0; top: 50%; /*transform: translateY(-50%);*/ height: 30px; overflow: hidden;}
.annonces .moving_text .row 		{ width: auto; display: flex;}
.annonces .moving_text .row .item 	{ width: auto; display: flex; align-items: center; gap: 5vw; white-space: nowrap; font: 700 30px/30px var(--bodyFont); text-transform: uppercase; letter-spacing: 3px; color: var(--mainColor1); opacity: 100%; padding-left: 5vw; animation: scroll_text 35s linear infinite;}


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

@media (max-width: 1200px) {
.annonces 							{ padding: 25px 0; }
.annonces .moving_text 				{ height: 25px;}
}
@media (max-width: 1000px) {

}
@media (max-width: 700px) {

}




.card_item_v2.card_light_bg .link_pos       { background: var(--bgColorLight);}
.card_item_v2.card_light_bg .link_pos:before { background: transparent; box-shadow: 10px 10px 0 10px var(--bgColorLight);}
.card_item_v2.card_light_bg .link_pos:after { background: transparent; box-shadow: 10px 10px 0 10px var(--bgColorLight);}



/***** card item : img + txt */
.card_item												{ position: relative; overflow: hidden; background: #fff; padding: 20px;  box-shadow: 0 0 30px 0 rgba(37, 179, 227, 0.18); border-radius: var(--imgRadius);}
.card_item img 											{ width: 100%; height: auto; border-radius: var(--linkRadius); object-fit: cover; display: block; margin: 0 auto 25px auto;}
.card_item .wrap										{ position: relative;}
.card_item .sous_titre 									{ margin: 10px; font-size: 22px; line-height: 28px;}
.card_item p											{ margin: 10px;}
.card_item p a											{ z-index: 25;}
.card_item .link_arrow 									{ right: 0; z-index: 20; width: 44px; height: 44px; background-position: 0 50%; border-radius: var(--linkRadius); margin-top: 8px; float: right;}

@media (max-width:1200px) {
.card_item .sous_titre 									{ font-size: 20px;}
}
@media (max-width:700px) {
.card_item												{ padding: 10px;}
.card_item .sous_titre 									{ font-size: 18px; line-height: 24px; font-weight: 600;}
.card_item .link_arrow 									{ width: 40px; height: 40px;}
}





/***** about *****/
.about                    					{ margin: var(--marginTB); }
.about .container          					{ align-items: center; }
.about .container img.logo 					{ width: 200px; margin-bottom: clamp(15px, 2.2vw, 20px);}

@media (max-width: 1200px){
.about .container img.logo 					{ width: 180px;}
.about.grid_bloc.col_3 .container           { grid-template-columns: 1fr 1fr; }        
.about.grid_bloc.col_3 .container .intro    { grid-column: span 2; }        
}
@media (max-width: 700px){
.about .container img.logo 					{ width: 160px;}
.about.grid_bloc.col_3 .container           { grid-template-columns: 1fr; }        
.about.grid_bloc.col_3 .container .intro    { grid-column: auto; }        
}





/*.moving_logos .wrapper_large                { text-align: center; }*/
.moving_logos .sous_titre                   { text-align: center; margin: 0 auto; display: inline-block; font-size: 18px; font-weight: 600; line-height: 50px; padding: 0 25px; background-color: var(--mainColor2); border-radius: var(--linkRadius); color: #fff; }
.moving_logos .sous_titre:after             { content: ""; width: 15px; height: 15px; background-color: var(--mainColor2); border-radius: 2px; transform: rotate(45deg) translateX(-50%); position: absolute; top: 47px; left: 50%;}
@media (max-width: 700px){
.moving_logos .sous_titre                   { font-size: 14px; line-height: 40px; padding: 0 20px; }
.moving_logos .sous_titre:after             { width: 12px; height: 12px; top: 38px;}
}






/***** grid sticky *****/
.grid_bloc_sticky	 							{ position: relative; }
/*.grid_bloc_sticky:before						{ width: auto; height: auto; position: absolute; left: 50%; right: 20px; top: 10%; bottom: 10%; background: var(--bgColorLight); border-radius: var(--imgRadius); transition: none; content: "";}*/
.grid_bloc_sticky .container 					{ position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 25px;}
.grid_bloc_sticky .item_sticky           		{ padding: 0 35px 0 0; align-self: start; position: sticky; top: 120px;}
.grid_bloc_sticky .item_sticky img       		{ width: 100%; height: auto; object-fit: cover; border-radius: 20px 20px 25em 25em; aspect-ratio: 4/5; display: block;}
.grid_bloc_sticky .item_sticky .text     		{ text-align: center; padding: 30px 0 0 0;}
.grid_bloc_sticky .item_sticky .text p 			{ font-size: 22px; line-height: 30px;}
.grid_bloc_sticky .item_sticky .text .link 		{ margin-top: 5px;}

@media (min-width:1201px) {
/* custom nbr row */
.grid_bloc_sticky.row_2 .item_sticky           	{ grid-row: span 2;}
.grid_bloc_sticky.row_3 .item_sticky           	{ grid-row: span 3;}

/* custom reverse */
.grid_bloc_sticky.row_2.reverse .item_sticky    { grid-column-start: 3; grid-column-end: 4; grid-row-start: 1; grid-row-end: span 2; padding: 0 0 0 30px;}
.grid_bloc_sticky.row_3.reverse .item_sticky    { grid-column-start: 3; grid-column-end: 4; grid-row-start: 1; grid-row-end: span 3; padding: 0 0 0 30px;}
}
@media (max-width:1200px) {
.grid_bloc_sticky .container 					{ grid-template-columns: 1fr 2fr;}
.grid_bloc_sticky.row_2 .item_sticky           	{ grid-row: span 4;}
.grid_bloc_sticky.row_3 .item_sticky           	{ grid-row: span 6;}
}
@media (max-width:1000px) {
.grid_bloc_sticky	 							{ padding: clamp(20px, 4vw, 120px) 0;}
.grid_bloc_sticky:before						{ left: 0; right: 0; top: 0; bottom: 0; border-radius: 0;}
.grid_bloc_sticky .container 					{ grid-template-columns: 1fr;}
.grid_bloc_sticky.row_2 .item_sticky,
.grid_bloc_sticky.row_3 .item_sticky           	{ grid-row: auto; padding: 0; display: none;}
.grid_bloc_sticky .item      					{ position: sticky; top: 120px;}
}

