@import url("https://fonts.googleapis.com/css2?family=Afacad+Flux:wght@100..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

.afacad-flux- {
  font-family: "Afacad Flux", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "slnt" 0;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

:root {
  /* Font variables */
  --font-main: "Noto Sans JP", sans-serif;
  --font-title: "Afacad Flux", sans-serif;

  /* Couleurs */
  --noir: #1b2020; /* Noir bleuté profond, moins dur que le noir pur */
  --gris: #e3e4e8; /* Gris doux, légèrement bleuté pour plus de fraîcheur */
  --gris-clair: #f6f3ed; /* Gris clair moderne, lumineux mais pas trop blanc */
  --primary: #8a7d62; /* Orange brûlé (complémentaire du violet), très tendance */
  --primary-25: #f8dad2; /* 25% du orange brûlé */
  --secondary: #2e8be4; /* Bleu franc, frais, qui fonctionne bien en duo avec l’orange */
  --jaune: #fff5d6; /* Jaune vanille pâle, doux et élégant */
  --vert: #d9f2e6; /* Vert d’eau pastel, très relaxant et naturel */
  --rose: #fde7e9; /* Rose poudré très doux, moderne et compatible avec le reste */

  --btn-color: #fff;
  --btn-hover-color: #fff;

  /* sticky top */
  --sticky-top-up: 120px;
  --sticky-top-down: 80px;
}

body {
  font-family: var(--font-main);
  color: var(--noir);
  font-size: 1rem;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

.bg-light {
  background: #f6f3ed !important;
}

.wrapper {
  overflow: clip;
}
div#main {
  position: relative;
  /* z-index: 1; */
}

div#main .section.bg-light {
  padding: 5em;
}

.font-14 {
  font-size: 14px !important;
}
.font-16 {
  font-size: 16px !important;
}
.font-18 {
  font-size: 18px !important;
}
.font-normal {
  font-weight: 400 !important;
}
.font-medium {
  font-weight: 500 !important;
}
.font-bold,
strong,
b {
  font-weight: bold !important;
}
.font-title {
  font-family: var(--font-title);
}
.text-muted {
  color: var(--noir) !important;
  opacity: 0.5;
}

/* Background */
.bg-primary {
  background-color: var(--primary) !important;
}
.bg-secondary {
  background-color: var(--secondary) !important;
}
.bg-gris-clair {
  background-color: var(--gris-clair);
}
.bg-primary-25 {
  background-color: var(--primary-25);
}
.dark-overlay[style*="background-image"] {
  box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.3);
}
.bg-jaune {
  background-color: var(--jaune);
}
.bg-vert {
  background-color: var(--vert);
}
.bg-rose {
  background-color: var(--rose);
}

/* marges et padding*/
.mb-32 {
  margin-bottom: 2rem;
}
.mb-40 {
  margin-bottom: 2.5rem;
}
.mb-56 {
  margin-bottom: 3.5rem;
}
.mb-64 {
  margin-bottom: 4rem;
}

.mt-40 {
  margin-top: 2.5rem;
}

.g-40 {
  --bs-gutter-x: 2.5rem;
  --bs-gutter-y: 2.5rem;
}

.p-32 {
  padding: 2rem !important;
}

@media (min-width: 992px) {
  .g-lg-64,
  .gx-lg-64 {
    --bs-gutter-x: 4rem;
  }
  .mb-lg-32 {
    margin-bottom: 2rem;
  }
  .mb-lg-64 {
    margin-bottom: 4rem;
  }
}

/* Container 1600 */

@media (min-width: 1600px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1500px;
  }
  .col-xxxl {
    flex: 1 0 0%;
  }

  .row-cols-xxxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-xxxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-xxxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-xxxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .row-cols-xxxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-xxxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-xxxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-xxxl-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-xxxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xxxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-xxxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-xxxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-xxxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-xxxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-xxxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-xxxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-xxxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-xxxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-xxxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-xxxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}

.row-container-services {
  container-type: inline-size;
  container-name: row-container-services;
}

@container row-container-services (width >= 1024px) {
  .row-container-services .col-container {
    flex: 1 0 0%;
  }
}
@container row-container-services (width <= 1023.98px) {
  .row-container-services .col-container {
    flex: 0 0 auto;
    width: 50%;
  }
}

@container row-container-services (width <= 576px) {
  .row-container-services .col-container {
    flex: 0 0 auto;
    width: 100%;
  }
}

.row-container-sommaire {
  container-type: inline-size;
  container-name: row-container-sommaire;
}

@container row-container-sommaire (width >= 1200px) {
  .row-container-sommaire .col-container {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
@container row-container-sommaire (width <= 1199.98px) {
  .row-container-sommaire .col-container {
    flex: 0 0 auto;
    width: 50%;
  }
}

@container row-container-sommaire (width <= 991.98px) {
  .row-container-sommaire .col-container {
    flex: 0 0 auto;
    width: 100%;
  }
}

.row-container-jumbotron-photo {
  container-type: inline-size;
  container-name: row-container-jumbotron-photo;
}

@container row-container-jumbotron-photo (width <= 800px) {
  .row-container-jumbotron-photo .col-container {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-container-jumbotron-photo .col-container.jumbotron {
    order: 1 !important;
  }
  .row-container-jumbotron-photo .col-container.photo {
    order: 2 !important;
  }
}

.row-container-post-image {
  container-type: inline-size;
  container-name: row-container-post-image;
}

@container row-container-post-image (width <= 800px) {
  .row-container-post-image .col-container {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-container-post-image .col-container.col-texte {
    order: 1 !important;
  }
  .row-container-post-image .col-container.col-image {
    order: 2 !important;
  }
}

/* Icones  */

/*  Header */
.navbar-inner .navbar-brand,
.navbar-inner .navbar-text {
  padding: 0;
}
div#navbar-menu .navbar-nav .nav-item {
  margin-right: 1rem;
  display: flex;
  align-items: center;
}
div#navbar-menu .navbar-nav .nav-item:last-child {
  margin-right: 0;
}

/* Boutons et liens */
.text-primary {
  --bs-text-opacity: 1;
  color: var(--primary) !important;
}

a {
  color: var(--noir);
  text-decoration: underline;
  cursor: pointer;
}
.btn {
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-padding-y: 1rem;
  --bs-btn-font-family: var(--font-main);
}
.btn-sm {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.75rem;
  --bs-btn-font-size: 1rem;
}
.btn-lg {
  --bs-btn-padding-x: 2rem;
  --bs-btn-padding-y: 1.5rem;
  --bs-btn-font-size: 1rem;
}
.btn-border.btn-lg {
  --bs-btn-padding-y: calc(1.5rem - 1.5px);
}
.btn-primary {
  --bs-btn-color: var(--btn-color);
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-color: var(--btn-hover-color);
  --bs-btn-hover-bg: var(--noir);
  --bs-btn-hover-border-color: var(--noir);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: var(--noir);
  --bs-btn-active-bg: var(--primary);
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
  border: none;
  font-weight: 500;
}
.link {
  color: var(--noir);
  font-style: normal;
  line-height: 150%; /* 21px */
  text-decoration-line: none;
  padding-bottom: 0.25rem;
  position: relative;
  transition: 0.3s;
}
.link:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--noir);
  opacity: 0.15;
  transition: 0.3s;
}
.link:hover {
  /* color:var(--primary); */
  transition: 0.3s;
}
.link:hover:after {
  background: var(--primary);
  height: 1.5px;
  opacity: 1;
  transition: 0.3s;
}

