:root {
  /* COLOR */
  /* ===== */
  --brand50: hsla(214, 47%, 97%, 1);
  --brand100: hsla(214, 50%, 94%, 1);
  --brand200: hsla(211, 49%, 86%, 1);
  --brand300: hsla(209, 49%, 74%, 1);
  --brand400: hsla(208, 48%, 60%, 1);
  --brand500: hsla(208, 45%, 48%, 1);
  --brand600: hsla(210, 50%, 40%, 1);
  --brand700: hsla(211, 49%, 32%, 1);
  --brand800: hsla(211, 41%, 24%, 1);
  --brand900: hsla(213, 41%, 16%, 1);
  --background-2: var(--brand50);
  --primary-color: var(--brand600);
  --link-color: var(--brand500);

  --accent50: hsla(40, 100%, 96%, 1);
  --accent100: hsla(40, 100%, 92%, 1);
  --accent200: hsla(38, 98%, 83%, 1);
  --accent300: hsla(36, 96%, 72%, 1);
  --accent400: hsla(32, 95%, 61%, 1);
  --accent500: hsla(30, 94%, 53%, 1);
  --accent600: hsla(26, 89%, 48%, 1);
  --accent700: hsla(23, 87%, 40%, 1);
  --accent800: hsla(21, 75%, 28%, 1);
  --accent900: hsla(18, 81%, 15%, 1);
  --accent-color: var(--accent500);

  --gray0: hsla(0, 0%, 100%, 1);
  --gray50: hsla(180, 18%, 97%, 1);
  --gray100: hsla(189, 23%, 94%, 1);
  --gray200: hsla(196, 19%, 89%, 1);
  --gray300: hsla(196, 20%, 82%, 1);
  --gray400: hsla(202, 19%, 74%, 1);
  --gray500: hsla(206, 18%, 67%, 1);
  --gray600: hsla(209, 17%, 59%, 1);
  --gray700: hsla(210, 12%, 47%, 1);
  --gray800: hsla(205, 10%, 34%, 1);
  --gray900: hsla(210, 10%, 20%, 1);
  --background-color: var(--gray0);
  --text-color: var(--gray800);
  --title-color: var(--gray900);
  --text-color-menu: var(--gray50);

  /* font size */
  /* ===== */

  --display2xl: 61px;
  --displayxl: 49px;
  --displaylg: 39px;
  --displaymd: 31px;
  --displaysm: 25px;
  --displayxs: 20px;

  --textlg: 20px;
  --textmd: 16px;
  --textsm: 13px;
  --textxs: 10px;

  --h1-font-size: var(--displayxl);
  --h2-font-size: var(--displaylg);
  --h3-font-size: var(--displaymd);
  --h4-font-size: var(--displaysm);
  --h5-font-size: var(--displayxs);
  --h6-mobile-font-size: var(--textlg);

  --h1-mobile-font-size: var(--displaylg);
  --h2-mobile-font-size: var(--displaymd);
  --h3-mobile-font-size: var(--displaysm);
  --h4-mobile-font-size: var(--displayxs);
  --h5-mobile-font-size: var(--textlg);
  --h6-mobile-font-size: var(--textsm);

  /* FONT FAMILY */
  /* ===== */

  --primary-font: "PT Sans", sans-serif;
  --secondary-font: "Quicksand", sans-serif;

  /* RADIUS */
  /* ===== */
  --border-radius: 1rem;
  --button-border-radius: 1.5rem;

  /* FONT WEIGHT */
  /* ===== */

  --font-weight-bolder: 700;
  --line-height: 1.5rem;

  --transition: 0.3s all ease-in-out;
}

/* =============================== */
/*           GENERAL                 */
/* =============================== */
.sc-content .clear_both {
  margin-bottom: 60px;
}

