/** Shopify CDN: Minification failed

Line 858:9 Unexpected "{"
Line 858:18 Expected ":"
Line 859:9 Unexpected "{"
Line 859:18 Expected ":"
Line 863:9 Unexpected "{"
Line 863:18 Expected ":"
Line 871:9 Unexpected "{"
Line 871:18 Expected ":"
Line 872:9 Unexpected "{"
Line 872:18 Expected ":"
... and 14 more hidden warnings

**/
.banner {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 0;
}

.banner__box {
  text-align: center;
}

.hero-banner .banner__text{
   max-width: 600px;
}

@media only screen and (max-width: 749px) {
  .banner--content-align-mobile-right .banner__box {
    text-align: right;
  }

  .banner--content-align-mobile-left .banner__box {
    text-align: left;
  }

  
}

@media only screen and (min-width: 750px) {
  .banner--content-align-right .banner__box {
    text-align: right;
  }

  .banner--content-align-left .banner__box {
    text-align: left;
  }

  

  .banner--content-align-left.banner--desktop-transparent .banner__box,
  .banner--content-align-right.banner--desktop-transparent .banner__box,
  .banner--medium.banner--desktop-transparent .banner__box {
    max-width: 42.5rem;
  }
}

@media screen and (max-width: 749px) {
  .banner--small.banner--mobile-bottom:not(.banner--adapt) .banner__media,
  .banner--small.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) > .banner__media {
    height: 17.5rem;
  }

  .banner--medium.banner--mobile-bottom:not(.banner--adapt) .banner__media,
  .banner--medium.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) > .banner__media {
    height: 21.25rem;
  }

  .banner--large.banner--mobile-bottom:not(.banner--adapt) .banner__media,
  .banner--large.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) > .banner__media {
    height: 24.375rem;
  }

  .banner--small:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 17.5rem;
  }

  .banner--medium:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 21.25rem;
  }

  .banner--large:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 31.25rem;
  }
}

@media screen and (min-width: 750px) {
  .banner {
    flex-direction: row;
  }

  .banner--small:not(.banner--adapt) {
    min-height: 26.25rem;
  }

  .banner--medium:not(.banner--adapt) {
    min-height: 45rem;
  }

  .banner--large:not(.banner--adapt) {
    min-height: 45rem;
  }

  .banner__content.banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner__content.banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content.banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .banner__content.banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content.banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content.banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content.banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content.banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content.banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 749px) {
  .banner:not(.banner--stacked) {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .banner--stacked {
    height: auto;
  }

  .banner--stacked .banner__media {
    flex-direction: column;
  }

  .banner__content.banner__content_mobile--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner__content.banner__content_mobile--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content.banner__content_mobile--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .banner__content.banner__content_mobile--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content.banner__content_mobile--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content.banner__content_mobile--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content.banner__content_mobile--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content.banner__content_mobile--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content.banner__content_mobile--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}

.banner__media.media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  right: 0;
  left: auto;
}

@media screen and (max-width: 749px) {
  .banner--stacked .banner__media-half {
    width: 100%;
  }

  .banner--stacked .banner__media-half + .banner__media-half {
    order: 1;
  }
}

@media screen and (min-width: 750px) {
  .banner__media {
    height: 100%;
  }
}