.btn-border {
  border-radius: 6px;
  border: 2px solid var(--primary-25);
  background: transparent;
  color: var(--noir);
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}
.btn-border {
  --bs-btn-padding-y: calc(1rem - 1.5px);
}
.btn-border:hover,
.btn-border:focus {
  border: 2px solid var(--primary);
  background: var(--primary);
  color: #fff;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--primary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--secondary);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--secondary);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}

.btn-light {
  --bs-btn-color: var(--noir);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--secondary);
  --bs-btn-hover-border-color: var(--secondary);
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--secondary);
  --bs-btn-active-border-color: var(--secondary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.link-absolute {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

/* Header au scroll */

#banner {
  padding-top: 120px;
}

.cms-accueil #banner {
  padding-top: 0px;
}

#header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  box-shadow: 0px 19px 27.8px -19px rgba(0, 74, 173, 0);
  transition: 0.3s;
}

.cms-accueil #header {
  padding: 10px 10px 0 10px;
}

.body-scrolled #header {
  box-shadow: 0px 19px 27.8px -19px rgba(0, 74, 173, 0.15);
  transition: 0.3s;
}

#header .header-top {
  height: 40px;
  transition: 0.3s;
  border-radius: 4px 4px 0 0;
}
/*
div#banner {
  padding-top: 120px;
}
  */
.body-scrolled:not(.menu-open) #header:not(:hover) .header-top {
  height: 0px;
  transition: 0.3s;
}

/* Menu principal */

.navbar-nav .dropdown-menu {
  margin-top: 0;
  border: none;
}
.navbar-nav .dropdown-menu .dropdown-item {
  white-space: normal;
  padding: 0.5rem;
}
.navbar-nav .nav-link,
.navbar-nav .nav-link {
  color: var(--noir);
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  /* color: var(--primary); */
  color: var(--noir);
}

.nav-link {
  color: var(--noir);
}
.nav-link:hover,
.nav-link.active,
.expand > .nav-link {
  /* color:var(--primary); */
  color: var(--noir);
}
.page-1.has-child .dropdown-toggle + .dropdown .dropdown-menu {
  position: relative;
  display: block;
  padding: 0;
}
.page-1.has-child .dropdown-toggle + .dropdown .dropdown-menu a {
  padding: 0.75rem 1rem;
  color: var(--noir);
}
.page-1.has-child .dropdown-toggle + .dropdown .dropdown-menu a:hover,
.page-1.has-child .dropdown-toggle + .dropdown .dropdown-menu a.active {
  color: var(--btn-hover-color);
  background: var(--primary);
}
/* Mega Menu */
.mega-menu .page-1.has-child > .dropdown {
  position: absolute;
  width: 300px;
  background: #fff;
  padding: 0;
  top: -100%;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: -1;
  overflow-y: auto;
  max-height: calc(100vh - 136px);
  box-shadow: 0px 19px 27.8px -14px rgba(18, 40, 64, 0.15);
}
.mega-menu .page-1.has-child.expand > .dropdown {
  top: 100%;
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}

.mega-menu .page-1.has-child > .dropdown-mega-menu {
  width: 100%;
  padding: 2rem 4rem;
  left: 0;
  top: -100%;
}

.mega-menu .page-1 .nav-link {
  position: relative;
}
.mega-menu .page-1 .nav-link.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.5rem;
  vertical-align: middle;
  content: "\f078";
  font-family: "FontAwesome";
  border: none;
  font-size: 0.75rem;
  transition: transform 0.3s;
}

.mega-menu .page-1.expand .nav-link.dropdown-toggle::after {
  transform: rotate(180deg);
  transition: transform 0.3s;
}

.mega-menu .page-1 .nav-link[title="Accueil"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M18.4276 10.7337L13.2851 5.4927C12.487 4.6793 11.1716 4.69615 10.3946 5.52973L5.53702 10.741C5.1919 11.1112 5 11.5985 5 12.1047V18C5 18.5523 5.44772 19 6 19H8.95212C9.49803 19 9.94306 18.5622 9.95198 18.0164L10.0096 14.4958C10.0185 13.95 10.4635 13.5122 11.0094 13.5122H13.0641C13.6164 13.5122 14.0641 13.9599 14.0641 14.5122V18C14.0641 18.5523 14.5118 19 15.0641 19H18C18.5523 19 19 18.5523 19 18V12.1344C19 11.6105 18.7945 11.1076 18.4276 10.7337Z' stroke='%23101820' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent !important;
  width: 1.5rem;
  height: 1.5rem;
  transition: 0.3s;
  padding: 0;
  border-radius: 0;
}

.mega-menu .page-1 .nav-link[title="Accueil"] .menu-title {
  display: none;
}

.navbar-nav .nav-link span.menu-title {
  position: relative;
}

