@charset "UTF-8";
/*
	PUBLIC
	Importe tous les styles de la partie publique du site
*/
/*
    MIXINS
*/
/**
 * Couleurs
 */
:root {
  --color-salmon: #FF928E;
  --color-redwine: #6B2737;
  --color-green: #CECF47;
  --color-grey: #D8D6D6;
  --swiper-theme-color: #CECF47;
  --swiper-pagination-bullet-border-radius: 0;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-width: 27px;
  --swiper-pagination-bullet-height: 1px;
}

/**
 * Liste des breakpoints
 */
/**
 * Gestion des breakpoints
 */
/**
 * Adaptation responsive des tailles de police
 */
/*
	GLOBAL
	Feuille de style générale
*/
/*-----------------------------------------------------------------------
  == Reset
----------------------------------------------------------------------- */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

body, h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-size: 0.9375rem;
  font-family: "Merriweather Sans", sans-serif;
  font-weight: 300;
  line-height: 1.6;
  color: #373737;
}
@media (max-width: 1199px) {
  body.menu-open {
    height: 100%;
    overflow: hidden;
  }
}

p, ul, ol {
  margin: 0;
  padding: 0;
}

/*-----------------------------------------------------------------------
  == Mise en page
----------------------------------------------------------------------- */
.wrap {
  margin: 0 auto;
  padding: 0 30px;
  max-width: 1260px;
}

.wrap--wide {
  max-width: 1430px;
}

.page__main {
  padding: 0 0 80px;
}

.page__title {
  text-align: center;
}

.content {
  font-size: 0.9375rem;
  line-height: 2;
}
.content > *:not(:last-child) {
  margin-bottom: 0.8em;
}
.content ul {
  padding-left: 20px;
  list-style-type: square;
}
.content ul li::marker {
  color: var(--color-green);
}
.content h2 {
  margin: 1.2em 0 0.8em;
  font-size: 1.375rem;
  font-weight: 700;
  color: black;
}
.content a {
  color: var(--color-green);
}

#cmplz-document {
  max-width: 100% !important;
}

/*-----------------------------------------------------------------------
  == Titres
----------------------------------------------------------------------- */
h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
  text-wrap: balance;
}

/*-----------------------------------------------------------------------
  == Listes
----------------------------------------------------------------------- */
ul[role=list], ol[role=list] {
  list-style: none;
}

/*-----------------------------------------------------------------------
  == Liens et boutons
----------------------------------------------------------------------- */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

.btn, div.gform_wrapper.gravity-theme .gform_footer .gform_button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 19px 29px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  color: white;
  cursor: pointer;
  overflow: hidden;
  -webkit-transition: 0.5s cubic-bezier(0.2, 1, 0.3, 1) all;
  transition: 0.5s cubic-bezier(0.2, 1, 0.3, 1) all;
}
.btn svg, div.gform_wrapper.gravity-theme .gform_footer .gform_button svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  fill: white;
  -webkit-transition: 0.5s cubic-bezier(0.2, 1, 0.3, 1) fill;
  transition: 0.5s cubic-bezier(0.2, 1, 0.3, 1) fill;
}
.btn span, div.gform_wrapper.gravity-theme .gform_footer .gform_button span, .btn svg, div.gform_wrapper.gravity-theme .gform_footer .gform_button svg {
  position: relative;
  z-index: 2;
}
.btn::after, div.gform_wrapper.gravity-theme .gform_footer .gform_button::after {
  content: "";
  z-index: 1;
  position: absolute;
  right: 100%;
  bottom: 0;
  left: 0;
  top: 0;
  background: white;
  -webkit-transition: 0.5s cubic-bezier(0.2, 1, 0.3, 1) right;
  transition: 0.5s cubic-bezier(0.2, 1, 0.3, 1) right;
}
.btn:hover::after, div.gform_wrapper.gravity-theme .gform_footer .gform_button:hover::after {
  right: 0;
}

@media (min-width: 992px) {
  .btn--wide {
    padding-left: 59px;
    padding-right: 59px;
  }
}

.btn--alt {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.8125rem;
}

.btn--primary, div.gform_wrapper.gravity-theme .gform_footer .gform_button {
  background: var(--color-salmon);
  border-color: var(--color-salmon);
}
.btn--primary:hover, div.gform_wrapper.gravity-theme .gform_footer .gform_button:hover {
  color: var(--color-salmon);
}
.btn--primary:hover svg, div.gform_wrapper.gravity-theme .gform_footer .gform_button:hover svg {
  fill: var(--color-salmon);
}

.btn--primary-outline {
  background: transparent;
  border-color: var(--color-salmon);
  color: var(--color-salmon);
}
.btn--primary-outline::after {
  background: var(--color-salmon);
}
.btn--primary-outline svg {
  fill: var(--color-salmon);
}
.btn--primary-outline:hover {
  color: white;
}
.btn--primary-outline:hover svg {
  fill: white;
}

.btn--secondary {
  background: var(--color-redwine);
}
.btn--secondary:hover {
  color: var(--color-redwine);
}
.btn--secondary:hover svg {
  fill: var(--color-redwine);
}

.btn--outline {
  border: 1px solid white;
}
.btn--outline:hover {
  color: var(--color-green);
}
.btn--outline:hover svg {
  fill: var(--color-green);
}