a {
  transition: var(--transition);
}
a,
p {
  line-height: var(--line-height);
}
.index-page h1,
.index-page h2,
.index-page h3,
.index-page .title-2,
h1.h1-geoloc span,
.title-1.h1-geoloc span {
  margin: 0;
}
h1.h1-geoloc span,
.title-1.h1-geoloc span {
  margin-top: 8px;
}
.slick-prestations,
.slick-actualites,
.slick-avis {
  margin-top: 48px;
}
h1,
h2,
h3,
h4,
h5,
.title-1,
.title-2,
.title-3,
.card-title,
.card-title a,
h1 span {
  font-family: var(--secondary-font);
  font-weight: 400;
}
h1 {
  font-size: var(--h1-mobile-font-size);
  line-height: 33px;
  color: var(--title-color);
}
h1 span,
h3 {
  font-size: var(--h3-mobile-font-size);
  line-height: 27px;
  color: var(--title-color);
}
h2,
.title-2 {
  font-size: var(--h2-mobile-font-size);
  line-height: 31px;
  color: var(--title-color);
}
h3 {
  color: var(--brand700);
}
.blocs img,
#encart-devis img,
.page-interne main img,
main .detail-actu-image img,
.card-image img,
.col.gtm-image-detail-catalogue,
.col.gtm-image-detail-catalogue a,
.col.gtm-image-detail-catalogue img {
  border-radius: var(--border-radius);
}
.index-page .encart-avis.section,
#encart-actualites {
  padding: 0;
}
h1.h1-geoloc span::before,
.title-1.h1-geoloc span::before {
  display: none;
}

/* .slick-dots {
  bottom: -5rem;
} */
.slick-dots li {
  margin: 0 4px;
  padding: 4px;
}
.slick-dots li button {
  height: 1rem;
  width: 1rem;
  border-radius: 100px;
  background-color: var(--brand100);
  padding: 0;
}
.slick-dots li.slick-active button {
  background: var(--brand500);
}
.slick-dots li button:hover .slick-dot-icon,
.slick-dots li button:focus .slick-dot-icon {
  opacity: 1;
}
.slick-dots li button .slick-dot-icon {
  color: var(--brand100);
  opacity: 1;
}
.slick-dots li.slick-active button:hover .slick-dot-icon,
.slick-dots li.slick-active button:focus .slick-dot-icon {
  opacity: 0.7;
}
.slick-dots li.slick-active button .slick-dot-icon {
  color: var(--brand500);
  opacity: 1;
}
body :where(address) {
  margin: 0;
}
nav#fil_ariane {
  margin: 40px 0;
}
.fil-ariane {
  margin-bottom: 25px;
}

.paginationControl {
  text-align: center;
  margin-top: 10px;
}

.categorie.catalogue-categorie.catalogue-detail-categorie {
  margin-bottom: 15px;
}
.sitemap-nav li {
  margin: 10px 0;
}
@media screen and (min-width: 601px) and (max-width: 992px) {
  img.img-act {
    margin: 0 auto;
  }

  .detail-actu-image img,
  .blocs .bloc-image img,
  .ac-colonne img,
  #listing-autres-actus-categorie,
  .img-act {
    display: block;
    max-width: 400px;
    max-height: auto;
    margin: 30px auto;
    object-fit: cover;
  }
  .btn:not(.fluid) {
    width: auto;
  }
}
@media screen and (max-width: 992px) {
  .header-content .nav > ul > .sous_menu.opened > a,
  .header-content .nav .dropdown > .sous_menu.opened > a {
    padding-top: 40px;
  }
  .contact-page ul.coordonnees .row {
    flex-wrap: nowrap;
  }
  .header-content .nav ul li a.selected {
    background: transparent;
  }
  .blocs .btn-devis {
    margin-bottom: 20px;
  }
  .blocs img {
    display: block;
    max-width: 600px;
    width: 100%;
    object-fit: cover;
    min-height: 350px;
    margin: 0 auto 20px;
  }
}
@media screen and (min-width: 993px) {
  .sc-content .clear_both {
    margin-bottom: 120px;
  }
  h1 {
    font-size: var(--h1-font-size);
    line-height: 49px;
  }
  h1 span,
  h3 {
    font-size: var(--h3-font-size);
    line-height: 31px;
  }
  h2,
  .title-2 {
    font-size: var(--h2-font-size);
    line-height: 33px;
  }
  .index-page main .section {
    padding: 80px 0;
  }
}
@media screen and (min-width: 1280px) {
  .index-page main .section {
    padding: 120px 0;
  }
}

