/***** banner : texte + photos *****/
.banner_txt_img 								{ position: relative; overflow: hidden; padding-top: 140px; margin: var(--marginTB); margin-top: 0;}
.banner_txt_img .container						{ display: grid; grid-template-columns: 1fr 55%; grid-gap: 60px; 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: 3/2; background: #444;}
.banner_txt_img .img .img_1 img					{ aspect-ratio: 1/1;}
.banner_txt_img .img .img_3						{ grid-column: span 2;}
.banner_txt_img .img .img_3 img					{ width: 60%; margin-left: 25%;}
.banner_txt_img .txt 							{ position: relative; text-align: right;}
.banner_txt_img .txt .chapo						{ max-width: 530px;}
.banner_txt_img .txt:before                     { width: 150vw; height: 200%; position: absolute; left: -50vw; bottom: 40px; background: var(--bgColorLight); z-index: -1; transition: none; content: ""; }
/*
.banner_txt_img .txt:before                     { width: 150vw; height: 200%; position: absolute; left: -50vw; bottom: 40px; background: linear-gradient(45deg, var(--mainColor1) 0%, var(--mainColor2) 100%); z-index: -1; transition: none; content: ""; }
*/
.banner_txt_img .txt .wrap  					{ max-width: none; text-align: left;}
.banner_txt_img .txt .wrap>:first-child			{ margin-bottom: 5px;}

.banner_txt_img .multi_links					{ display: grid; grid-gap: 10px; margin-top: 30px; max-width: 450px;}
.banner_txt_img .multi_links .link				{ margin: 0; width: 100%; height: 70px; line-height: 68px;}

@media (max-width:1200px) {
.banner_txt_img 								{ padding-top: 120px;}
.banner_txt_img .container						{ grid-gap: 40px;}
}
@media (max-width:1000px) {
.banner_txt_img 								{ padding-top: 100px;}
.banner_txt_img:before 							{ position: absolute; left: 0; right: 0; top: 0; bottom: 10vw; background: linear-gradient(to top, var(--bgColorLight) 0%, #fff 100%); z-index: -1; transition: none; content: "";}
.banner_txt_img .container						{ grid-template-columns: 1fr;}
.banner_txt_img .img   							{ grid-area: 2;}
.banner_txt_img .txt:before 					{ display: none;}
.banner_txt_img .txt .wrap   					{ text-align: center;}
.banner_txt_img .chapo,
.banner_txt_img .multi_links					{ display: none;}
}
@media (max-width:700px) {
.banner_txt_img 								{ padding-top: 80px;}
.banner_txt_img .container						{ grid-gap: 15px;}
}


/* link cta v1 : icon + arrow */
.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:after				{ width: 30px; height: 100%; background: url("../images/devis.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:700px) {
.link.cta_v1						{ padding: 0 60px 0 20px;}
.link.cta_v1:after 					{ right: 20px;}
.link.cta_v1>span 					{ height: 60px; padding: 5px 0 5px 45px; font-size: 16px; line-height: 18px;}
.link.cta_v1>span:after				{ width: 24px;}
}


/***** blocquote *****/
.blocquote                          { position: relative; background:#fff; box-shadow: 0 0 40px 0 rgba(0,29,153,0.12);  text-align: center; font-style: italic; font-size: 20px; letter-spacing: 30px; letter-spacing: 0.5px; padding:45px 40px; margin: 80px 0; border-radius: 10px;}
.blocquote .titre                   { position: absolute; left: 30px; top: -20px; background: var(--mainColor2); padding: 8px 20px; text-transform: uppercase; color: var(--white); border-radius: 5px; letter-spacing: 1px; font-size: 12px; font-weight: 600;}

@media (max-width:1000px) {
.blocquote                          { margin: 70px 0 50px;}
}
@media (max-width:700px) {
.blocquote                          { border-radius: 10px; padding: 30px 20px; font-size: 16px;}
}




/***** card item : img + txt */
.card_item_v3								{ position: relative; overflow: hidden;}
.card_item_v3 .wrap							{ position: relative;}
.card_item_v3 img 							{ display: block; margin: 0 auto;}
.card_item_v3 img:not(.icon)				{ width: 100%; height: auto; aspect-ratio: 5/3; object-fit: cover; border-radius: var(--imgRadius); margin-bottom: 20px;}
.card_item_v3 .sous_titre 					{ margin: 0 0 10px 0; font-size: 22px; line-height: 30px; }
.card_item_v3 p								{ margin: 10px 0 0 0;}
.card_item_v3 p	a							{ z-index: 25;}
.card_item_v3 .link_arrow 					{ z-index: 20; width: 70px; height: 40px; margin-top: 20px; border-radius: 3px;}

@media (max-width:1200px) {
.card_item_v3 .sous_titre 					{ font-size: 20px;}
}

@media (max-width:700px) {
.card_item_v3 .sous_titre 					{ font-size: 16px; line-height: 28px;}
.card_item_v3 .link_arrow 					{ width: 60px; height: 28px; background-size: 20px auto;}
}



/***** grid bloc *****/
.grid_bloc	 								{ position: relative; margin: var(--marginTB);}
/*.grid_bloc .wrapper:before					{ width: 100%; height: 100%; position: absolute; right: calc(100% + 30px); top: 0; background: var(--bgColorLight); transition: none; z-index: -1; content: "";}*/
/*.grid_bloc .wrapper:after					{ width: 100%; height: 100%; position: absolute; left: calc(100% + 30px); top: 0; background: var(--bgColorLight); transition: none; z-index: -1; content: "";}*/
.grid_bloc .container						{ display: grid; grid-gap: clamp(10px, 1.5vw, 40px); text-align: center; margin-top: 40px;}

@media (max-width:1200px) {
.grid_bloc:before							{ left: 0; right: 0; top: 0; bottom: 0; border-radius: 0;}
}

/* custom colums */
.grid_bloc.col_2 .container					{ grid-template-columns: repeat(2, 1fr);}
.grid_bloc.col_3 .container					{ grid-template-columns: repeat(3, 1fr);}
.grid_bloc.col_4 .container					{ grid-template-columns: repeat(4, 1fr);}

@media (max-width:1200px) {
.grid_bloc.col_4 .container					{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:1000px) {
.grid_bloc.col_3 .container					{ grid-template-columns: 1fr;}
}
@media (max-width:700px) {
.grid_bloc.col_2 .container,	
.grid_bloc.col_3 .container,					
.grid_bloc.col_4 .container					{ grid-template-columns: 1fr;}
}


/* swipe mobile */ 
@media (max-width:700px) {
.swipe_mobile .container 								{ display: flex; gap: 10px; width: 100vw; margin-left: -5vw; overflow-x: auto; padding: 0 5vw;}
.swipe_mobile .container::-webkit-scrollbar 			{ display: none;}
.swipe_mobile .container .item 							{ min-width: clamp(280px, 75vw, 360px);}
}