.banner--adapt,
.banner--adapt_image.banner--mobile-bottom .banner__media:not(.placeholder) {
  height: auto;
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom .banner__media,
  .banner--stacked:not(.banner--mobile-bottom) .banner__media {
    position: relative;
  }

  .banner--stacked.banner--adapt .banner__content {
    height: auto;
  }

  .banner:not(.banner--mobile-bottom):not(.email-signup-banner) .banner__box {
    background: transparent;
    --color-foreground: 255, 255, 255;
    --color-button: 255, 255, 255;
    --color-button-text: 0, 0, 0;
  }

  .banner:not(.banner--mobile-bottom) .banner__box {
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner:not(.banner--mobile-bottom) .button--secondary {
    --color-button: 255, 255, 255;
    --color-button-text: 255, 255, 255;
    --alpha-button-background: 0;
  }

  .banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt)
    .banner__content {
    position: absolute;
    height: auto;
  }

  .banner--stacked.banner--adapt:not(.banner--mobile-bottom) .banner__content {
    max-height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .banner--stacked:not(.banner--adapt) .banner__media {
    position: relative;
  }

  .banner::before {
    display: none !important;
  }

  .banner--stacked .banner__media-image-half {
    width: 100%;
  }
}

.banner__content {
  padding: 0;
  display: flex;
  position: relative;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

@media screen and (min-width: 750px) {
  .banner__content {
    padding: 3.125rem;
  }

  .banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom:not(.banner--stacked) .banner__content {
    order: 2;
  }

  .banner:not(.banner--mobile-bottom) .field__input {
    background-color: transparent;
  }
}

.banner__box {
  padding: 2.5rem 2.1875rem;
  position: relative;
  height: fit-content;
  align-items: center;
  text-align: center;
  width: 100%;
  word-wrap: break-word;
  z-index: 1;
}

@media screen and (min-width: 750px) {
  .banner--desktop-transparent .banner__box {
    background: transparent;
    --color-foreground: 255, 255, 255;
    --color-button: 255, 255, 255;
    --color-button-text: 0, 0, 0;
    max-width: 55.625rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner--desktop-transparent .button--secondary {
    --color-button: 255, 255, 255;
    --color-button-text: 255, 255, 255;
    --alpha-button-background: 0;
  }

  .banner--desktop-transparent .content-container:after {
    display: none;
  }
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom::after,
  .banner--mobile-bottom .banner__media::after {
    display: none;
  }
}

.banner::after,
.banner__media::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background: #000000;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.banner__box > * + .banner__text {
  margin-top: 0.9375rem;
}

@media screen and (min-width: 750px) {
  .banner__box > * + .banner__text {
    margin-top: 1.25rem;
  }
}

.banner__box > * + * {
  margin-top: 0.625rem;
}

.banner__box > *:first-child {
  margin-top: 0;
}

@media screen and (max-width: 749px) {
  .banner--stacked .banner__box {
    width: 100%;
  }
}

@media screen and (min-width: 750px) {
  .banner__box {
    width: auto;
    max-width: 44.375rem;
    min-width: 28.125rem;
  }
}

@media screen and (min-width: 1400px) {
  .banner__box {
    max-width: 56.25rem;
  }
}

.banner__heading {
  margin-bottom: 0;
}

.banner__box .banner__heading + * {
  margin-top: 0.625rem;
}

.banner__buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  max-width: 28.125rem;
  word-break: break-word;
}

@media screen and (max-width: 749px) {
  .banner--content-align-mobile-right .banner__buttons--multiple {
    justify-content: flex-end;
  }

  .banner--content-align-mobile-center .banner__buttons--multiple > * {
    flex-grow: 1;
    min-width: 13.75rem;
  }
}

@media screen and (min-width: 750px) {
  .banner--content-align-center .banner__buttons--multiple > * {
    flex-grow: 1;
    min-width: 13.75rem;
  }

  .banner--content-align-right .banner__buttons--multiple {
    justify-content: flex-end;
  }
}

.banner__box > * + .banner__buttons {
  margin-top: 1.25rem;
}

.hero-banner .banner__media iframe.vimeoIframe {
   width: 200%; height: 200%; top: 50%; transform: translate(-50%,-50%); max-width: unset; left: 50%; max-width: unset; }
@media screen and (min-width: 750px) {
.hero-banner .banner__media iframe.vimeoIframe {
  width: 100vw; height: 100vw; }
  @media screen and (max-width: 1199px) {
    .hero-banner .banner__media iframe.vimeoIframe {
      width: 150%; height: 150%; }
  }
}

.hero-banner+.hero-banner{
  margin-top: 0px;
}

.hero-banner:last-child { 
  margin-bottom: -70px;
}

.template--index .hero-banner:last-child{
  margin-bottom: 0px;
}

.hero-banner .banner__heading.h0{
  font-size: 100px;
}
.hero-banner .banner__heading.h1{
  font-size: 80px;
}
.hero-banner .banner__heading.h2{
  font-size: 60px;
}
.hero-banner .banner__heading{
  font-weight: 800;
  line-height: 100%;
  margin: 0;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.hero-banner .subtitle, .hero-banner .countdown__text{
  font-weight: 600;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.hero-banner .banner__content .banner__box{
      max-width: 850px;
  padding-right: 0;
    padding-left: 0;
}
.hero-countdown ul {
    display: flex;
    align-items: center;
      padding: 0;
    margin: 55px 0 0;
}
.hero-countdown .number {
      min-width: 40px;
    position: relative;
    font-size: 30px;
    letter-spacing: -.05em;
    font-weight: 700;
    line-height: 25px;
    display: block;
}
.hero-countdown li{
      text-align: center;
}
.hero-countdown li::marker{
  font-size: 0;
  display: none;
}
.hero-countdown li:not(:last-child){
      padding-right: 50px;
}
.hero-countdown li:not(:last-child) .number:after {
        content: ":";
    position: absolute;
    right: -27px;
    bottom: 0;
}
.hero-countdown .text{
    display: block;
    text-align: center;
    font-weight: 600;
    font-size: 10px;
    line-height: 110%;
    text-transform: uppercase;
      margin-top: 3px;
}
.full_banner_link{
          position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: inline-block !important;
    z-index: 3;
}
.banner__media video{
      object-fit: cover;
}
.hero-banner .banner{
  position: relative;
      z-index: 1;
}
.hero-countdown ul{
  justify-content: center;
}
.banner--img-auto-width .media>img, .banner--img-auto-width .banner__media video{
    object-fit: contain;
}
.banner--img-auto-width.banner:after, .banner--img-auto-width.banner__media:after{
  display: none;
}

.hero-banner .banner__media[data-anim-fade-in] img{
   animation: fadeIn 3s;
  -webkit-animation: fadeIn 3s;
  -moz-animation: fadeIn 3s;
  -o-animation: fadeIn 3s;
  -ms-animation: fadeIn 3s;
}
.hero-banner .banner__buttons .button--secondary{
  border: 1px solid;
}
.hero-banner .banner__buttons .button--secondary:after{
  --border-opacity: none;
}
.hero-banner .banner__buttons .button:not([disabled]):hover:after, .hero-banner .banner__buttons .button--primary:not([disabled]):after{
  --border-offset: none;
  box-shadow: none;
}

.media > .banner__media--desktop {
  display: block !important;
}
.media > .banner__media--mobile {
  display: none !important;
}

.template--drop #MainContent .hero-banner:first-child {
    margin-bottom: 0;
}

@media screen and (min-width: 750px){
  .hero-banner+.hero-banner{
    margin-top: -50px;
  }
  .template--index .hero-banner+.hero-banner{
    margin-top: 0px;
  }
  .banner--timer-align-right .hero-countdown ul {
    justify-content: flex-end;
  }
  .banner--timer-align-left .hero-countdown ul {
        justify-content: flex-start;
  }
  
  .banner__img--top-left .media>img{
        object-position: top left;
  }
  .banner__img--top-center .media>img{
        object-position: top center;
  }
  .banner__img--top-right .media>img{
        object-position: top right;
  }
  .banner__img--middle-left .media>img{
        object-position: center left;
  }
  .banner__img--middle-center .media>img{
        object-position: center center;
  }
  .banner__img--middle-right .media>img{
        object-position: center right;
  }
  .banner__img--bottom-left .media>img{
        object-position: bottom left;
  }
  .banner__img--bottom-center .media>img{
        object-position: bottom center;
  }
  .banner__img--bottom-right .media>img{
        object-position: bottom right;
  }
}
@media screen and (max-width: 1199px){
  .hero-banner .banner__heading.h0{
        font-size: 70px;
  }
  .hero-banner .banner__heading.h1{
    font-size: 60px;
  }
  .hero-banner .banner__heading.h2{
    font-size: 40px;
  }
  .hero-banner .subtitle, .hero-banner .countdown__text{
     font-size: 18px;
  }
  .hero-countdown ul{
        margin: 45px 0 0;
  }
}


@media screen and (max-width: 749px){
  .banner--timer-align-mobile-right .hero-countdown ul {
    justify-content: flex-end;
  }
  .banner--timer-align-mobile-left .hero-countdown ul {
    justify-content: flex-start;
  }
  .hero-banner .subtitle, .hero-banner .countdown__text{
     font-size: 12px;
  }
  .hero-banner .banner__heading{
    position: relative;
  }
  .hero-banner .countdown__text{
        margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    line-height: 90%;
  }
  .hero-banner .banner__heading.h0 .bottom-heading{
        margin-left: auto;
    margin-top: 10px;
  }
  .hero-banner .banner__content .banner__box{
    padding: 40px 30px;
  }
  .hero-banner .banner::before, 
  .hero-banner .banner .banner__media::before, 
  .hero-banner .banner:not(.banner--mobile-bottom) .banner__content::before{
        min-height:70vh;
  }
  .hero-banner .banner__heading.h0 {
    font-size: 35px;
        line-height: 1;
  }
  .hero-banner .banner__heading.h1{
    font-size: 30px;
  }
  .hero-banner .banner__heading.h2{
    font-size: 20px;
  }

  .banner__img-mobile--top-left .media>img{
        object-position: top left;
  }
  .banner__img-mobile--top-center .media>img{
        object-position: top center;
  }
  .banner__img-mobile--top-right .media>img{
        object-position: top right;
  }
  .banner__img-mobile--middle-left .media>img{
        object-position: center left;
  }
  .banner__img-mobile--middle-center .media>img{
        object-position: center center;
  }
  .banner__img-mobile--middle-right .media>img{
        object-position: center right;
  }
  .banner__img-mobile--bottom-left .media>img{
        object-position: bottom left;
  }
  .banner__img-mobile--bottom-center .media>img{
        object-position: bottom center;
  }
  .banner__img-mobile--bottom-right .media>img{
        object-position: bottom right;
  }
  .media > .banner__media--desktop {
    display: none !important;
  }
  .media > .banner__media--mobile {
    display: block !important;
  }
}

@media screen and (max-width: 374px){
  .hero-banner .banner__heading.h0 {
    font-size: 35px;
  }
  .hero-banner .banner__heading.h1{
    font-size: 30px;
  }
  .hero-banner .banner__heading.h2{
    font-size: 24px;
  }
  .hero-banner .subtitle, .hero-banner .countdown__text {
    font-size: 16px;
  }
}



@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@-moz-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@-webkit-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@-o-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@-ms-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@media screen and  (max-width: 749px) {
  .banner.banner--adapt:has(.banner__box:empty) .banner__media,
  .banner.banner--adapt:has(.banner__box:empty)  .banner__media--mobile {
      position: unset;
  }
  .banner.banner--adapt:has(.banner__box:empty) .banner__media:before {
    content: none !important;
  }  
  .banner.banner--adapt:has(.banner__box:empty)  .banner__content {
    display: none;
  }
  .banner.banner--adapt:has(.banner__box:empty)  .image-mobile,
  .banner.banner--adapt:has(.banner__box:empty)  .banner__media--mobile video {
    position: relative;
  }
}

/* ===== FIX "Adapt to image height" pour ce Hero (#Banner-{{ section.id }}) ===== */

/* 1) Annule toute hauteur forcée héritée (min-height, paddings, etc.) */
#Banner-{{ section.id }}.banner--adapt,
#Banner-{{ section.id }}.banner--adapt .banner__media {
  height: auto !important;
  min-height: 0 !important;
}
#Banner-{{ section.id }}.banner--adapt .banner__content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* 2) Réactive les pseudo-éléments utilisés pour l’aspect-ratio
      (ils étaient neutralisés ailleurs avec display:none ou min-height:70vh) */
#Banner-{{ section.id }}.banner--adapt::before,
#Banner-{{ section.id }}.banner--adapt .banner__media::before,
#Banner-{{ section.id }}.banner--adapt:not(.banner--mobile-bottom) .banner__content::before {
  content: '' !important;
  display: block !important;   /* écrase .banner::before { display:none !important; } */
  min-height: 0 !important;    /* écrase min-height:70vh */
  padding-bottom: var(--padding-top-desktop);
}

@media (max-width: 749px) {
  #Banner-{{ section.id }}.banner--adapt::before,
  #Banner-{{ section.id }}.banner--adapt .banner__media::before,
  #Banner-{{ section.id }}.banner--adapt:not(.banner--mobile-bottom) .banner__content::before {
    padding-bottom: var(--padding-top-mobile);
  }
}

/* 3) Empêche les variantes "small/medium/large" d’imposer une hauteur si jamais la classe traîne */
#Banner-{{ section.id }}.banner--adapt.banner--small,
#Banner-{{ section.id }}.banner--adapt.banner--medium,
#Banner-{{ section.id }}.banner--adapt.banner--large {
  min-height: 0 !important;
}

