html {
  background: white;
  font-size: 62.5%;
}

body #container {
  transition: opacity 250ms linear;
}

body.is-loading #container {
  opacity: 0;
}

sup {
  vertical-align: super;
  line-height: 0;
  font-size: 12px;
}

.c-footer .container,
.c-header__container {
  max-width: 100% !important;
  padding-left: 30px;
  padding-right: 30px;
}

.page {
  visibility: visible;
  opacity: 1;
}

.s-presentation__footer {
  font-size: 1.3rem;
  line-height: 1.5;
}
.s-presentation .t-title {
  font-size: 1.2rem;
  margin-bottom: 0.2rem;
}

.s-featured-programs .embla__slide {
  background-color: white;
}

.s-presentation__image .media {
  height: 100%;
}

.s-not-found {
  padding-top: 4rem;
  padding-bottom: 18rem;
}

.s-residences li a:before {
  background: -o-linear-gradient(top, rgba(60, 60, 59, 0) 54.05%, #3c3c3b 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(54.05%, rgba(60, 60, 59, 0)), color-stop(100%, #3c3c3b));
  background: linear-gradient(180deg, rgba(60, 60, 59, 0) 54.05%, #3c3c3b 100%);
}

.s-diptych .c-link {
  display: block;
}

.home .s-diptych__content {
  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;
  -webkit-box-align: start;
  -ms-flex-align: start;
          align-items: flex-start;
}

.c-btn--push {
  padding: 12px 20px;
}

.s-lots .links--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.s-program__footer__cards {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
}

.s-quote blockquote:before {
  font-size: 90px;
  top: 30px;
  padding-right: 0;
}

.s-focus__item .svg svg {
  margin-bottom: 0;
}

.s-pictos__item .media {
	max-width: 90% !important;
    max-height: 90% !important;
    width: 90% !important;
    height: 90% !important;
}

.s-focus__item .svg .media,
.s-pictos__item .svg .media {
  width: 55px;
  height: 55px;
}

.s-focus__item .svg .media img,
.s-pictos__item .svg .media img {
  object-fit: contain;
}

.s-pictos__item .svg,
.s-focus__item .svg {
  margin-bottom: 20px;
}

.s-focus__item {
  width: 33.3333%;
}

.s-pictos__item h3,
.s-pictos__item p,
.s-focus__item h3,
.s-focus__item p {
  line-height: 1.2;
  max-width: 20rem;
  margin: 0 auto;
}

.s-focus__item h3 {
  margin-bottom: 2px;
}

.program__content {
  padding-top: 0;
}
.program__content .s-title {
  padding-top: 0rem;
}

.program__content .s-focus__item,
.program__content .s-pictos__item {
  font-weight: 500;
  line-height: 1.2;
}

.overlay-landscape {
  display: none;
}

.o-contactForm + .c-form__loading {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin-bottom: 80px;
  min-height: 28vh;
  padding-top: 30px;
}

.programmes .c-filter__btn,
.c-filter__btn {
  width: 100%;
}

.programmes .page-nav {
  margin-bottom: 30px;
}

.programmes .page-nav.is-hidden {
  display: none !important;
}

.s-diptych__content {
  width: 55%;
}
.s-diptych__media  {
  width: 40%;
}

.c-filter__content__content .field--surface:after {
  content: "m²";
}

.c-filter__content__content .field--price:after, .c-filter__content__content .field--surface:after {
  background-color: white;
  padding: 0 4px;
}

.master .s-image.-page {
  margin: 0 !important;
}

.master .s-text__content h1,
.master .s-text__content h2,
.master .s-text__content h3,
.master .s-text__content h4,
.master .s-text__content h5,
.master .s-text__content h6 {
  font-family: BlairMdITC TT, Montserrat, Helvetica Neue, Helvetica, Arial, sans-serif;
  margin-bottom: 20px;
}

.master .s-text__content h1,
.master .s-text__content h2 {
  font-size: 20px;
}
.master .s-text__content h2 {
  line-height: 24px;
}
.master .s-text__content h3 {
  font-size: 2.1rem;
  line-height: 1.5;
}

.programmes .s-buttons, .realisations .s-buttons {
  padding-bottom: 20px;
  margin-bottom: 0;
  margin-top: 10px;
}

.programmes .s-buttons, .realisations .s-buttons .c-link {
  line-height: 1.2;
}

.s-residences li .infos {
  padding: 10px;
}

.s-residences li h2 {
  line-height: 1.2;
  margin-bottom: 4px;
}

.s-residences li p {
  padding: 4px 8px;
  line-height: 1.2;
}

.o-contactForm .c-filter__btn span {
  text-overflow: ellipsis;
  overflow: hidden;
  width: calc(100% - 20px);
  white-space: nowrap;
}

.o-contactForm .c-filter__btn.c-btn {
  text-align: left;
}

.ax-widget-container {
  display: flex;
  position: fixed !important;
  width: 100% !important;
  height: 100%;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 42;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  opacity: 0;
  animation: revealCookies 250ms ease-in-out 2s forwards;
}

.ax-widget {
  transform: none  !important;
  position: fixed;
  max-width: 36vw !important;
  min-height: 36vh;
  padding: 0;
  background-color: #fff !important;
  bottom: auto !important;
  text-align: center;
  box-shadow: none !important;
  justify-content: space-between;
}

.axeptio_widget_wrapper > span {
  justify-content: flex-start;
  padding-left: 10px;
}

#axeptio_main_button {
  display: none !important;
}

.programmes .s-image .media img {
  /* -o-object-fit: contain; */
  /* object-fit: contain; */
}

.programmes .s-image {
  height: auto;
}

.s-edito .embla__slide a {
  display: block;
}

.nav .c-site-menu__bar{
  height: 2px;
}

.s-residences--full .slideshow__nav,
.s-featured-programs .slideshow__nav {
  bottom: 12px;
}

.s-residences--full .slideshow__nav li {
  margin-right: 8px !important;
}
.s-residences--full .slideshow__nav li,
.s-featured-programs .slideshow__nav li {
  width: 8px;
  height: 8px;
}

.s-map__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

[data-img-lightbox] {
  display: block;
  width: 100%;
}

.single-programme .js-modal .c-filter__content__content .links a {
  color: #bd030f;
  text-transform: uppercase;
}

.c-filters .c-filter .c-filter__btn {
  justify-content: center;
  line-height: 1;
  font-size: 1.8rem;
}

.c-filters .c-filter .c-filter__btn svg {
  position: absolute;
  top: 48%;
  right: 16px;
  transform: translateY(-48%);
  margin-top: 0.2rem;
}

.program__details dt {
  white-space: nowrap;
}

.program__details ._3d-flip-book {
  padding: 0 4px;
  height: 28px;
  line-height: 28px;
  font-size: 12px;
  display: inline-block;
}

.program__details .d-file {
  order: 6;
}

.fb3d-modal {
  box-shadow: none !important;
}

.fb3d-modal::before {
  background-color: white !important;
  opacity: 1 !important;
}

.fb3d-modal .cmd-close {
  line-height: 0;
}

.fa-remove:before, .fa-close:before, .fa-times:before {
  content: "✕" !important;
  font-family: Arial,sans-serif;
  line-height: 25px;
  font-size: 2rem;
  font-weight: 600px;
  color: black;
}

.s-slider .slideshow {
  overflow: visible;
}

.s-slider .slideshow__inner {
  overflow: hidden;
}

.s-slider .c-btn {
  position: absolute;
  top: 50%;
  width: 62px;
  height: 62px;
  border-radius: 31px;
  -webkit-box-shadow: 0 4px 4px rgb(0 0 0 / 10%);
  box-shadow: 0 4px 4px rgb(0 0 0 / 10%);
  background-color: #fff;
}

.s-slider .c-btn:hover {
  -webkit-box-shadow: inset 0 2px 6px rgb(0 0 0 / 6%), 0 4px 4px rgb(0 0 0 / 10%);
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 6%), 0 4px 4px rgb(0 0 0 / 10%);
}