.navbar-nav .nav-link:not([title="Accueil"], [title="Contact"]) span.menu-title::before {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  width: 100%;
  left: 0;
  height: 2px;
  background: var(--primary);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.navbar-nav .page-1:hover .nav-link span.menu-title::before,
.navbar-nav .page-1.expand .nav-link span.menu-title::before {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}
.mega-menu .page-1 .nav-link.active.dropdown-toggle span.menu-title::before,
.navbar-nav .nav-link.active span.menu-title::before {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}

.navbar-nav .dropdown-mega-menu .dropdown-item {
  padding: 0.5rem;
  transition: 0.3s;
}
.navbar-nav .dropdown-mega-menu .dropdown-item:hover {
  background: var(--primary);
  transition: 0.3s;
}
.navbar-nav .dropdown-mega-menu .dropdown-item.active {
  background: var(--secondary);
  transition: 0.3s;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu > .container > .dropdown-menu {
  position: relative;
  display: grid;
  width: 100%;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  gap: 2rem; /* Espacement entre les éléments */
  padding: 0;
}
.dropdown-toggle + .dropdown-mega-menu .sommaire {
  grid-row: 2 / 2;
  grid-column: 1 / 2;
  display: flex;
}

.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart {
  grid-column: 2 / 3;
  grid-row: 1 / span 2; /* Cela permet à cet item de s'étendre sur deux lignes */
  position: relative;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .encart a {
  position: relative;
  height: 100%;
  padding: 2rem 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: none;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .encart a:active {
  background-color: transparent;
}

.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart .menu-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
}

.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart.filtre .container-img:after {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  border-radius: 1rem;
}

.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart .menu-title,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart .menu-description,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart .menu-attribute {
  position: relative;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .encart .menu-title {
  font-size: 24px;
  margin-bottom: 0.5rem;
  color: #fff;
  font-style: normal;
  font-weight: bold;
  line-height: 140%; /* 33.6px */
  opacity: 1;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .encart .menu-description {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  line-height: 140%; /* 33.6px */
  opacity: 1;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart a .btn {
  color: #fff;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart a:hover .btn {
  background: var(--primary);
  border: 2px solid var(--primary);
  color: var(--btn-hover-color);
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart a:hover,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .encart a.active {
  background: none !important;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .menu-title {
  display: block;
  font-weight: bold;
  font-size: 18px;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-menu a {
  padding: 0.5rem;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-menu .menu-title {
  font-size: 1rem;
  font-weight: normal;
  padding-left: 1rem;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .menu-description {
  display: block;
  font-weight: normal;
  font-size: 14px;
  opacity: 0.5;
}

.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-item.active .menu-description,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-item:active .menu-description,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-item:hover .menu-description,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-item:hover .menu-description {
  opacity: 1;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-item:hover,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .dropdown-item:hover {
  /* color:#fff; */
}

.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .sommaire a,
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .sommaire a.active {
  color: var(--noir);
  transition: 0.3s;
  padding: 0.5rem 1rem;
  border: 2px solid var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  margin-top: auto;
  position: relative;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .sommaire a .menu-title {
  font-weight: 700;
  font-size: 20px;
}
.page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .sommaire a:hover {
  color: var(--btn-hover-color);
  transition: 0.3s;
  background: var(--primary);
}

.page-spacer .page-2 .dropdown-toggle:after {
  content: none;
}

div#navbar-menu .navbar-nav .nav-item.contact_page > a {
  border: 1px solid var(--primary);
  border-radius: 4px;
}

div#navbar-menu .navbar-nav .nav-item.contact_page > a:hover {
  border: 1px solid var(--primary);
  color: var(--btn-hover-color);
  background: var(--primary);
}

/* Banniere Hero */
/* #banner .owl-carousel .jumbotron .container {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
} */

/* Banniere Profonde */

.jumbotron {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  border-radius: 0;
  border: none;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

[class^="col-"] .post-text [class^="col-"],
[class^="col-"] .post-jumbotron [class^="col-"] {
  flex: 0 0 auto;
  width: 100%;
}

/* page de contact */
body.contact #main {
  padding-top: 0;
  padding-bottom: 0;
}

/* Chemin */
.text-center .breadcrumb {
  justify-content: center;
}
.breadcrumb-item + .breadcrumb-item::before {
  content: none;
}
ol.breadcrumb .breadcrumb-item:last-child a:after {
  content: none;
}
.text-white ol.breadcrumb .breadcrumb-item a {
  color: #fff;
}
.text-white ol.breadcrumb .breadcrumb-item a:after {
  background: #fff;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0;
}
.chemin.chemin-long .breadcrumb-item:last-child {
  max-width: calc(100% - 124px);
}
.chemin .breadcrumb-item:last-child {
  max-width: calc(100% - 50px);
}
.chemin .breadcrumb-item:last-child a {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.chemin.chemin-long a.dropdown-toggle:after {
  content: none;
}
.chemin.chemin-long a.dropdown-toggle {
  padding: 0.25rem 1rem;
}
.chemin.chemin-long .dropdown-menu i {
  display: none;
}
/* Content */

.box {
  border-radius: 0.5rem;
}

.content {
  max-width: 750px;
}

.post-content ul {
  padding: 0;
  margin-bottom: 1rem;
  padding-left: 22px;
}
.post-content ul li {
  position: relative;
}
article.post_simple + article.post_simple {
  margin-top: 3rem;
}
.composant-bouton + .content {
  margin-top: 3rem;
}

.composant-chronologie .container::before {
  position: absolute;
  display: inline-block;
  top: 0;
  width: 3px;
  height: 100%;
  content: "";
  background-color: var(--gris);
  opacity: 0.3;
}

.composant-chronologie .chronologie-item {
  position: relative;
}

.composant-chronologie .chronologie-item::before {
  position: absolute;
  display: inline-block;
  top: 0;
  width: 15px;
  height: 15px;
  content: "";
  background: var(--primary);
  border-radius: 50px;
}

.composant-chronologie .container::before {
  left: 15px;
}

.composant-chronologie .chronologie-item {
  padding-left: 3rem;
  padding-right: 3rem;
}

.composant-chronologie .chronologie-item::before {
  left: 9px;
}

@media (min-width: 767px) {
  .composant-chronologie.center .container::before {
    left: 50%;
    margin-left: -1px;
  }

  .composant-chronologie.center .chronologie-item:nth-child(2n + 1) {
    align-self: flex-start;
    text-align: right;
  }

  .composant-chronologie.center .chronologie-item:nth-child(2n + 1):before {
    left: auto;
    right: -8px;
  }

  .composant-chronologie.center .chronologie-item:nth-child(2n) {
    align-self: flex-end;
  }

  .composant-chronologie.center .chronologie-item:nth-child(2n)::before {
    left: -7px;
  }
}
.badge-primary {
  background: var(--primary);
}

/* Accordeon */

.accordion-item {
  color: var(--noir);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--primary-25);
}
.accordion-button:not(.collapsed) {
  color: var(--noir);
  background-color: var(--primary-25);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--primary-25);
}

/* composant Aperçu */

.composant-apercu .item-apercu .apercu-title {
  color: var(--noir);
  font-style: normal;
  font-weight: 700;
  line-height: 105%;
}
.composant-apercu .item-apercu .apercu-img {
  border-radius: 0.5rem;
  height: 185px;
  object-fit: cover;
  width: 100%;
}
.composant-apercu .item-apercu .apercu-text ul {
  padding-left: 1rem;
  margin-bottom: 0;
}
.composant-apercu .item-apercu .apercu-text ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}

/* Titres */

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: var(--font-title);
}

h1,
.h1 {
  font-size: 45px;
  font-style: normal;
  color: var(--noir);
  font-weight: 700;
  line-height: 120%; /* 60px */
}
h2,
.h2 {
  color: var(--noir);
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%; /* 40px */
}
h3,
.h3 {
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%; /* 35.2px */
}
h4,
.h4 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%; /* 27.6px */
  letter-spacing: -0.24px;
}
h5,
.h5 {
  font-size: 21px;
  font-style: normal;
  font-weight: 700;
  line-height: 126%; /* 26.46px */
}
h6,
.h6 {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 26px */
  letter-spacing: -0.2px;
}
.post_simple h1 {
  margin-bottom: 2rem;
}
.post_simple h2 {
  margin-bottom: 1.5rem;
}
.post_simple h3,
.post_simple h4,
.post_simple h5,
.post_simple h6 {
  margin-bottom: 1rem;
}
p + h2,
ul + h2 {
  margin-top: 3rem;
}
p + h3,
ul + h3 {
  margin-top: 2.5rem;
}
p + h4,
ul + h4,
p + h5,
ul + h5 {
  margin-top: 2rem;
}
article.post_simple.content + .composant-chiffres-cles {
  margin-top: 3rem;
}

.img-cover {
  object-fit: cover;
}

/* Offre d'emploi */
.tag {
  padding: 0.25rem 0.5rem;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  border-radius: 4px;
}
.tag + .tag {
  margin-left: 0.5rem;
}
.tag-bleu {
  color: var(--primary);
  border: 2px solid var(--primary);
}
.card.offre-emploi {
  --bs-card-border-color: var(--jaune);
  --bs-card-bg: var(--rose);
  color: var(--noir);
  border-radius: 4px;
}
.card.offre-emploi + .card.offre-emploi {
  margin-top: 3rem;
}

.card.offre-emploi > .card-header {
  background-color: var(--rose);
}
.card.offre-emploi .list-group {
  --bs-list-group-bg: var(--rose);
}
.card.offre-emploi .list-group > .list-group-item {
  border-color: var(--jaune);
  color: var(--noir);
}
.card.offre-emploi .tags {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.card.offre-emploi .tags .tag {
  margin: 0.25rem;
  display: inline-block;
}

/* accordéon */

/* Sidebar */

.site-web-menu-v.liste > ul > li > a.nav-link {
  padding: 0.25rem 0.5rem;
  font-weight: 300;
  font-size: 1rem;
}

.site-web-menu-v.liste > ul ul > li > a.nav-link {
  padding: 0.25rem 0.5rem;
  padding-left: 1rem;
  font-weight: 400;
  font-size: 1rem;
}
.site-web-menu-v.liste > ul ul ul > li > a.nav-link {
  padding: 0.25rem;
  padding-left: 1.5rem;
  font-weight: 400;
  font-size: 0.875rem;
}

.container-sidebar,
.main-content {
  position: relative;
  z-index: 1;
  margin: 4rem 0;
}

.body-scrolled-top .sidebar.sticky-top {
  top: calc(var(--sticky-top-up) + 1rem);
  transition: 0.3s;
}

.body-scrolled-bottom .sidebar.sticky-top {
  top: calc(var(--sticky-top-down) + 1rem);
  transition: 0.3s;
}

.sidebar .post-text {
  padding: 2rem;
  background: var(--gris-clair);
  border-radius: 4px;
}
.sidebar .post-text,
.sidebar .widget-reseaux,
.sidebar .composant-bouton {
  border-radius: 4px;
}
.sidebar .post-text + .post-text,
.sidebar .post-text + .widget-reseaux,
.sidebar .post-text + .composant-bouton,
.sidebar .section + .section,
.sidebar .section + .widget {
  margin-top: 2rem;
  border-radius: 4px;
}

.sidebar h2 {
  font-size: 26px;
}
.sidebar h3 {
  font-size: 24px;
}

/* FIltres sidebar */
.sidebar .widget.filtres {
  padding: 1rem;
  border-radius: 4px;
  border: 1.5px solid var(--primary);
  background: var(--primary-25);
}

.sidebar .groupe-filtre + .groupe-filtre {
  border-top: 1px solid var(--primary-25);
  mix-blend-mode: multiply;
}
.sidebar .widget.filtres .groupe-filtre .btn-link {
  padding: 1rem 0;
  width: 100%;
  text-align: left;
  color: var(--noir);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 165%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: 0.3s;
  position: relative;
}
.sidebar .widget.filtres .groupe-filtre .btn-link:hover {
  color: var(--primary);
  transition: 0.3s;
}
.sidebar .widget.filtres .groupe-filtre .btn-link span {
  position: relative;
}
.sidebar .widget.filtres .groupe-filtre .btn-link > span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1.5px;
  background: var(--primary);
  transition: 0.3s;
}
.sidebar .widget.filtres .groupe-filtre .btn-link > span .nb-filtre {
  border-radius: 54px;
  background: var(--noir);
  color: #fff;
  font-size: 14px;
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.5rem;
}
.sidebar .widget.filtres .groupe-filtre .btn-link:hover span:after {
  width: 100%;
  transition: 0.3s;
}
.sidebar .widget.filtres .groupe-filtre .btn-link svg {
  transition: 0.3s;
  transform: rotate(-180deg);
}
.sidebar .widget.filtres .groupe-filtre .btn-link.collapsed svg {
  transition: 0.3s;
  transform: rotate(0deg);
}
.liste-filtres {
  padding: 0 1rem;
}

/*   Formulaires   */

.form-label {
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 145%;
  margin-bottom: 0.25rem;
}
.form-control {
  padding: 1rem;
  border-radius: 8px;
  transition: 0.3s;
}
.form-control:focus,
.form-control:hover {
  background-color: rgba(255, 255, 255, 1);
  border-color: var(--primary);
  box-shadow: none;
  transition: 0.3s;
}
.form-control::placeholder,
.form-select::placeholder {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
  color: var(--noir);
  opacity: 0.2;
}
.form-text {
  color: var(--noir);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  opacity: 0.5;
}
.form-select {
  /*padding: 1rem;*/
  border-radius: 8px;
}
.form-control:focus,
.form-control:hover,
.form-select:focus,
.form-select:hover {
  background-color: rgba(255, 255, 255, 1);
  border-color: var(--primary);
  box-shadow: none;
  transition: 0.3s;
}
.form-check {
  min-height: 1.5rem;
  padding-left: 1.75em;
  margin-bottom: 0.5rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.75em;
}
.form-check input,
.form-check label {
  cursor: pointer;
  transition: 0.3s;
}
.form-check-input {
  width: 20px;
  height: 20px;
  --bs-form-check-bg: transparent;
  border: 2px solid var(--noir);
  margin-right: 0.5rem;
  margin-top: 0.125em;
  transition: 0.3s;
  box-shadow: none;
}
.form-check-input:checked {
  background-color: var(--noir);
  border-color: var(--noir);
}
.form-check-input:checked[type="radio"] {
  background-color: #fff;
  background-size: 1.5rem;
  --bs-form-check-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='%23122840'/></svg>");
}
.form-check:hover label {
  color: var(--primary);
  transition: 0.3s;
}
.form-check:hover .form-check-input,
.form-check .form-check-input:focus {
  border-color: var(--primary);
  transition: 0.3s;
  box-shadow: none;
}
button.show-password {
  position: absolute;
  right: 0;
  top: 0;
  background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.4101 18.0002L20.7101 19.2902L20.7159 19.296C21.1048 19.6881 21.1022 20.3213 20.7101 20.7102L20.7043 20.716C20.3121 21.1049 19.679 21.1023 19.2901 20.7102L16.5901 18.0002L16.0001 17.4102L14.6601 16.0702L14.5901 16.0002L12.0842 13.4978C11.6728 13.5208 11.2537 13.3751 10.9394 13.0608C10.6257 12.747 10.48 12.3288 10.5023 11.9181L7.28007 8.70019L5.53007 7.00019L3.29007 4.71019C2.89794 4.31807 2.89794 3.68231 3.29007 3.29019C3.68219 2.89806 4.31794 2.89806 4.71007 3.29019L6.42007 5.00019L7.89007 6.47019L11.918 10.5024C12.3288 10.48 12.747 10.6257 13.0608 10.9395C13.3749 11.2537 13.5206 11.6725 13.4978 12.0838L17.4101 16.0002L19.4101 18.0002ZM8.59007 5.76019L11.3901 8.56019C11.5916 8.52488 11.7955 8.50482 12.0001 8.50019C13.9331 8.50019 15.5001 10.0672 15.5001 12.0002C15.4954 12.2047 15.4754 12.4086 15.4401 12.6102L18.1201 15.2902L18.9601 16.1302C20.1029 15.0695 21.0834 13.8464 21.8701 12.5002C22.0487 12.1908 22.0487 11.8096 21.8701 11.5002C21.2301 10.3902 17.7101 4.82018 11.7301 5.00018C10.6225 5.03304 9.52931 5.2598 8.50007 5.67018L8.59007 5.76019ZM14.0001 16.7802L15.2901 18.1202L15.5001 18.3302C14.4708 18.7406 13.3776 18.9673 12.2701 19.0002H12.0201C6.13007 19.0002 2.76007 13.5902 2.13007 12.5002C1.95144 12.1908 1.95144 11.8096 2.13007 11.5002C2.90448 10.1566 3.8714 8.93366 5.00007 7.87019L6.56007 9.39019L8.56007 11.3902C8.52476 11.5917 8.50471 11.7956 8.50007 12.0002C8.50007 12.017 8.50019 12.0338 8.50043 12.0505C8.52804 13.9833 10.1173 15.5278 12.0501 15.5002C12.2546 15.4955 12.4585 15.4755 12.6601 15.4402L13.9301 16.7102L14.0001 16.7802Z' fill='%231A202C'/%3E%3C/svg%3E");
  border: none;
  background-repeat: no-repeat;
  background-color: transparent;
  background-position: center;
  padding: 1.1rem;
  height: 24px;
  width: 48px;
  box-sizing: unset;
  transition: 0.3s;
}
button.show-password.show {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.8701 11.4999C21.2301 10.3899 17.7101 4.81987 11.7301 4.99987C6.20007 5.13987 3.00007 9.99987 2.13007 11.4999C1.95144 11.8093 1.95144 12.1905 2.13007 12.4999C2.76007 13.5899 6.13007 18.9999 12.0201 18.9999H12.2701C17.8001 18.8599 21.0101 13.9999 21.8701 12.4999C22.0487 12.1905 22.0487 11.8093 21.8701 11.4999ZM12.0001 15.4999C10.0671 15.4999 8.50007 13.9329 8.50007 11.9999C8.50007 10.0669 10.0671 8.49987 12.0001 8.49987C13.9331 8.49987 15.5001 10.0669 15.5001 11.9999C15.5001 13.9329 13.9331 15.4999 12.0001 15.4999ZM13.0608 13.0605C13.6466 12.4747 13.6466 11.525 13.0608 10.9392C12.475 10.3534 11.5252 10.3534 10.9394 10.9392C10.3537 11.525 10.3537 12.4747 10.9394 13.0605C11.5252 13.6463 12.475 13.6463 13.0608 13.0605Z' fill='%231A202C'/%3E%3C/svg%3E");
}

.communication-formulaires {
  scroll-margin-top: var(--sticky-top-down);
}

/* Modal */
.modal-content {
  padding: 3rem;
}
.modal-title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 110%;
}
.modal-header,
.modal-footer {
  border: none;
  justify-content: flex-start;
}
.modal-header .btn-close {
  margin-bottom: auto;
  margin-top: 0.25rem;
}

.kiubi-modal .section,
.kiubi-modal .container,
.kiubi-modal .row {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

.kiubi-modal .post-text .col-lg-8 {
  width: 100%;
}

/* Section et espacement */

.section {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.section-lg {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.section-md {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.section-sm {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.section[style*="background-image"] {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Suppression des espacements entre 2 sections identiques */

.section.bg-light:not([style*="background-image"]) + .section.bg-light:not([style*="background-image"]),
.section:not([class*="bg-"]):not([style*="background-image"]) + .section:not([class*="bg-"]):not([style*="background-image"]) {
  padding-top: 0;
}

/* Suppression des espacements des sections imbriquees */

.section .section:not([class*="bg-"]):not([style*="background-image"]):first-child {
  padding-top: 0;
}

.section .section:not([class*="bg-"]):not([style*="background-image"]):last-child {
  padding-bottom: 0;
}

/* Suppression des espacements des containers imbriques */

.container .container {
  padding-right: 0;
  padding-left: 0;
}
.section h2 {
  position: relative;
}

.section .titre-center h2 {
  display: inline-block;
  position: relative;
}

.section img {
  max-width: 100%;
  max-height: 100%;
}

.section.section-bg {
  background-size: cover;
}
.section .bg {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  background-size: cover;
  background-position: right;
}
.section .bg + * {
  position: relative;
}

/* Section Blog */

.section-blog .card-body {
  --bs-card-spacer-y: 2rem;
  --bs-card-spacer-x: 2rem;
  transition: 0.5s;
  transform: translateY(0);
  background: #fff;
}
.section-blog .card-title {
  --bs-card-title-spacer-y: 1.5rem;
}
.section-blog .card-title a {
  color: var(--noir);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 26px */
  letter-spacing: -0.2px;
  text-decoration: none;
  transition: 0.5s;
}

.section-blog .card-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  align-self: stretch;
  overflow: hidden;
  color: var(--noir);
  text-overflow: ellipsis;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 165%;
  opacity: 0.5;
  transition: 0.5s;
}

a.lien-absolu:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.section-blog .card {
  overflow: hidden;
  --bs-card-border-width: 2px;
  --bs-card-border-color: var(--primary-25);
  --bs-card-border-radius: 6px;
}
.section-blog .card .img-top {
  transition: 0.5s;
}
.section-blog .card:hover .img-top {
  transform: scale(1.15);
  transition: 0.5s;
}
.section-blog .card:hover .card-title a {
  text-decoration: underline;
  transition: 0.5s;
}
.section-blog .card:hover .card-text {
  opacity: 1;
  transition: 0.5s;
}
.section-blog .card:hover .card-body {
  transform: translateY(-2rem);
  transition: 0.5s;
}
.text-bg-primary {
  background-color: var(--primary) !important;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  color: var(--primary);
  text-decoration: none;
  background-color: var(--primary-25);
  border: 1.5px solid transparent;
  transition: 0.3s;
}
.page-item + .page-item {
  margin-left: 0.25rem;
}
.active > .page-link,
.page-link.active {
  z-index: 3;
  color: #fff;
  background-color: var(--primary);
  border-color: 1.5px solid var(--primary);
}
.page-link:hover {
  border-color: 1.5px solid var(--primary);
  transition: 0.3s;
}

/* Alertes */

/* Footer */
footer#footer {
  padding: 4.5rem 3rem 0 3rem;
  background: var(--noir);
  position: relative;
  color: #fff;
}
div#returnTop {
  position: fixed;
  right: 0.5rem;
  bottom: 6rem;
  z-index: 1;
  cursor: pointer;
}

.footer .nav-link,
.footer .link,
.footer .form-text {
  color: #fff;
}

/* Iframe */

.embed-responsive iframe {
  width: 100%;
  height: 100%;
}

/* Blog */

/* Agenda */
div#agenda {
  margin: 4rem 0;
}
div#agenda .post-agenda + .post-agenda {
  margin-top: 1.5rem;
}
.post-agenda .date-agenda,
.post-agenda .description-agenda {
  transition: 0.3s;
}
.post-agenda:nth-child(odd) .date-agenda,
.post-agenda:nth-child(odd) .description-agenda {
  background: var(--gris-clair);
}
.post-agenda .date-agenda {
  border: 1px solid transparent;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-right: none;
}
.post-agenda .description-agenda {
  border: 1px solid transparent;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-left: none;
}
.post-agenda:not(.post-agenda-detail):hover .date-agenda {
  background: #fff;
  border-color: var(--primary);
  transition: 0.3s;
}
.post-agenda:not(.post-agenda-detail):hover .description-agenda {
  background: var(--primary-25);
  border-color: var(--primary);
  transition: 0.3s;
}
.date-agenda {
  font-family: var(--font-title);
}
.date-agenda span.points {
  margin-bottom: auto;
  margin-top: 1rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.date-agenda .date {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.date-agenda .jour {
  font-size: 2rem;
  font-weight: bold;
  background: var(--primary-25);
  padding: 0.5rem 1rem;
  background: var(--rose);
  border-radius: 4px;
}

.intervenants > span {
  background: var(--rose);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.progress,
.progress-stacked {
  --bs-progress-bar-bg: var(--primary);
  --bs-progress-bg: #fff;
}

/* Plan du site */

/* Media queries */

.hamburger {
  font: inherit;
  display: block;
  overflow: visible;
  margin: 0;
  cursor: pointer;
  transition-timing-function: linear;
  transition-duration: 0.15s;
  transition-property: opacity, filter;
  text-transform: none;
  color: inherit;
  border: 0;
}
.hamburger-box {
  position: relative;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
}
.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
  position: absolute;
  width: 32px;
  height: 4px;
  transition-timing-function: ease;
  transition-duration: 0.15s;
  transition-property: transform;
  background-color: var(--noir);
}
.hamburger-inner:after,
.hamburger-inner:before {
  display: block;
  content: "";
}
.hamburger--squeeze .hamburger-inner {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 75ms;
}
.hamburger-inner:before {
  top: -10px;
}
.hamburger--squeeze .hamburger-inner:before {
  transition:
    top 75ms ease 0.12s,
    opacity 75ms ease;
}
.hamburger-inner:after {
  bottom: -10px;
  width: 24px;
}
.hamburger--squeeze .hamburger-inner:after {
  transition:
    bottom 75ms ease 0.12s,
    transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(45deg);
}
.hamburger--squeeze.is-active .hamburger-inner:before {
  top: 0;
  transition:
    top 75ms ease,
    opacity 75ms ease 0.12s;
  opacity: 0;
}
.hamburger--squeeze.is-active .hamburger-inner:after {
  bottom: 0;
  width: 32px;
  transition:
    bottom 75ms ease,
    transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  transform: rotate(-90deg);
}

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

@media (max-width: 1199px) {
}
@media (min-width: 992px) and (max-width: 1399.98px) {
  .container-lg-fluid {
    max-width: 100%;
    padding: 0 3rem;
  }
}
@media (max-width: 1080px) {
}
@media (min-width: 992px) and (max-width: 1080px) {
  .container-lg-fluid {
    max-width: 100%;
    padding: 0 3rem;
  }
}
@media (min-width: 992px) {
}
@media (max-width: 991.98px) {
  .navbar-inner .accroche-site {
    display: block;
  }
  nav#navbar-main {
    padding: 1rem 0;
  }

  div#main .section.bg-light {
    padding: 5em 0;
  }

  #sidebar {
    margin-top: 0;
  }

  .carte-accueil {
    background-image: none !important;
  }

  .groupe-infos-projet {
    margin-bottom: 20px;
  }

  .navbar-toggler {
    padding: 0.5rem;
    border: none;
    box-shadow: none !important;
  }
  .navbar-inner .logo-site > img {
    width: 64px;
    transition: 0.3s;
  }
  .navbar-inner {
    flex-grow: 1;
  }
  div#navbar-menu {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    background: #fff;
    transition: none;
    height: calc(100vh - 93px);
    width: 100%;
    padding-bottom: 5rem;
  }
  #header .header-top {
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: 0.3s;
  }
  #header .header-top .nav {
    flex-direction: column;
  }
  div#navbar-menu .navbar-nav {
    padding: 2rem 2rem 2rem 1rem;
    width: 100%;
  }
  .mega-menu .page-1 > .nav-link {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    font-size: 18px;
    font-weight: 500;
    line-height: 145%;
    padding: 0.5rem;
  }
  .mega-menu .page-1 > .nav-link,
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2 > a {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    font-size: 18px;
    font-weight: 500;
    line-height: 145%;
    padding: 0.5rem;
    justify-content: space-between;
    white-space: normal;
  }
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2.encart a {
    flex-direction: column;
    padding: 2rem;
  }
  .mega-menu .page-1.accueil > .nav-link .menu-title {
    display: block;
    margin-left: 0.75rem;
  }
  div#navbar-menu .navbar-nav .nav-item {
    width: 100%;
    margin-bottom: 0.5rem;
    margin-right: 0;
  }
  .mega-menu .page-1 > .nav-link:after {
    position: relative !important;
    bottom: unset !important;
    transform: rotate(-90deg) !important;
    background-position: center !important;
    left: 0 !important;
  }
  .mega-menu .page-1.has-child > .dropdown {
    position: absolute;
    width: 100vw;
    background: #fff;
    padding: 2rem;
    left: 100%;
    top: 0;
    overflow: hidden;
    overflow-y: auto;
    height: calc(100vh - 94.4px);
    max-height: none;
    opacity: 1;
    visibility: visible;
    padding-bottom: 6rem;
    box-shadow: none;
  }

  .page-spacer .dropdown-toggle + .dropdown-mega-menu .dropdown-menu .column.column-2 {
    column-count: 1;
  }
  .mega-menu .page-1.has-child.expand > .dropdown {
    top: 0;
    z-index: 2;
  }
  .mega-menu .page-2.has-child.expand > .dropdown {
    top: 0;
    z-index: 3;
    overflow-y: auto !important;
  }

  #navbar-menu:not(.expand-level-2) .scroll-y > .dropdown {
    overflow: hidden !important;
    overflow-y: auto !important;
  }

  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu {
    position: unset !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    column-count: 1 !important;
  }
  #header .btn-reservation-container .btn {
    padding: 1.5rem 2rem;
    text-align: center;
    justify-content: center;
  }

  .scroll {
    overflow: hidden;
    overflow-y: auto;
    max-height: calc(100vh - 94.4px);
    padding-bottom: 2rem;
  }

  div#navbar-menu {
    transition: transform 0.3s;
    transform: none;
  }
  div#navbar-menu.expand-level-1 {
    transition: transform 0.3s;
    transform: translateX(-100%);
  }
  div#navbar-menu.expand-level-2 {
    transition: transform 0.3s;
    transform: translateX(-200%);
  }
  .mega-menu .page-1.has-child.expand > .dropdown > .container {
    padding: 0;
    max-width: none;
  }
  .mega-menu .sommaire {
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .mega-menu .sommaire:before {
    content: "";
    position: absolute;
    top: -2rem;
    left: -2rem;
    width: calc(100% + 4rem);
    height: calc(100% + 3.5rem);
    background: var(--vert-15);
  }
  .mega-menu .sommaire .back {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    color: var(--noir-vert, #122840);
    padding: 1rem 0;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 165%;
    z-index: 1;
  }
  .mega-menu .sommaire .back:before {
    content: "";
    width: 24px;
    height: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='10' viewBox='0 0 25 10' fill='none'%3E%3Cpath d='M1 5H23.5M1 5L4.75 8.75M1 5L4.75 1.25' stroke='%23122840' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    margin-right: 0.75rem;
  }
  .mega-menu .sommaire a {
    font-size: 32px !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 112% !important; /* 35.84px */
    letter-spacing: -0.32px !important;
    z-index: 1;
    color: var(--primary) !important;
  }
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2 {
    margin-bottom: 0.5rem;
  }
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2 > a > .menu-title {
    padding: 0;
    border: none;
  }
  .mega-menu .page-2.has-child > a:after {
    content: "";
    margin: 0;
    border: none;
    background-image: url("data:image/svg+xml,%0A%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon / arrow'%3E%3Cpath id='Vector' fill-rule='evenodd' clip-rule='evenodd' d='M9.25 9.75L6.25 9.75C6.25 7.75 3.25 3.75 0.250001 3.75L0.250001 0.749999C2.25 0.749999 7.75 3.75 7.75 7.75C7.75 3.75 13.25 0.75 15.25 0.75L15.25 3.75C12.25 3.75 9.25 7.75 9.25 9.75Z' fill='%235A5FDF'/%3E%3C/g%3E%3C/svg%3E");
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: bottom;
    transform: rotate(-90deg);
  }
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2.has-child > .dropdown .dropdown-menu {
    column-count: 1 !important;
    padding-top: 0 !important;
    display: block !important;
    position: unset !important;
    background: none !important;
    border: none !important;
  }
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2.has-child > .dropdown .dropdown-menu > .page-3 {
    margin-bottom: 0.5rem;
  }
  .mega-menu .page-1.has-child > .dropdown > .container > .dropdown-menu > .page-2.has-child > .dropdown .dropdown-menu > .page-3 > a {
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 145%;
    white-space: normal;
    padding: 0.5rem;
  }
  div#navbar-menu .header-top {
    padding: 2rem;
  }
  div#navbar-menu .header-top > .container {
    padding: 0 15px;
  }
  .menu-top .nav-item:not(:last-child):after {
    content: none;
  }
  #header .header-top .nav li.nav-item {
    margin-bottom: 1rem;
  }
  .header-top .nav-link {
    font-size: 14.5px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    padding: 0.5rem 0;
    opacity: 1;
    text-align: left;
    display: inline-block;
    border-bottom: 2px solid rgba(45, 54, 72, 0.15);
  }

  h1,
  .h1 {
    font-size: 38px;
    line-height: 100%;
  }
  h2 {
    font-size: 32px;
    letter-spacing: 0;
  }
  .modal-content {
    padding: 1rem;
  }
  div#banner {
    padding-top: 96px;
  }

  .scroll {
    overflow: hidden;
    overflow-y: auto;
    max-height: calc(100vh - 94.4px);
    padding-bottom: 2rem;
  }
}

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

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

