.banner 								{ position: relative; padding-top: 120px; margin: var(--marginTB); margin-top: 0;}
.banner .container						{ display: grid; grid-template-columns: 1fr 60%; grid-gap: 60px; align-items: center;}
.banner .img   							{ position: relative; z-index: 5; border-radius: var(--imgRadius); overflow: hidden;}
.banner .img img                      	{ width: 100%; height: auto; max-height: 680px; min-height: 480px; object-fit: cover; position: relative; display: block; }
.banner .txt 							{ position: relative; padding-top: 10px;}
.banner .txt .wrap						{ max-width: 580px;}
.banner .txt p  						{ font-size: 18px; margin: 20px 0 30px 0; max-width: 480px;}

@media (max-width:1500px) {
.banner .txt p  						{ font-size: 17px;}

}
@media (max-width:1400px) {
.banner .container						{ grid-template-columns: 1fr 50%; grid-gap: 40px; align-items: center;}
}
@media (max-width:1200px) {
.banner 								{ padding-top: 100px;}

}
@media (max-width:1000px) {
.banner .container						{ grid-template-columns: 1fr;}
.banner .img   							{ grid-area: 1;}
.banner .txt .wrap   					{ text-align: center; max-width: 100%}
.banner .txt p  						{ max-width: 100%;}
.banner .img img                      	{ min-height: inherit;}
}
@media (max-width:700px) {
.banner 								{ padding-top: 110px;}
.banner .container						{ grid-gap: 30px;}
.banner .txt:before 					{ width: 100vw; left: -5vw; bottom: 30px;}
}





/***** quote : txt + img *****/
.quote_txt_img 											{ position: relative;}
.quote_txt_img .container	                        	{ display: grid; grid-template-columns: auto 1fr; grid-gap: 0 clamp(20px, 5vw, 60px); align-items: center; position: relative; background: #fff; border-radius: var(--imgRadius); padding: clamp(20px, 5vw, 80px); margin: 0 auto; box-shadow: 10px 10px var(--mainColor2);}
.quote_txt_img .container.align_top                		{ align-items: start;}
.quote_txt_img .container .item							{ position: relative;}
.quote_txt_img .container .item :last-child 			{ margin-bottom: 0;}
.quote_txt_img .container img 							{ width: 250px; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; border-radius: 50%;}
.quote_txt_img .container p               				{ margin-bottom: clamp(10px, 2vw, 15px);}
.quote_txt_img .container .link							{ margin-top: 10px; text-align: center; padding: 0 30px;}
.quote_txt_img .container :last-child					{ margin-bottom: 0;}

.quote_txt_img.align_center .container 					{ text-align: center; display: grid; grid-template-columns: 1fr;}
.quote_txt_img .container .grid_links                   { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px; padding-top: 10px; width: 400px; margin: 0 auto}
.quote_txt_img .container .grid_links .link 	        { margin: 0;}

@media (max-width:1000px) { 
.quote_txt_img 											{ padding-top: 50px;}
.quote_txt_img.nomarge 									{ padding-top: 0;}
.quote_txt_img .container	                        	{ grid-template-columns: 1fr; grid-gap: 4vw; text-align: center; box-shadow: none;}
.quote_txt_img .container img 							{ width: 160px; margin: -90px auto 0 auto;}
.quote_txt_img .container .grid_links                   { width: 100%;}

}
@media (max-width:700px) { 
.quote_txt_img .container  							    { margin: 30px auto 0 auto;}
.quote_txt_img .container .grid_links                   { grid-template-columns: 1fr;  width: 100%;}
}


/***** cercle *****/

.circle                             { display: block; position: absolute; border-radius: 50%; width: 100%; aspect-ratio: 1; background: var(--bgLightColor); animation: spin 120s infinite linear;}
.circle::before                     { content: ""; display: block; position: absolute; inset: -20px; border-radius: 50%; border: 3px dotted var(--mainColor2);}


@media (max-width:1000px) {
.circle                             { animation: none;}
.circle::before                     { width: 180px; height: 180px; margin: -83px auto 0 auto; inset: -20px;}
}

@keyframes spin {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);};
}




/***** card item : img + txt */
.card_item_v1								{ border-radius: var(--imgRadius); background: #fff; overflow: hidden; position: relative;}
.card_item_v1 .wrap							{ padding: 40px;}
.card_item_v1 img 							{ display: inline-block;}
.card_item_v1 img:not(.icon)				{ width: 100%; height: auto; aspect-ratio: 5/3; object-fit: cover; margin-bottom: 0;}
.card_item_v1 p								{ margin-bottom: 20px;}
.card_item_v1 .link.fullw 					{ width: 100%; padding: 0; text-align: center;}

@media (max-width:1200px) {
.card_item_v1 .wrap							{ padding: 30px;}
/*.card_item_v1 .sous_titre 					{ font-size: 20px;}*/
}
@media (max-width:700px) {
.card_item_v1 .wrap							{ padding: 20px;}
/*.card_item_v1 .sous_titre 					{ font-size: 16px; line-height: 22px;}*/
}




.card_item_v1.intro						    { background: none; text-align: left; border-radius: 0;}
.card_item_v1.intro	.wrap					{ padding: 0 40px 0 0;}

@media (max-width:1400px) {
.card_item_v1.intro						    { grid-column: span 2;}
.card_item_v1.intro	.wrap					{ padding: 0 0 20px 0;}
}
@media (max-width:700px) {
.card_item_v1.intro						    { grid-column: auto;}
.card_item_v1.intro	.wrap					{ padding: 0;}
}


/***** grid bloc *****/
.grid_bloc	 								{ position: relative; margin: var(--marginTB);}
.grid_bloc .container						{ display: grid; grid-gap: clamp(10px, 5vw, 20px); text-align: center; align-items: center;}
.grid_bloc.col_3 .container					{ grid-template-columns: repeat(3, 1fr);}

@media (max-width:1400px) {
.grid_bloc.col_3 .container					{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:700px) {	
.grid_bloc.col_3 .container					{ grid-template-columns: 1fr;}
}


/***** assets v1 *****/
.assets_v1 									{ text-align: center; position: relative; padding: 0; margin-bottom: var(--marginB);}
.assets_v1 .container 						{ display: grid; grid-gap: 20px; position: relative;}
.assets_v1.col_4 .container 				{ grid-template-columns: repeat(4, 1fr);}
.assets_v1 .item  						    { display: block; margin: 0 20px;}
.assets_v1 .item .icon 						{ border-radius: 50%; background-color: #fff; width: 120px; height: 120px; display: block; margin: 0 auto 20px auto;}
.assets_v1 .item .icon img					{ width: 70px; height: 70px;  margin-top: 25px}
.assets_v1 p 							    { margin: 10px 0 0 0; line-height: 160%;}

@media (max-width: 1000px){
.assets_v1.col_4 .container 				{ grid-template-columns: repeat(2, 1fr); grid-gap: 60px 0;}
}

@media (max-width: 700px){
.assets_v1.col_4 .container					{ grid-template-columns: 1fr; grid-gap: 40px;}
.assets_v1 .item .icon 						{ width: 90px; height: 90px;}
.assets_v1 .item .icon img					{ width: 60px; height: 60px; margin-top: 15px}
}








