/***** banner *****/
.banner 									{ position: relative; padding-top: 110px;}
.banner .label                              { font: 600 14px/40px var(--font-main); color: var(--mainColor1); margin-bottom: 15px; display: inline-block; vertical-align: top; background-color: #fff; padding: 0 15px;}
.banner .inner                              { position: relative; overflow: hidden; background: #ffffff;}
.banner .slider  						    { position: relative; height: 90vh; max-height: 850px; min-height: 400px; z-index: 5; filter: brightness(0.8);}
.banner::before			                    { width: 75%; max-width: 1600px; height: calc(50% + 60px); background: var(--mainColor1); position: absolute; right: 0; top: 0; content: "";}
.banner .item  						        { height: 90vh; max-height: 850px; min-height: 400px; width: 100%; object-fit: cover; filter: brightness(0.8);}
.banner .item img					        { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8);}
.banner .content  						    { position: absolute; left: 60px; top: 60px; z-index: 10; }
.banner .titre_main                         { color: #fff; }
.banner .slider .slick-slide img               { transition: all 4s ease; transform: scale(1.5);}
.banner .slider .slick-slide.slick-active img  { transform: scale(1);}


@media (max-width:1200px) {
.banner 									{ padding-top: 100px; width: 100vw; left: 50%; margin-left: -50vw;}
.banner .label                              { font-size: 15px;}
.banner::before			                    { width: 70%;}
.banner .slider,
.banner .slider img						    { height: 60vw; max-height: 850px; min-height: 380px;}
.banner .content  						    { left: 40px; top: 40px; }
}
@media (max-width:1000px) {
.banner picture img  						{ min-height: 60vw;}
.banner .slider,
.banner .slider img						    { height: 70vw; max-height: 750px; min-height: 350px;}
.banner::before			                    { width: 50%;}
}
@media (max-width:700px) {
.banner 									{ padding-top: 70px;}
.banner .label                              { font-size: 13px;}
.banner .content  						    { padding: 30px 5vw; left: 0; top: 0;}
.banner::before			                    { width: 30%;}
.banner .slider,
.banner .slider img						    { height: 70vw; max-height: 750px; min-height: 350px;}
}


/***** devis + intro *****/
.devis_intro 								{ display: grid; grid-template-columns: 1fr 1fr; align-items: start; grid-gap: 60px; margin-top: -70px; position: relative; z-index: 10;}
.devis_intro .devis 						{ padding: 60px 60px 60px; position: relative; background: #fff; border-radius: var(--imgRadius); overflow: hidden;}
.devis_intro .devis li                      { height: 120px; border-radius: var(--imgRadius); background: var(--white); display: grid; align-items: center; justify-content: center;}
.devis_intro .devis .grid					{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.devis_intro .devis .link					{ width: 100%; margin-top: 10px;}
.devis_intro .intro 						{ padding: 120px 0 0 0;}
@media (max-width:1200px) {
.devis_intro 								{ grid-gap: 60px; margin-top: -120px;}
.devis_intro .devis 						{ padding: 40px;}
.devis_intro .intro 						{ padding: 180px 0 0 0;}
}
@media (max-width:1000px) {
.devis_intro 								{ grid-template-columns: 1fr; grid-gap: 60px; margin-top: -60px;}
.devis_intro .devis 						{ padding: 40px;}
.devis_intro .intro 						{ padding: 0;}
}
@media (max-width:700px) {
.devis_intro 								{ display: block; width: 100%; max-width: initial; margin: 0;}
.devis_intro .devis 						{ padding: 0; margin: 0 5vw; background-color: none; }
.devis_intro .devis .link     				{ margin: 0;}
.devis_intro .devis .sous_titre,
.devis_intro .devis p,
.devis_intro .devis:before					{ display: none;}
.devis_intro .devis .titre_main             { font-size: 20px;}
.devis_intro .devis .grid                   { gap: 15px; margin-bottom: 35px;}
.devis_intro .devis li                      { height: 70px;}
.devis_intro .devis li img                  { transform: scale(0.7);}

.devis_intro .intro                         { padding: 5vw 5vw 0 5vw;}

}




/***** grid bloc mixed *****/
.services                                   { margin: var(--marginTB);}
.services .titre_main                       { text-align: center; font-size: 120px; color: #fff; opacity: 0.7; margin-bottom: -30px; }
.grid_bloc_mixed 							{ position: relative; }
.grid_bloc_mixed:before						{ width: auto; height: auto; position: absolute; left: 20px; right: 20px; top: 0; bottom: 0; background: var(--bgColorLight); border-radius: var(--imgRadius); transition: none; z-index: -1; visibility: hidden; content: "";}
.grid_bloc_mixed .container					{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0 50px; margin: -25px 0; text-align: center;}
.grid_bloc_mixed .item 						{ margin: 25px 0; grid-row-end: span 2;}
.grid_bloc_mixed .item:nth-child(1)			{ grid-column-start: 2; grid-row-start: 1;}
.grid_bloc_mixed .item:nth-child(2)			{ grid-column-start: 1; grid-row-start: 2;}
.grid_bloc_mixed .item:nth-child(3)			{ grid-column-start: 3; grid-row-start: 2;}

@media (min-width:1201px) {
.services p a:hover 	{ color: #ffffff; border-color: #ffffff00; }
}


@media (max-width:1200px) {
.grid_bloc_mixed .container					{ grid-template-columns: 1fr 1fr; grid-gap: 0 30px; margin: -15px 0;}
.grid_bloc_mixed .item 						{ margin: 15px 0; grid-row-end: span 4;}
.grid_bloc_mixed .item:nth-child(1)			{ grid-column-start: 1; grid-row-start: 1;}
.grid_bloc_mixed .item:nth-child(2)			{ grid-column-start: 2; grid-row-start: 2;}
.grid_bloc_mixed .item:nth-child(3)			{ grid-column-start: auto; grid-row-start: auto;}
}
@media (max-width:700px) {
.grid_bloc_mixed .container					{ grid-template-columns: 1fr; grid-gap: clamp(10px, 5vw, 20px); margin: 0;}
.grid_bloc_mixed .item 						{ margin: 0; grid-row-end: auto;}
.grid_bloc_mixed .item:nth-child(1),		 
.grid_bloc_mixed .item:nth-child(2)			{ grid-column-start: auto; grid-row-start: auto;}
}


/***** card item : bg img + hover content */
.card_item_v2 								{ position: relative; border-radius: var(--imgRadius) var(--imgRadius) 0 var(--imgRadius); overflow: hidden; text-align: left;}
.card_item_v2 img							{ width: 100%; height: auto; display: block; aspect-ratio: 1/1; object-fit: cover; filter: brightness(0.65);}
.card_item_v2 .wrap							{ position: absolute; left: 0; bottom: 0; width: 100%; z-index: 5; padding: 40px 90px 40px 40px;}
.card_item_v2 .wrap :last-child				{ margin-bottom: -5px;}
.card_item_v2 .sous_titre 					{ font-size: 22px; line-height: 30px; color: #fff;}
.card_item_v2 .hover_show					{ position: absolute; left: 0; top: 0; color: #fff; background: rgba(0,0,0,75%); width: 100%; height: 100%; padding: 40px; display: none;}
.card_item_v2 .link_arrow                  	{ border-radius: 0;}
.card_item_v2 .link_pos                    	{ position: absolute; bottom: -10px; right: -10px; padding: 10px; background: var(--bgColorLight); border-top-left-radius: 0; z-index: 10;}
.card_item_v2 .link_pos:before             	{ position: absolute; bottom: 10px; left: -20px; background: transparent; width: 20px; height: 20px; border-bottom-right-radius: var(--imgRadius); box-shadow: 10px 10px 0 10px var(--bgColorLight); transition: none; content: "";}
.card_item_v2 .link_pos:after              	{ position: absolute; top: -20px; right: 10px; background: transparent; width: 20px; height: 20px; border-bottom-right-radius: var(--imgRadius); box-shadow: 10px 10px 0 10px var(--bgColorLight); transition: none; content: "";}
.card_item_v2 .link_pos .link_arrow        	{ z-index: 10;}
.card_item_v2 .link_pos .link_arrow:after   { width: 100vw; height: calc(100% + 30px); position: absolute; right: 0; bottom: 0; content: "";}

@media (min-width:1201px) {
.card_item_v2 .hover_show 					{ display: block; opacity: 0; visibility: hidden; transition: all 300ms ease-in-out;}
.card_item_v2:hover .hover_show 			{ opacity: 1; visibility: visible;}
}
@media (max-width:1200px) {
.card_item_v2 								{ border-radius: var(--imgRadius) var(--imgRadius) 0 var(--imgRadius);}
.card_item_v2 .wrap							{ padding: 30px 90px 30px 30px;}
.card_item_v2 .sous_titre 					{ font-size: 20px;}
.card_item_v2 .link_pos .link_arrow:after   { height: 100vh;}
}
@media (max-width:700px) {
.card_item_v2 								{ border-radius: var(--imgRadius) var(--imgRadius) 0 var(--imgRadius);}
.card_item_v2 .wrap							{ padding: 25px 65px 25px 25px;}
.card_item_v2 .wrap :last-child				{ margin-bottom: -3px;}
.card_item_v2 .sous_titre 					{ font-size: 16px;}
.card_item_v2 .link_pos                    	{ padding: 10px;}
.card_item_v2 .link_pos:before             	{ left: -20px; width: 20px; height: 20px;}
.card_item_v2 .link_pos:after              	{ top: -20px; width: 20px; height: 20px;}
.card_item_v2 .link_pos .link_arrow        	{ width: 40px; height: 40px;}
}


.about                                      { margin: var(--marginTB); }
.about .link                                { margin-top: 20px; }
.about p:last-of-type                       { margin: 0; }








/***** assets v1 *****/
.assets_v1 									{ text-align: center; position: relative; padding: clamp(30px, 5vw, 70px); margin: var(--marginTB);}
.assets_v1:before 							{ position: absolute; height: 100%; width: 100%; left: 0; right: 0; top: 0; bottom: 0; background: #fff; z-index: -1; content: ""; }
.assets_v1 .container 						{ display: grid; grid-gap: 20px; position: relative;}
.assets_v1.col_3 .container 				{ grid-template-columns: repeat(3, 1fr);}
.assets_v1.col_4 .container 				{ grid-template-columns: repeat(4, 1fr);}
.assets_v1.col_5 .container 				{ grid-template-columns: repeat(5, 1fr);}
.assets_v1.col_6 .container 				{ grid-template-columns: repeat(6, 1fr);}
.assets_v1 .item img 						{ display: block; margin: 0 auto;}
.assets_v1 .item p 							{ margin: 10px 0 0 0;}

@media (max-width: 700px){
.assets_v1.col_3 .container,
.assets_v1.col_4 .container,
.assets_v1.col_5 .container,
.assets_v1.col_6 .container					{ grid-template-columns: repeat(2, 1fr);}
}



/***** card item : bg img + hover content */
.card_item_v2 								{ position: relative; border-radius: var(--imgRadius) var(--imgRadius) 0 var(--imgRadius); overflow: hidden; text-align: left;}
.card_item_v2 img							{ width: 100%; height: auto; display: block; aspect-ratio: 1/1; object-fit: cover;}
.card_item_v2 .wrap							{ position: absolute; left: 0; bottom: 0; width: 100%; z-index: 5; padding: 40px 90px 40px 40px;}
.card_item_v2 .wrap :last-child				{ margin-bottom: -5px;}
.card_item_v2 .hover_show					{ position: absolute; left: 0; top: 0; color: #fff; background: rgba(0,0,0,75%); width: 100%; height: 100%; padding: 40px; display: none;}
.card_item_v2 .link_pos                    	{ position: absolute; bottom: -10px; right: -10px; padding: 10px; background: var(--bgColorLight); border-top-left-radius: 0; z-index: 10;}
.card_item_v2 .link_pos:before             	{ position: absolute; bottom: 10px; left: -20px; background: transparent; width: 20px; height: 20px; border-bottom-right-radius: var(--imgRadius); box-shadow: 10px 10px 0 10px var(--bgColorLight); transition: none; content: "";}
.card_item_v2 .link_pos:after              	{ position: absolute; top: -20px; right: 10px; background: transparent; width: 20px; height: 20px; border-bottom-right-radius: var(--imgRadius); box-shadow: 10px 10px 0 10px var(--bgColorLight); transition: none; content: "";}
.card_item_v2 .link_pos .link_arrow        	{ z-index: 10;}
.card_item_v2 .link_pos .link_arrow:after   { width: 100vw; height: calc(100% + 30px); position: absolute; right: 0; bottom: 0; content: "";}

@media (min-width:1201px) {
.card_item_v2 .hover_show 					{ display: block; opacity: 0; visibility: hidden; transition: all 300ms ease-in-out;}
.card_item_v2:hover .hover_show 			{ opacity: 1; visibility: visible;}
}
@media (max-width:1200px) {
.card_item_v2 .wrap							{ padding: 30px 90px 30px 30px;}
.card_item_v2 .link_pos .link_arrow:after   { height: 100vh;}
}
@media (max-width:700px) {
.card_item_v2 								{ border-radius: var(--imgRadius) var(--imgRadius) 0 var(--imgRadius);}
.card_item_v2 .wrap							{ padding: 25px 65px 25px 25px;}
.card_item_v2 .wrap :last-child				{ margin-bottom: -3px;}
.card_item_v2 .link_pos                    	{ padding: 10px;}
.card_item_v2 .link_pos:before             	{ left: -20px; width: 20px; height: 20px;}
.card_item_v2 .link_pos:after              	{ top: -20px; width: 20px; height: 20px;}
.card_item_v2 .link_pos .link_arrow        	{ width: 40px; height: 40px;}


.card_item_v2 img { height: 45vh;}
}



/***** grid bloc *****/
.grid_bloc	 								{ position: relative; padding: 0; margin: var(--marginTB);}

.grid_bloc:before 							{ height: 90vh; position: absolute; left: 0; right: 0; bottom: 65%; background: linear-gradient(to top, #eee 0%, #fff 100%); z-index: -1; transition: none; content: "";}

.grid_bloc .container						{ display: grid; grid-gap: clamp(10px, 5vw, 40px); text-align: center;}

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





/***** bloc txt img *****/
.bloc_txt_img 											{ position: relative; margin: var(--marginTB);}
.bloc_txt_img:before									{ position: absolute; left: 20px; right: 60%; top: 25%; bottom: 0; background: var(--bgColorLight); border-radius: var(--imgRadius); visibility: hidden; transition: none; content: "";}
.bloc_txt_img .container	                        	{ display: grid; grid-template-columns: 50% 1fr; grid-gap: 0 80px; align-items: center; position: relative;}
.bloc_txt_img .container.align_top                		{ align-items: start;}
.bloc_txt_img .container .item							{ position: relative;}
.bloc_txt_img .container .item :last-child 				{ margin-bottom: 0;}
.bloc_txt_img .container .txt .wrap						{ display: inline-block; text-align: left; max-width: 520px;}
.bloc_txt_img .container img 							{ width: 100%; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; border-radius: var(--imgRadius);}
.bloc_txt_img .container p               				{ margin-bottom: 15px;}
.bloc_txt_img .container .link							{ margin-top: 10px;}

.bloc_txt_img.reverse:before							{ left: 60%; right: 20px; top: 25%; bottom: -10%; background: var(--bgColorLight); border-radius: var(--imgRadius); visibility: visible; content: "";}
.bloc_txt_img.reverse .container 						{ grid-template-columns: 1fr 50%;}
.bloc_txt_img.reverse .container .item:last-child		{ grid-area: 1 / 1;}
.bloc_txt_img.reverse .container .item:first-child      { grid-area: 1 / 2;}
.bloc_txt_img.reverse .container .txt					{ text-align: right;}

@media (max-width:1200px) { 
.bloc_txt_img .container	                        	{ grid-gap: 0 60px;}
}
@media (max-width:1000px) { 
.bloc_txt_img .container 								{ grid-template-columns: 1fr; grid-gap: 40px;}
.bloc_txt_img .container .txt .wrap						{ max-width: none;}

.bloc_txt_img.reverse .container 						{ grid-template-columns: 1fr;}
.bloc_txt_img.reverse .container .item:last-child		{ grid-area: 2;}
.bloc_txt_img.reverse .container .item:first-child      { grid-area: 1;}
}
@media (max-width:700px) { 
.bloc_txt_img .container	                        	{ grid-gap: 30px;}
.bloc_txt_img .container p               				{ margin-bottom: 10px;}
}

/* multi links */
.bloc_txt_img .container .multi_links					{ display: grid; grid-template-columns: 140px 140px; grid-gap: 10px; margin-top: 25px;}
.bloc_txt_img .container .multi_links .link				{ margin: 0; text-align: center; padding: 0;}

@media (max-width:700px) { 
.bloc_txt_img .container .multi_links					{ grid-template-columns: 1fr 1fr; grid-gap: 10px; margin-top: 20px;}
}







/***** moving galerie *****/
.moving_galerie 							{ width: auto; left: 50%; transform: translateX(-50%); position: relative; text-align: center; margin: 80px 0 80px 0;}
.moving_galerie .row 						{ width: auto; display: flex;}
.moving_galerie .row .item 					{ width: auto; display: flex; animation: scroll_gallery 80s linear infinite;}
.moving_galerie .row .item div 				{ padding: 0 15px;}
.moving_galerie .row .item img 				{ width: auto; height: 500px; display: block; margin: 0 auto; transition: all 300ms ease-in-out;}

@keyframes scroll_gallery {
0%											{ transform: translate(0, 0);}
100% 										{ transform: translate(-100%, 0); }
}
@media (max-width:1400px) {
.moving_galerie .row .item img 				{ height: 480px;}
}
@media (max-width:1200px) {
.moving_galerie .row .item img 				{ height: 440px;}
}
@media (max-width:1000px) {
.moving_galerie 							{ margin: 60px 0;}
.moving_galerie .row .item img 				{ height: 380px;}
}
@media (max-width:700px) {
.moving_galerie 							{ margin: 40px 0;}
.moving_galerie .row .item div 				{ padding: 0 5px;}
.moving_galerie .row .item img 				{ height: 60vw;}
}




.atouts.bloc_txt_img .container                 { grid-template-columns: 35% 1fr; }
.atouts .show_hide.no_marge .titre              { font-weight: 700; font-size: 15px; text-transform: uppercase; padding-left: 40px; background: url("../images/check_orange.svg") 0 45% no-repeat; background-size: 24px auto;}
.atouts .show_hide.no_marge .hide               { padding: 0 30px 35px 0;}

@media (max-width:1000px) {
.atouts.bloc_txt_img .container                 { grid-template-columns: 1fr; }
.atouts.bloc_txt_img .item.img                  { display: none;}
}







