/***** banner : texte + photos *****/
.banner 								{ position: relative; overflow: hidden; padding: 140px 0 40px 0;}	
.banner:before 							{ position: absolute; left: 60vw; right :0; bottom: 0; top:0; background:var(--beigeColor); z-index: -1; transition: none; content: ""; border-radius:0;}
.banner .container						{ display: grid; grid-template-columns: 1fr 65%; grid-gap: 80px; align-items: center;}
.banner .img   							{ position: relative; z-index: 5;}
.banner .img picture 					{ position: relative; display: block;}
.banner .img img  						{ width: 100%; max-height: 700px; height: auto; object-fit: cover; position: relative; display: block; border-radius: var(--allImgBR); aspect-ratio: 3/2;}
.banner .txt 							{ position: relative; text-align: right;}
.banner .txt .wrap  					{ max-width: none; text-align: left;}
.banner .txt .wrap>:first-child			{ margin-bottom: 5px;}

.banner .slider   						{ width: 100vw; border-radius: var(--imgRadius); overflow: hidden; max-height: 700px;}
.banner .slider .slick-slide			{ width: 55vw; max-width: 1050px; margin-right: 20px;}
.banner .slider_nav   					{ position: absolute; right: calc(100% + 20px); bottom: 0; z-index: 10; display: grid; grid-template-columns: 1fr 1fr;}

@media (max-width:1200px) {
.banner 								{ padding-top: 150ox; padding-bottom: 0;}
.banner:before							{ left: 0; right: 0; border-radius: 0;}
.banner .container						{ grid-gap: 40px; grid-template-columns: 1fr;}
.banner .img   							{ grid-area: 1;}
.banner .slider_nav   					{ right: auto; left: calc(90vw - 65px); bottom: -80px;}
.banner .txt 							{ width: 90vw;}
}

@media (max-width:1000px) {
.banner 								{ padding-top: 100px; padding-bottom: 50px;}
.banner .container						{ grid-gap: 50px;}
.banner .img img  						{ border-radius: 0;}
.banner .txt .wrap   					{ text-align: left;}

.banner .slider   						{ margin-left: -5vw;}
.banner .slider .slick-slide			{ width: 100vw; margin-right: 0;}
.banner .slider_nav   					{ display: none;}
}
@media (max-width:700px) {
.banner 								{ padding-top: 70px;}
.banner .container						{ grid-gap: 30px;}
.banner:before							{ display: none}
.banner .txt .wrap h2  					{ display: none}
.banner .txt .wrap h1  					{ font-size: 20px; line-height: 28px;}
.banner .txt .wrap a  					{ width:100%;}
}

/* custom 2 img */
.banner .img.two .img_2 				{ position: absolute; left: 100%; top: 0; bottom: 0; margin-left: 20px;}
.banner .img.two .img_2 img				{ width: auto; height: 100%;}

@media (max-width:1400px) {
.banner .img.two .img_2 				{ display: none;}
}
@media (max-width:1200px) {
.banner .img.two .img_1 img				{ aspect-ratio: 3/2;}
}
@media (max-width:1000px) {
.banner .img.two .img_1 				{ margin: 0 -5vw;}
.banner .img.two .img_1 img				{ aspect-ratio: 3/2; border-radius: 0;}
}




/***** quote : txt + img *****/
.quote_txt_img 											{ position: relative; padding: 40px 0 clamp(20px, 10vw, 40px) 0; margin: 0;}
.quote_txt_img:before									{ position: absolute; left: 60vw; right: 0; top: 0; bottom: 0; background:var(--beigeColor); visibility: visible; transition: none; z-index: -1; content: "";}
.quote_txt_img .container	                        	{ display: grid; grid-template-columns: auto 1fr; grid-gap: 0 clamp(20px, 4vw, 60px); align-items: center; position: relative;}
.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: 200px; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; border-radius: 50%; aspect-ratio: 1/1; border: 10px solid #fff;}
.quote_txt_img .container svg							{ width: clamp(40px, 3.5vw, 60px); height: auto; display: block; margin-bottom: clamp(10px, 2vw, 15px);}
.quote_txt_img .container p               				{ margin-bottom: clamp(10px, 2vw, 15px);}
.quote_txt_img .container .link							{ margin-top: 10px;}
.quote_txt_img .container :last-child					{ margin-bottom: 0;}
.quote_txt_img .container .sous_titre:before				            { width: 50px; position: absolute; left: 0; top: 45px; bottom: -10px; background: var(--mainColor2); content: "";}



.quote_txt_img.reverse:before							{ left: 3vw; right: auto;}
.quote_txt_img.reverse .container 						{ grid-template-columns: 1fr auto;}
.quote_txt_img.reverse .container .item:last-child		{ grid-area: 1 / 1;}
.quote_txt_img.reverse .container .item:first-child     { grid-area: 1 / 2;}


