:root {
  --revex-fixed-header-height: 0px;
}

body.revex-fixed-header .et-l--header {
  left: 0;
  position: fixed !important;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10000;
}

body.admin-bar.revex-fixed-header .et-l--header {
  top: 32px;
}

body.revex-fixed-header #et-main-area {
  padding-top: var(--revex-fixed-header-height) !important;
}

body.revex-fixed-header .et-l--header .no-sticky-adjust,
body.revex-fixed-header .et-l--header .fix-sticky {
  bottom: auto !important;
  left: auto !important;
  margin-top: 0 !important;
  position: relative !important;
  top: auto !important;
  width: 100% !important;
}

body.revex-fixed-header .et-l--header .et_pb_sticky_placeholder {
  display: none !important;
}

@media (max-width: 782px) {
  body.admin-bar.revex-fixed-header .et-l--header {
    top: 46px;
  }
}

.revex-native-menu {
  --revex-menu-blue: #0a4a8b;
  --revex-menu-blue-light: #1172b3;
  --revex-menu-pink: #ff004e;
  font-family: 'Gotham Book', Helvetica, Arial, sans-serif;
  position: relative;
  width: 100%;
  z-index: 1000;
}

.revex-native-menu *,
.revex-native-menu *::before,
.revex-native-menu *::after {
  box-sizing: border-box;
}

.revex-native-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.revex-native-menu a {
  text-decoration: none !important;
}

.revex-native-menu__items {
  align-items: stretch;
  display: flex;
  justify-content: flex-end;
}

.revex-native-menu__item--top {
  position: relative;
}

.revex-native-menu__top-row {
  align-items: stretch;
  display: flex;
  height: 100%;
}

.revex-native-menu__top-link {
  align-items: center;
  color: var(--revex-menu-blue) !important;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  line-height: 25px;
  min-height: 55.5px;
  padding: 15px 20px;
  transition: color 180ms ease;
}

.revex-native-menu__item--top.has-panel .revex-native-menu__top-link {
  padding-right: 25px;
}

.revex-native-menu__item--top:hover .revex-native-menu__top-link,
.revex-native-menu__item--top:focus-within .revex-native-menu__top-link,
.revex-native-menu__item--top.current-menu-item .revex-native-menu__top-link,
.revex-native-menu__item--top.current-menu-ancestor .revex-native-menu__top-link {
  color: var(--revex-menu-pink) !important;
}

.revex-native-menu__panel-toggle {
  align-self: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--revex-menu-blue);
  cursor: pointer;
  height: 38px;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 0;
  top: 9px;
  width: 25px;
  z-index: 2;
}

.revex-native-menu__panel-toggle::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: '';
  height: 7px;
  left: 7px;
  position: absolute;
  top: 13px;
  transform: rotate(45deg);
  transition: transform 180ms ease;
  width: 7px;
}

.revex-native-menu__item--top.is-open .revex-native-menu__panel-toggle::after {
  transform: translateY(4px) rotate(225deg);
}