/* =============================== */
/*           BOUTONS                 */
/* =============================== */

.btn:not(#recherche_actu_submit) {
  padding: 10px 18px;
  border-radius: var(--button-border-radius);
  font-size: var(--textmd);
  font-weight: var(--font-weight-bolder);
  line-height: 24px;
}
.btn.accent {
  background-color: var(--accent-color);
  color: var(--title-color);
}
.btn.accent:hover {
  background-color: var(--accent300);
}
.btn.outlined {
  border: 1px solid var(--primary-color);
  background-color: transparent;
  color: var(--primary-color);
}
.btn.outlined:hover {
  background-color: var(--primary-color);
  color: var(--background-color);
}

/* =============================== */
/*           BRAND                 */
/* =============================== */

.brand a {
  display: inline-block;
  transition: opacity 0.3s;
}
.brand a:hover {
  opacity: 0.75;
}
header .brand img.footer-only,
footer .brand img.header-only,
.rappel_telephonique .brand img.footer-only {
  display: none;
}

/* =============================== */
/*           HEADER                 */
/* =============================== */

.menu-mobile .btn-menu {
  color: var(--brand500);
  background: var(--brand100);
  border-radius: var(--button-border-radius);
}

.menu-mobile {
  height: 90px;
  background-color: var(--background-color);
}

.menu-mobile .row {
  width: 100%;
  margin: 0;
}

.menu-mobile .brand.col {
  padding: 0;
}
.phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

@media screen and (max-width: 992px) {
  .header-content .nav .dropdown,
  .header-content .nav .ssdropdown {
    top: 90px;
  }
  .header-content #nav-container {
    margin-top: 90px;
  }
  .header-content .nav#topbar-nav li:not(.opened) a {
    padding: 1.5rem;
    text-decoration: none;
    border-bottom: solid 1px var(--gray200);
  }
  .header-content .nav#main-nav li:not(.opened) a {
    padding: 1.5rem;
    border-color: var(--gray200);
  }
  .header-content .nav#main-nav li.index-link a {
    border-top: solid 1px var(--gray200);
  }
  .header-content nav a {
    font-weight: var(--font-weight-bolder);
    font-size: var(--textlg);
  }
  .fold {
    margin-top: 16px;
  }
  .header-content .nav > ul > .sous_menu.opened > a,
  .header-content .nav .dropdown > .sous_menu.opened > a {
    color: var(--primary-color);
  }
}
@media screen and (min-width: 993px) {
  .header-content .nav ul.dropdown li a.selected,
  .header-content .nav ul.dropdown li:hover > a,
  footer ul.dropdown li a.selected,
  footer ul.dropdown li:hover > a {
    background: var(--accent-color);
    color: var(--title-color);
  }
  .header-content ul.dropdown li a,
  footer ul.dropdown a {
    color: var(--text-color);
  }
  .header-content .nav ul li a.selected,
  .header-content .nav ul li:hover > a {
    color: var(--background-color);
  }
  .header-content .nav#topbar-nav > ul > li > a,
  .header-content .nav#main-nav > ul > li > a,
  .nav-footer a {
    padding: 0.25rem 0.75rem;
    position: relative;
  }
  .header-content .nav > ul > li > a:before,
  .nav-footer a:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px;
    translate: -50% 50%;
    height: 1.5px;
    width: 0%;
    background: var(--background-color);
    transition: var(--transition) ease-in-out;
  }
  .nav-footer ul.dropdown a:before {
    display: none;
  }
  .nav-footer a:before {
    background: var(--background-color);
  }
  .header-content .nav > ul > li > a:hover:before,
  .header-content .nav > ul > li > a.selected:before,
  .nav-footer a:hover:before,
  .nav-footer a.selected:before {
    width: 80%;
  }
  .header-content .nav ul li.sous_menu > a::after {
    content: url("../assets/gifs/after-nav.svg");
  }
  .main-header-content .col-nav {
    padding: 0;
  }
  .header-content .container {
    width: 98%;
  }
  .header-content .brand {
    max-width: 150px;
  }
  .top-bar nav a {
    line-height: 18.2px;
  }
  .header-content .row {
    flex-wrap: nowrap;
  }
  .header-coordonnes {
    display: flex;
    align-items: center;
    gap: 24px;
  }
  .header-content .devis {
    display: none;
  }
  .top-bar a,
  .top-bar span:not(.material-icons) {
    font-size: 11px;
  }
  .main-header-content nav a {
    font-size: 12px;
  }
  .main-header-content nav ul.dropdown a,
  .main-header-content nav ul.ssdropdown a {
    font-size: 11px;
  }
  .header-coordonnes svg {
    min-width: 20px;
  }
  .header-coordonnes div {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .top-bar {
    padding: 17px 0 7px;
  }
  .header-content {
    background-color: rgb(24, 39, 57);
    margin: 0 10px;
  }
  .index-page .header-content:not(.sticky-active .header-content) {
    background-color: transparent;
  }
  .header-content nav a,
  .header-coordonnes a,
  .header-content span,
  .phone a {
    color: var(--text-color-menu);
  }
}
@media screen and (min-width: 1280px) {
  .header-content .container {
    width: 90%;
  }
  .header-content .brand {
    max-width: none;
  }
  .main-header-content .col-nav {
    padding: 0 0.75rem;
  }
  .top-bar a,
  .top-bar span:not(.material-icons) {
    font-size: var(--textsm);
  }
  .main-header-content nav a {
    font-size: var(--textmd);
  }
  .main-header-content nav ul.dropdown a {
    font-size: 14px;
  }

  .main-header-content nav ul.ssdropdown a {
    font-size: var(--textxs);
  }
}