@media (max-width:1200px) { 
.quote_txt_img:before									{ left:0; right: 0; border-radius:0;}
.quote_txt_img .container	                        	{ grid-gap: 0 50px;}
.quote_txt_img .container img 							{ width: 180px;}
}
@media (max-width:1000px) { 
.quote_txt_img                        					{display: none}
}
@media (max-width:700px) { 

}


/***** card item : img + txt */

.card_item_v1								{ background: var(--bgColorLight); overflow: hidden; position: relative; text-align: left}
.card_item_v1 .wrap							{ padding: 40px}
.card_item_v1 img 							{ display: block; margin: 0; width: 50px; height: 50px}
.card_item_v1 img:not(.icon)				{ width: 100%; height: auto; aspect-ratio: 5/3; object-fit: cover; margin-bottom: -15px;}
.card_item_v1 .sous_titre 					{ margin: 20px 0 10px 0;}
.card_item_v1 p								{ margin-bottom: 20px;}
.card_item_v1 .link.fullw 					{ width: 100%; padding: 0;}
.card_item_v1_number						{ background-color: var(--bgColorLight); width: 50px; text-align: center; color: var(--bgColorDark); font-size: 20px; padding: 25px 10px; line-height: .65; z-index: 0; display: block;}
.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								{ background: var(--beigeColor);}
.card_item_v1 .wrap							{ padding: 30px;}

}

/***** grid bloc */

.grid_bloc	 								{ position: relative; padding: clamp(0, 2vw, 100px) 0; margin: var(--marginTB);}
.grid_bloc:before	 						{ position: absolute; width: 100%; right :0; bottom: -10%; top:20%; background:var(--beigeColor); z-index: -1; transition: none; content: ""; border-radius:0;}
.grid_bloc .container						{ display: grid; grid-gap: clamp(10px, 5vw, 30px); text-align: center;}
.grid_bloc .titre_main	 					{ margin-bottom: 60px;}
.grid_bloc .sous_titre					    { margin: 0 0 20px 0}
.grid_bloc .sous_titre:before				{ width: 50px; position: absolute; left: 0; top: 45px; bottom: -10px; background: var(--mainColor2); content: "";}


@media (max-width:1200px) {
}
@media (max-width:1000px) {
.grid_bloc .container p                     { font-size: 15px; line-height: 30px;}     
}
@media (max-width:700px) {
.grid_bloc .sous_titre					    { font-size: 20px; line-height: 28px; margin: 20px 0 10px 0}
.grid_bloc .container						{ text-align: left;}
.grid_bloc .titre_main	 					{ font-size: 30px; line-height: 38px; margin-bottom: 20px;}
}


/* 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_4 .container					{ grid-template-columns: 1fr;}
.grid_bloc.col_3 .container					{ grid-template-columns: repeat(2, 1fr);}
}
@media (max-width:700px) {
.grid_bloc	 								{ margin:10px 0 0 0;} 					
.grid_bloc.col_4 .container					{ grid-template-columns: 1fr;}
.grid_bloc.col_2 .container					{ grid-template-columns: 1fr;}
.grid_bloc:before	 						{ display: none}

}





/***** moving img *****/
.moving_img									{ position: relative; overflow: hidden; margin: var(--marginTB); padding: 20px 0;}
.moving_img .row 							{ width: auto; display: flex;}
.moving_img .row .grid 						{ width: auto; display: flex; animation: moving_img 80s linear infinite;}
.moving_img .row .grid div 					{ padding: 0 10px;}
.moving_img .row .grid img 					{ width: auto; height: 640px; display: block; object-fit: cover; transition: all 300ms ease-in-out;}
.moving_img .link							{ display: block; margin: 50px auto; width: fit-content; }

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

@media (max-width:1600px) {
.moving_img .row .grid div 					{ padding: 0 15px;}
.moving_img .row .grid img 					{ height: 420px;}
}
@media (max-width:1400px) {
.moving_img .row .grid img 					{ height: 400px;}
}
@media (max-width:1200px) {
.moving_img									{ margin-top: 40px;}
.moving_img .row .grid div 					{ padding: 0 10px;}
.moving_img .row .grid img 					{ height: 380px;}
}
@media (max-width:1000px) {
.moving_img									{ margin-top: 0;}
.moving_img .row .grid img 					{ height: 350px;}
}
@media (max-width:700px) {
.moving_img .row .grid div 					{ padding: 0 7px;}
.moving_img .row .grid img 					{ height: 60vw; max-height: 350px;}
	
}






