/***** banner *****/
.banner 									{ position: relative; padding-top: 140px;}
.banner .label                              { font-size: 16px; line-height: 30px; color: var(--mainColor1); margin: 0 0 20px 0; display: inline-block; background-color: #fff; padding: 7px 20px 5px 20px; border-radius: 25em}
.banner .inner                              { position: relative; overflow: hidden; border-radius:var(--allImgBR)}
.banner .slider  						    { position: relative; height: 80vh; max-height: 850px; min-height: 400px; z-index: 5; filter: brightness(0.8);}
.banner::before			                    { width: 100%; height: calc(50% + 60px); background: linear-gradient(to bottom, #110f0f 0%, var(--bgColorDark) 100%); position: absolute; right: 0; top: 0; content: "";}
.banner .item  						        { height: 80vh; max-height: 850px; min-height: 350px; 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: 80px; top: 80px; z-index: 10; }
.banner .titre_main                         { font: 500 40px/50px "Comfortaa"; 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 .content  						    { left: 40px; top: 40px;}
}
@media (max-width:1000px) {
.banner .item  						        { height: auto;}
.banner .titre_main                         { font: 500 25px/35px "Comfortaa";}
.banner picture img  						{ min-height: 60vw;}
.banner .slider,
.banner .slider img						    { height: 70vw; max-height: 750px; min-height: 350px;}
.banner .slider .slick-slide img              { transform: scale(1);}
}
@media (max-width:700px) {
.banner 									{ padding-top: 80px;}
.banner .label                              { font-size: 13px;}
.banner .content  						    { padding: 30px 5vw; left: 0; top: 0;}
}

/***** chapo *****/
.bloc-chapo         { width: 90vw;  max-width: var(--maxWidthWrapperLarge); position: relative; margin: -90px auto 0 auto; z-index: 10; }
.bloc-chapo p       { padding: 30px; position: relative; background: linear-gradient(to top, #110f0f 0%, var(--bgColorDark) 100%); border-radius: var(--allImgBR); box-shadow: var(--box-shadow); width: 80%; max-width: 1000px; font: 500 18px / 30px "Comfortaa"; color: #ffffff; margin-bottom: 0; left: 80px;}

@media (max-width:800px) {
.bloc-chapo p { left: inherit; margin: 0 auto; font: 500 16px / 28px "Comfortaa"; width: 90%;}
}

@media (max-width:500px) {
.bloc-chapo p { font: 500 14px / 28px "Comfortaa";}
}


/***** devis + intro *****/
.devis_intro 								{ display: grid; grid-template-columns: 1fr 1fr; align-items: start; grid-gap: 60px; position: relative; margin-top: 60px;}
.devis_intro .icon							{ position: absolute; top:-50px; left:60px; z-index: 50; width: 90px; height: 90px; background: #fff; border-radius: 50%;  padding: 0;  display: grid; align-items: center; justify-content: center; transition: all 200ms ease-in-out;box-shadow: var(--box-shadow);}
.devis_intro .devis 						{ padding: 60px 60px 60px 60px; position: relative; background: linear-gradient(to top, #110f0f 0%, var(--bgColorDark) 100%); border-radius:var(--allImgBR); box-shadow: var(--box-shadow); color: #ffffff; margin-top: 120px; z-index: 10;}
.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; text-align: center}

@media (max-width:1200px) {
/* .devis_intro 								{ grid-gap: 60px; margin-top: -120px;} */
.devis_intro .devis 						{ padding: 40px;}
}

@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;}
.devis_intro .icon							{ display: none}
}

@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: inherit; }
.devis_intro .devis .link     				{ margin-top: 20px;}
.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                         { display: none}
}

.video                                     { position: relative; min-height: 400px; overflow: hidden; border-radius: var(--allImgBR)}
.video video                               { position: absolute;  inset: 0; width: 100%; height: 100%; object-fit: cover;}

@media (max-width: 1000px){
.video                                     { min-height: 300px;}
.video video                               { width: 100%; height: 100%;}
}


/***** assets v1 *****/
.assets_v1 									{ position: relative;}
.assets_v1 a								{ color: #ffffff;}
.assets_v1 .container 						{ display: grid; grid-gap: 20px; position: relative; text-align: center; margin: 50px 0; }
.assets_v1 .container.col_4 				{ grid-template-columns: repeat(4, 1fr);}
.assets_v1 .item  						    { background: #110f0f}
.assets_v1 .item img 						{ display: block; margin: 0 auto;}
.assets_v1 .card_item_v1                    { min-height: 340px; display: grid; justify-content: center; align-content: center; justify-items: center;  border-radius: 20px; padding: 50px 40px}


@media (min-width: 1201px){
.assets_v1 .card_item_v1:hover              { box-shadow: var(--box-shadow)}
}

@media (max-width: 1200px){
.assets_v1 									{ padding:30px 0;}
.assets_v1:before							{ width: 100%; border-radius:0; right:0}
.assets_v1 .container.col_4					{ grid-template-columns: repeat(2, 1fr);}
.assets_v1 .titre_main						{ display: none}

}
@media (max-width: 1000px){
.assets_v1 .container.col_4					{ grid-template-columns: 1fr; grid-gap: 10px;}
.assets_v1 .card_item_v1                    { min-height: inherit; border-radius: 10px; padding: 20px}
.assets_v1 .titre_main						{ display: block}
}

@media (max-width: 700px){
.assets_v1 									{ padding:0;}
.assets_v1 .titre_main						{ display: none}
}



/***** bloc txt img *****/
.bloc_items_img 										{ position: relative;}
.bloc_items_img .titre_main								{ margin-bottom: 80px}
.bloc_items_img:before									{ position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: var(--bgColorLight); border-radius: 0; visibility: hidden; transition: none; content: "";}
.bloc_items_img .container	                        	{ display: grid; grid-template-columns: 30% 1fr; grid-gap: 0 80px; position: relative;}
.bloc_items_img .container>.item						{ position: relative;}
.bloc_items_img .container>.item :last-child 			{ margin-bottom: 0;}
.bloc_items_img .container .txt .wrap					{ display: inline-block; text-align: left;}
.bloc_items_img .container .img p						{ text-align: center; margin-top: 30px; font-size: 22px; line-height: 28px;}
.bloc_items_img .container img 							{ width: 100%; height: auto; object-fit: cover; display: block; position: relative; z-index: 10; aspect-ratio: 3/4; border-radius: var(--allImgBR);}
.bloc_items_img .container p               				{ margin-bottom: 15px;}

.bloc_items_img .list_items								{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 60px 80px; align-items: start;}
.bloc_items_img .list_items .item 						{ display: grid; grid-template-columns: 1fr; grid-gap: 40px; align-items: start; position: relative;}
.bloc_items_img .list_items .item .icon					{ width: 90px; height: 90px; background: #fff; border-radius: 50%; padding: 15px; display: grid; align-items: center; justify-content: center; transition: all 200ms ease-in-out; box-shadow: var(--box-shadow)}
.bloc_items_img .list_items .item .grid_titre        	{ display: grid; grid-template-columns: auto 1fr; grid-gap: 20px; align-items: center; color: var(--mainColor2) }
.bloc_items_img .list_items .item .icon img				{ aspect-ratio: auto;}
.bloc_items_img .list_items .item .sous_titre 			{ font-size: 20px; line-height: 28px; margin-bottom: 10px; transition: color 200ms ease-in-out; padding: 0 60px 0 0}

.bloc_items_img .list_items .item:last-child .content 	{ border: none; padding-bottom: 0;}
.bloc_items_img .list_items .item .content>a 			{ position: absolute; right: 0; top: 0; width: 100%; height: 100%; font-size: 0; z-index: 15;}
.bloc_items_img .list_items .item .content p 			{ margin: 0;}
.bloc_items_img .list_items .item .content p a			{ z-index: 20;}

.bloc_items_img.reverse:before							{ right: 0; left: 0;}
.bloc_items_img.reverse .container 						{ grid-template-columns: 1fr 40%;}
.bloc_items_img.reverse .container>.item:last-child		{ grid-area: 1 / 1;}
.bloc_items_img.reverse .container>.item:first-child 	{ grid-area: 1 / 2;}
.bloc_items_img.reverse .container .txt					{ text-align: right;}
.bloc_items_img.align_top .container                	{ align-items: start;}
.bloc_items_img .list_items .item .grid_titre:after     { width: 60px; height: 60px; background: url("../images/arrow_link.svg") 100% 50% no-repeat; position: absolute;  right: 0; top:50%; transform: translateY(-50%); content: ""; }

@media (min-width:1201px) { 
.bloc_items_img .list_items .item:hover .sous_titre 	{ color: var(--mainColor2);}
.bloc_items_img .list_items .item:hover .icon 	        { transform: scale(1.075);}
.bloc_items_img .list_items .item:hover .grid_titre:after    { right: 20px;}
}
@media (max-width:1200px) { 
.bloc_items_img .container	                        	{ grid-gap: 0 60px; align-items: start; grid-template-columns: 45% 1fr;}
.bloc_items_img .list_items								{ grid-template-columns: 1fr; grid-gap: 40px;}
.bloc_items_img .list_items .item						{ grid-gap: 10px;}
.bloc_items_img .list_items .item .icon					{ width: 100px; height: 100px;}
.bloc_items_img .list_items .item .content 				{ padding-bottom: 30px;}
.bloc_items_img.reverse .container 						{ grid-template-columns: 1fr 35%;}
}
@media (max-width:1000px) { 
.bloc_items_img .container 								{ grid-template-columns: 1fr; grid-gap: 50px;}
.bloc_items_img .container .txt .wrap					{ max-width: none;}
.bloc_items_img .titre_main								{ margin-bottom: 40px}
.bloc_items_img.reverse .container 						{ grid-template-columns: 1fr;}
.bloc_items_img.reverse .container>.item:last-child		{ grid-area: 2;}
.bloc_items_img.reverse .container>.item:first-child    { grid-area: 1;}
.bloc_items_img .container .item.img img                { height: 60vw;}
}
@media (max-width:700px) { 
.bloc_items_img .container	                        	{ grid-gap: 0;}
.bloc_items_img .container .img.service img 			{ display: none;}
.bloc_items_img .titre_main								{ display: none}
.bloc_items_img .container .img p						{ margin-top: 20px; font-size: 18px; line-height: 24px;}
.bloc_items_img .container p               				{ margin-bottom: 10px;}
.bloc_items_img .list_items								{ grid-gap: 25px;}

.bloc_items_img .list_items .item .grid_titre           { background: #fff; display: flex; align-items: center; position: relative; padding: 20px; min-height: 70px; border-radius: 10px}
.bloc_items_img .list_items .item .grid_titre:after     { right: 20px; background-size: 20px}
.bloc_items_img .list_items .item                       { display: block;}
.bloc_items_img .list_items .item .icon                 { width: 50px; height: 50px; padding: 0; background: none; position: absolute; left: 20px; top: 50%; transform: translateY(-50%); box-shadow: none}

.bloc_items_img .list_items .item .sous_titre           { font-size: 16px; line-height: 25px; min-height: 0; padding-left: 60px; margin: 0; color: var(--mainColor1);}
.bloc_items_img .list_items .item .content              { padding: 20px 0;}

}


/***** partners *****/
.partners 									{ position: relative;}
.partners .container 						{ display: flex; justify-content: center; flex-direction: row; flex-wrap: wrap;  gap: 20px; position: relative; padding-top: 30px;}
.partners .titre							{ text-align: left;}
.partners .item .icon 						{ border-radius: var(--linkRadius); height: 90px; background:#fff; padding: 0 20px; display: flex;}
.partners .item .icon img					{ display: block; margin: 0 auto; width: 140px; height: auto;}
.partners .item .icon a img              	{ transition: all 300ms ease-in-out;}




@media (max-width: 700px){
.partners .item .icon 						{ height: 70px;}
.partners .item .icon img					{ width: 100px;}
}




