/*



Fichier de style charger sur tout le site



*/



@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');



:root {

  --noir: #000000;



  --bleu: #e9191b;



  --bleu-h4: #e9191b;



  --blanc: #ffffff;



  --orange: #e9191b;



  --bleu-logo: #e9191b;



  --vert-logo: #e9191b;



  --bleu-biz: #e9191b;



  --gris-text: #363636;



  --noir-footer: #021217;

}



.bottom-header>.logo {

  max-width: 220px;

}



.img-fluid,

.img-fluid img,

.img-fluid picture,

.img-fluid picture img {

  display: block;

  max-width: 100%;

  height: auto;

}



.adresse {

  display: none;

}



.top-header {

  padding: 4px 16px 4px 16px;



  background-color: var(--bleu);



  font-family: 'Work Sans', sans-serif;



  font-size: 12px;



  font-weight: 500;



  line-height: 18px;



  letter-spacing: 0em;



  text-align: left;

}



.top-header>div {

  display: flex;



  align-items: center;



  flex-direction: row;



  flex-wrap: wrap;



  justify-content: space-between;

}



.top-header>div>div {

  display: flex;



  align-items: center;



  flex-direction: row;



  flex-wrap: wrap;



  column-gap: 1em;

}



.top-header p {

  margin-bottom: 0;

}



.top-header p img {

  height: 20px;

}



.top-header a {

  color: var(--blanc);



  text-decoration: none;

}



p {

  font-family: 'Lato', sans-serif;



  font-size: 16px;



  font-weight: 400;



  line-height: 21px;



  letter-spacing: 0em;



  text-align: left;



  color: var(--gris-text);

}



.btn-custom>a {

  font-family: 'Lato', sans-serif;



  font-size: 18px;



  font-weight: 700;



  line-height: 25px;



  letter-spacing: 0em;



  text-align: center;



  text-decoration: none;



  color: var(--blanc);



  padding: 16px 48px 16px 48px;



  border: 3px solid var(--orange);



  border-radius: 8px;



  transition: all 0.3s ease-in-out;

}



.bottom-header {

  padding: 12px 32px 12px 32px;

}



#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu {

  width: auto !important;

  min-width: max-content !important;

  white-space: nowrap !important;

  padding: 12px 0 !important;

  border-radius: 8px !important;

  border: 1px solid var(--noir) !important;

}



#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {

  white-space: normal !important;

  padding: 8px 20px !important;

}



#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {

  background-color: var(--blanc);



  text-align: end;



  color: var(--noir);

}



#mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-1 a.mega-menu-logo {

  width: 114px;

}



#mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-1 a.mega-menu-logo>img.mega-menu-logo {

  width: 100%;

}



#mega-menu-wrap-primary .mega-menu-toggle+#mega-menu-primary {

  padding: 12px 32px 12px 32px;



  background-color: var(--blanc);

}



.bottom-header>.logo {

  width: 100%;



  max-width: 114px;

}



.navbar-toggler-icon {

  width: unset;



  height: unset;

}



.text-de-ref {

  padding: 24px 32px 24px 32px;

}



.text-de-ref h2,

.text-de-ref h3 {

  text-align: left;

}



.text-de-ref p {

  font-family: 'Lato', sans-serif;



  font-size: 16px;



  font-weight: 500;



  line-height: 24px;



  letter-spacing: 0em;



  text-align: left;

}



div.btn-voir-plus {

  display: flex;



  justify-content: center;



  margin-top: 32px;



  color: var(--blanc);

}



div.btn-voir-plus>a {

  padding: 16px 48px 16px 48px;



  border: 3px solid var(--bleu-logo);



  border-radius: 8px;



  font-family: 'lato', sans-serif;



  font-weight: 700;



  font-size: 18px;



  line-height: 25.2px;



  text-align: center;



  color: var(--blanc);



  background-color: var(--bleu-logo);



  text-decoration: none;



  cursor: pointer;

}



footer {

  background-color: var(--noir-footer);



  padding: 64px 32px 64px 32px;

}



.div-footer {

  display: flex;



  flex-direction: column;



  justify-content: space-between;



  align-items: start;

}



.logo-footer {

  width: 35%;

}



footer p {

  color: var(--blanc);

}



footer hr {

  border-top: 2px solid var(--bleu-logo);



  opacity: 1;

}