.btn--noborder {
  border: 0;
  padding: 20px 30px;
}

.dlm-xhr-loading-gif, .dlm-xhr-progress {
  display: none !important;
}

/*-----------------------------------------------------------------------
  == Médias
----------------------------------------------------------------------- */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

/*-----------------------------------------------------------------------
  == Formulaires
----------------------------------------------------------------------- */
input, button, textarea, select {
  font: inherit;
}

input {
  border-radius: 0;
}

input[type=search] {
  -webkit-appearance: none;
}

textarea:not([rows]) {
  min-height: 10em;
}

/*-----------------------------------------------------------------------
  == Tableaux
----------------------------------------------------------------------- */
table {
  border-collapse: collapse;
}

/*-----------------------------------------------------------------------
  == Carousels
----------------------------------------------------------------------- */
.swiper-pagination-bullet {
  -webkit-transition: 0.2s ease all;
  transition: 0.2s ease all;
}

.swiper-pagination-bullet-active {
  height: 4px;
}

.swiper-button-next, .swiper-button-prev {
  z-index: 10;
}

.slide-prev, .slide-next {
  position: absolute;
  z-index: 5;
  top: calc(50% - 35px);
  display: -ms-grid;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  cursor: pointer;
  background: white;
  border: 1px solid black;
  -webkit-transition: 0.3s ease border-color;
  transition: 0.3s ease border-color;
}
.slide-prev.swiper-button-lock, .slide-next.swiper-button-lock {
  display: none;
}
.slide-prev:hover, .slide-next:hover {
  border-color: black;
}

.slide-prev {
  left: 10px;
}

.slide-next {
  right: 10px;
}

/*-----------------------------------------------------------------------
  == Fenêtres modales
----------------------------------------------------------------------- */
.fancybox__container {
  --fancybox-bg: rgba(24, 24, 27, 0.85);
}

/*-----------------------------------------------------------------------
  == Utilitaires
----------------------------------------------------------------------- */
/* Masque le contenu visuellement */
.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

/*
    HEADER
*/
@media (max-width: 991px) {
  body.home .header > .wrap {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 992px) {
  body.home .header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    padding: 30px 0 0;
  }
}

@media (max-width: 991px) {
  .header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 80px;
  }
}

.header__layout {
  position: relative;
  width: 100%;
  background: white;
}
@media (min-width: 992px) {
  .header__layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 18px 18px 18px 30px;
  }
}
body:not(.home) .header__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 48px 0 !important;
}

.header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 991px) {
  .header__actions {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: white;
  }
  .header__actions > * {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media (min-width: 992px) {
  .header__actions {
    gap: 18px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .header__actions .btn, .header__actions div.gform_wrapper.gravity-theme .gform_footer .gform_button, div.gform_wrapper.gravity-theme .gform_footer .header__actions .gform_button {
    padding-left: 19px;
    padding-right: 19px;
  }
}

.nav-menu {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  font-size: 0.8125rem;
}
.nav-menu li {
  list-style: none;
}
.nav-menu a {
  color: #333;
  text-decoration: none;
}
@media (max-width: 991px) {
  .nav-menu {
    border-top: 1px solid #E7E7E7;
    padding: 20px 30px;
  }
  .nav-menu a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 15px 0;
  }
}
@media (min-width: 992px) {
  .nav-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 25px;
    padding: 0 20px;
  }
  .nav-menu > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
  }
  .nav-menu > li > a {
    position: relative;
    display: block;
    padding: 15px 0;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
  }
  .nav-menu > li > a::after {
    content: "";
    position: absolute;
    top: 100%;
    left: calc(50% - 15px);
    width: 0;
    height: 2px;
    background: var(--color-salmon);
    -webkit-transition: 0.3s cubic-bezier(0.2, 1, 0.3, 1) width;
    transition: 0.3s cubic-bezier(0.2, 1, 0.3, 1) width;
  }
  .nav-menu > li:hover > a, .nav-menu > li > a:hover, .nav-menu > li > a:focus {
    outline: none;
  }
  .nav-menu > li:hover > a::after, .nav-menu > li > a:hover::after, .nav-menu > li > a:focus::after {
    width: 30px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .nav-menu {
    gap: 20px;
  }
}

.header__launch {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  min-height: 85px;
  padding: 30px 56px;
  background: var(--color-green);
  color: white;
}
@media (min-width: 992px) {
  .header__launch {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 30px;
    padding: 0;
  }
}
.header__launch .btn, .header__launch div.gform_wrapper.gravity-theme .gform_footer .gform_button, div.gform_wrapper.gravity-theme .gform_footer .header__launch .gform_button {
  padding-left: 20px;
  padding-right: 20px;
}

.header__launch__title {
  font-size: 1.25rem;
  font-weight: 700;
}
@media (max-width: 991px) {
  .header__launch__title {
    text-align: center;
  }
}

.header__launch__close {
  position: absolute;
  top: 20px;
  right: 0;
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0 20px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
@media (min-width: 992px) {
  .header__launch__close {
    bottom: 20px;
  }
}
.header__launch__close svg {
  fill: white;
  -webkit-transition: 0.3s ease transform;
  transition: 0.3s ease transform;
}
.header__launch__close:hover svg {
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}

/* Mobile */
@media (max-width: 991px) {
  #main-nav {
    display: none;
  }
}

#toggle-main-nav {
  position: absolute;
  top: 10px;
  right: 30px;
  z-index: 20;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
  line-height: 1;
  background: transparent;
  cursor: pointer;
  border: none;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media (min-width: 992px) {
  #toggle-main-nav {
    display: none;
  }
}