#navbar-main {
  border-radius: 0 0 4px 4px;
}

.badge-categorie {
  position: absolute;
  left: 10px;
  top: 0;
  border-radius: 0 0 5px 5px;
  background: var(--noir);
  color: #fff;
  font-size: 12px;
  padding: 2px 6px;
}

/* Boutons nav carousel galerie projet */
.owl-gallery-projet .owl-nav {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.owl-gallery-projet img {
  height: 300px !important;
  object-fit: cover; /* remplit sans déformer */
}

.owl-gallery-projet .owl-nav button,
.owl-gallery-projet .owl-nav div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50% !important;
  background-color: #f6f3ed !important;
  color: #1b2a4a !important;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.owl-gallery-projet .owl-nav button:hover,
.owl-gallery-projet .owl-nav div:hover {
  background-color: #1b2a4a !important;
  color: #f6f3ed !important;
}

.owl-gallery-projet .owl-nav button.disabled,
.owl-gallery-projet .owl-nav div.disabled {
  opacity: 0.4;
}

.info-projet {
  border-radius: 10px;
  height: 100%;
  padding: 30px;
  background: var(--gris-clair);
  color: var(--noir);
}

.info-projet hr {
  color: #934820;
}

/*
.groupe-infos-projet .col-6:nth-child(2n + 1) {
  margin-top: -10px;
}
  */

.section-projet h2 {
  font-size: 22px;
}

.section-projet p + h2,
.section-projet ul + h2 {
  margin-top: 2rem;
}

.info-projet span {
  font-size: 20px;
  color: var(--primary);
}

.billet-temoignage .post-content {
  position: relative;
}

.billet-temoignage .post-content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  z-index: -1;
  height: 100%;
  background: url(/theme/fr/assets/img/quote.png) no-repeat center;
  pointer-events: none;
  opacity: 0.5;
}