/* =============================== */
/*           FOLD + SLIDER         */
/* =============================== */

.slider-slick {
  display: block;
}
.slider-slick {
  width: 100%;
  height: auto;
  background-color: var(--background-color);
  position: relative;
  z-index: 0;
}
.slider-slick .slick {
  height: 100%;
}
.fold {
  margin: 10px;
}
.slide-img {
  position: relative;
  min-height: auto;
  background-size: cover;
  background-position: center;
  text-align: center;
  border-radius: 8px;
  z-index: 0;
}
.slide-img::before,
.slide-img::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
}
.slide-img::before {
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  background-image: url("../assets/gifs/before-1.png");
  z-index: 0;
}
.slide-img::after {
  background: linear-gradient(
    360deg,
    rgba(24, 39, 57, 0.7) 0%,
    rgba(24, 39, 57, 0.8) 100%
  );
  z-index: -1;
}
.slide-content {
  color: var(--background-color);
  position: relative;
  z-index: 1;
  padding: 80px 0;
}
.slide-img.slide-01 {
  background-image: url("../assets/gifs/slider/slide-01.jpg");
}
.slide-img.slide-02 {
  background-image: url("../assets/gifs/slider/slide-02.jpg");
}
.slide-img.slide-03 {
  background-image: url("../assets/gifs/slider/slide-03.jpg");
}
.slide-img .container {
  min-height: auto;
}
.title-slider {
  max-width: 850px;
  margin: 0 auto;
  font-family: var(--secondary-font);
  font-size: 27px;
}
.slide-content .btn-devis {
  display: none;
}
.fold .slick-slider {
  margin-bottom: 0;
}
@media screen and (max-width: 992px) {
  .fold-top,
  .fold-interne {
    padding: 12px 5%;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .fold .btn-devis {
    margin-top: 10px;
  }
}
@media screen and (min-width: 993px) {
  .title-slider {
    font-size: 47px;
    line-height: 47px;
  }
  .slide-content {
    padding: calc(10% + 134px) 0;
  }
  .slide-content .btn-devis {
    display: block;
    margin-top: 16px;
  }
  .index-page .fold .slick-slider {
    margin-top: -130px;
  }
}

/* =============================== */
/*           ENCART PRESTATIONS      */
/* =============================== */

#encart-prestations a {
  position: relative;
  display: block;
  text-decoration: none;
  border-radius: var(--border-radius);
  max-height: 350px;
  z-index: 0;
}