.toggle-main-nav__burger {
  position: relative;
  width: 30px;
  height: 15px;
  margin: 0;
  padding: 0;
}
.toggle-main-nav__burger span, .toggle-main-nav__burger::before, .toggle-main-nav__burger::after {
  position: absolute;
  left: 0;
  width: 30px;
  height: 1px;
  background: black;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.toggle-main-nav__burger::before, .toggle-main-nav__burger::after {
  content: "";
  top: 0;
}
.toggle-main-nav__burger span {
  top: 7px;
}
.toggle-main-nav__burger::after {
  top: 14px;
}
#toggle-main-nav[aria-expanded=true] .toggle-main-nav__burger span {
  opacity: 0;
}
#toggle-main-nav[aria-expanded=true] .toggle-main-nav__burger::before, #toggle-main-nav[aria-expanded=true] .toggle-main-nav__burger::after {
  top: 7px;
}
#toggle-main-nav[aria-expanded=true] .toggle-main-nav__burger::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#toggle-main-nav[aria-expanded=true] .toggle-main-nav__burger::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*
    FOOTER
*/
.footer {
  padding: 25px 0;
}
@media (max-width: 991px) {
  .footer {
    padding-bottom: 81px;
  }
}

.footer__layout {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media (max-width: 767px) {
  .footer__layout {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
  }
  .footer__layout > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .footer__layout > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .footer__layout > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .footer__layout > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}
@media (min-width: 768px) {
  .footer__layout {
    -ms-grid-columns: auto 1fr auto;
    grid-template-columns: auto 1fr auto;
  }
}

.footer__bere, .footer__boreale {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (max-width: 767px) {
  .footer__bere {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
}

@media (max-width: 767px) {
  .footer__boreale {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
}

@media (max-width: 767px) {
  .footer__middle {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}

.footer__address {
  text-align: center;
  font-style: normal;
  font-size: 0.8125rem;
  line-height: 1.6;
}

.nav-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 10px;
  text-align: center;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
}
.nav-footer li {
  list-style: none;
}
.nav-footer li a {
  color: rgba(255, 255, 255, 0.5);
}
.nav-footer li a:hover {
  text-decoration: none;
}
.nav-footer li:not(:last-child)::after {
  content: "|";
  padding: 0 5px;
}

/*
    FORMULAIRES
*/
div.gform_wrapper.gravity-theme .gform_fields {
  grid-column-gap: 0;
  grid-row-gap: 30px;
}
@media (min-width: 480px) {
  div.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 30px;
  }
}
div.gform_wrapper.gravity-theme .gform_required_legend {
  display: none;
}
div.gform_wrapper.gravity-theme .gfield_label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
  font-weight: 300;
  font-size: 0.9375rem;
}
div.gform_wrapper.gravity-theme .gform-field-label {
  cursor: pointer;
}
div.gform_wrapper.gravity-theme .field-name .gfield_label {
  padding-left: 30px;
  background: url(../img/card.svg) no-repeat left center;
}
div.gform_wrapper.gravity-theme .field-email .gfield_label {
  padding-left: 30px;
  background: url(../img/envelope.svg) no-repeat left center;
}
div.gform_wrapper.gravity-theme .field-phone .gfield_label {
  padding-left: 30px;
  background: url(../img/phone.svg) no-repeat left center;
}
div.gform_wrapper.gravity-theme .field-message .gfield_label {
  padding-left: 30px;
  background: url(../img/message.svg) no-repeat left center;
}
div.gform_wrapper.gravity-theme .gfield_required {
  color: var(--color-green);
}
div.gform_wrapper.gravity-theme input[type=color], div.gform_wrapper.gravity-theme input[type=date], div.gform_wrapper.gravity-theme input[type=datetime-local], div.gform_wrapper.gravity-theme input[type=datetime], div.gform_wrapper.gravity-theme input[type=email], div.gform_wrapper.gravity-theme input[type=month], div.gform_wrapper.gravity-theme input[type=number], div.gform_wrapper.gravity-theme input[type=password], div.gform_wrapper.gravity-theme input[type=search], div.gform_wrapper.gravity-theme input[type=tel], div.gform_wrapper.gravity-theme input[type=text], div.gform_wrapper.gravity-theme input[type=time], div.gform_wrapper.gravity-theme input[type=url], div.gform_wrapper.gravity-theme input[type=week], div.gform_wrapper.gravity-theme select, div.gform_wrapper.gravity-theme textarea {
  padding: 13px 15px;
  font-size: 0.9375rem;
  border: 1px solid white;
  color: white;
  background: black;
  -webkit-transition: 0.2s ease all;
  transition: 0.2s ease all;
}
div.gform_wrapper.gravity-theme input[type=color]:focus, div.gform_wrapper.gravity-theme input[type=date]:focus, div.gform_wrapper.gravity-theme input[type=datetime-local]:focus, div.gform_wrapper.gravity-theme input[type=datetime]:focus, div.gform_wrapper.gravity-theme input[type=email]:focus, div.gform_wrapper.gravity-theme input[type=month]:focus, div.gform_wrapper.gravity-theme input[type=number]:focus, div.gform_wrapper.gravity-theme input[type=password]:focus, div.gform_wrapper.gravity-theme input[type=search]:focus, div.gform_wrapper.gravity-theme input[type=tel]:focus, div.gform_wrapper.gravity-theme input[type=text]:focus, div.gform_wrapper.gravity-theme input[type=time]:focus, div.gform_wrapper.gravity-theme input[type=url]:focus, div.gform_wrapper.gravity-theme input[type=week]:focus, div.gform_wrapper.gravity-theme select:focus, div.gform_wrapper.gravity-theme textarea:focus {
  outline: none;
  border-color: var(--color-green);
  -webkit-box-shadow: 0 0 10px 0 rgba(206, 207, 71, 0.75);
          box-shadow: 0 0 10px 0 rgba(206, 207, 71, 0.75);
}
div.gform_wrapper.gravity-theme input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 18px;
  margin: 0 5px 0 0;
  border: 1px solid white;
}
div.gform_wrapper.gravity-theme input[type=radio]::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 12px;
  -webkit-transform: scale(0);
          transform: scale(0);
  background: var(--color-green);
  -webkit-transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
}
div.gform_wrapper.gravity-theme input[type=radio]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
div.gform_wrapper.gravity-theme .gfield textarea.medium {
  height: 145px;
}
div.gform_wrapper.gravity-theme .gform_footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-bottom: 0;
}
div.gform_wrapper.gravity-theme .gform_footer .gform_button {
  margin: 0;
  padding: 20px 30px;
  border: 0;
}
.popin div.gform_wrapper.gravity-theme .gform_footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.popin div.gform_wrapper.gravity-theme .gform_footer .gform_button {
  -ms-flex-preferred-size: 220px;
      flex-basis: 220px;
}
div.gform_wrapper.gravity-theme .gform_footer_mandatory_fields {
  width: 100%;
  text-align: center;
  padding-top: 15px;
  font-size: 0.75rem;
  font-style: italic;
}
div.gform_wrapper.gravity-theme .gform_footer_legal {
  padding-top: 45px;
  font-size: 0.75rem;
}

