/***** banner : texte + photos *****/
.banner_txt_img 								{ position: relative; overflow: hidden; padding-top: 160px; margin: var(--marginTB); margin-top: 0;}
.banner_txt_img .container						{ display: grid; grid-template-columns: 1fr 50%; grid-gap: 80px; align-items: center;}
.banner_txt_img .img   							{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: clamp(5px, 3vw, 20px); align-items: end; position: relative; z-index: 5;}
.banner_txt_img .img picture 					{ position: relative; display: block;}
.banner_txt_img .img img  						{ width: 100%; height: auto; object-fit: cover; position: relative; display: block; border-radius: var(--imgRadius); aspect-ratio: 4/3; background: #444;}
.banner_txt_img .txt 							{ position: relative; text-align: right;}
.banner_txt_img .txt .wrap  					{ max-width: none; text-align: left;}
.banner_txt_img .txt .wrap>:first-child			{ margin-bottom: 0;}


.link.cta_v1						{ height: auto; padding: 0 80px 0 30px; text-align: left; border-radius: var(--linkRadius);}
.link.cta_v1:after 					{ width: 20px; height: 100%; background: url("../images/arrow_link.svg") 100% 50% no-repeat; position: absolute; right: 30px; top: 0; content: "";}
.link.cta_v1>span 					{ height: 80px; display: grid; align-items: center; position: relative; padding: 10px 0 10px 60px; font-size: 16px; line-height: 20px;}
.link.cta_v1>span:after				{ width: 30px; height: 100%; background: url("../images/calendar.svg") 50% / contain no-repeat; position: absolute; left: 0; top: 0; content: "";}
.link.cta_v1 i 						{ font-style: normal; font-size: 12px; display: block; padding-bottom: 2px;}

@media (max-width:1200px) {
.banner_txt_img .container						{ grid-gap: 40px;}
}
@media (max-width:1000px) {
.banner_txt_img 								{ padding-top: 120px;}
.banner_txt_img .container						{ grid-template-columns: 1fr;}
.banner_txt_img .img   							{ grid-area: 1;}
.banner_txt_img img.imgtwo,
.banner_txt_img img.imgthree,
.banner_txt_img img.imgfour                     { display: none;}
.banner_txt_img img.imgone                      { grid-column: span 2;;}

.banner_txt_img .txt .wrap   					{ text-align: center;}
.banner_txt_img .chapo					        { display: none;}
.banner_txt_img .txt .wrap>:first-child			{ margin-bottom: 20px;}
}

@media (max-width:700px) {
.banner_txt_img 								{ padding-top: 120px;}
.banner_txt_img .container						{ grid-gap: 15px;}
.banner_txt_img .txt .wrap   				    { margin-top: 20px;}
    
.link.cta_v1						{ height: auto; padding: 0 0 0 30px; text-align: center;}
.link.cta_v1:after 					{ display: none}
.link.cta_v1>span 					{ height: 60px; display: grid; align-items: center; position: relative; padding: 10px 0 10px 0px; font-size: 13px; line-height: 20px; text-align: center}
.link.cta_v1>span:after				{ width: 24px; height: 100%; background: url("../images/calendar.svg") 50% / contain no-repeat; position: absolute; left: 0; top: 0; content: "";}
}




/***** 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-top: 0; margin: 0 auto;}
.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: var(--imgRadius);}
.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;}
}




/***** card item : img + txt */
.card_item_v1								{ border-radius: var(--imgRadius); background: #fff; overflow: hidden; position: relative;}
.card_item_v1 .wrap							{ padding: 0 40px 40px 40px;}
.card_item_v1 img 							{ display: block; width: 120px; height: auto; margin: 40px auto 20px auto;}
.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: 0 30px 30px 30px;}
}
@media (max-width:700px) {
.card_item_v1 .wrap							{ padding: 0 20px 20px 20px;}
}


/***** 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);}
.grid_bloc.col_3 .titre			            { display: block; margin-bottom: 50px}
.grid_bloc.col_2 .container					{ grid-template-columns: repeat(2, 1fr);}
.grid_bloc.col_2 .titre			            { text-align: center; display: block; margin-bottom: 50px}
.grid_bloc.col_2 .sous_titre			    { margin-top: 50px}
.grid_bloc .container .grid_links           { display: grid; grid-template-columns: auto auto; grid-gap: 10px; width: 100%; margin: 0 auto}
.grid_bloc.col_2 .container p               { margin: 0 0 10px 0}

@media (max-width:1000px) {
.grid_bloc.col_3 .container,
.grid_bloc.col_2 .container					{ grid-template-columns: 1fr;}
.grid_bloc .container .grid_links           { grid-template-columns: 1fr;}
}
@media (max-width:700px) {	
.grid_bloc.col_3 .titre,
.grid_bloc.col_2 .titre			            { display: none}
.grid_bloc.col_2 .sous_titre			    { margin-top: 20px}

}