#encart-prestations a::before,
#encart-prestations a::after {
  position: absolute;
  content: "";
  background: linear-gradient(
    180deg,
    rgba(24, 39, 57, 0.2) 46%,
    rgba(24, 39, 57, 0.8) 100%
  );
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius);
  z-index: 1;
  transition: var(--transition);
}
#encart-prestations a::after {
  z-index: 1;
  background-image: url("../assets/gifs/before-card.png");
  opacity: 0;
}
.prestations-card-content {
  z-index: 2;
  padding: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}
.prestations-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--background-color);
  font-weight: 600;
  line-height: 25px;
  font-size: var(--displaysm);
  width: 100%;
}
#encart-prestations svg {
  transition: var(--transition);
}
#encart-prestations a:hover::before {
  background: linear-gradient(
    180deg,
    rgba(24, 39, 57, 0.4) 0%,
    rgba(24, 39, 57, 0.8) 100%
  );
}
#encart-prestations a:hover::after {
  opacity: 1;
}
#encart-prestations a:hover svg {
  transform: rotate(45deg);
}
.prestations-card-image {
  position: relative;
  max-height: 350px;
  height: 100%;
}
.prestations-card-image img {
  display: block;
  object-fit: cover;
  height: 350px;
  width: 100%;
}

/* =============================== */
/*           BLOCS      */
/* =============================== */

#bloc-01 {
  position: relative;
  padding-top: 0;
}
#bloc-01::before {
  position: absolute;
  content: "";
  bottom: -82px;
  right: -27px;
  width: 547px;
  height: 547px;
  background-image: url("../assets/gifs/before-2.png");
  z-index: -1;
}
#bloc-02 h3 {
  margin-top: 8px;
}
@media screen and (min-width: 993px) {
  #bloc-02 .bloc-text {
    padding: 40px 12px;
  }
}

/* =============================== */
/*           ENCART DEVIS     */
/* =============================== */

#encart-devis {
  position: relative;
  margin: 10px;
  background-color: var(--primary-color);
  border-radius: 8px;
  color: var(--text-color-menu);
}
#encart-devis p,
#encart-devis .phone a.tel {
  font-size: var(--textlg);
  line-height: 31px;
}
#encart-devis .phone {
  font-weight: var(--font-weight-bolder);
}
#encart-devis h2 {
  color: var(--background-color);
}
#encart-devis {
  padding: 0 0 40px;
}

@media screen and (min-width: 993px) {
  #encart-devis {
    padding: 0;
  }
  #encart-devis .bloc-text {
    padding: 153px 0;
    max-width: 740px;
  }
  #encart-devis .container {
    position: relative;
  }
  #encart-devis img {
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 440px;
    width: 30%;
    min-height: 733px;
  }

  #encart-devis::before {
    position: absolute;
    content: "";
    bottom: -53px;
    left: -485px;
    background-image: url("../assets/gifs/before-4.png");
    width: 1477px;
    height: 580px;
    z-index: 0;
    transform: scaleX(-1);
  }
}

/* =============================== */
/*           ENCART AVIS     */
/* =============================== */
.avis-card {
  padding: 24px;
  color: var(--text-color);
  position: relative;
  background-color: var(--brand50);
  font-weight: 400;
  border-radius: var(--border-radius);
}
.avis-card .avis-card-text {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  padding-left: 76px;
  height: 96px;
  margin: 8px 0 4px;
}
.avis-name {
  font-style: normal;
  font-weight: 700;
  color: var(--title-color);
  font-size: var(--textmd);
  line-height: 24px;
}
.encart-avis .align-right button.show-more.btn.small {
  padding: 0;
  color: var(--link-color);
}
.avis-date {
  font-size: var(--textxs);
  font-style: normal;
  font-weight: 400;
  margin-left: -16px;
  color: hsla(209, 17%, 59%, 1);
}
.encart-avis .row.s-middle.s-start {
  padding-top: 4px;
}
.slick-avis {
  margin-top: 48px;
}
.date.avis-date.card-date.avis-card-date.avis-encart-card-date.small,
.encart-avis .avis-card.js-more .avis-card-text::after {
  display: none;
}