.gform_confirmation_message {
  font-size: 0.9375rem;
  line-height: 2;
}

/*
	FRONT PAGE
*/
/* --- Styles communs --- */
.section-title, .page__title {
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 1.6666666667rem + 1.0416666667vw, 2.5rem);
  margin: 0 0 30px;
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  color: black;
}
.section-title span, .page__title span {
  color: var(--color-green);
}
.section-title sup, .page__title sup {
  font-size: 70%;
  padding-left: 0.2em;
}

.section-title--light {
  color: white;
}

.section-title--center {
  text-align: center;
}

.has-black-bg {
  background: black;
  color: white;
}

.block-text {
  font-size: 0.9375rem;
  line-height: 2;
}
.block-text > * + * {
  margin-top: 0.8em;
}
.block-text ul {
  padding-left: 20px;
  list-style-type: square;
}
.block-text ul li::marker {
  color: var(--color-green);
}

/* --- Couverture --- */
.cover {
  position: relative;
}
.cover::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: url(../img/pattern-small.svg) no-repeat center -290px;
  opacity: 0.6;
}
@media (min-width: 992px) {
  .cover::before {
    background: url(../img/pattern.svg) no-repeat bottom -430px center;
  }
}

.cover__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.cover__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.cover__btn-callback {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media (max-width: 991px) {
  .cover__btn-callback {
    display: none;
  }
}

.cover__content {
  position: relative;
  z-index: 2;
  padding: 45px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media (min-width: 992px) {
  .cover__content {
    min-height: 800px;
    padding: 265px 30px 150px;
  }
}

.cover__title {
  font-size: 2.1875rem;
  font-size: clamp(2.1875rem, 1.6666666667rem + 2.6041666667vw, 3.75rem);
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  color: white;
}

@media (max-width: 991px) {
  .cover__logo {
    width: 150px;
  }
}

/* --- Résidence --- */
.residence {
  position: relative;
  padding: 80px 0;
}
.residence::before {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: url(../img/pattern-small.svg) no-repeat top -100px center;
  opacity: 0.6;
}
@media (min-width: 992px) {
  .residence::before {
    top: -25px;
    background: url(../img/pattern.svg) no-repeat top center;
  }
}
.residence > .wrap {
  position: relative;
  z-index: 3;
}

.residence__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 991px) {
  .residence__layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}
@media (min-width: 992px) {
  .residence__layout > * {
    width: 50%;
  }
}

.residence__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
}
@media (min-width: 992px) {
  .residence__content {
    padding-right: 10%;
  }
}
.residence__content .section-title {
  margin: 0;
}

.residence__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.residence__plus {
  padding: 30px;
}
@media (min-width: 992px) {
  .residence__plus {
    padding-left: 50px;
    padding-right: 50px;
  }
}

.residence__plus__title {
  margin: 0 0 30px;
  font-size: 1.375rem;
  font-weight: 700;
}
.residence__plus__title span {
  color: var(--color-green);
}

