/***** banner : texte + photos *****/
.banner_txt_img 								{ position: relative; overflow: hidden; padding-top: 140px;}
.banner_txt_img:before 				            { position: absolute; left: 50%; right :0; bottom: 0; top:-1000px; background:var(--mainColor4); z-index: -1; transition: none; content: ""; border-radius:50%; width: 1600px; height: 1600px}
.banner_txt_img .container						{ display: grid; grid-template-columns: 1fr 55%; grid-gap: 80px; align-items: center;}
.banner_txt_img .img   							{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: clamp(5px, 3vw, 20px); position: relative; z-index: 5;}
.banner_txt_img .img picture, 
.banner_txt_img .img div 					    { position: relative; display: block;}
.banner_txt_img .img img  						{ width: 100%; height: auto; object-fit: cover; position: relative; display: block; border-radius: var(--imgRadius);}
.banner_txt_img .img .img_3					    { background: var(--mainColor1); width:280px; height: 280px; border-radius: var(--imgRadius); align-self: start; justify-self: right;}
.banner_txt_img .img .img_2					    { width:280px; height: 280px; align-self: end; justify-self: left;}

.banner_txt_img .txt 							{ position: relative; text-align: right;}
.banner_txt_img ul 							    { margin: 30px 0 50px 0}
.banner_txt_img ul li							{ font-size: 18px}
.banner_txt_img .txt .wrap  					{ max-width: none; text-align: left;}

@media (max-width:1200px) {
.banner_txt_img 								{ padding-top: 120px;}
.banner_txt_img:before 				            { display: none;}
.banner_txt_img .container						{ grid-gap: 40px;}
}
@media (max-width:1000px) {
.banner_txt_img .container						{ grid-template-columns: 1fr; grid-gap: 40px}
.banner_txt_img .container h1                   { margin-bottom: 30px;}
.banner_txt_img .img   							{ grid-area: 1;}
.banner_txt_img .txt .wrap   					{ text-align: center;}
.banner_txt_img .chapo,
.banner_txt_img .ul_check,
.banner_txt_img .multi_links					{ display: none;}
}
@media (max-width:700px) {
.banner_txt_img 								{ padding-top: 70px;}
.banner_txt_img .img						    { grid-template-columns: 1fr;}
.banner_txt_img .img img  						{ max-width: 300px; margin: 0 auto;}
.banner_txt_img  ul                             { display: none;}
.banner_txt_img .img .img_2					    { display: none;}
.banner_txt_img .img .img_3					    { display: none;}
.banner_txt_img .img .img_4					    { display: none;}
}