.s-slider .c-btn svg {
  width: 10px;
  margin-top: 4px;
}

.s-slider .slideshow__btn--next {
  right: -30px;
  -webkit-transform: translate(100%,-50%);
  -ms-transform: translate(100%,-50%);
  transform: translate(100%,-50%);
}
.s-slider .slideshow__btn--prev {
  left: -30px;
  -webkit-transform: translate(-100%,-50%);
  -ms-transform: translate(-100%,-50%);
  transform: translate(-100%,-50%);
}

@media (min-height: 768px) and (max-height: 1025px) {
  .o-contactForm + .c-form__loading {
    min-height: 50vh;
  }
}
@media (min-width: 1024px) and (max-height: 746px) {
  .s-intro__logo {
    top: 40px;
  }
}

.master .s-presentation__title {
  width: 100%;
}

@media (min-width: 1440px) {
  .master .s-presentation__title {
    max-width: 475px;
  }
}

/* TABLET - DESKTOP */
@media (min-width: 1024px) and (max-width: 1290px) {
  .s-lots tr:first-of-type {
    height: auto;
  }
  .s-lots th,
  .s-lots td a {
    font-size: 14px;
  }

  .s-lots__container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .s-edito__title {
    padding-left: 30px;
  }
  .s-edito__title h2 {
    font-size: 2.8rem;
    line-height: 1.2;
  }

  .s-slider--square .embla__btn.embla__next {
    transform: translate(30px,-50%);
  }
  .s-slider--square .embla__btn.embla__prev {
    transform: translate(-30px,-50%);
  }
  
  .s-slider .slideshow__btn--next {
	transform: translate(30px,-50%);  
  }
  .s-slider .slideshow__btn--prev {
	transform: translate(-30px,-50%);    
  }

  /* .programmes .s-image .media img {
    -o-object-fit: contain;
  object-fit: contain;
  } */
  .programmes .s-image {
    height: auto;
  }
}