.residence__plus__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
  row-gap: 30px;
  font-style: italic;
}
@media (min-width: 1200px) {
  .residence__plus__list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.residence__plus__list li {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.residence__plus__list li figure {
  width: 40px;
  padding-right: 10px;
}
.residence__plus__list li figure img {
  display: block;
  margin: 0 auto;
}
.residence__plus__list li p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.residence__lots {
  margin: 50px -20px 0;
  padding-left: 20px;
  padding-right: 20px;
}
.residence__lots .swiper-slide {
  height: auto;
}
.residence__lots .swiper-pagination {
  position: static;
  padding-top: 15px;
}
.residence__lots .slide-prev {
  top: 251px;
  left: 0;
}
.residence__lots .slide-next {
  top: 251px;
  right: 0;
}

.residence__lot {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid black;
  background: white;
}

.residence__lot__img {
  background: #efefef;
}
@media (max-width: 1199px) {
  .residence__lot__img {
    height: 320px;
  }
}
@media (min-width: 1200px) {
  .residence__lot__img {
    aspect-ratio: 16/9;
  }
}
.residence__lot__img img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.residence__lot__content {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 25px;
}
.residence__lot__content .btn, .residence__lot__content div.gform_wrapper.gravity-theme .gform_footer .gform_button, div.gform_wrapper.gravity-theme .gform_footer .residence__lot__content .gform_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}

.residence__lot__name {
  margin: 0 0 15px;
  font-family: "Ubuntu", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: #373737;
}

.residence__lot__date {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 25px;
}
@media (max-width: 1199px) {
  .residence__lot__date {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.residence__lot__date div {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 15px;
  text-transform: uppercase;
  font-size: 0.875rem;
  background: black;
  color: white;
  border: 1px solid white;
  border-width: 1px 1px 0;
}
.residence__lot__date div svg {
  fill: var(--color-green);
}

.residence__lot__text {
  margin-bottom: 15px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* --- Visite --- */
.visit__banner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 390px;
  padding: 0 30px 80px;
}
.visit__banner figure {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.visit__banner img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom center;
     object-position: bottom center;
  width: 100%;
  height: 100%;
}
.visit__banner .section-title {
  position: relative;
  z-index: 3;
  margin: 0;
}
.visit__banner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: url(../img/pattern.svg) no-repeat left 50% bottom calc(50% - 270px);
}

.visit__viewer {
  position: relative;
  z-index: 2;
  margin-top: -80px;
  border: 1px solid black;
  background: white;
}
.visit__viewer iframe {
  display: block;
  width: 100%;
  border: 0;
}

.visit__btn {
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding: 30px 0 80px;
  background: url(../img/pattern.svg) no-repeat bottom -30px center;
}

/* --- Logements --- */
.logements {
  position: relative;
  margin: -15px 0 80px;
  padding-top: 15px;
}

.logement {
  list-style: none;
}
.logement:not(:last-child) {
  margin-bottom: 15px;
}

.logement__head {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50% calc(50% - 70px) 70px;
  grid-template-columns: 50% calc(50% - 70px) 70px;
  background: black;
}
@media (max-width: 991px) {
  .logement__head {
    -ms-grid-rows: 70px 70px;
    grid-template-rows: 70px 70px;
  }
}
@media (min-width: 992px) {
  .logement__head {
    -ms-grid-columns: 280px 200px auto 80px;
    grid-template-columns: 280px 200px auto 80px;
    min-height: 80px;
  }
  .logement__head > *:not(:last-child) {
    border-right: 1px solid white;
  }
}
.logement__head > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 0;
  text-align: center;
  background: black;
  color: white;
}

.logement__name {
  padding: 0 40px;
}
@media (max-width: 991px) {
  .logement__name {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    padding: 0 20px;
  }
}
.logement__name h3 {
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 1.0416666667rem + 0.4166666667vw, 1.375rem);
  font-family: "Ubuntu", sans-serif;
}
.logement__name span {
  color: var(--color-green);
}

.logement__available {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  padding: 0 20px;
}
@media (max-width: 991px) {
  .logement__available {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    border-top: 1px solid white;
    border-right: 1px solid white;
  }
}
.logement__available svg {
  fill: var(--color-green);
}
.logement__available em {
  font-style: italic;
}

.logement__more {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 0 20px;
  text-align: center;
  cursor: pointer;
}
@media (max-width: 991px) {
  .logement__more {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    border-top: 1px solid white;
  }
}
.logement__more span {
  position: relative;
}
.logement__more span::after {
  content: "";
  position: absolute;
  width: 0;
  left: 0;
  bottom: 0;
  height: 1px;
  background: white;
  -webkit-transition: 0.3s cubic-bezier(0.2, 1, 0.3, 1) width;
  transition: 0.3s cubic-bezier(0.2, 1, 0.3, 1) width;
}
.logement__more:hover span::after {
  width: 100%;
}
.logement__more svg {
  fill: white;
  -webkit-transition: 0.3s ease transform;
  transition: 0.3s ease transform;
}
.logement__more.is-open svg {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}

