/***** banner *****/
.banner_fullscreen                          	{ position: relative; overflow: hidden;}
.banner_fullscreen:before 						{ position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: linear-gradient(to top, rgba(32,32,32,100%) 10%, rgba(32,32,32,0) 50%); transition: none; z-index: 5; content: "";}
.banner_fullscreen img                     		{ height: 100vh; max-height: 1200px; min-height: 700px; object-fit: cover; object-position: 50% 25%; width: 100%; display: block;}
.banner_fullscreen .sous_titre             		{ display: block; margin: 5px 0 0 0; color: #fff;}
.banner_fullscreen .link      		       		{ margin: 10px 0 0 0; color: var(--mainColor1); text-transform: uppercase; font-size: 14px; line-height: 58px; letter-spacing: 0.8px; display: inline-block;}
.banner_fullscreen .link:after 		       		{ display: none;}
.banner_fullscreen .content                 	{ position: absolute; left: 5vw; right: 5vw; top: 0; margin: 0 auto; height: 95%; width: 90vw; max-width: 800px; display: grid; justify-content: center; align-items: center; text-align: center; z-index: 10; padding-top: 60px;}

@media (min-width:1201px) {
.banner_fullscreen .link:hover 		       		{ color: #fff!important; }
}
@media (max-width:1200px) {
.banner_fullscreen                  			{ padding-top: 90px;}
}
@media (max-width:1000px) {
.banner_fullscreen img                     		{ height: 85vw; min-height: inherit; max-height: 600px;}
}
@media (max-width:700px) {
.banner_fullscreen                  			{ padding-top: 64px; padding-bottom: 20vw;}
.banner_fullscreen:before 						{ bottom: 20vw; background: linear-gradient(to top, rgba(32,32,32,100%) 0%, rgba(32,32,32,0) 40%);}
.banner_fullscreen img                     		{ height: 75vw;}
.banner_fullscreen .content                 	{ padding: 0; align-items: end;}
.banner_fullscreen .content .txt                { width: 90vw;}
.banner_fullscreen .link      		       		{ margin: 10px 0 0 0; width: 100%; line-height: 54px;}
}


/***** intro *****/
.intro 										{ position: relative; text-align: center; max-width: 930px; margin: var(--marginTB); margin-top: -140px; z-index: 10;}
.intro .chapo								{ margin: 0 auto;}
.intro .hide								{ padding-top: clamp(15px, 3vw, 20px);}

@media (max-width:1000px) {
.intro 										{ margin-top: -80px;}
}
@media (max-width:700px) {
.intro 										{ display: none;}
}


/***** home construction *****/
.construction  								{ padding-top: 100px; margin-bottom: 0;}
.construction .container .img.col_2			{ padding-top: 0;}
.construction .container .img img.macaron	{ width: 180px; position: absolute; right: calc(25% - 105px); top: -90px;}

@media (max-width:1400px) { 
.construction  								{ padding-top: 80px;}
.construction .container .img img.macaron	{ width: 160px; right: calc(25% - 90px); top: -80px;}
}
@media (max-width:1200px) { 
.construction .container .img img.macaron	{ width: 140px; right: calc(25% - 80px); top: -70px;}
}
@media (max-width:700px) { 
.construction  								{ padding-top: 0;}
.construction .container .img img.macaron	{ width: 100px; right: 2.5vw; top: 2.5vw;}
}


/***** card item : img + txt *****/
.card_item_v1								{ border-radius: var(--imgRadius); background: #fff; overflow: hidden; position: relative; display: grid; min-height: 190px; transition: all 300ms ease-in-out;}
.card_item_v1 .wrap							{ padding: 20px; align-self: center;}
.card_item_v1 img 							{ display: inline-block; margin-bottom: 10px; transition: all 300ms ease-in-out;}
.card_item_v1 .chapo 						{ margin: 0 auto; font-weight: 700; color: var(--mainColor2); max-width: 180px; line-height: 22px; min-height: 44px; transition: all 300ms ease-in-out;}
.card_item_v1 .link	 						{ position: absolute; left: 0; top: 0; bottom: 0; right: 0; height: auto; font-size: 0; background: none; transition: all 300ms ease-in-out;}
.card_item_v1 .link:after					{ height: 13px; top: auto; right: 15px; bottom: 15px;}

@media (min-width:1201px) {
.card_item_v1:hover						    { background: var(--mainColor1); }
.card_item_v1:hover img      			    { filter: brightness(0) invert(1); }
.card_item_v1:hover .chapo     			    { color: #fff; }
.card_item_v1:hover .link:after			    { filter: brightness(0) invert(1);}
}
@media (max-width:700px) {
.card_item_v1								{ min-height: 140px;}
.card_item_v1 img 							{ width: auto; height: 40px; margin: 2px 0 6px 0;}
.card_item_v1 .chapo 						{ margin: 0 auto; font-weight: 700; color: var(--mainColor2); min-height: inherit; line-height: 20px;}
.card_item_v1 .link:after					{ right: 10px; bottom: 10px;}
}


/***** grid bloc *****/
.grid_bloc	 								{ position: relative; margin-top: clamp(20px, 10vw, 100px);}
.grid_bloc:before							{ width: auto; height: auto; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: var(--bgColorLight); transition: none; z-index: -1; visibility: hidden; content: "";}
.grid_bloc .container						{ display: grid; grid-gap: clamp(10px, 3vw, 20px); text-align: center;}

@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:1000px) {
.grid_bloc.col_4 .container					{ grid-template-columns: 1fr 1fr;}
.grid_bloc.col_3 .container					{ grid-template-columns: 1fr;}
}


/***** a propos *****/
.apropos .atouts 								{ background: #fff; text-align: center; padding: clamp(20px, 10vw, 100px) clamp(20px, 3vw, 40px); color: var(--mainColor2);}
.apropos .atouts:before							{ position: absolute; left: 10px; top: 10px; width: 100%; height: 100%; background: var(--mainColor1); z-index: -1; content: "";}
.apropos .atouts .sous_titre					{ font-weight: 500; margin: -5px 0 -10px 0;}
.apropos .atouts ul li							{ font-size: clamp(14px, 2.4vw, 18px); line-height: 140%; font-weight: 600; letter-spacing: 0; margin-top: 40px; position: relative;}
.apropos .atouts ul li:after					{ width: 50px; height: 2px; position: absolute; right: 0; left: 0; margin: 0 auto; top: -20px; background: var(--mainColor1); content: "";}
.apropos .atouts ul li:first-child:after		{ display: none;}

@media (max-width:700px) {
.apropos .atouts 								{ background: transparent; border: 2px solid var(--mainColor1); padding: 10vw 0; color: #fff}
.apropos .atouts:before							{ display: none;}
.apropos .atouts .sous_titre					{ color: #fff; margin: -5px 0 -15px 0;}
.apropos .atouts ul li							{ font-weight: 400; letter-spacing: 0.4px;}
.apropos .atouts ul li:after					{ width: 40px; background: #fff;}
}



/***** home faq *****/
.home_faq 										{ margin: var(--marginTB);}