.s-residences--full>div>li>a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

.s-program__footer__cards {
  padding-bottom: 40px;
}

/* DESKTOP */
@media (min-width: 1241px) {
  .c-filter {
    width: calc(25% - 30px);
  }
  
  .s-program__footer__cards {
    padding-bottom: 90px;
    gap: 18rem;
  }
  
  .s-edito__title {
    width: 35%;
  }
  .s-edito__cards {
    width: 65%;
  }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  .c-filter {
    width: calc(25% - 10px);
  }
  
  .s-edito__title {
    width: 30%;
  }
  .s-edito__cards {
    width: 70%;
  }
}

@media (min-width: 1024px) {
  .s-edito__cards__title svg {
    display: none;
  }
  .home .s-diptych__content {
    margin-top: -1rem;
  }
  .program__details dl div {
    width: calc(50% - 0.5rem);
  }
  .program__details dl div:nth-of-type(odd) {
    padding-right: 0.5rem;
  }
  .program__details dl div:nth-of-type(even) {
    padding-left: 0.5rem;
  }

  .s-slider--square .embla__btn.embla__prev {
    left: -40px;
  }
  
  .s-slider--square .embla__btn.embla__next {
    right: -40px;
  }

  .programmes .c-filter {
    width: calc(25% - 15px);
  }
  .programmes .s-buttons, .realisations .s-buttons {
    margin-top: 60px;
  }

  .s-edito__title .c-btn--push {
    padding: 10px 20px;
	font-size: 1.6rem;
  }
  .c-filter__content .container,
  .o-contactForm .c-filter__content {
    max-height: 38rem;
    overflow: auto;
  }
  .o-contactForm .s-text__content {
    padding-right: 0;
    max-width: 68rem;
  }
  .s-featured-programs__text {
    padding-right: 0;
    max-width: 75rem;
  }
  .programmes .s-text__content {
    max-width: 78rem;
  }
  .realisations .s-text__content {
    max-width: 75rem;
  }
  .master .s-text__content {
    max-width: 75rem;
  }
  .s-featured-programs .s-buttons {
    margin-bottom: 0;
  }
  .nav .c-site-menu__bar {
    height: 2px;
  }
  .s-title+.s-text {
    margin-top: 0;
    padding-top: 0;
  }
  .program__content .s-title {
    padding-top: 6rem;
  }
  .master .s-text__content  h1 {
    font-size: 29px;
    line-height: 32px;
  }
  .master .s-text__content .h2 {
    font-size: 27px;
    line-height: 40px;
  }
  .master .s-text__content .h3 {
    font-size: 2.8rem;
    line-height: 2.5rem;
  }
  .s-quote {
    padding: 70px 0 100px;
  }
  .program__content {
    padding-bottom: 6rem;
  }
  .s-program__footer {
    padding: 0;
  }
  .s-program__footer__cards {
    padding-top: 0;
  }
  .program__content .s-slider--square {
    padding: 0;
  }
  .programmes .s-buttons, .realisations .s-buttons {
    padding-bottom: 80px;
    margin-bottom: 0;
  }
  .s-slider--square .embla__slide {
    flex: 0 0 calc(50% - 15px);
    margin: 0 15px;
  }

  .s-diptych__media,
  .s-diptych__content {
    width: 48.5%
  }

  .s-diptych__title {
    top: 0;
    margin-bottom: 15px;
  }

  .s-diptych__container:nth-of-type(odd) .s-diptych__media,
  .s-diptych__container:nth-of-type(2n) .s-diptych__content {
    width: calc(51.5% - 30px);
    margin-left: 30px;
  }

  .master .s-text + .container .s-buttons {
    padding-top: 0;
    margin-top: 0;
  }

  .program__content .s-focus__item,
  .program__content .s-pictos__item {
    font-weight: 500;
    line-height: 1.2;
    font-size: 20px;
  }

  .nav .c-site-menu__burger.is-active .c-site-menu__bar:last-child {
    transform: translateY(-1rem) rotate(45deg);
  }
  .container {
    padding: 0 8rem;
  }
  .container.s-presentation__title {
    padding: 0;
  }
  .container, .container--large {
    max-width: 129rem;
    width: 100%;
  }

  .s-edito {
    padding: 175px 0;
  }
  .s-edito__title h2 {
    line-height: 1.2;
  }

  .o-contactForm .c-filter {
    width: 100%;
  }
  .s-edito .embla__slide {
    margin-right: 10.5159rem;
    margin-top: 4rem;
    width: 460px;
    flex: 0 0 460px;
  }

  .c-filter .c-filter__btn svg {
    -webkit-transition: -webkit-transform 250ms ease-in-out;
    transition: -webkit-transform 250ms ease-in-out;
    -o-transition: transform 250ms ease-in-out;
    transition: transform 250ms ease-in-out;
    transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
  }
  .c-filter:hover .c-filter__btn svg {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }

  .program__details .s-presentation__title {
    width: 100%;
  }

  .s-residences--full>div>li .infos {
    width: 42%;
  }
  .s-residences--full>div>li .image {
    width: 58%;
  }

  .s-residences {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
  }

  .s-residences [data-index="1"],
  .s-residences [data-index="7"]
   {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }

  .s-residences [data-index="1"] .media .r,
  .s-residences [data-index="7"] .media .r
   {
    padding-bottom: 47% !important;
  }

  .s-residences li {
    width: 100%;
    margin-bottom: 0;
    margin-right: 0;
  }

  .nav__footer .c-btn,
  .s-buttons .s-buttons__link {
    width: calc(50% - 15px);
  }

  .programmes .s-buttons .s-buttons__link, .realisations .s-buttons .s-buttons__link {
    width: auto;
  }

  .s-buttons .c-link {
    width: 100%;
  }
  
  .realisation__content .s-buttons .c-link {
	 width: calc(50% - 15px) !important;  
  }

  .s-buttons .s-buttons__link + .s-buttons__link,
  .s-buttons .c-link+.c-link {
    margin-left: 30px;
  }

  .programmes .c-filters:before {
    width: 100%;
  }

  .c-footer .container .col {
    width: calc(25% - 30px);
    margin-right: 30px;
  }

  .s-residences li .media .r {
    padding-bottom: 100% !important;
  }
  .program__details .d-file {
    padding-right: 0 !important;
    padding-left: 0.5rem;
    margin-left: auto;
    order: initial;
  }
}