.logement__call {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: var(--color-salmon);
  -webkit-transition: 0.3s cubic-bezier(0.2, 1, 0.3, 1) background-color;
  transition: 0.3s cubic-bezier(0.2, 1, 0.3, 1) background-color;
}
@media (max-width: 991px) {
  .logement__call {
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-column: 3/4;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
.logement__call:hover {
  background: var(--color-green);
}
.logement__call svg {
  fill: white;
}

.logement__details {
  display: none;
  border: 1px solid black;
  border-width: 0 1px;
}

.logement__no-results {
  -ms-grid-column-span: 4;
  grid-column: span 4;
  border: 0 !important;
}

.logement__config {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 25px 0;
  list-style: none;
  border-bottom: 1px solid black;
}
@media (max-width: 575px) {
  .logement__config {
    padding: 20px 0 0;
  }
}
@media (max-width: 991px) {
  .logement__config {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (min-width: 992px) {
  .logement__config {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr auto;
    grid-template-columns: 1fr 1fr 1fr auto;
  }
}
@media (min-width: 1200px) {
  .logement__config {
    -ms-grid-columns: 240px 240px 1fr 1fr;
    grid-template-columns: 240px 240px 1fr 1fr;
  }
}
.logement__config > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px;
}
.logement__config > *:not(:last-child) {
  padding-left: 20px;
  padding-right: 20px;
}
@media (max-width: 575px) {
  .logement__config > * {
    width: 100%;
    text-align: left;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .logement__config > *:first-child {
    border-right: 1px solid black;
  }
  .logement__config > *:nth-child(1), .logement__config > *:nth-child(2) {
    width: 50%;
  }
  .logement__config > *:nth-child(3) {
    padding: 20px;
  }
}
@media (min-width: 576px) and (max-width: 991px) {
  .logement__config > * {
    width: 33.3333333333%;
  }
  .logement__config > *:last-child {
    width: 100%;
    padding-top: 25px;
  }
}
@media (min-width: 576px) {
  .logement__config > * {
    text-align: center;
  }
  .logement__config > *:nth-child(-n+2) {
    border-right: 1px solid black;
  }
}
.logement__config > * > span {
  font-weight: 700;
}

.logement__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.logement__actions > * {
  padding-left: 20px;
  padding-right: 20px;
}
@media (max-width: 575px) {
  .logement__actions > * {
    width: 50%;
  }
}
@media (min-width: 576px) {
  .logement__actions {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-right: 25px;
    gap: 15px;
  }
}

/* --- Durabilité --- */
.duration {
  position: relative;
  padding: 80px 0;
}
.duration::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: url(../img/pattern.svg) no-repeat bottom -380px left calc(50% + 100px);
  opacity: 0.3;
}

.duration__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 991px) {
  .duration__layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
@media (min-width: 992px) {
  .duration__layout > * {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .duration__text {
    padding-right: 10%;
  }
}

.duration__strengths {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
  row-gap: 30px;
  font-style: italic;
}
@media (min-width: 768px) {
  .duration__strengths {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.duration__strengths li {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.duration__strengths li figure {
  width: 40px;
  padding-right: 10px;
}
.duration__strengths li figure img {
  display: block;
  margin: 0 auto;
}
.duration__strengths li p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* --- Avancement --- */
.progress {
  position: relative;
}
.progress::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  height: 1945px;
  background: url(../img/pattern.svg) no-repeat bottom 0 left calc(50% - 50px);
}

.progress__inside {
  padding: 80px 0;
  overflow: hidden;
}

.progress__carousel {
  position: relative;
  z-index: 3;
}
@media (max-width: 1199px) {
  .progress__carousel {
    margin: 0 -30px;
    padding: 0 60px;
  }
  .progress__carousel .swiper {
    overflow: visible;
  }
}
.progress__carousel .swiper-pagination {
  position: static;
  padding-top: 20px;
}

.progress__carousel__step {
  text-align: center;
}

.progress__carousel__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 20px;
}
.progress__carousel__head::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  right: 0;
  height: 2px;
  background: black;
}
.swiper-slide:first-child .progress__carousel__head::before {
  left: 50%;
}
.swiper-slide:last-child .progress__carousel__head::before {
  right: 50%;
}

.progress__carousel__picto {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background: var(--color-green);
}
.progress__carousel__picto svg {
  fill: white;
}

.progress__carousel__picto--completed {
  background: var(--color-green);
}

.progress__carousel__picto--current {
  background: var(--color-salmon);
}

.progress__carousel__picto--coming {
  background: black;
}

.progress__carousel__year {
  font-size: 1.375rem;
  font-weight: 700;
  font-family: "Ubuntu", sans-serif;
}

.progress__carousel__text {
  padding: 0 20px;
  font-size: 0.9375rem;
  font-weight: 300;
}

.progress__info {
  text-align: right;
  font-size: 0.8125rem;
  font-style: italic;
  color: #aaa;
}

/* --- Vie de quartier --- */
.neighbourhood {
  position: relative;
  z-index: 3;
}

.neighbourhood__layout1 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  row-gap: 45px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 40px;
}
@media (min-width: 992px) {
  .neighbourhood__layout1 {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .neighbourhood__layout1 {
    -webkit-column-gap: 140px;
       -moz-column-gap: 140px;
            column-gap: 140px;
  }
}

.neighbourhood__map iframe {
  width: 100%;
  border: 0;
}
@media (max-width: 991px) {
  .neighbourhood__map {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}

.neighbourhood__legend {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 30px;
}
@media (min-width: 480px) and (max-width: 767px) {
  .neighbourhood__legend {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .neighbourhood__legend {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
.neighbourhood__legend li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  list-style: none;
  font-family: "Ubuntu", sans-serif;
  font-style: italic;
  font-weight: 500;
}

.neighbourhood__legend__picto {
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background: #ddd;
}

.neighbourhood__legend__picto--service {
  background: #0088D1;
}

.neighbourhood__legend__picto--business {
  background: #FF5252;
}

.neighbourhood__layout2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 30px auto 30px auto;
  grid-template-rows: repeat(3, auto);
  -ms-grid-columns: 1fr 30px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 100px;
}

.neighbourhood__layout2 > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.neighbourhood__layout2 > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.neighbourhood__layout2 > *:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.neighbourhood__layout2 > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.neighbourhood__layout2 > *:nth-child(5) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}

.neighbourhood__layout2 > *:nth-child(6) {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
}
@media (min-width: 768px) {
  .neighbourhood__layout2 {
    -ms-grid-rows: auto 80px auto;
    grid-template-rows: auto auto;
    -ms-grid-columns: 3fr 4fr 3fr;
    grid-template-columns: 3fr 4fr 3fr;
    row-gap: 80px;
  }
  .neighbourhood__layout2 > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .neighbourhood__layout2 > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .neighbourhood__layout2 > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .neighbourhood__layout2 > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .neighbourhood__layout2 > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .neighbourhood__layout2 > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media (min-width: 992px) {
  .neighbourhood__layout2 {
    -webkit-column-gap: 55px;
       -moz-column-gap: 55px;
            column-gap: 55px;
  }
}
.neighbourhood__layout2 img {
  display: block;
  width: 100%;
}

.neighbourhood__btn {
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 768px) {
  .neighbourhood__btn {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
}

.neighbourhood__img1 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
}
@media (min-width: 768px) {
  .neighbourhood__img1 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}

.neighbourhood__img2 {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
}
@media (min-width: 768px) {
  .neighbourhood__img2 {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
}

.neighbourhood__img3 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
@media (min-width: 768px) {
  .neighbourhood__img3 {
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-column: 3/4;
  }
}

/* --- Chateaubriand --- */
.city {
  position: relative;
  z-index: 3;
  padding-bottom: 60px;
}

.city__content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: 30px;
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
}
@media (min-width: 992px) {
  .city__content {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .city__content {
    -webkit-column-gap: 100px;
       -moz-column-gap: 100px;
            column-gap: 100px;
  }
}

.city__carousels {
  position: relative;
  width: 100%;
  margin-top: 60px;
}
@media (min-width: 992px) {
  .city__carousels {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 55px 1fr 55px;
    grid-template-rows: 55px 1fr 55px;
    -ms-grid-columns: 230px 230px 1fr;
    grid-template-columns: 230px 230px 1fr;
  }
  .city__carousels > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .city__carousels > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .city__carousels > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .city__carousels > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .city__carousels > *:nth-child(5) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .city__carousels > *:nth-child(6) {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .city__carousels > *:nth-child(7) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .city__carousels > *:nth-child(8) {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .city__carousels > *:nth-child(9) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

.city__carousels__prev, .city__carousels__next {
  position: absolute;
  z-index: 5;
  display: -ms-grid;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  cursor: pointer;
  background: white;
  border: 1px solid var(--color-grey);
  -webkit-transition: 0.3s ease border-color;
  transition: 0.3s ease border-color;
}
@media (min-width: 992px) {
  .city__carousels__prev, .city__carousels__next {
    top: calc(50% - 35px);
    right: -35px;
  }
}
.city__carousels__prev:hover, .city__carousels__next:hover {
  border-color: black;
}

@media (max-width: 991px) {
  .city__carousels__prev {
    bottom: calc(100% + 85px);
    left: -15px;
  }
}

@media (max-width: 991px) {
  .city__carousels__next {
    top: 85px;
    right: -15px;
  }
}

.city__carousel-text {
  position: relative;
  z-index: 2;
  padding: 30px;
}
@media (max-width: 991px) {
  .city__carousel-text {
    margin-top: -80px;
  }
}
@media (min-width: 992px) {
  .city__carousel-text {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    padding: 70px 70px 30px 50px;
  }
}
.city__carousel-text .swiper-slide {
  height: auto;
}
.city__carousel-text .swiper-pagination {
  position: static;
  text-align: left;
  --swiper-pagination-bullet-inactive-color: white;
}

.city__carousel-text__slide {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 30px;
}
@media (min-width: 992px) {
  .city__carousel-text__slide {
    padding-bottom: 65px;
  }
}

.city__carousel-text__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  margin: 0 0 10px;
  font-size: 1.1875rem;
  font-weight: 700;
}
.city__carousel-text__title span:first-child {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.city__carousel-photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 991px) {
  .city__carousel-photos {
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 992px) {
  .city__carousel-photos {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/4;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
  }
}
.city__carousel-photos .swiper {
  height: 100%;
}
.city__carousel-photos .swiper-slide {
  height: 320px;
}
@media (min-width: 992px) {
  .city__carousel-photos .swiper-slide {
    height: auto;
  }
}
.city__carousel-photos .swiper-slide img {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* --- Démarches --- */
.procedures {
  padding-bottom: 60px;
}

.procedures__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 30px;
}
@media (min-width: 992px) {
  .procedures__list {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .procedures__list {
    -webkit-column-gap: 80px;
       -moz-column-gap: 80px;
            column-gap: 80px;
  }
}
.procedures__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
}

.procedure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 30px;
  border: 1px solid black;
}

.procedure__picto {
  height: 35px;
}
.procedure__picto img {
  display: block;
  max-height: 30px;
}

.procedure__title {
  margin: 0 0 15px;
  font-family: "Ubuntu", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: #373737;
  line-height: 1.4;
}

.procedure__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-bottom: 15px;
}

.procedure__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 992px) {
  .procedure__btn a {
    width: 100%;
  }
}

/* --- Contact --- */
.contact {
  position: relative;
  padding: 80px 0;
}
.contact::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background-image: url(../img/pattern.svg);
  background-repeat: no-repeat;
  opacity: 0.3;
}
@media (max-width: 991px) {
  .contact::before {
    background-size: 120% auto;
    background-position: bottom 120px center;
  }
}
@media (min-width: 992px) {
  .contact::before {
    background-position: bottom 30px left calc(50% + 100px);
  }
}

.contact__layout {
  position: relative;
  z-index: 3;
}
@media (min-width: 992px) {
  .contact__layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.contact__address {
  margin: -10px 0 30px;
  font-weight: 300;
}

.contact__images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991px) {
  .contact__images {
    display: none;
  }
}
@media (min-width: 992px) {
  .contact__images {
    width: 60%;
    padding-right: 85px;
  }
}
.contact__images > figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.contact__images > figure:last-child {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media (min-width: 992px) {
  .contact__form {
    width: 40%;
  }
}
@media (min-width: 1200px) {
  .contact__form {
    padding-right: 60px;
  }
}

/* --- Boréale --- */
.boreale {
  padding: 80px 0;
  background: white;
}

.boreale__inside {
  position: relative;
  padding: 30px;
  background: var(--color-green);
}
@media (min-width: 992px) and (max-width: 1199px) {
  .boreale__inside {
    padding: 80px;
  }
}
@media (min-width: 1200px) {
  .boreale__inside {
    padding: 105px 120px 75px;
  }
}
.boreale__inside::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  right: 0;
  z-index: 2;
  background-image: url(../img/pattern.svg);
  background-repeat: no-repeat;
  background-position: left 0 bottom 345px;
  opacity: 0.5;
}
@media (min-width: 992px) {
  .boreale__inside::before {
    left: 0;
    background-position: left calc(50% + 100px) bottom 280px;
  }
}
.boreale__inside > * {
  position: relative;
  z-index: 3;
}
.boreale__inside .section-title--light span {
  color: black;
}

.boreale__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 991px) {
  .boreale__layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
@media (min-width: 992px) {
  .boreale__layout > * {
    width: 50%;
  }
}

.boreale__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 991px) {
  .boreale__logo {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .boreale__logo img {
    width: 270px;
  }
}
@media (min-width: 992px) {
  .boreale__logo {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 45px 15px 0 45px;
  }
}

.boreale__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 40px;
}

.boreale__programs {
  margin: 50px -48px 0;
  padding: 0 48px;
}
@media (min-width: 992px) {
  .boreale__programs {
    margin: 50px -35px 0;
    padding: 0 35px;
  }
}
.boreale__programs .swiper-pagination {
  position: static;
  padding-top: 15px;
  --swiper-pagination-color: black;
  --swiper-pagination-bullet-inactive-color: white;
}
.boreale__programs .slide-prev {
  top: 125px;
  left: 0;
}
.boreale__programs .slide-next {
  top: 125px;
  right: 0;
}

.boreale__program {
  background: white;
}

.boreale__program__img {
  height: 320px;
  background: #efefef;
  border: 1px solid white;
}
.boreale__program__img img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.boreale__program__content {
  position: relative;
  padding: 25px;
}
@media (min-width: 768px) {
  .boreale__program__content {
    padding: 40px;
  }
}

.boreale__program__name {
  margin: 0 0 15px;
  font-family: "Ubuntu", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: #373737;
}

.boreale__program__details {
  margin-bottom: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.boreale__program__details li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  gap: 8px;
  font-style: italic;
  line-height: 1.2;
}
.boreale__program__details li svg {
  fill: var(--color-green);
}

.boreale__program__location {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 25px;
}
@media (min-width: 768px) {
  .boreale__program__location {
    padding-left: 40px;
  }
}
.boreale__program__location div {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 15px;
  text-transform: uppercase;
  font-size: 0.875rem;
  background: black;
  color: white;
  border: 1px solid white;
}
.boreale__program__location div svg {
  fill: var(--color-green);
}

/* --- Popin brochure --- */
.popin {
  display: none;
  width: 950px;
  padding: 30px;
}
.popin .section-title {
  padding-right: 30px;
}
@media (min-width: 992px) {
  .popin {
    padding: 50px;
  }
}

.popin__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 26px;
  height: 26px;
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
@media (min-width: 992px) {
  .popin__close {
    top: 40px;
    right: 45px;
  }
}
.popin__close svg {
  fill: white;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
}
.popin__close:hover svg {
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
  fill: var(--color-green);
}