.revex-native-menu__mega,
.revex-native-menu__dropdown {
  box-shadow: 0 18px 35px rgb(0 0 0 / 20%);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: calc(100% - 8px);
  transform: translateY(10px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
}

.revex-native-menu__item--top:hover > .revex-native-menu__mega,
.revex-native-menu__item--top:focus-within > .revex-native-menu__mega,
.revex-native-menu__item--top.is-open > .revex-native-menu__mega,
.revex-native-menu__item--top:hover > .revex-native-menu__dropdown,
.revex-native-menu__item--top:focus-within > .revex-native-menu__dropdown,
.revex-native-menu__item--top.is-open > .revex-native-menu__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.revex-native-menu__mega {
  background: rgb(17 114 179);
  display: grid;
  grid-template-columns: 33.333333% 66.666667%;
  height: auto;
  min-height: 450px;
  left: 50%;
  max-height: calc(100vh - 70px);
  max-width: 1440px;
  overflow: auto;
  transform: translate(-50%, 10px);
  width: min(1440px, 100vw);
}

.revex-native-menu__item--top:hover > .revex-native-menu__mega,
.revex-native-menu__item--top:focus-within > .revex-native-menu__mega,
.revex-native-menu__item--top.is-open > .revex-native-menu__mega {
  transform: translate(-50%, 0);
}

.revex-native-menu__mega-sidebar {
  background: var(--revex-menu-blue);
  /*min-height: 620px;*/
  overflow: hidden;
  padding: 48px 0 48px 48px;
}

.revex-native-menu__mega-title {
  color: #fff !important;
  display: table;
  font-family: 'Gotham Black', Helvetica, Arial, sans-serif;
  font-size: 47px;
  font-weight: 500;
  line-height: 47px;
  margin: 15px 20px 30px;
  position: relative;
}

.revex-native-menu__mega-title::after {
  background: var(--revex-menu-pink);
  bottom: -10px;
  content: '';
  height: 6px;
  left: 0;
  position: absolute;
  width: 100%;
}

.revex-native-menu__tabs {
  display: grid;
  gap: 0;
}

.revex-native-menu__tab {
  appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 22px;
  font-weight: 600;
  line-height: 28.6px;
  /*min-height: 58.6px;*/
  padding: 11px 20px;
  position: relative;
  text-align: left;
  text-transform: lowercase;
  transition: color 180ms ease, transform 180ms ease;
  width: 100%;
}

.revex-native-menu__tab::first-letter {
  text-transform: uppercase;
}

.revex-native-menu__tab:hover,
.revex-native-menu__tab:focus-visible,
.revex-native-menu__tab.is-selected {
  color: #fff;
  transform: none;
}

.revex-native-menu__mega-content {
  background: rgb(53 90 146);
  min-width: 0;
  padding: 0;
}

.revex-native-menu__tab-panel[hidden] {
  display: none;
}

.revex-native-menu__tab-panel {
  background: rgb(10 74 139 / 70%);
  height: 100%;
}

.revex-native-menu__cards {
  height: 100%;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 50%;
}

.revex-native-menu__card {
  aspect-ratio: auto;
  background: var(--revex-menu-blue-light);
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.revex-native-menu__card-media,
.revex-native-menu__card-image,
.revex-native-menu__card-overlay {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
  background-color: #FFF;
  img{
    height: 100%;
  }
}

.revex-native-menu__card-image {
  object-fit: cover;
  transform: scale(1);
  transition: transform 300ms ease;
}

.revex-native-menu__card-overlay {
  background: rgb(10 74 139 / 70%);
  transition: background-color 250ms ease;
}

.revex-native-menu__card-title {
  color: #fff;
  font-size: 22px;
  font-weight: 500;
  left: 50%;
  line-height: 1.2;
  position: absolute;
  text-align: center;
  text-transform: lowercase;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 82%;
  z-index: 2;
}

.revex-native-menu__card-title::first-letter {
  text-transform: uppercase;
}

.revex-native-menu__card:hover .revex-native-menu__card-image {
  transform: scale(1.12);
}

.revex-native-menu__card:not(:hover) .revex-native-menu__card-image {
  transform: scale(1);
}

.revex-native-menu__card:hover .revex-native-menu__card-overlay,
.revex-native-menu__card:focus-visible .revex-native-menu__card-overlay {
  background: rgb(10 74 139 / 52%);
}

.revex-native-menu__dropdown {
  background: var(--revex-menu-blue);
  left: 0;
  min-height: 470px;
  min-width: 520px;
  padding: 48px 0 48px 48px;
}

.revex-native-menu__dropdown-title {
  color: #fff;
  display: table;
  font-family: 'Gotham Black', Helvetica, Arial, sans-serif;
  font-size: 47px;
  font-weight: 500;
  line-height: 47px;
  margin: 15px 20px 30px;
  position: relative;
}

.revex-native-menu__dropdown-title::after {
  background: var(--revex-menu-pink);
  bottom: -10px;
  content: '';
  height: 6px;
  left: 0;
  position: absolute;
  width: 100%;
}

.revex-native-menu__dropdown .revex-native-menu__item {
  position: relative;
}

.revex-native-menu__dropdown .revex-native-menu__link {
  color: #fff !important;
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  padding: 15px 20px;
}

.revex-native-menu__dropdown .revex-native-menu__link:hover,
.revex-native-menu__dropdown .revex-native-menu__link:focus-visible {
  background: rgb(255 255 255 / 10%);
  color: #fff !important;
}

.revex-native-menu__dropdown .revex-native-menu__submenu .revex-native-menu__submenu {
  background: var(--revex-menu-blue-light);
  display: none;
  left: 100%;
  min-width: 300px;
  padding: 12px 0;
  position: absolute;
  top: -12px;
}

.revex-native-menu__dropdown .has-children:hover > .revex-native-menu__submenu,
.revex-native-menu__dropdown .has-children:focus-within > .revex-native-menu__submenu {
  display: block;
}

.revex-native-menu__mobile-toggle {
  display: none;
}

.revex-native-menu .search-button {
  align-items: center;
  height: 55.5px;
  justify-content: center;
  width: 60px;
}

.revex-native-menu__search-toggle {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--revex-menu-blue);
  cursor: pointer;
  display: flex;
  height: 55.5px;
  justify-content: center;
  padding: 0;
  width: 60px;
}

.revex-native-menu__search-toggle svg {
  fill: currentColor;
  height: 22px;
  width: 22px;
}

.revex-native-menu .search-button:hover .revex-native-menu__search-toggle,
.revex-native-menu .search-button:focus-within .revex-native-menu__search-toggle {
  color: var(--revex-menu-pink);
}

.revex-native-menu--mobile-cards {
  display: none;
}

.revex-native-menu :focus-visible {
  outline: 3px solid var(--revex-menu-pink);
  outline-offset: 2px;
}

@media (max-width: 980px) {
  .revex-native-menu {
    z-index: 10000;
  }

  .revex-native-menu__mobile-toggle {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--revex-menu-blue);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    gap: 12px;
    margin-left: auto;
    min-height: 48px;
    padding: 8px 4px 8px 12px;
    text-transform: uppercase;
  }

  .revex-native-menu--mobile-cards {
    display: block;
  }

  .revex-native-menu--mobile-cards .revex-native-menu__mobile-toggle {
    min-width: 48px;
  }

  .revex-native-menu__mobile-panel {
    background: rgb(255 255 255 / 92%);
    box-shadow: 0 18px 35px rgb(0 0 0 / 20%);
    bottom: 0;
    display: none;
    left: 0;
    max-height: none;
    overflow: auto;
    position: fixed;
    right: 0;
    top: var(--revex-mobile-panel-top, 90px);
    transform: none;
    width: auto;
    z-index: 10001;
  }

  .revex-native-menu--mobile-cards.is-mobile-open .revex-native-menu__mobile-panel {
    display: block;
  }

  .revex-native-menu__mobile-visuals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .revex-native-menu__mobile-card {
    display: block;
    height: 155px;
    overflow: hidden;
    position: relative;
  }

  .revex-native-menu__mobile-card--feature {
    grid-row: span 2;
    height: 310px;
  }

  .revex-native-menu__mobile-card img {
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
    width: 100%;
  }

  .revex-native-menu__mobile-card::after {
    background: rgb(17 114 179 / 70%);
    content: '';
    inset: 0;
    position: absolute;
  }

  .revex-native-menu__mobile-card span {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    left: 50%;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 85%;
    z-index: 1;
  }

  .revex-native-menu__mobile-links {
    background: var(--revex-menu-blue);
    padding: 18px 0 !important;
  }

  .revex-native-menu__mobile-link {
    color: #fff !important;
    display: block;
    font-size: 24px;
    font-weight: 600;
    padding: 12px 20px;
    text-align: center;
  }

  .revex-native-menu__mobile-link::before {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
  }

  .revex-native-menu__mobile-link--actualites::before,
  .revex-native-menu__mobile-link--catalogues::before {
    content: url('./assets/actu-icon.svg');
  }

  .revex-native-menu__mobile-link--contact::before {
    content: url('./assets/contact-icon.svg');
  }

  .revex-native-menu__mobile-link--points-de-vente::before {
    content: url('./assets/point-de-vente.svg');
    filter: invert(1);
    width: 25px;
  }

  .revex-native-menu__mobile-icon,
  .revex-native-menu__mobile-icon::before,
  .revex-native-menu__mobile-icon::after {
    background: var(--revex-menu-blue);
    content: '';
    display: block;
    height: 2px;
    position: relative;
    transition: transform 180ms ease, opacity 180ms ease;
    width: 27px;
  }

  .revex-native-menu__mobile-icon::before {
    position: absolute;
    top: -8px;
  }

  .revex-native-menu__mobile-icon::after {
    position: absolute;
    top: 8px;
  }

  .revex-native-menu.is-mobile-open .revex-native-menu__mobile-icon {
    background: transparent;
  }

  .revex-native-menu.is-mobile-open .revex-native-menu__mobile-icon::before {
    top: 0;
    transform: rotate(45deg);
  }

  .revex-native-menu.is-mobile-open .revex-native-menu__mobile-icon::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .revex-native-menu__items {
    background: #fff;
    box-shadow: 0 18px 35px rgb(0 0 0 / 20%);
    display: none;
    left: 50%;
    max-height: calc(100vh - 90px);
    overflow: auto;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    width: 100vw;
  }

  .revex-native-menu.is-mobile-open .revex-native-menu__items {
    display: block;
  }

  .revex-native-menu__item--top {
    border-top: 1px solid #e4e9ed;
  }

  .revex-native-menu__top-row {
    min-height: 55px;
  }

  .revex-native-menu__top-link {
    flex: 1;
    min-height: 55px;
    padding: 12px 20px;
  }

  .revex-native-menu__panel-toggle {
    height: 55px;
    margin: 0;
    position: relative;
    right: auto;
    top: auto;
    width: 55px;
  }

  .revex-native-menu__panel-toggle::after {
    left: 21px;
    top: 20px;
  }

  .revex-native-menu__mega,
  .revex-native-menu__dropdown {
    box-shadow: none;
    display: none;
    max-height: none;
    opacity: 1;
    pointer-events: auto;
    position: static;
    transform: none !important;
    visibility: visible;
    width: 100%;
  }

  .revex-native-menu__mega {
    left: auto !important;
    margin-left: 0 !important;
    width: 100% !important;
  }

  .revex-native-menu__item--top.is-open > .revex-native-menu__mega,
  .revex-native-menu__item--top.is-open > .revex-native-menu__dropdown {
    display: grid;
  }

  .revex-native-menu__item--top.is-open > .revex-native-menu__dropdown {
    display: block;
  }

  .revex-native-menu__mega {
    grid-template-columns: 1fr;
    height: auto;
  }

  .revex-native-menu__mega-sidebar {
    min-height: 0;
    padding: 25px 20px;
  }

  .revex-native-menu__mega-title {
    font-size: 30px;
    margin-bottom: 27px;
  }

  .revex-native-menu__tab {
    font-size: 16px;
    min-height: 0;
    padding-bottom: 9px;
    padding-top: 9px;
  }

  .revex-native-menu__mega-content {
    padding: 20px;
  }

  .revex-native-menu__tab-panel {
    height: auto;
  }

  .revex-native-menu__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .revex-native-menu__card-title {
    font-size: 15px;
  }

  .revex-native-menu__dropdown {
    min-height: 0;
    min-width: 0;
    padding: 8px 0 16px;
  }

  .revex-native-menu__dropdown-title {
    font-size: 30px;
    line-height: 1;
    margin-bottom: 27px;
  }

  .revex-native-menu__dropdown .revex-native-menu__submenu .revex-native-menu__submenu {
    background: rgb(255 255 255 / 8%);
    display: block;
    padding: 0 0 0 16px;
    position: static;
  }
}

@media (max-width: 560px) {
  .revex-native-menu__cards {
    grid-template-columns: 1fr;
  }

  .revex-native-menu__card {
    aspect-ratio: 1.8 / 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .revex-native-menu *,
  .revex-native-menu *::before,
  .revex-native-menu *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