@media (min-width: 1181px) {
  .container {
    padding: 0 16.61288rem
  }
}

@media (min-width: 1181px) and (max-width: 1280px) {
  .c-filters .c-filter .c-filter__btn {
    font-size: 1.5rem;
  }
  .c-filters .c-filter .c-filter__btn .arrow-dropdown-dims {
    width: 16px;
  }
}

@media only screen and (max-device-width: 668px) and (orientation: landscape) {
  .overlay-landscape {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    -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;
    -webkit-box-align: center;
    -ms-flex-align: center;
            align-items: center;
    z-index: 10002;
    background-color: rgba(255,255,255, 1);
  }
  .overlay-landscape svg {
    width: 80px;
    height: 80px;
    -webkit-animation: rotate 1s infinite alternate ease-in-out;
        animation: rotate 1s infinite alternate ease-in-out;
  }
}

.program__header__image {
  position: relative;
  border-bottom: 7px solid #BD030F;
}

.program__header__image {
  height: calc(100svh - 76px);
}

.program__header__image .s-image,
.program__header__image .media {
  height: 100%;
}

.program__header__image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(60, 60, 59, 0.35);
  z-index: 1;
}

.program__header__image>div {
  padding: 60px 25px 20px;
  top: 0;
  height: 100%;
  display: flex;
  flex-flow: column wrap;
  box-sizing: border-box;
}

.program__header__image>div h1 {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.program__header__image>div h1::before,
.program__header__image>div h1::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 167px;
  height: 3px;
  background-color: white;
}

.program__header__image>div h1::before {
  top: 0;
}

.program__header__image>div h1::after {
  bottom: 0;
}

.program__header__image>div p {
  margin-bottom: 25px;
}

.program__header__image .s-buttons {
  margin-top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  max-width: 400px;
}

.program__header__scroll {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .program__header__image>div {
    padding-top: 100px;
    padding-bottom: 45px;
  }

  .program__header__image .s-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    max-width: 950px;
    margin-bottom: 45px;
  }
}