/***** services *****/
.services .item.cursor              				    { transition: all 300ms ease-in-out;  position: relative; background: var(--mainColor1); color: #fff; border-radius: var(--imgRadius)}
.services .hover_show                                   { opacity: 0; transition: opacity 300ms ease-in-out; position: absolute; top: calc(50% - 30px); transform: translateY(-50%); padding: 20px 40px; font-size: 18px; text-align: center; }


@media (min-width:1201px) {
.services .item.cursor:hover                            { transform: scale(0.95); filter: none;}
.services .item.cursor:hover img                        { opacity: 0; transition: all 300ms ease-in-out;}
.services .item.cursor:hover .hover_show                { opacity: 1; transition: opacity 300ms ease-in-out;}
}
@media (max-width:1000px) {
.services .container img                                { max-height: 450px;}
.services .hover_show                                   { display: none}
.services .item.cursor                                  { padding: 10px 0; display: inline-block; line-height: 40px; margin: 0; border-radius: 10px; background: #fff }
}

@media (max-width:700px) {

}


/***** slider services v1 *****/
.slider_services  										{ position: relative; overflow: hidden;}
.slider_services .intro 								{ position: relative; display: block; padding: 0 10vw 0 0}
.slider_services:before  								{ position: absolute; left: 0; top:60%; bottom:0; background:var(--mainColor4); z-index: -1; transition: none; content: ""; width: 100%}
.slider_services .slider_wrap  							{ position: relative; text-align: right; margin-top:100px}
.slider_services .slider  								{ margin: 25px -30px 25px 0; position: relative;}
.slider_services .slider .slick-list 					{ padding-bottom: 40px;}
.slider_services .slider .slick-slide 					{ margin-right: 30px; opacity: 0; visibility: hidden; transition-duration: 500ms;}
.slider_services .slider .slick-slide .blc				{ opacity: 0; visibility: hidden; transition-duration: 500ms;}
.slider_services .slider .slick-active .blc 			{ opacity: 1; visibility: visible;}
.slider_services .slider .slick-active  			    { opacity: 1; visibility: visible;}
.slider_services .slider_nav 							{ position: absolute; right: 0; top: -70px;}

@media (max-width:1000px) {
.slider_services:before  								{ display: none}
.slider_services .intro 								{ padding: 0}
.slider_services .slider  								{ margin: 0;}
.slider_services .slider_nav 							{ top: -60px;}
.slider_services .slider .slick-slide .blc				{ opacity: 1;}
.slider_services .slider .slick-slide 					{ margin-right: 10px;}

}




/***** Atouts *****/

/* .atouts_icons .grid						    { display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: 30px; align-items: center; align-items: start; } */
.atouts_icons .grid						    { display: flex; gap: 30px; flex-wrap: wrap; justify-content: center; }
.atouts_icons .grid .item                   { text-align: center; width: 180px; }
.atouts_icons .grid .img				    { width: 120px; height: 120px; border:2px solid var(--mainColor1); position: relative; display: block; text-align: center; border-radius: 50%; padding: 0; display: grid; align-items: center; justify-content: center; margin: 0 auto; }
.atouts_icons .grid .item p			        { font-size: 20px; font-weight: 800; position: relative; display: block; line-height: 28px; text-align: center; color: var(--mainColor2); margin: 30px auto 20px auto;}
.atouts_icons .grid .item span			    { font-size: 16px; display: block; font-weight: 600; color: var(--mainColor1)}

@media (max-width:1000px) {
.atouts_icons .grid .item p			        { font-size: 16px;}
}

@media (max-width:700px) {
.atouts_icons .grid .item                   { width: 220px; }
}




.grid_bloc	 								{ padding: 120px 0 0 0;}

/***** info *****/
.rubalise-marquee                         {--rubalise-red: #a61c0e; --rubalise-white: #000; --stripe-width: 10px; margin: 100px 0 0 0; width: 100%; overflow: hidden; background-color: var(--rubalise-red);}

.rubalise-marquee__track                  { display: flex; align-items: stretch; width: max-content; animation: rubalise-scroll 25s linear infinite; will-change: transform;}

.rubalise-item                            { position: relative; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 650px; padding: 15px 50px; overflow: hidden; background-color: var(--rubalise-red); color: var(--rubalise-white);}

/* Bande inclinée supérieure */
.rubalise-item::before                     { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 11px; background: repeating-linear-gradient( 135deg, var(--rubalise-white) 0, var(--rubalise-white) var(--stripe-width), var(--rubalise-red) var(--stripe-width), var(--rubalise-red) calc(var(--stripe-width) * 2) );}

/* Bande inclinée inférieure */
.rubalise-item::after                     { content: ""; position: absolute; bottom: 0;  left: 0; width: 100%;  height: 11px;  background: repeating-linear-gradient( 135deg, var(--rubalise-white) 0, var(--rubalise-white) var(--stripe-width), var(--rubalise-red) var(--stripe-width), var(--rubalise-red) calc(var(--stripe-width) * 2));}

.rubalise-item span                       { position: relative; z-index: 1; color: #fff; font-size: clamp(16px, 1.3vw, 18px); font-weight: 700; line-height: 1.2; white-space: nowrap; text-transform: uppercase;}

/* Petit séparateur entre les différentes portions de rubalise
.rubalise-item span::after                 { content: "•"; position: absolute; top: 50%; right: -65px; transform: translateY(-50%); font-size: 20px;  color: #fff;} */

@keyframes rubalise-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.rubalise-marquee:hover .rubalise-marquee__track { animation-play-state: paused;}

@media (max-width: 700px) 
{
    .rubalise-marquee                      { margin: 50px 0 0 0; }
    .rubalise-item                         { min-width: 480px; padding: 20px 35px;}

    .rubalise-item::before,
    .rubalise-item::after                  { height: 9px;}

    .rubalise-item span                    { font-size: 14px;}
}

@media (prefers-reduced-motion: reduce) {
    .rubalise-marquee__track               { animation: none;}
}
