.elementor-16 .elementor-element.elementor-element-646e25cd{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:45px;--padding-bottom:45px;--padding-left:45px;--padding-right:45px;--z-index:3;}.elementor-16 .elementor-element.elementor-element-591a9b05{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:51px 51px 51px 51px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-16 .elementor-element.elementor-element-591a9b05:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-591a9b05 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-16 .elementor-element.elementor-element-afdc6d{--display:flex;}.elementor-16 .elementor-element.elementor-element-59c752a8{--display:flex;}.elementor-16 .elementor-element.elementor-element-50826338{--display:flex;}.elementor-16 .elementor-element.elementor-element-5448b03a{--display:flex;}.elementor-16 .elementor-element.elementor-element-30ca0f8c{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-space-between:0px;--n-menu-title-distance-from-content:0px;--n-menu-title-color-normal:#FFFFFF;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;padding:13px 0px 13px 0px;}.elementor-16 .elementor-element.elementor-element-30ca0f8c > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-16 .elementor-element.elementor-element-30ca0f8c > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-16 .elementor-element.elementor-element-30ca0f8c > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Bricolage Grotesque", Sans-serif;font-weight:300;}.elementor-16 .elementor-element.elementor-element-30ca0f8c {--n-menu-title-color-hover:var( --e-global-color-secondary );}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button{font-family:"Bricolage Grotesque", Sans-serif;font-size:16px;font-weight:400;fill:#FFFFFF;color:#FFFFFF;background-color:#FFFFFF00;transition-duration:0.6s;border-style:solid;border-width:1px 1px 1px 1px;border-radius:24px 24px 24px 24px;padding:13px 20px 13px 20px;}.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button:hover, .elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button:focus{color:#FFFFFF;border-color:#FFFFFF;}.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button:hover svg, .elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-16 .elementor-element.elementor-element-1637a5b8{margin:0px 8px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;width:var( --container-widget-width, 134px );max-width:134px;--container-widget-width:134px;--container-widget-flex-grow:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-16 .elementor-element.elementor-element-591a9b05{--width:591px;}}/* Start custom CSS for button, class: .elementor-element-1637a5b8 */.elementor-16 .elementor-element.elementor-element-1637a5b8 {
  --slide-distance: 32px;
}

.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button {
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button-content-wrapper {
  overflow: visible;
  height: auto;
  line-height: normal;
  display: flex;
  align-items: center;
  justify-content: center;
}

.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button-text {
  display: block;
  transform: translate3d(0, 0, 0);
  opacity: 1;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* Au survol : le texte sort vers le haut puis revient par le bas */
.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button:hover .elementor-button-text {
  animation: buttonTextSlideUp 0.70s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

/* Quand la souris quitte : animation inverse */
.elementor-16 .elementor-element.elementor-element-1637a5b8 .elementor-button:not(:hover) .elementor-button-text {
  animation: buttonTextSlideDown 0.70s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes buttonTextSlideUp {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  49.5% {
    transform: translate3d(0, calc(-1 * var(--slide-distance)), 0);
    opacity: 1;
  }

  50% {
    transform: translate3d(0, calc(-1 * var(--slide-distance)), 0);
    opacity: 0;
  }

  50.5% {
    transform: translate3d(0, var(--slide-distance), 0);
    opacity: 0;
  }

  51% {
    transform: translate3d(0, var(--slide-distance), 0);
    opacity: 1;
  }

  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes buttonTextSlideDown {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  49.5% {
    transform: translate3d(0, var(--slide-distance), 0);
    opacity: 1;
  }

  50% {
    transform: translate3d(0, var(--slide-distance), 0);
    opacity: 0;
  }

  50.5% {
    transform: translate3d(0, calc(-1 * var(--slide-distance)), 0);
    opacity: 0;
  }

  51% {
    transform: translate3d(0, calc(-1 * var(--slide-distance)), 0);
    opacity: 1;
  }

  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.elementor-16 .elementor-element.elementor-element-1637a5b8 {
    will-change: transform;
    animation: heroTitleMoveUp linear both;
    animation-timeline: scroll(root block);
    animation-range: 0vh 100vh;
}

@keyframes heroTitleMoveUp {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(0, -55px, 0);
    }
}/* End custom CSS */