/***** banner : texte + photos *****/
.banner_txt_img 							{ position: relative; overflow: hidden; text-align: center;}	
.banner_txt_img:before 						{ position: absolute; left: 0; top: 65%; right: 0; bottom: 0; background: var(--bgColorLight); z-index: -1; transition: none; content: "";}
.banner_txt_img .video   					{ width: 100%; margin: 0 auto; position: relative; z-index: 5; margin-top: 40px; padding: 0 190px;}
.banner_txt_img .video:before 				{ width: 100%; height: 100%; border-radius: var(--imgRadius); position: absolute; left: calc(100% - 170px); top: 0; background: var(--mainColor1); z-index: -1; transition: none; content: "";}
.banner_txt_img .video video  				{ width: 100%; height: auto; max-height: 750px; min-height: 440px; display: block; object-fit: cover; border-radius: var(--imgRadius); aspect-ratio: 16/9;}
.banner_txt_img .txt 						{ position: absolute; left: 0; bottom: 50%; transform: translateY(50%); color: #fff; border-radius: var(--imgRadius); width: 380px; z-index: 10; text-align: center; overflow: hidden;}
.banner_txt_img .txt .wrap					{ background: #000; padding: 28px 20px;}
.banner_txt_img .txt p						{ font-size: 16px; margin-bottom: 8px; letter-spacing: 0.4px;}
.banner_txt_img .txt img					{ margin-top: 8px;}
.banner_txt_img .txt span					{ display: block; font-size: 13px; font-weight: 600; line-height: 140%; letter-spacing: 0.8px; text-transform: uppercase; background: #fff; color: #000; margin: 0; padding: 25px 15px;}
.banner_txt_img .txt a                      { color: #ffffff;}

@media (max-width:2000px) {
.banner_txt_img .video   					{ margin-top: 30px; width: 90%;}
}
@media (max-width:1600px) {
.banner_txt_img   							{ overflow: visible;}
.banner_txt_img .video   					{ width: 100%; padding: 0 200px 0 80px; margin-top: 25px;}
.banner_txt_img .video:before 				{ display: none;}
.banner_txt_img .txt 						{ width: 360px; left: auto; right: 0;}
}
@media (max-width:1300px) {
.banner_txt_img .video   					{ padding: 0 180px 0 40px;}
}
@media (max-width:1200px) {
.banner_txt_img .video   					{ padding: 0 180px 0 0;}
.banner_txt_img .txt .wrap					{ padding: 25px 20px;}
.banner_txt_img .txt p						{ font-size: 15px; margin-bottom: 5px;}
.banner_txt_img .txt span					{ padding: 20px 15px;}
}

@media (max-width:1000px) {
.banner_txt_img:before 						{ top: 40%;}
.banner_txt_img .video   					{ padding: 0; margin-top: 20px;}
.banner_txt_img .video video  				{ max-height: inherit; min-height: inherit;}
.banner_txt_img .txt 						{ position: relative; transform: none; bottom: auto; right: auto; width: 380px; margin: -5vw auto 0 auto;}
}

@media (max-width:700px) {
.banner_txt_img .container					{ grid-gap: 30px;}
.banner_txt_img .txt .wrap h2  				{ display: none}
.banner_txt_img .txt .wrap h1  				{ font-size: 20px; line-height: 28px;}
.banner_txt_img .txt .wrap a  				{ width:100%;}
.banner_txt_img .txt .wrap .titre_main	 	{ font-size: 25px; line-height: 32px; margin: 0; padding-bottom: 5px}
}

@media (max-width:700px) {
.banner_txt_img .txt 						{ width: 90vw;}

.banner_txt_img .wrapper_large { width: 100vw;}   
.banner_txt_img .video video { border-radius: 0;} 
.banner_txt_img .txt { margin-top: 8vw; }

.txt_simple.intro { text-align: left;}
}


/***** txt simple *****/
.txt_simple 								{ position: relative; text-align: center; margin: var(--marginTB);}
.txt_simple.intro							{ margin-top: 0;}
.txt_simple.align_left						{ text-align: left;}
.txt_simple:before							{ position: absolute; width: 94vw; max-width: calc(47vw + 720px); left: auto; right: 3vw; top: 0; bottom: 0; background: #eee; border-radius: 50px; visibility: hidden; transition: none; content: "";}
.txt_simple svg								{ width: 60px; height: auto; display: block; margin: 0 auto 15px auto;}
.txt_simple p               				{ margin-bottom: 15px;}
.txt_simple .link							{ margin-top: 10px;}
.txt_simple .multi_links					{ display: grid; grid-template-columns: 1fr 1fr; max-width: 300px; grid-gap: 10px; margin: 25px 0 0 0;}
.txt_simple .multi_links .link				{ margin: 0; text-align: center; padding: 0;}





/***** card item : img + txt */
.card_item_v1								{ border-radius: var(--imgRadius); background: #fff; overflow: hidden; position: relative; text-align: left;}
.card_item_v1 .wrap							{ padding: 50px 40px; display: grid; grid-template-rows: auto auto 1fr auto; height: 100%;}
.card_item_v1 img 							{ display: block; margin: 0; width: auto; height: 80px;}
.card_item_v1 .sous_titre 					{ margin: 20px 0 10px 0; font-size: clamp(18px, 2vw, 22px);}
.card_item_v1 p								{ margin-bottom: 20px;}
.card_item_v1 .link							{ width: 100%; text-align: center;}

@media (max-width:1200px) {
.card_item_v1 .wrap							{ padding: 30px;}
}
@media (max-width:700px) {
.card_item_v1								{ border-radius: 0;}
.card_item_v1 .wrap							{ padding: 20px;}
}




/***** grid bloc *****/
.grid_bloc	 								{ position: relative; margin: var(--marginTB); margin-top: 0; padding: var(--paddingTB); text-align: center;}
.grid_bloc:before 							{ position: absolute; left: 0; right: 0; bottom: 0; top: 0; background: var(--bgColorLight); z-index: -1; border-radius: 0; transition: none; content: "";}
.grid_bloc .container						{ display: grid; grid-gap: 30px; margin-top: 40px;}

@media (max-width:2000px) {
.grid_bloc .container						{ grid-gap: 30px;}
}
@media (max-width:1600px) {
.grid_bloc:before 							{ left: 0; right: 0; border-radius: 0;}
.grid_bloc .container						{ grid-gap: 20px;}
}
@media (max-width:1400px) {
.grid_bloc .container						{ grid-gap: clamp(10px, 5vw, 30px);}
}

/* 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:1400px) {
.grid_bloc.col_4 .container					{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:1000px) {
.grid_bloc.col_3 .container					{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:800px) {
.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;}
}









/***** home faq *****/
.home_faq 									{ margin: var(--marginTB);}
.home_faq .sous_titre						{ padding-bottom: 5px;}