@media (min-width: 1023px) {
  .program__header__image .c-btn--push {
    padding: 16px 20px;
    font-size: 22px;
  }
}

@media (min-width: 580px) and (max-width: 1023px) {
  .program__header__image>div h1 {
    font-size: 32px;
    line-height: 1.2;
  }
}

/* TABLET - DESKTOP */
@media (min-width: 768px) and (max-width: 1289px) {
  /* .o-contactForm.page {
    padding-top: 207px;
  } */

  .s-featured-programs .embla__slide {
    flex: 0 0 calc(50% - 15px);
    margin: 0 15px;
  }
}

/* TABLET ONLY */
@media (min-width: 500px) and (max-width: 1023px) {
  /* .s-edito .embla__slide h3 {
    padding-left: 110px;
  } */
  .s-quote {
	  margin-bottom: 36px !important;
  }
  .s-diptych__container+.s-diptych__container {
	margin-top:70px
   }
   .program__header__image>div h1 {
	   margin-bottom: 38px;
   }
}

@media (min-width: 1024px) and (max-width: 1180px) {
   .s-featured-programs .embla__btn.embla__prev {
    left: -0.90303rem;
    -webkit-transform: translate(-100%,-50%);
    -ms-transform: translate(-100%,-50%);
    transform: translate(-100%,-50%);
   }
     .s-featured-programs .embla__btn.embla__next {
    right: -0.90303rem;
    -webkit-transform: translate(100%,-50%);
    -ms-transform: translate(100%,-50%);
    transform: translate(100%,-50%);
   }
}


@media (max-height: 768px) {
  .page.o-contactForm .js-transition {
    min-height: calc(100vh - 572px);
  }

  .nav__footer {
    bottom: 40px
  }
}