footer .follow-us {

  font-family: 'Rubik', sans-serif;



  font-size: 18px;



  font-weight: 600;



  line-height: 27px;



  letter-spacing: 0em;



  text-align: left;



  margin-bottom: 10px;

}



.rs-footer {

  display: flex;



  flex-direction: row;



  flex-wrap: wrap;



  align-items: center;



  column-gap: 1rem;



  margin-bottom: 10px;

}



.rs-footer>a {

  background-color: var(--bleu-logo);



  border-radius: 50%;



  width: 32px;



  height: 32px;



  display: flex;



  align-items: center;



  justify-content: center;

}



.ctn,

.props,

.domaine {

  font-family: 'Lato', sans-serif;



  font-size: 16px;



  font-weight: 600;



  line-height: 24px;



  letter-spacing: 0em;



  text-align: left;



  font-family: 'Work Sans', sans-serif;



  font-size: 16px;



  font-weight: 600;



  line-height: 24px;



  letter-spacing: 0em;



  text-align: left;

}



.desc-courte {

  font-weight: 500;

}

/* Boutons */
.gallery-switch-buttons button {
  background: #f1f1f1;
  border: none;
  padding: 10px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  font-weight: 500;
}

.gallery-switch-buttons button:hover {
  background: #e0e0e0;
}

.gallery-switch-buttons button.active {
  background: #e9191b;
  color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Galeries */
.gallery {
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.gallery.active {
  display: block;
  opacity: 1;
}

footer .ctn-div,

footer .domaine-div,

footer .props-div {

  margin: 20px 0;

}



footer .ctn-div a,

footer .domaine-div a,

footer .props-div a {

  color: var(--blanc);



  text-decoration: none;



  font-family: 'Work Sans', sans-serif;



  font-size: 14px;



  font-weight: 400;



  line-height: 21px;



  letter-spacing: 0em;



  text-align: left;

}



.invisible-mobile {

  display: none;

}



.aussi {

  margin-top: 72px;



  margin-bottom: 32px;

}



.chiffre-cle-container>div>img {

  margin-top: 1rem;

}



.avis {

  width: 85%;



  margin: 0 auto;



  box-shadow: 0px 4px 6px -1px #0000001a;



  /* box-shadow: 0px 2px 4px -2px #00000080; */



  border-radius: 16px;



  padding: 28px 20px 28px 20px;



  border: 1px solid rgb(0 0 0 / 5%);

}



.parti-haut-avis {

  display: flex;



  flex-direction: row;



  flex-wrap: wrap;



  justify-content: flex-start;



  align-items: flex-start;

}



.parti-haut-avis>img {

  margin-right: 1rem;



  width: 51px;



  height: 51px;



  object-fit: cover;



  aspect-ratio: 1/1;

}



.parti-haut-avis>div {

  display: flex;



  flex-direction: column;



  flex-wrap: wrap;

}



.titre-avis {

  font-family: 'Work Sans', sans-serif;



  font-size: 20px;



  font-weight: 500;



  line-height: 23px;



  letter-spacing: 0em;



  text-align: left;



  color: black;



  margin-bottom: 0;

}



.text-avis {

  margin-top: 0.5rem;

}



.aussi>div {

  display: flex;



  flex-direction: column-reverse;



  row-gap: 30px;

}



.chiffre {

  width: 85%;



  margin: 0 auto;

}



.chiffre-cle-container>div {

  width: 50%;



  display: flex;



  flex-direction: column;



  align-items: center;

}



.chiffre-cle-container {

  display: flex;



  flex-wrap: wrap;



  flex-direction: row;



  justify-content: space-evenly;

}



.chiffre-cle-container>div>p:nth-child(1) {

  font-family: 'Lato', sans-serif;



  font-size: 32px;



  font-weight: 700;



  line-height: 48px;



  letter-spacing: 0em;



  text-align: center;



  color: var(--bleu-logo);



  margin-bottom: 0;

}



.chiffre-cle-container>div>p:nth-child(2) {

  font-family: 'Lato', sans-serif;



  font-size: 16px;



  font-weight: 500;



  line-height: 24px;



  letter-spacing: 0em;



  text-align: center;



  margin-bottom: 0;

}



.conteneur-image-par-quattre {

  display: flex;



  flex-direction: row;



  flex-wrap: wrap;



  justify-content: space-between;



  row-gap: 1rem;



  column-gap: 1rem;



  padding-bottom: 60px;

}



.conteneur-image-par-quattre>img {

  width: calc(50% - 0.5rem);



  border-radius: 8px;

}



.conteneur-image-par-quattre>img:nth-child(even) {

  transform: translateY(60px);

}



h1 {

  font-family: 'Rubik', sans-serif;



  font-size: 40px;



  font-weight: 900;



  line-height: 48px;



  letter-spacing: -0.02em;



  text-align: left;



  text-transform: uppercase;

}



h1>span {

  color: var(--bleu-logo);

}



.image-top p a {

  color: var(--blanc);

  transition: 0.3s all;

}



.image-top p a:hover {

  color: var(--bleu);

}



header {

  border-bottom: 2px solid var(--noir-footer);



  position: sticky;



  top: 0;



  left: 0;



  width: 100%;



  z-index: 99;



  background-color: white;

}



#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item,

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {

  font-family: 'Rubik', sans-serif;

  font-weight: 400;

}



h1 span.orange {

  color: var(--orange);

}



.btn-custom>a:hover {

  background-color: var(--orange);



  color: var(--blanc);

}



.text-de-ref-section h1,

.text-de-ref-section p,

.text-de-ref-section h2,

.text-de-ref-section h3,

.text-de-ref-section h4,

.text-de-ref-section h2>span {

  color: var(--noir);

  color: inherit;

}



.text-de-ref-section h2>span.bleu {

  color: var(--bleu-logo);

}



#mega-menu-wrap-primary #mega-menu-primary[data-effect='fade_up'] li.mega-menu-item.mega-toggle-on>ul.mega-sub-menu>li.mega-menu-item {

  width: 100%;

}



#mega-menu-wrap-primary #mega-menu-primary[data-effect='fade_up'] li.mega-menu-item.mega-toggle-on>ul.mega-sub-menu>li.mega-menu-item>a {

  text-align: left;

}



