@media (max-width:1400px) {
.banner .rs                         { right: 7.5vw; z-index: 9;}
.banner .rs a                       { background-color: #000 !important;}
.banner .rs a:hover                 { background-color: #d10d80 !important;}
}

/***** banner *****/
.banner 							{ position: relative; padding-top: 100px; background-color: #000;}
.banner:before 						{ position: absolute; right: 0; left: 0; bottom: 0; height: 120px; width: 100%; background: #fff; content: "";}
.banner .wrapper 					{ display: grid; grid-template-columns: 420px 1fr; align-items: center;}
.banner .photos   					{ position: relative;}
.banner .photos picture 			{ position: relative; display: block;}
.banner .photos img  				{ width: 100%; height: auto; object-fit: cover; position: relative; display: block;}
.banner .photos .img_2:last-child 	{ width: auto; height: 100%; position: absolute; left: 100%; top: 0; margin-left: 25px;}
.banner .texte 						{ color: #fff; z-index: 10; position: relative;}
.banner .texte .titre_main 			{ color: #fff; margin-bottom: 40px; font-size: 40px; line-height: 50px; width: 640px;}
.banner .texte .chapo 				{ font-size: 16px; line-height: 30px; max-width: 295px;}
.banner .date                       { background-color: #fff; color: #d10d80; font-size: 16px; font-size: 500; padding: 0 20px; line-height: 50px; display: inline-block; vertical-align: top; margin-bottom: 20px; text-transform: uppercase;}

@media (max-width:1800px) {
.banner .wrapper 					{ grid-template-columns: 320px 1fr;}
.banner:before 						{ height: 80px;}
}
@media (max-width:1400px) {
.banner .wrapper 					{ padding-top: 60px;}
.banner:before 						{ height: 80px;}
}
@media (max-width:1200px) {
.banner 							{ padding-top: 100px;}
.banner:before 						{ display: none;}
.banner .wrapper 					{ grid-template-columns: 340px 1fr; padding: 0 0 70px 0;}
.banner .texte .titre_main 			{ font-size: 40px; line-height: 50px; letter-spacing: 0.6px; width: 500px;}
.banner .texte .chapo 				{ margin-bottom: 40px;}
.banner .texte .scroll				{ display: none;}
}
@media (max-width:1000px) {
.banner 							{ padding: 90px 0 60px 0;}
.banner .wrapper 					{ grid-template-columns: 1fr; grid-gap: 45px; padding: 0 0 0 0;}
.banner .photos img  				{ width: calc(100% + 5vw);}
.banner .texte 						{ grid-area: 2;}
.banner .texte .titre_main 			{ font-size: 30px; line-height: 40px; width: 100%; margin-bottom: 15px;}
.banner .texte .chapo 				{ font-size: 16px; line-height: 30px; max-width: 500px; margin: 0;}
.banner:before 						{ display: none;}
}
@media (max-width:600px) {
.banner 							{ padding: 80px 0 40px 0;}
.banner .wrapper 					{ grid-template-columns: 1fr; grid-gap: 35px;}
.banner .photos img  				{ width: calc(100% + 7.5vw);}
.banner .texte .titre_main 			{ font-size: 20px; line-height: 28px; margin-bottom: 10px;}
.banner .texte .chapo 				{ font-size: 13px; line-height: 25px;}
}



/***** intro *****/
.intro                              { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 80px; margin: 75px 0;}
@media (max-width:1000px) {
.intro                              { gap: 40px;}
}
@media (max-width:600px) {
.intro                              { display: none;}
}



/***** services_interieure *****/
.arrowservices                                  { margin-bottom: 25px; text-align: right; position: relative; right: -15px; margin-top: -15px;}
.arrowservices button                           { position: relative; z-index: 1;}
.arrowservices::after                           { content: ""; display: block; position: absolute; left: calc(100% - 160px); top: -65px; width: 10000px; height: 480px; background: #eee;}
.introservices                                  { padding-right: 235px;}
.services_interieure                            { width: 2000px; margin: 0 0 95px; position: relative;}
.services_interieure .item                      { position: relative; width: 380px; margin-right: 30px;}
.services_interieure .item img                  { width: 100%; height: auto; display: block;}
.services_interieure .hide                      { position: absolute; top: 0; left: 0; background: rgba(0,0,0,0.5); color: #fff; height: 100%; padding: 40px 40px 100px; opacity: 0; transition: all ease 400ms; display: flex; align-items: center;}
.services_interieure .link                      { position: absolute; left: 40px; right: 40px; bottom: 40px; font-size: 20px; background-image: linear-gradient(to top, #000 0%, #000 50%, #fff 50%, #fff 100%); color: #fff;}
@media (min-width:1201px) {
.services_interieure .item:hover .hide          { opacity: 1;}
.services_interieure .link:hover                { color: #000;}
}
@media (max-width:1000px) {
.introservices p                                { display: none;}
.services_interieure::before                    { display: none;}
.services_interieure .item                      { width: 365px;}
.services_interieure                            { margin-bottom: 50px;}
}
@media (max-width:600px) {
.arrowservices                                  { display: none;}
.introservices                                  { padding-right: 0; margin: 20px 0;}
.services_interieure                            { width: auto; margin-bottom: 40px;}
.services_interieure .item                      { width: 100% !important; margin: 0;}
.services_interieure .item img                  { height: 40vw; object-fit: cover;}
.services_interieure .slick-track               { width: 100% !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px;}
.services_interieure .slick-track:before,
.services_interieure .slick-track:after,
.services_interieure .hide                      { display: none;}
.services_interieure .link                      { bottom: 0; left: 0; right: 0; font-size: 16px; padding: 0 20px; line-height: 20px; height: 60px; display: grid; align-items: center; justify-content: center; position: static;}
}

@media (max-width: 450px) {
.services_interieure .slick-track               { grid-template-columns: 1fr !important; }
.services_interieure .item img                  { height: 80vw; object-fit: cover;}
}

/* services_exterieure */
.services_exterieure                            { background: linear-gradient(to bottom, #eee calc(100% - 100px), #fff 100px); padding-top: 100px;}
.services_exterieure .grid                      { display: grid; grid-template-columns: 1fr 1fr; gap: 80px;}
.services_exterieure .photo                     { position: relative;}
.services_exterieure .item                      { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; visibility: hidden; transition: all ease 400ms;}
.services_exterieure .item.show                 { opacity: 1; visibility: visible;}
.services_exterieure .item p                    { position: absolute; left: 0; right: 0; bottom: 0; color: #fff; padding: 30px 40px; background: rgba(0,0,0,0.5); z-index: 1;}
.services_exterieure .item:first-of-type        { position: relative;}
.services_exterieure .photo img                 { width: 100%; height: auto; display: block;}
.services_exterieure .texte                     { padding-top: 20px;}
.services_exterieure .texte ul                  { margin-top: 30px;}
.services_exterieure .texte li                  { margin-top: 10px;}
.services_exterieure .link                      { background-image: linear-gradient(to top, #fff 0%, #fff 50%, #000 50%, #000 100%); color: #000; position: relative; display: block; text-align: left;}
.services_exterieure .texte li.active .link     { background-position: 0 0; color: #fff;}
.services_exterieure .texte li.active .link::after { filter: brightness(0) invert(1);}
.services_exterieure .link::after               { content: url(../images/arrow_right.svg); line-height: 0; display: block; position: absolute; right: 30px; top: 50%; transform: translateY(-50%);}

@media (min-width:1201px) {
.services_exterieure .link:hover                { color: #fff;}
.services_exterieure .link:hover::after         { filter: brightness(0) invert(1);}
}
@media (max-width:1280px) {
.services_exterieure .grid                      { gap: 40px;}
}
@media (max-width:1200px) {
.services_exterieure                            { background: #eee ; padding: 90px 0;}

.services_exterieure .photo .item.abris         { position: static; visibility: visible; opacity: 1; display: block;}
.services_exterieure .photo .item,
.services_exterieure .item p                    { display: none;}
}
@media (max-width:1000px) {
.services_exterieure .texte                     { padding-top: 0;}
.services_exterieure                            { background: #eee; padding: 50px 0;}
.services_exterieure .grid                      { grid-template-columns: 1fr;}
}
@media (max-width:600px) {
.services_exterieure                            { padding: 0; background: transparent; margin-bottom: 30px;}
.services_exterieure p                          { display: none;}
.services_exterieure .link                      { background: #000; color: #fff;}
.services_exterieure .link:after                { filter: brightness(0) invert(1);}
.services_exterieure .texte                     { order: 1;}
.services_exterieure .texte ul                  { margin-top: 20px;}
.services_exterieure .photo                     { order: 2;}
.services_exterieure .photo .item.abris         { max-width: 300px; margin: 0 auto;}
}


.link.bandeau span                  { padding-left: 55px;}                       
@media (max-width:600px) {
.link.bandeau span                  { padding-left: 30px;}                       
    
}


/***** apropos *****/
.apropos .wrapper                   { max-width: 1600px;}
.apropos .grid                      { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.apropos .texte p                   { margin-bottom: 15px;}
.apropos .photo                     { position: relative;}
.apropos .photo img                 { width: 100%; height: 640px; object-fit: cover; object-position: left; display: block;}
.apropos .marker                    { position: absolute; left: 70px; top: 50%; padding: 8px 40px 0 0; background: url(../images/marker.svg) right top no-repeat; background-size: 24px; color: #d10d80; font-size: 15px; margin-top: -71px;}
.apropos .link                      { font-size: 16px; height: 60px; line-height: 60px; position: absolute; left: 25px; bottom: 30px; background-image: linear-gradient(to top, #fff 0%, #fff 50%, #d10d80 50%, #d10d80 100%); color: #000;}
.apropos .link::after               { filter: none;}
.showroom                           { display: grid; grid-template-columns: auto 1fr; gap: 70px; align-items: center; background: #eee; margin-top: 50px; padding-right: 20px;}
.showroom .icone                    { background: #000; text-align: center; font-size: 20px; display: grid; align-items: center; justify-content: center; color: #fff; height: 180px; width: 210px; position: relative;}
.showroom .icone:before             { content:"";display:block;width:0;height:0;border-style:solid;border-width:90px 0 90px 20px;border-color:transparent transparent transparent #000; position: absolute; right: -20px; top: 0;}
.showroom .icone img                { display: block; margin: 0 auto;}
@media (min-width:1201px) {
.apropos .link:hover                { color: #fff;}
.apropos .link:hover::after         { filter: brightness(0) invert(1);}
}
@media (max-width:1280px) {
.showroom,
.apropos .grid                      { gap: 40px;}
}
@media (max-width:1200px) {
.showroom                           { display: block; padding: 30px 40px;}
.showroom .icone                    { display: block; width: auto; height: auto; background: none; text-align: left; color: #d10d80;}
.showroom .icone img                { display: none;}
.showroom .icone:before             { display: none;}
}
@media (max-width:1000px) {
.apropos .wrapper                   { max-width: 750px;}
.apropos .grid                      { grid-template-columns: 1fr;}
}
@media (max-width:600px) {
.apropos                            { margin: 40px 0 10px;}
.showroom                           { padding: 30px;}
.marker,
.apropos .photo img                 { display: none;}
.apropos .grid                      { gap: 0;}
.apropos .link                      { position: relative; left: auto; bottom: auto; background: #d10d80; color: #fff;}
.apropos .link::after               { filter: brightness(0) invert(1);}
}



/***** produits *****/
.slide_logos                     		{ position: relative; margin: 50px auto 80px;}
.slide_logos ::-webkit-scrollbar 		{ width: 6px; height: 6px; background-color: #f2f2f2;}
.slide_logos ::-webkit-scrollbar-thumb	{ background-color: #000; cursor: grab;}
.slide_logos .row						{ overflow-x: scroll; padding: 0 0 30px 0;}
.slide_logos .logo  					{ width: 4510px; display: grid; grid-template-columns: repeat(22, 1fr)}
.slide_logos .item                      { padding: 0 30px 0 0;}
.slide_logos .item img                  { background: #eee; display: block; width: 100%;}
@media (max-width:1000px) {
.slide_logos .logo  					{ width: 3800px;}
}




/*
**** logos ****
.logos                              { margin: 90px -15px 0;}
.logos .item                        { padding: 0 15px;}
.logos img                          { background: #eee; display: block; width: 100%;}
.dotslogos                          { margin-bottom: 90px;}
@media (max-width:1000px) {
.logos                              { margin-top: 50px;} 
.dotslogos                          { margin-bottom: 50px;}
}
@media (max-width:600px) {
.logos                              { margin: 50px -7px 0;}
.logos .item                        { padding: 0 7px;}
}
*/



/***** atouts *****/
.atouts 							{ position: relative; text-align: center; padding: 160px 0; background: #eee;}
.atouts .titre_main					{ display: none;}
.atouts ul 							{ position: relative;}
.atouts li 							{ display: inline-block; font-size: 25px; line-height: 30px; margin-right: 50px; position: relative;}
.atouts li:after					{ width: 7px; height: 7px; position: absolute; right: -27px; top: 13px; background: #d10d80; border-radius: 50%; content: "";}
.atouts li:last-child  				{ margin: 0;}
.atouts li:last-child:after 		{ display: none;}

.moving_text 						{ width: 100vw; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 140px; overflow: hidden;}
.moving_text .row 					{ display: flex;}
.moving_text .row .item 			{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 5vw; white-space: nowrap; font: 700 150px/140px "futura"; text-transform: uppercase; letter-spacing: 14px; color: #fff; opacity: 0.5; padding-left: 5vw; animation: scroll_text 35s linear infinite;}

@keyframes scroll_text {
0%									{ transform: translate(-100%, 0);}
100% 								{ transform: translate(0%, 0); }
}
@media (max-width:1600px) {
.atouts 							{ padding: 120px 0;}
.moving_text .row .item 			{ font-size: 130px;}
}
@media (max-width:1200px) {
.atouts 							{ padding: 80px 0;}
.atouts 							{ text-align: left;}
.atouts .titre_main					{ display: block;}
.atouts ul 							{ column-count: 2;}
.atouts li 							{ font-size: 16px; line-height: 36px; margin: 0; display: block; padding-left: 20px;}
.atouts li:after					{ right: auto; left: 0; top: 15px;}
.atouts li:last-child:after 		{ display: block;}
.moving_text 						{ display: none;}
}
@media (max-width:600px) {
.atouts 							{ display: none;}
}
.textMore                           { display: none;}
.link-moins, .link-plus             { cursor:pointer}