/* MOBILE - TABLET */
@media (max-width: 1025px) {
  .slideshow__nav {
    bottom: 30px;
  }
  .c-videoplayer__poster .c-btn--play-large {
    width: 8.2rem;
    height: 8.2rem;
  }
  .slideshow__nav li {
    width: 8px !important;
    height: 8px;
  }
  
  .slideshow__nav ul li:last-child {
	  margin-top:0px !important;
	  margin-left:4px !important;
  }

  .s-buttons .s-buttons__link {
    width: 100%;
  }

  .s-buttons .s-buttons__link + .s-buttons__link {
    margin-top: 20px;
  }
  
  .nav__logo img {
    display: block;
    width: 100%;
  }
  
  .nav__logo {
    display: block;
    z-index: 1;
    width: 11.5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-transition: opacity .3s cubic-bezier(.26,1.04,.54,1);
    -o-transition: opacity .3s cubic-bezier(.26,1.04,.54,1);
    transition: opacity .3s cubic-bezier(.26,1.04,.54,1);
	}
}
@media (max-width: 1023px) {
  /*.s-edito__cards .embla__slide {
    flex: 0 0 calc(50% - 15px);
    width: calc(50% - 15px);
    margin: 0 15px;
  }*/

  .s-edito .embla__slide a>header {
    margin-bottom: 0;
  }

  .s-edito__cards__title {
    display: flex;
    align-items: center;
  }

  .s-edito .embla__slide header svg {
    display: none;
  }

  .s-edito .embla__slide .s-edito__cards__title h3 {
    margin-bottom: 0;
    padding-left: 20px;
  }

  .s-edito__cards__title svg {
    width: 50px;
    height: 50px;
  }

  .s-edito__cards .embla__slide {
    flex: 0 0 100%;
    width: 100%;
    margin: 0 15px;
  }

  .s-edito__title {
    width: 100%;
  }
  .s-edito__title br {
    display: none;
  }
  .s-residences--full>div>li .underlined {
    margin-top: 10px;
    font-size: 12px;
  }
  .o-contactForm .textarea__container label {
    padding-left: 10px;
    padding-bottom: 10px;
  }
  .program__details dl div {
    display: inline-flex;
  }
  .program__details dl div dd {
    margin-left: 5px;
  }
  .o-contactForm .c-form__content>div.right {
    margin-top: 50px;
  }
  .col__socials {
    margin-bottom: 20px;
  }
  .c-footer .col address {
    line-height: 1.6;
  }
  .c-filter__content__header .container svg {
    left: 20px;
  }
  .s-edito .embla__nav {
    display: block;
    width: 100%;
  }

  .s-diptych__media  {
    right: -20px;
  }

  .s-diptych__media [data-img-lightbox] {
    height: 100%;
  }

  .s-diptych__container:nth-of-type(2n) .s-diptych__media {
    left: -20px;
  }
  
  .s-diptych.-bis .s-diptych__container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .s-diptych.-bis .s-diptych__container:nth-of-type(2n) .s-diptych__content {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .s-diptych.-bis .s-diptych__container .s-diptych__content,
  .s-diptych.-bis .s-diptych__container .s-diptych__media {
    width: 100%;
  }
  .s-diptych.-bis .s-diptych__container .s-diptych__media {
    right: auto;
    margin-top: 14px;
  }
  .s-diptych.-bis .s-diptych__container:nth-of-type(2n) .s-diptych__media {
    left: auto;
  }
  .master .js-transition>:last-child.s-buttons .c-link {
    padding: 20px 20px;
  }
  .c-btn--push {
    padding: 14px 8px;
  }
  .s-buttons br {
    display: none;
  }

  .page.o-contactForm .js-transition {
    min-height: calc(100vh - 294px);
  }

  .s-residences li a {
    min-height: 200px;
  }
  
  .nav__container {
    position: fixed;
    height: 100%;
  }

  .nav__footer {
    left: 0;
    right: 0;
  }

  .nav__container {
    padding: 115px 0 0;
  }

  .container, .container--large {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .realisation__content nav ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }
  
  .realisation__content nav li {
    width: 100%;
  }

  .realisation__content nav ul li:last-child {
    margin-left: 0;
  }

  .s-featured-programs .embla__btn svg {
    width: 13px;
  }

  .s-slider .c-btn {
    width: 44px;
    height: 88px;
    box-shadow: none;
  }
  .s-slider .slideshow__btn--next {
    right: 0;
    border-radius: 88px 0 0 88px;
  }

  .s-slider .slideshow__btn--prev {
    left: 0;
    border-radius: 0 88px 88px 0;
  }
  .s-slider .slideshow__btn--prev,
  .s-slider--square .embla__btn.embla__prev,
  .s-featured-programs .embla__btn.embla__prev {
    transform: translate(-20px,-50%);
  }

  .s-slider .slideshow__btn--next,
  .s-slider--square .embla__btn.embla__next,
  .s-featured-programs .embla__btn.embla__next {
    transform: translate(20px,-50%);
  }
  .s-featured-programs .embla__btn.embla__next svg {
    margin-left: 4px;
  }
  .s-featured-programs .embla__btn.embla__prev svg {
    margin-right: 4px;
  }
  .s-featured-programs .embla {
    box-shadow: 0 5px 5px rgb(0 0 0 / 10%);
  }
  .s-featured-programs .embla__slide {
    box-shadow: none;
  }
  .s-featured-programs .embla__viewport {
    overflow: hidden;
    padding: 0;
  }

  .s-featured-programs .embla__slide .infos {
    padding: 30px 22px;;
  }

  .program__details dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
            flex-direction: column;
  }

  .program__details.-realisation .d-architect,
  .program__details .d-ville {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .program__details.-realisation .d-type,
  .program__details .d-type {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; 
  }
  .program__details.-realisation .d-delivery,
  .program__details .d-delivery {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .program__details.-realisation .d-sdp,
  .program__details .d-architect {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .program__details .d-thermal {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .program__details .d-fisc {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .container h1 {
	  padding-top:20px;
  }
  .programmes .page-nav {
    margin-bottom: 40px;
    margin-top: 40px;
  }
  .realisation__content {
    padding: 20px 0;
  }
  .c-filter__content {
    opacity: 0;
  }

  .c-filter.is-active .c-filter__content {
    opacity: 1;
  }
}


/* SMALL MOBILE ONLY */
@media (max-width: 500px) {
  .s-edito .embla__slide h3 {
    /* padding-left: 80px; */
    /* margin-top: -110px; */
    font-size: 1.6rem;
    line-height: 2rem;
  }

  .icon-plan-2-dims {
    width: 55px;
    height: 49px;
	  margin-bottom: 36px !important;
  }
}


/* MOBILE ONLY */
@media (max-width: 580px) {
  .s-pictos__item,
  .s-focus__item {
    width: calc(50% - 30px);
    padding: 0 15px;
  }
  
  .nav__logo {
	display: block;
    z-index: 1;
    width: 10.5rem;
    position: absolute;
    top: 50%;
    left: 47%;
	transition: opacity .3s cubic-bezier(.26,1.04,.54,1);
  }
  
  .s-featured-programs .embla__slide .infos {
	padding: 30px 22px;
  }
  
  .s-residences li p {
    background: #bd030f;
    display: inline-block;
    padding: 2px 5px;
    text-transform: uppercase;
    color: #fff;
    font-size: 10px;
   }
   .s-residences li h2 {
    line-height: 1.2;
    margin-bottom: 0px;
    font-size: 12px;
  }
  .program__details {
    background-color: #f6f4f4;
    padding: 10px 0;
  }
  .s-quote {
    background-color: #f6f4f4;
    padding: 0px 0 35px;
  }
  
  .nav .c-site-menu__bar {
    height: 1px;
  }
  
  .nav .c-site-menu__bar:first-child {
	  width: 31px !important;
  }
  
  .nav .c-site-menu__bar:nth-child(2) {
    width: 27px !important;
  }
  
  .nav .c-site-menu__burger.is-active .c-site-menu__bar:first-child {
    width: 27px !important;
    -webkit-transform: translateY(0.46rem) rotate(-45deg);
    -ms-transform: translateY(.46rem) rotate(-45deg);
    transform: translateY(0.36rem) rotate(-45deg);
  }
  
  .realisation__content nav .c-link {
    color: #3c3c3b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
	font-size: 8px;
	}
}

@media (max-width: 740px) { 
  .s-program__footer__cards a {
    width: calc(50% - 30px);
  }
}

@media (max-width: 767px) { 
  .s-pictos__item h3,
  .s-pictos__item p,
  .s-focus__item p {
    font-size: 1.2rem;
  }
  
  .s-focus__item h3 {
    font-size: 1.5rem;
  }
  
  .program__details .city {
    margin-bottom: 8px;
  }

  .o-contactForm .c-filter__content__content  {
    overflow: auto;
    max-height: 75vh;
  }

  .programmes .s-buttons, .realisations .s-buttons {
    margin-top: 0rem;
    margin-bottom: 0rem;
  }
  .ax-widget {
    max-width: 100vw !important;
  }
  .c-footer .col {
    width: calc(61% - 20px);
    padding-left: 20px;
  }
  .c-footer .col__address,
  .c-footer .col__logo {
    width: 39%;
    padding-left: 0;
  }

  .page.o-contactForm .js-transition {
    min-height: 65vh;
  }

  .program__header__image>div p {
    font-size: 20px;
  }
  .program__header__image>div h1 {
    font-size: 24px;
  }

  .slideshow__nav {
    bottom: 14px;
  }
  
   .programmes .page-nav {
    margin-bottom: 30px;
    margin-top: 30px;
  }
}

@media (min-width: 500px) and (max-width: 767px) {
  .c-footer .col__address,
  .c-footer .col__logo {
    width: 59%;
  }
  .c-footer .col {
    width: 39%;
  }
}

@media (max-width: 1023px) and (max-height: 645px) {
  .nav__container {
    display: block;
    overflow: auto;
  }
  .nav__footer {
    position: relative;
    top: auto;
    bottom: auto;
    left: 0;
    margin: 20px 0;
  }
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }

  to {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }

  to {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@keyframes revealCookies {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}



/* Program sticky */

.program__sticky {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99;
  width: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.1s ease-in-out .3s;
}

.program__sticky.-sticky{
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out 0.1s, visibility 0.1s ease-in-out;
}
.program__sticky .c-btn {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.program__sticky .c-btn svg {
  width: 35px;
  height: 35px;
  margin-right: 0;
}

.program__sticky .c-btn use {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .program__sticky {
    right: 35px;
    bottom: 35px;
  }
}

/* Program contact */
.s-title.-contact .s-presentation__title {
  width: 100%;
}

body {
  scroll-behavior: smooth;
}

*[id] {
  scroll-margin-top: 100px;
}

#program-details {
  scroll-margin-top: 76px !important;
}

#single-programme .c-form__loading {
  padding-bottom: 40px;
  min-height: initial;
  margin-bottom: 0;
}

.o-contactForm + .c-form__loading a{
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  color:#bd030f;
  margin-top:35px;
}
.o-contactForm + .c-form__loading a span{
  margin-left:20px;
  font-size:15px;
}

/* Call program */
.m-callPopin {
  display: none;
  height: 100%;
  width: 100%;
  padding: 25px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  box-sizing: border-box;
  cursor: pointer;
}

.m-callPopin__left {
  margin-bottom: 25px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 25px;
}

.m-callPopin.-visible {
  display: flex;
  align-items: center;
  justify-content: center;
}

.m-callPopin__content {
  background-color: white;
  max-height: 100%;
  overflow-y: auto;
  width: 100%;
  max-width: 940px;
  padding: 25px 15px;
  cursor: initial;
  position: relative;
  box-sizing: border-box;
}

.m-callPopin .h--2 {
  color: #bd030f;
}

.m-callPopin input:not(:required)::placeholder {
  color: #8E8E8E;
}

.m-callPopin form {
  margin-top: 18px;
}

.m-callPopin form .is-invalid::after {
  position: initial;
  padding-left: 0;
}

.m-callPopin__callback {
  display: none;
}

.m-callPopin__content.-error .m-callPopin__callback {
  display: block;
  margin-top: 20px;
}

.m-callPopin__content.-callback > *:not(.m-callPopin__callback, .m-callPopin__close) {
  display: none;
}

.m-callPopin__content.-callback .m-callPopin__callback {
  display: block;
  margin-top: 15px;
}

.m-callPopin .m-radio {
  margin-bottom: 25px;
}

.m-callPopin .m-checkbox {
  margin-bottom: 20px;
}

.m-callPopin__close {
  position: absolute;
  top: 17px;
  right: 17px;
  width: 24px;
  height: 24px;
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.m-callPopin__close::before, .m-callPopin__close::after {
  width: 100%;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: #BD030F;
  border-radius: 20px;
}

.m-callPopin__close::before {
  transform: translate(0, -50%) rotate(45deg);
}

.m-callPopin__close::after {
  transform: translate(0, -50%) rotate(-45deg);
}

.input__container.radio label, .textarea__container.radio label {
  position: relative;
}

.c-form__placeholderText{
  display: none;
}

.flatpickr-mobile {
  height: 65px;
  box-sizing: border-box;
}

.flatpickr-mobile:invalid ~ .c-form__placeholderText{
  display: block;
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  *[id] {
    scroll-margin-top: 135px;
  }

  #program-details {
    scroll-margin-top: 80px !important;
  }
  
  .m-callPopin__content {
    padding: 50px 40px;
  }

  .m-callPopin__left {
    margin-bottom: 0;
    gap: initial;
  }

  .m-callPopin form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 0 20%;
  }

  .m-callPopin .m-radio {
    margin-bottom: 30px;
  }

  .m-callPopin .m-checkbox {
    margin-bottom: 35px;
  }

  .m-callPopin__close {
    top: 30px;
    right: 30px;
  }
}

/* Contact form call back */
.o-contactForm .m-callPopin__callback {
  color: #BD030F;
}


/* Radio */
.m-radio legend {
  margin-bottom: 15px;
}

.m-radio abbr {
  text-decoration: none;
}

.m-radio__item {
  display: flex;
  flex-flow: row-reverse wrap;
  justify-content: flex-end;
  position: relative;
}

.m-radio__item label {
  padding-left: 25px;
  position: relative;
}

.m-radio__item label::before {
  content: "";
  display: block;
  position: absolute;
  top: 6.5px;
  left: 0;
  transform: translate(0);
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
  background-color: rgba(0,0,0,0);
  border: 1px solid #8e8e8e;
}

.m-radio__item label::after {
  content: "";
  left: 5px;
  top: 9px;
  width: 4px;
  height: 7px;
  color: #8e8e8e;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  border-radius: 0;
  transform: rotate(45deg);
  position: absolute;
  display: none;
}

.m-radio__item input {
  position: absolute;
  top: 1.5px;
  left: 0;
  width: 16px;
  height: 16px;
  opacity: 0;
}

.m-radio__item input:checked + label::before {
  background-color: #008f17;
  border-color: #008f17;
}

.m-radio__item input:checked + label::after {
  display: block;
}

/* Checkbox */
.m-checkbox {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  position: relative;
  cursor: pointer;
  border-bottom: 0 !important;
}

.m-checkbox label {
  color: #3c3c3b;
  width: 100%;
  position: relative;
  pointer-events: inherit;
  cursor: pointer;
  font-size: 12px;
  line-height: 20px;
  color: #8e8e8e;
  padding: 0 0 0 25px;
  display: flex;
}

.m-checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
  margin: 0;
}

.m-checkbox .checkmark {
  display: block;
  position: absolute;
  top: 1.5px;
  left: 0;
  transform: translate(0);
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 2px;
  background-color: rgba(0,0,0,0);
  border: 1px solid #8e8e8e;
}

.m-checkbox .checkmark::before {
  content: "";
  left: 4px;
  top: 1px;
  width: 4px;
  height: 7px;
  color: #8e8e8e;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  border-radius: 0;
  transform: rotate(45deg);
}
.m-checkbox input:checked + .checkmark::before {
  display: block;
}

.m-checkbox input:checked + .checkmark {
  background-color: #008f17;
  border-color: #008f17;
}

.input__container > svg {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  pointer-events: none;
}

html {
  scroll-behavior: smooth;
}

.fb3d-modal .cmd-close::before {
  color: #ccc;
}