.text-de-ref .cacher-lire-plus,

.text-de-ref .cacher-lire-plus span,

.cacher-lire-plus {

  display: none;

}



.animation {

  transition: 0.6s;

}



.rs-footer>a>svg path,

.rs-footer>a,

footer .ctn-div a,

footer .domaine-div a,

footer .props-div a,

.top-header a,

.top-header a svg path {

  transition: 0.6s;

}



.rs-footer>a:hover {

  background-color: var(--blanc);

}



.rs-footer>a:hover>svg path {

  fill: var(--bleu-logo);

}



.top-header a:hover svg path {

  fill: var(--noir-footer);

}



footer .ctn-div a:hover,

footer .domaine-div a:hover,

footer .props-div a:hover {

  color: var(--bleu-logo);

}

.top-header a:hover {
  color: var(--noir-footer);
}


#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item,

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {

  transition: 0.6s;

}



#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item,

#mega-menu-wrap-primary #mega-menu-primary:hover>li.mega-menu-item>a.mega-menu-link:hover {

  color: var(--bleu-logo);

}



#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {

  transition: 0.6s;

}



#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {

  color: var(--bleu-logo);



  background-color: white;

}



.mySwiper2.swiper-3d {

  perspective: 1300px;

}



/* .text-avis p{



    max-width: 300px;



} */



.mySwiper2.swiper-3d {

  max-width: 100%;

}



.container-custo-real {

  max-width: 1350px;

  margin: 0 auto;

  display: flex;

  flex-direction: row;

  flex-wrap: wrap;

  justify-content: space-between;

  align-items: flex-start;

  column-gap: 40px;

  row-gap: 40px;

  padding: 0 32px;

  margin-bottom: 40px;

}



img.img-real {

  flex: 1;

  max-width: calc(100% / 2 - 20px);

  aspect-ratio: 1;

  object-fit: cover;

  cursor: pointer;

}



.overlay {

  position: fixed;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  max-width: 70%;

  max-height: 70%;

  cursor: pointer;

}



img.image-en-grand {

  max-width: 100%;

  max-height: 500px;

  object-fit: cover;

  cursor: pointer;

}



