@charset "UTF-8";
/* CSS Document */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  direction: ltr;
  background: #fff;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  margin: 0;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
a {
  color: #B959B4;
  text-decoration: none;
  transition: all ease-in 0.2s
}
p {
  color: #B959B4
}
/*header*/
header {
  margin: 0;
  display: block;
  background: #fff;
  width: 100%;
}
.header-site {
  max-width: 1160px;
  margin: 1em auto 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  box-sizing: border-box;
  justify-content: center;
  width: 100%;
  gap: 3em;
}
header .logo a {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: 2em;
}
header .baseline {
  font-size: 1.5em;
  line-height: 1.1;
  font-weight: 600;
  color: #7DB959;
  position: relative;
  bottom: 18px;
}
header .baseline strong {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: max-content;
  text-transform: uppercase;
  font-size: 2em;
}
header .baseline em {
  font-style: normal;
  text-align: center;
  max-width: max-content;
  margin: 0 auto;
  display: block;
  text-transform: uppercase;
}
header .logo img {
  width: auto;
  max-height: 70px;
}
header .phoning a {
  display: flex;
  background: #7DB959;
  color: white;
  padding: 0 10px;
  font-size: 30px;
  align-items: center;
  width: 60px;
  height: 60px;
  justify-content: center;
  border-radius: 100px;
}
header .mailing a {
  display: flex;
  background: #7DB959;
  color: white;
  padding: 0 10px;
  font-size: 30px;
  align-items: center;
  width: 60px;
  height: 60px;
  justify-content: center;
  border-radius: 100px;
}
header .mailing a:hover, header .phoning a:hover {
  background: #7DB959
}
.header-contact {
  display: flex;
  gap: 1em;
}
/*header*/
/*contenu*/
.bloc-groupe-titre {
  width: 100%;
  display: block;
}
.bloc-groupe-intro {
  display: flex;
  margin: 0 auto;
  flex-direction: column;
  width: 100%;
  max-width: 1160px;
  align-content: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 500px;
}
.bloc-groupe-intro p {
  color: white;
  font-size: 20px;
  padding: 10px 10px 10px 60px;
  max-width: 75%;
  line-height: 1.2;
}
.bloc-groupe-intro img {
  width: 100%;
  height: auto;
  position: absolute;
  z-index: 1;
  border-radius: 0 100px 0;
}
.bloc-groupe-intro div {
  display: block;
  background-color: #7DB95999;
  position: relative;
  z-index: 10;
  max-width: 75%;
  padding: 2em 2em 0em 0;
  border-radius: 0 100px 0 0;
}
.bloc-groupe-intro div:before {
  height: 100%;
  content: '';
  background: #B959B4
}
.contenu h1 {
  color: #ffffff;
  font-weight: 900;
  text-align: left;
  margin: 0 0 15px !important;
  line-height: 1.2;
  font-size: 3em;
  padding: 0 0 0 2em;
}
.contenu h2 {
  color: #fff;
  font-weight: 900;
  text-align: left;
  margin: 0 0 15px !important;
  line-height: 1.2;
  font-size: 2.5em;
  background: #7DB959;
  max-width: max-content;
  padding: 0 15px 0;
  display: flex;
  height: 50px;
  gap: 10px;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.bloc-groupe-intro h2 {
  padding-left: 60px
}
.colonnes {
  width: 100%;
  align-items: normal !important;
  box-sizing: border-box;
  max-width: 1160px;
  margin: 5em auto 0;
  gap: 5em;
  display: flex;
}
.colonnes p {
  font-size: 15px;
  margin: 1em 0;
}
.colonne-droite {
  overflow-wrap: break-word;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  flex-basis: 0;
  flex-grow: 1;
  box-sizing: border-box;
}
.colonne-droite img {
  width: 100%;
  height: auto;
}
.colonne-gauche {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.colonne-gauche h2 {
  color: #B959B4;
  font-weight: 900;
  text-align: left;
  margin: 0 0 15px !important;
  line-height: 1.2;
  font-size: 2.5em;
  background: #fff;
  max-width: 100%;
  padding: 0;
  display: flex;
  gap: 10px;
  padding-right: 0;
  flex-basis: 0;
  width: 100%;
}
.colonne-gauche h2 strong {
  display: block;
  color: #7DB959;
  font-weight: 900
}
.colonne-gauche h2 span {
  width: auto
}
.colonne-gauche .intro {
  background: #7DB959;
  padding: 2em;
  color: white;
}
.colonne-gauche h3 {
  font-size: 20px;
  margin-bottom: 1em;
  line-height: 1.2;
}
.services img {
  max-width: 100%;
  width: 100%;
  height: auto;
  padding: 0 0 3em 0
}
.coordonnees {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
.coordonnees div {
  max-width: 1160px;
  margin: 0 auto;
  display: block;
  padding: 0;
}
.coordonnees iframe {
  border: 0;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  min-height: 600px;
  display: block;
}
.adresse, .ad-mail {
  display: flex;
  gap: 5px;
  font-size: 15px;
  align-items: center;
}
.telephone {
  display: flex;
  gap: 5px;
  font-size: 18px;
  align-items: center;
}
.ad-mail, .telephone {
  color: #7DB959;
  font-weight: 900;
  max-width: max-content;
  width: 100%;
}
.telephone:before {
  content: '\e0b0';
  display: flex;
  padding: 0;
  width: 25px;
  height: 25px;
  border-radius: 100px;
  background: #7DB959;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 16px;
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
.ad-mail:before {
  content: '\e158';
  display: flex;
  padding: 0;
  width: 25px;
  height: 25px;
  border-radius: 100px;
  background: #7DB959;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 16px;
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
.adresse:before {
  content: '\e0c8';
  display: flex;
  padding: 0;
  width: 25px;
  height: 25px;
  border-radius: 100px;
  background: #7DB959;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 16px;
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
footer .telephone {
  margin: 0 auto;
  color: white;
}
footer {
  max-width: 100%;
  width: 100%;
  background: #B959B4;
  margin: 0;
  padding: 1em;
  display: block;
}
footer p {
  color: white;
  max-width: max-content;
  margin: 0 auto;
  font-size: 13px;
}
.material-symbols-outlined {
  font-variation-settings:
    'FILL'0, 'wght'400, 'GRAD'0, 'opsz'32;
}
header .icons {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 32px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
@media (max-width:767px) {
  header .mailing a {
    font-size: 24px;
    height: 50px;
    width: 50px;
  }
  header .phoning a {
    font-size: 24px;
    height: 50px;
    width: 50px;
    background: #7DB959
  }
  header .logo img {
    max-height: 50px;
  }
  header .phoning a:before {
    font-size: 16px;
    width: 30px;
  }
  .header-site {
    align-items: center;
    gap: 1em;
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    margin: 0;
    padding: 10px;
  }
  .bloc-groupe-intro h1 {
    font-size: 2em;
    padding: 0 40px 0 0;
  }
  .bloc-groupe-intro {
    padding: 0 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .bloc-groupe-intro h2 {
    font-size: 18px;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 0;
  }
  .bloc-groupe-intro p {
    font-size: 14px;
    padding: 10px;
    max-width: 100%;
  }
  .colonnes {
    margin: 3em auto 0;
    flex-direction: column;
    padding: 0;
    gap: 0;
  }
  .adresse {
    padding-left: 2em;
  }
  .colonnes p {
    padding: 0 2em;
  }
  .colonne-gauche .intro {
    margin: 0;
  }
  .colonne-gauche h3 {
    border-left: 0;
    padding: 0 30px;
    margin-bottom: 0;
  }
  .coordonnees h2 {
    width: 100%;
    max-width: 100%;
    padding-left: 30px;
  }
  .ad-mail {
    font-size: 15px;
    margin: 0;
  }
  .ad-mail:before, .telephone:before {
    font-size: 13px;
  }
  .ad-mail span {
    max-width: 75%
  }
  header .baseline strong {
    font-size: 20px;
    text-align: center;
  }
  .bloc-groupe-intro img {
    height: 100%;
    object-fit: cover;
  }
  .bloc-groupe-intro div {
    max-width: 100%;
    padding: 2em 3em 0 3em;
    border-radius: 30px;
  }
  .colonne-gauche h2 {
    padding: 0 0 0 1em;
  }
  footer p {
    text-align: center
  }
  .services img {
    padding: 0 3em 3em;
  }
}