.sommaire-lien ul {
  list-style-type: none;
  padding-left: 0;
}

.sommaire-lien ul li {
  margin-bottom: 15px;
}

.sommaire-lien ul li a {
  text-decoration: none;
}

.blockquote {
  font-weight: 200 !important;
  font-style: italic !important;
}

.sidebar-map {
  /* On combine la couleur de fond, un dégradé de transition, et l'image */
  background-color: var(--gris-clair);
  background-image: linear-gradient(to right, var(--gris-clair) 30%, transparent 80%), url(/theme/fr/images/carte-map.jpg);

  background-size: cover, contain; /* Le dégradé couvre tout, l'image suit ses règles */
  background-position: left, right;
  background-repeat: no-repeat;

  width: 100%;
  border-radius: 5px;
  position: relative;

  /* Ton filtre de base */
  filter: grayscale(100%) sepia(23%) brightness(110%) contrast(90%);

  /* Transition fluide pour tout le bloc */
  transition: all 0.4s ease-in-out;

  /* Optionnel : pour que le bloc ressorte sur le fond blanc de la page */
  border: 1px solid rgba(0, 0, 0, 0.05);
  padding-right: 6rem !important;
}

.sidebar-map:hover {
  /* On réveille les couleurs sans casser le raccord */
  filter: grayscale(0%) sepia(5%) brightness(105%) contrast(105%);

  /* Effet "pop" sur fond blanc : une ombre légère et un léger décalage */
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}
/* Le lien passe au-dessus */
.sidebar-map a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 700;
  color: var(--bs-heading-color);
}
.sidebar-map a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.sidebar-formation ul {
  list-style-type: none;
  padding-left: 0;
}

.sidebar-formation ul li {
  padding-bottom: 15px;
}

.sidebar-formation ul li i {
  color: #8a7d62;
}

.composant-carrousel .jumbotron {
  position: relative;
  overflow: hidden;
}

.composant-carrousel .jumbotron::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image: var(--bg);
  background-size: cover;
  background-position: center;

  transform: scale(1);
  animation: slowZoom 10s ease-in-out infinite alternate;

  z-index: 0;
}

.composant-carrousel .jumbotron .container {
  position: relative;
  z-index: 2;
}

@keyframes slowZoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.25);
  }
}
