@charset "UTF-8";
@font-face {
  font-family: "Frederick Text";
  src: url("../fonts/FrederickText/FrederickText-Regular.woff2") format("woff2"), url("../fonts/FrederickText/FrederickText-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Frederick Text";
  src: url("../fonts/FrederickText/FrederickText-Semibold.woff2") format("woff2"), url("../fonts/FrederickText/FrederickText-Semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Frederick Bold Condensed";
  src: url("../fonts/FrederickCondensed/Frederick-BoldCondensed.woff2") format("woff2"), url("../fonts/FrederickCondensed/Frederick-BoldCondensed.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/* ---------- Buttons ---------- */
/* ---------- Header ---------- */
/* ---------- Header menu ---------- */
/* ---------- Banner ---------- */
.banner-page .banner-content .content-text {
  max-width: 680px;
}
.banner-page .banner-content .content-text p {
  line-height: 1.1em;
  font-weight: var(--fw-bold);
  color: var(--color-bluegrey);
}

.banner-holder {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.banner-holder .text-center {
  text-align: center;
}
@media (min-width: 768px) {
  .banner-holder {
    align-items: center;
    flex-direction: row;
    gap: 3rem;
  }
}
@media (min-width: 992px) {
  .banner-holder {
    gap: 6rem;
  }
}
.banner-holder .banner-content {
  padding: 2rem 0 0 0;
  width: 100%;
}
@media (min-width: 768px) {
  .banner-holder .banner-content {
    max-width: 45%;
  }
}
@media (min-width: 992px) {
  .banner-holder .banner-content {
    max-width: clamp(590px, 44.7916666667vw, 860px);
  }
}
.banner-holder .banner-img {
  margin: 0 -1.5rem;
}
@media (min-width: 992px) {
  .banner-holder .banner-img {
    width: 100%;
    margin-right: -3.5rem;
    max-width: 875px;
  }
}
@media (min-width: 992px) {
  .banner-holder.w-50 .banner-img,
  .banner-holder.w-50 .banner-content {
    width: 100%;
  }
}

.buttons-holder {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--buttons-halign);
  gap: clamp(12px, 1.25vw, 24px);
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 0.9375vw, 18px);
  line-height: 1;
  color: var(--color-white);
  text-decoration: none;
  border-radius: 0;
  background: var(--color-black);
  cursor: pointer;
  padding: 12px 24px;
  transition: all 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .button:hover {
    color: var(--color-white);
  }
}
.button.opaque-color-blue {
  background: var(--color-blue);
}
@media (hover: hover) and (pointer: fine) {
  .button.opaque-color-blue:hover {
    background: var(--color-gold);
  }
}
.button.opaque-color-gold {
  background: var(--color-gold);
  border: 1px solid var(--color-gold);
}
@media (hover: hover) and (pointer: fine) {
  .button.opaque-color-gold:hover {
    background: var(--color-blue);
    border: 1px solid var(--color-gold);
  }
}
.button.opaque-color-white {
  background: var(--color-white);
  color: var(--color-gold);
}
@media (hover: hover) and (pointer: fine) {
  .button.opaque-color-white:hover {
    background: var(--color-blue);
    color: var(--color-white);
  }
}
.button.square span {
  font-size: clamp(14px, 0.9375vw, 18px);
  padding-top: 3px;
  line-height: 1.1em;
}
.button.round {
  color: var(--color-white);
  text-decoration: none;
  border: clamp(1px, 0.1041666667vw, 2px) solid var(--color-white);
  border-radius: 50px;
  background: var(--color-black);
  outline: clamp(2px, 0.2083333333vw, 4px) solid var(--color-black);
  cursor: pointer;
  padding: clamp(8px, 0.78125vw, 15px) clamp(18px, 1.71875vw, 33px) clamp(8px, 0.7291666667vw, 14px);
  transition: all 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .button.round:hover {
    color: var(--color-white);
  }
}
.button.round span {
  font-size: clamp(14px, 0.9375vw, 18px);
  padding-top: 3px;
  line-height: 1.1em;
}
.button.round.opaque-color-blue {
  outline-color: var(--color-blue);
  background: var(--color-blue);
}
@media (hover: hover) and (pointer: fine) {
  .button.round.opaque-color-blue:hover {
    outline-color: var(--color-gold);
    background: var(--color-gold);
  }
}
.button.round.opaque-color-red {
  outline-color: var(--color-red);
  background: var(--color-red);
}
@media (hover: hover) and (pointer: fine) {
  .button.round.opaque-color-red:hover {
    outline-color: var(--color-gold);
    background: var(--color-gold);
  }
}
.button.round.opaque-color-gold {
  outline-color: var(--color-gold);
  background: var(--color-gold);
}
@media (hover: hover) and (pointer: fine) {
  .button.round.opaque-color-gold:hover {
    outline-color: var(--color-red);
    background: var(--color-red);
  }
}
.button.round.opaque-color-white {
  color: var(--color-gold);
  border-color: var(--color-gold);
  outline-color: var(--color-white);
  background: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .button.round.opaque-color-white:hover {
    color: white;
    border-color: var(--color-white);
    outline-color: var(--color-red);
    background: var(--color-red);
  }
}

.is-apple .button.square span, .is-apple .button.round span {
  line-height: 1.1em;
  padding-top: 0 !important;
  padding-bottom: 1px !important;
}

/* ***** GÉNÉRAL ***** */
.header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  position: fixed;
  background: var(--color-white);
  transition: all 0.3s ease;
}
.header.scrollUp {
  opacity: 0;
  transform: translateY(-100%) !important;
}
.header.shrink {
  box-shadow: 0 0 25px 5px rgba(0, 0, 0, 0.1);
}
.header .header-items {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header a,
.header i {
  color: var(--color-main);
}
.header a:hover,
.header i:hover {
  color: var(--color-gold);
}
.header .logo-group {
  display: flex;
  align-items: center;
}
.header .logo-group .logo-1 {
  width: 100%;
  max-width: 60px;
}
@media (min-width: 1200px) {
  .header .logo-group .logo-1 {
    max-width: 70px;
  }
}
.header .logo-group .logo-2 {
  width: 100%;
  max-width: 150px;
}
@media (min-width: 1200px) {
  .header .logo-group .logo-2 {
    max-width: 180px;
  }
}
.header .logo-holder .logo {
  position: relative;
  padding: 25px 0;
}
.header .logo-holder .logo.desktop.has-mobile-logo {
  display: none;
}
@media (min-width: 1200px) {
  .header .logo-holder .logo.desktop.has-mobile-logo {
    display: flex;
  }
}
.header .logo-holder .logo.mobile {
  display: flex;
}
@media (min-width: 1200px) {
  .header .logo-holder .logo.mobile {
    display: none;
  }
}
.header .logo-holder .logo img {
  width: 175px;
}
@media (min-width: 1200px) {
  .header .logo-holder .logo img {
    width: clamp(150px, 18.2291666667vw, 350px);
  }
}
.header .logo-holder .logo a, .header .logo-holder .logo img {
  display: block;
}
.header .menu-principal {
  padding: 0 0 0 clamp(25px, 1.8229166667vw, 35px);
  display: none;
}
@media (min-width: 1200px) {
  .header .menu-principal {
    display: flex;
  }
}
.header .menu-principal .menu > li > a {
  white-space: nowrap;
}
.header .hamburger-holder {
  display: flex;
}
@media (min-width: 1200px) {
  .header .hamburger-holder {
    display: none;
  }
}
.header .hamburger-holder.active {
  display: flex;
}
.header .hamburger-holder .hamburger {
  transition: all 0.3s ease-in-out;
}
.header .hamburger-holder .hamburger .line {
  width: 24px;
  height: 2px;
  display: block;
  margin: 7px auto;
  transition: all 0.3s ease-in-out;
  background-color: var(--color-main);
  border-radius: 100vh;
}
.header .hamburger-holder .hamburger .line:first-of-type {
  margin-top: 0;
}
.header .hamburger-holder .hamburger .line:last-of-type {
  margin-bottom: 0;
}
.header .hamburger-holder .hamburger:hover {
  cursor: pointer;
}
.header .hamburger-holder .hamburger.is-active {
  animation: smallbig 0.6s forwards;
}
.header .hamburger-holder .hamburger.is-active .line:nth-child(1),
.header .hamburger-holder .hamburger.is-active .line:nth-child(2),
.header .hamburger-holder .hamburger.is-active .line:nth-child(3) {
  transition-delay: 0.2s;
}
.header .hamburger-holder .hamburger.is-active .line:nth-child(2) {
  opacity: 0;
}
.header .hamburger-holder .hamburger.is-active .line:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}
.header .hamburger-holder .hamburger.is-active .line:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

.header nav ul {
  display: flex;
  margin: 0;
}
.header nav ul li {
  position: relative;
  display: flex;
  align-items: stretch;
}
.header nav ul li:last-of-type {
  margin-right: 0;
}
.header nav ul li:first-of-type {
  margin-left: 0;
}
.header nav ul li:not(:first-of-type):before {
  content: "|";
  font-weight: 700;
  display: inline-block;
  margin: 0 clamp(15px, 1.3020833333vw, 25px);
  opacity: 0.2;
}
.header nav ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.header nav ul li.current_page_parent > a, .header nav ul li.current-menu-item > a, .header nav ul li.current-menu-parent > a, .header nav ul li.current-page-parent > a, .header nav ul li.current_page_item > a {
  color: var(--color-gold);
}
.header nav ul li ul {
  display: none !important;
  visibility: hidden !important;
}