/* =============================== */
/*           ENCART ACTUALITES     */
/* =============================== */
.actualites-card {
  position: relative;
  display: block;
}
.actualites-card a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: block;
  z-index: 4;
}

.actualites-card {
  padding: 20px;
}
.actualites-card-content {
  margin-top: 20px;
}
.actualites-card-text {
  margin: 12px 0 20px;
  height: 96px;
  overflow: hidden;
}

.actualites-card-title a {
  text-decoration: none;
  font-size: var(--displayxs);
  font-weight: 400;
  line-height: 25px;
  color: var(--title-color);
}
.encart-btn {
  margin-top: 48px;
}
.actualites-card-image a {
  display: block;
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.actualites-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.actualites-card-image a::before,
.actualites-card-image a::after {
  position: absolute;
  content: "";
  background: hsla(213, 41%, 16%, 0.5);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius);
  z-index: 1;
  transition: var(--transition);
  opacity: 0;
}
.actualites-card-image a::after {
  z-index: 1;
  background-image: url("../assets/gifs/before-card.png");
}
.actualites-card svg {
  transition: var(--transition);
}
.actualites-card:hover .actualites-card-image a::before,
.actualites-card:hover .actualites-card-image a::after {
  opacity: 1;
}
.actualites-card:hover svg {
  transform: rotate(45deg);
}
@media screen and (min-width: 993px) {
  .actualites-card-title a {
    font-size: var(--displaysm);
  }
}
/* =============================== */
/*           PAGE ACTUALITES DETAIL     */
/* =============================== */
.actualites-detail .detail-actu-image {
  max-width: 50%;
}
div#listing-autres-actus-categorie ul {
  padding-inline-start: 0;
}

div#listing-autres-actus-categorie li {
  margin-top: 0.5rem;
}

body.actualites-detail .listing-autres-actus-categorie {
  height: max-content;
  padding: 24px;
  margin-bottom: 24px;
  background-color: var(--brand100);
  border-radius: var(--border-radius);
}
body.actualites-detail .listing-autres-actus-categorie .detail-btn {
  text-align: center;
}
#listing-autres-actus-categorie ul li ul li {
  list-style: none !important;
}
#listing-autres-actus-categorie ul li a {
  text-decoration: none;
}
#listing-autres-actus-categorie ul li a:hover {
  text-decoration: underline;
}
.fb-like.fb_iframe_widget {
  position: relative;
  top: 6px;
}
@media screen and (min-width: 601px) {
  .recherche_actu #input_recherche_actu {
    width: calc(100% - 7rem) !important;
  }
}

/* =============================== */
/*           BLOC FORMULAIRE     */
/* =============================== */
form#formulaire_4 {
  margin-top: 24px;
}
#bloc-formulaire .title-2 {
  margin: 0;
  text-align: left;
  color: var(--title-color);
}
div#bloc-formulaire label {
  padding-bottom: 4px;
  color: var(--text-color);
}

div#bloc-formulaire input:not(div#bloc-formulaire p.submit .btn),
div#bloc-formulaire textarea {
  padding: 10px 18px;
  border-radius: 4px;
  border: 1px solid var(--brand200);
  min-width: 16px;
  min-height: 16px;
  border-radius: var(--button-border-radius);
  background-color: var(--background-color);
}
div#bloc-formulaire input:hover,
div#bloc-formulaire textarea:hover {
  border-color: var(--gray700);
}

div#bloc-formulaire textarea {
  min-height: 96px;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 8px;
}

div#bloc-formulaire label.noFloatingLabel,
div#bloc-formulaire .info {
  color: var(--text-color);
  font-size: var(--textxs);
  line-height: 12px;
  display: flex;
  align-items: flex-start;
}