.close-button {

  position: absolute;

  top: 0;

  right: 0px;

  width: 20px;

  height: 20px;

  background-color: white;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 20px;

  cursor: pointer;

}



#gform_submit_button_1 {

  color: var(--orange);

  text-decoration: none;

  padding: 16px 32px;

  font-size: 16px;

  line-height: 16px;

  border: 1px solid var(--orange);

  border-radius: 8px;

  background: unset;

}



#gform_submit_button_1:hover {

  color: var(--blanc);

  background-color: var(--orange);

}



.gform-theme--framework .field_sublabel_above .gform-field-label--type-sub {

  font-weight: 500;

  color: #112337;

}



.gform-theme--foundation .gform_footer,

.gform-theme--foundation .gform_page_footer {

  justify-content: center;

}



.gform_heading {

  display: none !important;

}



.service>img,

.service picture img {

  border-radius: 8px;

}



.ctn-tit>img,

.ctn-tit>picture {

  width: 20%;

  max-width: 74px;

  max-height: 74px;

}



.bloc-bleu h3 {

  color: var(--blanc);

}



.bloc-bleu .btn-custom a {

  background-color: var(--noir);

  color: var(--blanc);

  border: 1px solid var(--noir);

  border-radius: 8px;

  padding: 12px 24px;

  text-decoration: none;

  transition: background-color 0.3s, color 0.3s;

}



.bloc-bleu .btn-custom a:hover {

  background-color: var(--blanc);

  color: var(--noir);

}



@media screen and (min-width: 769px) {

  .invisible-mobile {

    display: block;

  }



  /* .text-avis p{



        max-width: unset;



    } */



  .bottom-header {

    display: flex;



    justify-content: space-between;



    align-items: center;

  }



  #mega-menu-wrap-primary {

    width: fit-content;

  }



  #mega-menu-wrap-primary .mega-menu-toggle+#mega-menu-primary {

    padding: 0;

  }



  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item.mega-toggle-on>a.mega-menu-link,

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link:hover,

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link:focus {

    color: var(--noir);

  }



  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item,

  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {

    width: fit-content;

  }



  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:first-child>a.mega-menu-link {

    border-top-left-radius: 8px;



    border-top-right-radius: 8px;

  }



  #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:last-child>a.mega-menu-link {

    border-bottom-right-radius: 8px;



    border-bottom-left-radius: 8px;

  }



  .adresse {

    display: block;

  }

}



@media screen and (min-width: 1024px) {

  img.img-real {

    max-width: calc(100% / 3 - 30px);

  }



  .service>img,

  .service picture {

    width: 48%;

    object-fit: cover;

    border-radius: 8px;

  }



  .renovation>img,

  .renovation>picture {

    max-height: 485px;

    object-fit: cover;

  }



  .renovation>img,

  .renovation>div,

  .renovation>picture {

    width: 48%;

  }



  .renovation>picture>img {

    max-height: 485px;

    object-fit: cover;

    width: 100%;

  }



  .aussi>div {

    display: flex;



    flex-direction: row;



    flex-wrap: wrap;



    justify-content: space-between;



    align-items: center;

  }



  .chiffre,

  .mySwiper2 {

    width: 45%;

  }



  .chiffre h2 {

    text-align: center;

  }



  .chiffre-cle-container>div {

    width: calc(100% / 3 - 1rem);

  }



  .div-footer {

    flex-direction: row;



    justify-content: space-between;



    align-items: flex-start;



    flex-wrap: wrap;



    max-width: 1350px;



    margin: 0 auto;



    padding: 0px 32px 0px 32px;

  }



  .div-footer>div:nth-child(1) {

    width: 30%;

  }



  .aussi {

    margin-top: 0;



    margin-bottom: 0;



    max-width: 1350px;



    margin: 0 auto;

  }



  .home .aussi {

    margin-top: 32px;



    margin-bottom: 32px;

  }



  .renovation,

  .intro,

  .text-de-ref-section {

    max-width: 1350px;



    margin: 0 auto;

  }



  .bottom-header,

  .max-width-1350 {

    margin: 0 auto;



    max-width: 1350px;

  }



  .top-header {

    padding: 0;

  }



  .top-header>div {

    padding: 4px 32px 4px 32px;

  }

}



@media screen and (min-width: 1350px) {

  .container-custo-real {

    padding: 0;

  }

}