/***** activites *****/
.banner 								{ position: relative; margin-top: 160px; grid-gap: 0;}
.banner .photo  						{ margin-left: -260px; border-radius: 40px;}
.banner .texte							{ background: var(--white); box-shadow: var(--box-shadow-1); border-radius: 40px; padding: 95px 80px 105px; z-index: 100; overflow: hidden; max-width: 800px;}
.banner .chapo                          { margin-bottom: 20px;}
.banner .titre_main                     { margin-bottom: 20px;}
@media (max-width:1600px) { 
.banner                                 { grid-template-columns: 620px 1fr;}
.banner .photo                          { margin-left: -310px;}
}

@media (max-width:1500px) {
.banner .texte							{ padding: 60px;}
}

@media (max-width:1400px) {
.banner                                 { grid-template-columns: 500px 1fr;}
.banner   								{ align-items: center;}
.banner .photo img  				    { height: 50vh; min-height: 640px;}
.banner .link                           { margin-top: 0px;}
}

@media (max-width:1300px) {
.banner                                 { grid-template-columns: 450px 1fr;}
.banner .photo img  				    { height: 43vh; min-height: 600px;}
.banner .texte                          { padding: 40px;}
}

@media (max-width:1200px) {
.banner                                 { margin-top: 120px;}
.banner .photo img  				    { height: auto; min-height: 430px;}
}
@media (max-width:1000px) {
.banner                                 { margin: 90px 0 0; display: block; border-radius: 0;}
.banner .photo                          { margin: 0; border-radius: 5px; margin-bottom: 40px; overflow: hidden;}
.banner .photo img 						{ height: auto; max-height: 450px; min-height: auto;  object-position: 50%; border-radius: 20px;}
.banner .texte                          { max-width: initial; background: none; border-radius: 0px; padding: 0; background: none; box-shadow: none;}
.banner .texte p 						{ max-width: none;}
.banner .link                           { margin-top: 10px;}
}
@media (max-width:700px) {
.banner                                 { padding-bottom: 0; overflow: initial;}
.banner .photo                          { margin-bottom: 20px;}
.banner .photo img 						{ max-height: 500px; min-height: 300px; height: 75vw; border-radius: 15px;}
.banner .texte							{ padding: 35px 7vw 0 7vw; box-shadow: none; text-align: center;}
.banner .titre_main                     { margin-bottom: 15px; font-size: 30px;}
.banner .texte p 						{ margin-bottom: 0;}
.banner .texte .link 					{ width: 100%; margin-top: 0;}
}



/***** intro *****/
.intro                                  { margin: 100px 0 80px; position: relative; padding: 15px 255px 0 0;}
.intro .sous_titre                      { color: var(--main-color);}
.intro img                              { position: absolute; right: 0; top: 0;}

@media (max-width:1000px) {
.intro                                  { margin: 70px 0; padding-right: 0;}
.intro img                              { display: none;}
}
@media (max-width:700px) {
.intro                                  { display: none;}
}



/***** services *****/
.services .grid                         { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px 40px; margin-top: 45px;}
.services .grid .icone                  { display: grid; align-items: center; justify-content: center; background: var(--fourth-color); width: 100px; height: 100px; border-radius: 50%; margin: 0 auto 10px;}
.services .grid a                       { display: block; border-radius: 20px; background: var(--white); box-shadow: var(--box-shadow-2); text-align: center; padding: 40px 30px 30px;}
.services .titre                        { display: block;}

@media (min-width:1201px) {
.services .grid .icone                  { transition: all ease-in-out 400ms;}
.services .grid a:hover                 { background: var(--main-color);}
.services .grid a:hover .titre          { color: var(--white);}
}
@media (max-width:1200px) {
.services .grid                         { gap: 25px;}
}
@media (max-width:1000px) {
.services                               { margin: 70px 0;}
.services .grid                         { grid-template-columns: repeat(3, 1fr); gap: 20px;}
}
@media (max-width:700px) {
.services                               { margin: 40px 0;}
.services .texte p                      { display: none;}
.services .grid                         { grid-template-columns: 1fr; gap: 10px; margin-top: 20px;}
.services .grid a                       { border-radius: 30px; padding: 0 60px 0 80px; min-height: 60px; display: grid; align-items: center; text-align: left; background: url(../images/arrow_right.svg) right 30px center / 11px no-repeat var(--white); box-shadow: none;}
.services .grid .icone                  { position: absolute; top: 5px; left: 5px; margin: 0; width: 50px; height: 50px;}
.services .grid .icone img              { transform: scale(0.6);}
.services .titre                        { font-size: 14px;}
.services .titre br                     { display: none;}
}



/***** apropos *****/
.apropos::after                         { content: url(../images/favicon.svg); display: block; position: absolute; top: -420px; right: calc(100% - 280px);}
@media (max-width:700px) {
.apropos::after                         { display: none;}
.apropos .photo img                     { height: 280px; object-position: top;}
}




/***** bloc grid custom *****/
.custom                             { margin-top: 0;}
.custom::after                      { content: url(../images/favicon.svg); display: block; position: absolute; top: -280px; left: calc(100% - 280px);}
.custom .photo                      { text-align: right;}
.custom .photo img:first-of-type    { width: 86%;}
.custom .photo img:last-of-type     { width: 55%; display: inline-block; vertical-align: top; position: relative; z-index: 11; margin-top: -160px; border: 10px solid var(--white);}

@media (max-width:700px) {
.custom .photo img:first-of-type    { width: 100%;}
.custom::after,
.custom .photo img:last-of-type     { display: none;}
}




/***** atout *****/
.atout                                  { display: grid; grid-template-columns: repeat(3, 1fr); color: var(--white); background: var(--main-color); text-align: center; border-radius: 20px; line-height: 26px; padding: 50px 0 65px; position: relative; z-index: 1;}
.atout .item                            { position: relative; padding: 0 20px;}
.atout .item:not(:last-of-type)::after  { content: ""; position: absolute; right: 0; top: 20px; bottom: 5px; width: 1px; background: var(--white);}
.atout img                              { display: block; margin: 0 auto 25px;}

@media (max-width:700px) {
.atout                                  { grid-template-columns: 1fr; gap: 25px; padding: 40px 20px 35px;}
.atout img                              { margin-bottom: 10px; height: 30px;}
.atout .item br,
.atout .item:not(:last-of-type)::after  { display: none;}
}



/***** apropos *****/
.link-moins,.link-plus              { cursor:pointer; color: var(--main-main); border-bottom: 1px solid var(--main-color);}
.textMore                           { display: none; padding-top: 30px;}
.textMore p:not(:first-of-type)     { margin-top: 15px;}
.bloc_texte                         { margin: 0;}
.bloc_grid p a                      { border-bottom: 1px solid transparent; padding-bottom: 2px; color: var(--second-color);}

@media (min-width:1201px) {
.link-moins:hover,
.link-plus:hover                    { border-color: var(--second-color); color: var(--second-color);}
.bloc_grid p a:hover                { border-color: var(--main-main);}
}



/***** table plus home *****/
.table_plus .hide a               { border-bottom: 1px solid transparent; padding-bottom: 2px; color: var(--second-color);}
@media (min-width:1201px) {
.table_plus .hide a:hover         { border-color: var(--main-main);}
}