div#bloc-formulaire .divGenerateur {
  margin: 0;
}

div#bloc-formulaire .divGenerateur label.optional {
  display: none;
}

div#bloc-formulaire p.submit {
  width: max-content;
}
div#bloc-formulaire .col {
  align-self: stretch;
}

.col-formulaire-left .title-2 {
  margin-bottom: 12px;
}

.col-formulaire-right {
  background-color: var(--brand50);
  padding: 48px;
  border-radius: var(--border-radius);
}
.horaire-accueil {
  margin-top: 16px;
}
.bloc-margin {
  margin-top: 48px;
}
.horaire-accueil .title {
  font-size: var(--textmd);
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 12px;
}
.col-map .title {
  color: var(--title-color);
  margin-bottom: 8px;
  font-size: var(--displaysm);
  line-height: 25px;
  font-family: var(--secondary-font);
  font-weight: 400;
}

div#bloc-formulaire iframe {
  min-height: 300px;
}
.div-flex p {
  margin: 0;
}

div#bloc-formulaire .material-icons {
  color: var(--brand700);
}
.horaire-accueil div {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 8px;
}
@media screen and (max-width: 992px) {
  .col-formulaire-right {
    padding: 20px 16px;
    margin-top: 20px;
  }
}

@media screen and (min-width: 993px) {
  div#bloc-formulaire div#field_20,
  div#bloc-formulaire div#field_24 {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .div-flex p {
    width: 100%;
  }
  .horaire-accueil.col-map {
    min-height: 540px;
    position: relative;
  }

  div#bloc-formulaire iframe {
    min-height: 500px;
  }
}

/* =============================== */
/*           FORMULAIRE  DEVIS    */
/* =============================== */

fieldset {
  border-radius: 5px;
  margin-bottom: 22px;
}
.select-wrap::after {
  content: "\e313";
}
@media screen and (min-width: 993px) {
  fieldset {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* =============================== */
/*           FOOTER    */
/* =============================== */

footer,
.section-contact {
  background-color: var(--brand50);
}
footer,
footer .section {
  padding: 24px 0;
}
footer .title {
  color: var(--title-color);
  font-family: var(--secondary-font);
  font-size: var(--displayxs);
  font-weight: 600;
  line-height: 20px;
  margin-bottom: 12px;
}
footer .sur-title {
  font-size: var(--textmd);
  font-weight: 700;
  line-height: 24px;
  margin-bottom: 10px;
}
.footer-coordonnee {
  display: flex;
  gap: 8px;
}
.nav-footer ul.row a {
  text-decoration: none;
  color: var(--textcolor);
}
footer .section-3 a,
.siret {
  color: var(--link-color);
  font-weight: 700;
}
footer .section-3 a {
  text-decoration: underline;
}

footer a.lien-maps:hover,
a.lien-maps:hover,
footer nav a:hover {
  color: var(--brand700);
}

footer .section-1 svg {
  fill: var(--text-color);
}
footer .section-1 .lien-maps span {
  display: block;
}
.index-page footer {
  position: relative;
  /* z-index: 0; */
}
footer ul.dropdown {
  position: absolute;
  left: 0;
  display: none;
  flex-direction: column;
  align-items: stretch;
  width: max-content;
  min-width: 100%;
  max-width: 4rem;
  margin: 0;
  padding: 0;
  font-weight: normal;
  background-color: var(--background-color);
  border: solid 1px rgba(0, 0, 0, 0.1);
  z-index: 1;
  bottom: 100%;
}
footer ul li.sous_menu ul.dropdown > li:not(:last-child) {
  border-bottom: 1px solid #e0e0e0;
}
footer ul li.sous_menu {
  position: relative;
}

footer ul li.sous_menu > a::after {
  content: url("../assets/gifs/after-nav-footer.svg");
  position: static;
  display: inline-block;
  vertical-align: middle;
  margin: -0.125em 0 0 0.25em;
  font-family: var(--icon-font);
}

footer ul li.sous_menu:hover ul.dropdown {
  display: block;
}

footer .nav ul li.sous_menu ul.dropdown > li a {
  padding: 0.5rem 0.75rem;
}

footer ul.dropdown li {
  margin: 0;
}
footer .nav ul li.sous_menu ul.dropdown > li a {
  padding: 0.5rem;
  margin: 0;
  font-size: 13px;
  display: block;
}
.nav-footer ul {
  margin: 0;
}
@media screen and (max-width: 992px) {
  .section.section-2.nav-footer {
    padding: 24px 0 0;
    max-width: 400px;
    margin: 20px auto;
  }
  footer {
    text-align: center;
  }
  footer .title {
    margin-top: 30px;
  }

  .section.section-1 {
    padding-bottom: 0;
  }

  footer .section li {
    margin: 15px 0;
  }

  .footer-coordonnee {
    flex-direction: column;
    margin: 0 0 25px;
    gap: 6px;
    justify-content: center;
  }

  .horaire-footer > div {
    margin-bottom: 20px;
    flex-direction: column;
    gap: 6px;
  }
  footer .brand {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 993px) {
  .nav-footer ul {
    display: flex;
    justify-content: center;
  }
}

/* =============================== */
/*           CONTACT PAGE    */
/* =============================== */

.contact-page h1 {
  font-size: var(--displaysm);
  margin: 0;
  color: var(--title-color);
  line-height: normal;
}

/* =============================== */
/*          ENCART CONTACT    */
/* =============================== */
#encart-contact {
  position: relative;
  z-index: 0;
}
#encart-contact::before {
  position: absolute;
  content: "";
  top: 0;
  left: -4000px;
  right: -4000px;
  bottom: 0;
  background: var(--background-2);
  z-index: -1;
}
#encart-contact .card {
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius);
  min-height: 170px;
}
.contact-card-content {
  padding: 30px 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  min-height: 170px;
}
#encart-contact .card {
  margin: 10px 0;
}
.contact-card-title {
  min-height: 35px;
  margin: 10px 0;
}
div#encart-contact {
  margin: 25px 0;
}
@media screen and (min-width: 993px) {
  #encart-contact .row {
    align-items: center;
  }
  div#encart-contact:not(.index-page div#encart-contact) {
    margin: 60px auto;
    padding: 80px 0;
  }
}
/* =============================== */
/*          PAGES INTERNE    */
/* =============================== */

