/**** Banner ****/
.banner 								{ padding-top: 140px; position: relative; z-index: 1;}
.banner .wrapper::before                { content: ""; display: block; position: absolute; top: -140px; left: calc(100% - 1055px); width: 100vw; height: 330px; background: #82b559; z-index: -1;}
.banner .img                            { height: 90vh; max-height: 900px; min-height: 380px;}
.banner .img img                        { width: 100%; height: 100%; object-fit: cover;}
.banner .content                        { text-align: center; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); padding: 0 30px;}
.banner .titre_main                     { margin-bottom: 25px; color: #fff;}

@media (max-width:1200px) {
.banner                                 { padding-top: 90px;}
.banner .img                            { height: 80vh; max-height: 760px; min-height: 350px;}
.banner .wrapper::before                { display: none;}
}
@media (max-width:1000px) {
.banner .wrapper                        { width: 100%; max-width: initial;}
.banner .img                            { height: 70vw; max-height: inherit; min-height: inherit;}
}
@media (max-width:700px) {
.banner                                 { background: #242424; padding-top: 70px;}
.banner .content                        { position: static; width: 100%; max-width: 300px; margin: 0 auto; transform: none; padding: 30px 0 45px;}
.banner .img                            { height: 80vw;}
.banner .titre_main                     { color: #fff; text-align: center; margin-bottom: 15px;}
.banner .titre_main span                { font-size: 24px; line-height: 30px;}
.banner .link                           { width: 100%;}
}




/***** intro *****/
.intro                                  { display: grid; grid-template-columns: 1fr 1fr; position: relative; margin: 120px 0;}
.intro::before                          { content: ""; display: block; position: absolute; top: -250px; right: 50%; bottom: -260px; background: #242424; width: 50vw;}
.intro .sous_titre                      { padding-right: 80px; position: relative; z-index: 1; margin-bottom: 0; font-size: 35px; line-height: 45px; color: #fff;}
.intro .sous_titre span                 { color: #82b559;}
.intro .texte                           { padding-left: 80px;}
.link-moins, .link-plus                 { cursor: pointer; color: #82b559; border-bottom: 1px solid transparent;}
.textMore                               { display: none; margin-top: 40px;}
.textMore p:not(:first-of-type)         { margin-top: 15px;}

@media (min-width: 1201px) {
.link-moins:hover,.link-plus:hover      { color: #82b559; border-color: #82b559;}
}

@media (max-width: 1200px) {
.intro                                  { margin: 80px 0; grid-template-columns: 38% 1fr;}
.intro::before                          { right: 62%;}
.intro .texte                           { padding-left: 60px;}
.intro .sous_titre                      { padding-right: 40px; font-size: 30px; line-height: 40px;}
}
@media (max-width:1000px) {
.intro                                  { margin: 60px 0; grid-template-columns: 1fr;}
.intro::before                          { display: none;}   
.intro .sous_titre                      { color: #000; padding: 0;}
.intro .texte                           { padding: 0;}
}
@media (max-width: 700px) {
.intro                                  { margin: 40px 0; display: block;}
.intro .sous_titre                      { font-size: 25px; line-height: 35px; margin-bottom: 15px;}
}



/***** produits *****/
.produits                               { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 60px;}
.produits .img                          { position: relative;}
.produits .img>img                      { display: block; width: 100%; height: auto;}
.produits .content                      { position: absolute; left: 0; bottom: 0; z-index: 1; padding: 35px; background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.5)); width: 100%;}
.produits .content img                  { margin-bottom: 5px;}
.produits .titre_main                   { color: #fff; margin-bottom: 0;}
.produits .sous_titre                   { color: #fff; margin-bottom: 0;}
.produits .link                         { width: 100%;}
.produits .item p                       { margin: 20px 0;}

@media (max-width: 1500px) {
.produits                               { gap: 40px;}
}
@media (max-width: 1200px) {
.produits                               { gap: 30px; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1000px) {
.produits                               { gap: 20px;}
}
@media (max-width:700px) {
.produits                               { grid-template-columns: 1fr; gap: 15px;}
.produits .item                         { position: relative;}
.produits .sous_titre,
.produits .content img,
.produits .item p                       { display: none;}
.produits .img                          { position: static;}
.produits .titre_main                   { position: absolute; left: 0; width: 100%; text-align: center; line-height: 60px; bottom: 0; margin-bottom: 0; z-index: 1; font-size: 13px; background: #82b559;}
.produits .content                      { position: static; padding: 0;}
.produits .link                         { opacity: 0; z-index: 2;}
}



/***** produits *****/
.services .photo                        { display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.services .photo :first-child           { grid-column: 1 / -1;}
.services .photo .sous_titre            { color: #fff; background: #242424; text-align: center; height: 100%; display: grid; align-items: center; justify-content: center; padding: 0 30px; margin-bottom: 0;}
.services .photo .sous_titre span       { color: #82b559;}
.services .texte .link                  { width: 100%;}
.services .texte .link:nth-of-type(1)   { margin-bottom: 50px;}

@media (min-width: 1201px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 1000px) {

}
@media (max-width: 700px) {
.services                               { margin: 50px 0;}
.services .titre_main + .sous_titre     { margin-top: -5px;}
.services .photo .sous_titre            { grid-column: 1 / -1; padding: 25px 30px; font-style: italic;}
.services .photo .sous_titre br         { display: none;}
.services .photo :first-child           { grid-column: auto;}
.services .photo img                    { height: 220px;}
.services .texte .link:nth-of-type(1)   { margin-bottom: 30px;}
}



/***** moving photos *****/
.moving_gal 						    { width: 100%; font-size: 0; line-height: 0; letter-spacing: 0; text-align: left; position: relative; overflow: hidden; margin-top: 100px;}
.moving_gal .titre_main                 { margin-bottom: 40px;}
.moving_gal .row						{ width: 9000px; display: inline-block; vertical-align: middle; position: relative; z-index: 5;}
.moving_gal .row .item 					{ display: inline-block; vertical-align: middle; animation: sliding 40s linear infinite;}
.moving_gal .row .item img 				{ max-height: 430px; display: inline-block; vertical-align: middle; position: relative; transition: all 400ms ease-in-out; margin-left: 30px; object-fit: cover; height: 100%; width: auto;}


@keyframes sliding {
0%										{ transform: translateX(0);}
100% 									{ transform: translateX(-100%);}
}

@media (max-width: 1000px){
.moving_gal                             { margin-top: 80px;}
}
@media (max-width: 700px){
.moving_gal                             { margin-top: 50px;}
.moving_gal .titre_main                 { margin-bottom: 20px;}
.moving_gal .row .item img 				{ margin-left: 10px; height: 280px;}
}