@media screen and (max-width: 992px) {
  #container {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 993px) {
  h2.western,
  .sc-content .ac-doubleColonne h2 {
    margin-top: 0;
  }

  #encart-contact .row {
    align-items: center;
  }

  div#container:not(.devis div#container) {
    padding-bottom: 0;
  }

  div#encart-contact:not(.index-page div#encart-contact) {
    margin: 0px auto;
    padding: 80px 0;
  }
  .page-interne
    section:not(section.ac-doubleColonne, section.ac-doubleColonne
      section, #relance, .ac-include)
    p,
  .page-interne h3,
  section.ac-doubleColonne p:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .page-interne
    section:not(section.ac-doubleColonne, section.ac-doubleColonne
      section, #relance, .ac-include) {
    margin-top: 30px;
  }
  .page-interne p.intro {
    margin-bottom: 30px;
  }
  nav#fil_ariane,
  #fil_ariane {
    margin: 3em 0em 3em 0em;
  }
  #fil_ariane,
  nav#fil_ariane,
  .fil-ariane {
    font-size: 14px;
  }

  .page-interne .sc-content #relance {
    margin-top: 4rem;
    margin-bottom: 4rem;
    text-align: center;
  }
  .page-interne .ac-doubleColonne p {
    font-size: 16px;
    margin-top: 0px;
  }
  .page-interne h1 {
    margin-bottom: 20px;
  }
  .page-interne h2 {
    margin-bottom: 8px;
  }
  .actualites-listing #fil_ariane {
    margin: 18px 0px;
  }
  .catalogue-listing .fil-ariane {
    margin: 42px 0;
  }
  body.actualites-listing h1 {
    margin: 0;
  }
  .page-interne section p:nth-of-type(1) {
    margin-top: 8px;
  }
}
