/*
Theme Name: Ryoko Voyage - Vevey V2
Theme URI: https://www.ergopix.com
Author: ergopix sàrl - Vevey
Version: 2.1
*/
* { outline: 0 none !important; } #wp-admin-bar-customize, #wp-admin-bar-new-content, #wp-admin-bar-search, #wp-admin-bar-comments, #wp-admin-bar-themes, #wp-admin-bar-menus, #wp-admin-bar-customize, #wp-admin-bar-comments { display: none; } .alignleft { float: left; } .alignright { float: right; } .aligncenter { display: block; margin-left: auto; margin-right: auto; } figure.wp-caption.alignleft, img.alignleft { margin: 7px 24px 7px 0; } .wp-caption.alignleft { margin: 7px 14px 7px 0; } figure.wp-caption.alignright, img.alignright { margin: 7px 0 7px 24px; } .wp-caption.alignright { margin: 7px 0 7px 14px; } img.aligncenter, .wp-caption.aligncenter { margin-top: 7px; margin-bottom: 7px; } .wp-caption { margin-bottom: 24px; } .wp-caption img[class*="wp-image-"] { display: block; margin: 0; } .wp-caption, img { max-width: 100%; height: auto; }
/* -------------------------------------------- */
/* Helpers                                      */
/* -------------------------------------------- */
[style*="--mt-grid-baseline-custom-ratio"] {
  margin-top: calc(var(--grid-baseline) * var(--mt-grid-baseline-custom-ratio))!important; }
[style*="--mb-grid-baseline-custom-ratio"] {
  margin-bottom: calc(var(--grid-baseline) * var(--mt-grid-baseline-custom-ratio))!important; }
[style*="--w-grid-baseline-custom-ratio"] {
  width: calc(var(--grid-baseline) * var(--w-grid-baseline-custom-ratio))!important; }
[style*="--h-grid-baseline-custom-ratio"] {
  height: calc(var(--grid-baseline) * var(--h-grid-baseline-custom-ratio))!important; }
.notransition * {
  transition: none!important;
}

:root {
  /* -------------------------------------------- */
  /* Typesetting                                  */
  /* -------------------------------------------- */
  /* Many variables affect readability and the overall balance of the design.
   * Font family, font weight, letter spacing, line height and vertical margins are among the most
   * important ones.
   *
   * - Font pairing (combining fonts from different typefaces) has a huge impact on the overall design.
   *
   * Too many type sizes and styles at once can wreck any layout. A typographic scale has a limited
   * set of type sizes that work well together along with the layout grid.
   * These sizes and styles were developed to balance content density and reading comfort under typical
   * usage conditions.
   *
   * Properties of the font shorthand that are set in the Type scale are the following :
   * font-style font-weight font-stretch font-size/line-height font-family.
   *
   * Furthermore, we specify matching margins for each font-size
   *
   * - Font Weight
   *
   * - Letter Spacing - Tracking
   *
   * - Pacing - Line Height
   * To achieve proper readability and appropriate pacing, line heights have been determined based
   * on each style’s individual size and weight.
   *
   * - Pacing - Vertical Margins
   *
   * - Optical compensation - Horizontal Margins
   *
   * - Colors and Contrast
   *
   * - Remarks - Line Length
   * Consider this advice on readability and line length from the Baymard Institute:
   * “You should have around 60 characters per line if you want a good reading experience.
   * Having the right amount of characters on each line is key to the readability of your text.”
  */


  /* -------------------------------------------- */
  /* Typesetting - Display vars                   */
  /* -------------------------------------------- */
  /*  Font specs */
  --display-font-family:                "SuisseIntl", Helvetica, "sans-serif"; /* Font family : [ <family-name> | <generic-family> ] */
  --display-font-weight:                300;                                   /* Font weight : <font-weight-absolute> */
  --display-font-style:                 normal;                                /* Font style : normal | italic | oblique <angle>? */

  /* Font size (base) and scale */
  --display-font-size-base:             57.33;                                 /* Font base size : <length> */
  --display-font-size-scale:            1.200;                                 /* Type scale : <number> */
  
  /* Used for .display-6 */
  --display-font-size-0: var(--display-font-size-base);
  --display-font-size-0-line-height: 1;
  
  /* Used for .display-5 */
  --display-font-size-1: calc(var(--display-font-size-0) * var(--display-font-size-scale));
  --display-font-size-1-line-height: 1;
  
  /* Used for .display-4 */
  --display-font-size-2: calc(var(--display-font-size-1) * var(--display-font-size-scale));
  --display-font-size-2-line-height: 1;
  
  /* Used for .display-3 */
  --display-font-size-3: calc(var(--display-font-size-2) * var(--display-font-size-scale));
  --display-font-size-3-line-height: 1;
  
  /* Used for .display-2 */
  --display-font-size-4: calc(var(--display-font-size-3) * var(--display-font-size-scale));
  --display-font-size-4-line-height: 1;
  
  /* Used for .display-1 */
  --display-font-size-5: calc(var(--display-font-size-4) * var(--display-font-size-scale));
  --display-font-size-5-line-height: 0.9;


  /* -------------------------------------------- */
  /* Typesetting - primary / wysiwyg vars         */
  /* -------------------------------------------- */
  /*  Font specs */
  --primary-font-family:                "SuisseIntl", Helvetica, "sans-serif"; /* Font family : [ <family-name> | <generic-family> ] */
  --primary-font-weight:                400;                                   /* Font weight : <font-weight-absolute> */
  --primary-font-style:                 normal;                                /* Font style : normal | italic | oblique <angle>? */

  /* Font size (base) and scale */
  --primary-font-size-base:             15;                                    /* Font base size : <length> */
  --primary-font-size-scale:            1.125;                                 /* Type scale : <number> */
  
  /* Used for .small p, p.small */
  --primary-font-size--1: calc(var(--primary-font-size-0) / var(--primary-font-size-scale));
  --primary-font-size-1-line-height: 1;

  /* Used for p */
  --primary-font-size-0: calc(var(--primary-font-size-base) * 1px);
  --primary-font-size-0-line-height: 1.333334;

  /* Used for .large p, p.large */
  --primary-font-size-1: calc(var(--primary-font-size-0) * var(--primary-font-size-scale));
  --primary-font-size-1-line-height: 1.333334;
  
  /* Used for h6, .h-6 */
  --primary-font-size-2: calc(var(--primary-font-size-1) * var(--primary-font-size-scale));
  --primary-font-size-2-line-height: 1.333334;
  
  /* Used for h5, .h-5 */
  --primary-font-size-3: calc(var(--primary-font-size-2) * var(--primary-font-size-scale));
  --primary-font-size-3-line-height: 1.333334;
  
  /* Used for h4, .h-4 */
  --primary-font-size-4: calc(var(--primary-font-size-3) * var(--primary-font-size-scale));
  --primary-font-size-4-line-height: 1.333334;
  
  /* Used for h3, .h-3 */
  --primary-font-size-5: calc(var(--primary-font-size-4) * var(--primary-font-size-scale));
  --primary-font-size-5-line-height: 1.333334;
  
  /* Used for h2, .h-2 */
  --primary-font-size-6: calc(var(--primary-font-size-5) * var(--primary-font-size-scale));
  --primary-font-size-6-line-height: 1.111111;
  
  /* Used for h1, .h-1 */
  --primary-font-size-7: calc(var(--primary-font-size-6) * var(--primary-font-size-scale));
  --primary-font-size-7-line-height: 1.111111;

  /* -------------------------------------------- */
  /* Colors                                       */
  /* -------------------------------------------- */
  --color-primary: #F7C41D;
  --color-white: white;
  --color-white-10: rgba(255, 255, 255, .1);
  --color-white-20: rgba(255, 255, 255, .2);

  --color-black: black;
  --color-black-10: rgba(0, 0, 0, .1);
  --color-black-20: rgba(0, 0, 0, .2);

  /* -------------------------------------------- */
  /* Keyline positions                            */
  /* -------------------------------------------- */
  --keyline-3840: 3840;
  --keyline-2560: 2560;
  --keyline-1920: 1920;
  --keyline-1366: 1366;
  --keyline-1024: 1024;
  --keyline-960: 960;
  --keyline-800: 800;
  --keyline-768: 768;
  --keyline-640: 640;
  --keyline-576: 576;
  --keyline-480: 480;
  --keyline-320: 320;
  
}

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

/* -------------------------------------------- */
/* General layout & typographic styles          */
/* -------------------------------------------- */
html, body {
  text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  font: var(--primary-font-weight) var(--primary-font-size-0)/var(--primary-font-size-0-line-height) var(--primary-font-family);
  background-color: #0a0911;
  background-color: rgb(255 255 255 / 2%);
 }
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  --ref-width: var(--keyline-1920);
  --min-width: var(--keyline-768);
  --max-width: var(--keyline-2560);
  --font-size: calc(var(--target-width) * 1px);
  --min-ratio: calc(var(--min-width) / var(--ref-width));
  --min: calc(var(--min-ratio) * var(--font-size));
  --max-ratio: calc(var(--max-width) / var(--ref-width));
  --max: calc(var(--max-ratio) * var(--font-size));
  --target-ratio: calc(100 / var(--ref-width));
  --target-val: calc(var(--target-width) * var(--target-ratio));
  --target: calc(var(--target-val) * 1vw);
  letter-spacing: .125em;
}
.display-1 {
  --target-width: var(--display-font-size-5);
  font: var(--display-font-weight) clamp(var(--min), var(--target), var(--max))/1 var(--display-font-family);
  text-transform: uppercase;
 }

.display-2 {
  --target-width: var(--display-font-size-4);
  font: var(--display-font-weight) clamp(var(--min), var(--target), var(--max))/1 var(--display-font-family);
  text-transform: uppercase;
}
.display-3 {
  --target-width: var(--display-font-size-3);
  font: var(--display-font-weight) clamp(var(--min), var(--target), var(--max))/1 var(--display-font-family);
  text-transform: uppercase;
}
.display-4 {
  --target-width: var(--display-font-size-2);
  font: var(--display-font-weight) clamp(var(--min), var(--target), var(--max))/1 var(--display-font-family);
  text-transform: uppercase;
}
.display-5 {
  --target-width: var(--display-font-size-2);
  font: var(--display-font-weight) clamp(var(--min), var(--target), var(--max))/1 var(--display-font-family);
  text-transform: uppercase;
}
.display-6 {
  --target-width: var(--display-font-size-1);
  font: var(--display-font-weight) clamp(var(--min), var(--target), var(--max))/1 var(--display-font-family);
  text-transform: uppercase;
}
/* LG */
@media (min-width: 992px) {
  :root {
    --primary-font-size-base: 16;
  }
}
/* XL */
@media (min-width: 1200px) {
  :root {
    --primary-font-size-base: 19;
  }
}
/* XXL */
@media (min-width: 1400px) {
  :root {
    --primary-font-size-base: 22;
  }
}
h1, .h1 {
  font: var(--primary-font-weight) var(--primary-font-size-7)/var(--primary-font-size-7-line-height) var(--primary-font-family);
}
h2, .h2 {
  font: var(--primary-font-weight) var(--primary-font-size-6)/var(--primary-font-size-6-line-height) var(--primary-font-family);
}
h3, .h3 {
  font: var(--primary-font-weight) var(--primary-font-size-5)/var(--primary-font-size-5-line-height) var(--primary-font-family);
}
h4, .h4 {
  font: var(--primary-font-weight) var(--primary-font-size-4)/var(--primary-font-size-4-line-height) var(--primary-font-family);
}
h5, .h5 {
  font: var(--primary-font-weight) var(--primary-font-size-3)/var(--primary-font-size-3-line-height) var(--primary-font-family);
}
h6, .h6 {
  font: var(--primary-font-weight) var(--primary-font-size-2)/var(--primary-font-size-2-line-height) var(--primary-font-family);
}
.large p, p.large {
  font: var(--primary-font-weight) var(--primary-font-size-1)/var(--primary-font-size-1-line-height) var(--primary-font-family);
}
a {
  text-decoration: none;
  transition: opacity 1s cubic-bezier(.125, 0, .34, 1); }
a:hover {
  color: white;
  opacity: .6; }
main a {
  background: linear-gradient(transparent 60%, rgb(255 255 255 / 30%) 60%, rgb(255 255 255 / 30%) 100%);
  color: white;
  text-decoration: none;
  transition: opacity 1s cubic-bezier(.125, 0, .34, 1); }
main a:hover {
    color: white;
    opacity: .6; }
main .cta a:hover {
  opacity: 1;
  background: white;
  color: var(--color-primary); }
p {
  font: var(--primary-font-weight) var(--primary-font-size-0)/var(--primary-font-size-0-line-height) var(--primary-font-family);
}
.small p, p.small {
  font: var(--primary-font-weight) var(--primary-font-size--1)/var(--primary-font-size--1-line-height) var(--primary-font-family);
}
  main {
    background-color: #0a0911;
    transition: all .2s cubic-bezier(.25, 0, .5, 1);
    opacity: 1;
  }
  main.updating {
    opacity: 0;
  }
  section:not(.accordeon) ul li, section:not(.accordeon) ol li {
	list-style-type: none; }
  section:not(.accordeon) ul li {
	position: relative; }
    section:not(.accordeon) ul li:before {
      content: "";
      position: absolute;
      top: 0.34em;
      left: -1.5em;
      bottom: 0.1em;
      width: 2px;
      background: rgba(0, 0, 0, 0.2); }
  section ol {
	counter-reset: i; }
	section ol li {
	  counter-increment: i;
	  position: relative; }
	  section ol li:before {
		content: counter(i);
		position: absolute;
		line-height: 1.8em;
		width: 2em;
		height: 2em;
		top: 0.2em;
		left: -3.1em;
		text-align: center;
		border: 2px solid rgba(0, 0, 0, 0.2);
		border-radius: 64px;
		font-weight: bold;
		font-size: 0.7em; }
/* -------------------------------------------- */
/* Page layout                                  */
/* -------------------------------------------- */
/* Header, footer and common elements. */
  header {
    position: relative;
    color: white;
    max-height: 100vh;
    min-height: 50vh;
    pointer-events: none; }
    @media (max-width: 575.98px) {
      header {
        min-height: 75vh; }
    }
  .home header {
	  height: 100vh;
    min-height: unset;
    background: #333;
    pointer-events: all;
    overflow: hidden; }
    header a {
      pointer-events: all; }
    header a.root {
      display: inline-block;
      margin: 20px 0 0 24px;
      transition: opacity .75s cubic-bezier(.25, 0, .34, 1);}
      header a.root svg,
      header a.root img {
        width: clamp(112px, 10vw, 256px);
        height: auto; }
      footer a.root svg *,
      header a.root svg * {
        transition: fill 0.8s cubic-bezier(0.24, 0.1, 0.19, 0.85) }
      header a.root svg #chars-2 {
        display: block; }
      header a.root img.small {
        display: none; }
      @media screen and (max-width: 1199.98px),
             screen and (max-height: 959.98px),
             screen and (min-width: 1680px) and (max-height:959.98px) {
        header a.root svg #chars-2,
        header a.root img.small {
                display: block; }
        header a.root svg #chars-1,
        header a.root img.large {
          display: none; }
      }
    header a.root:hover {
      opacity: .6;
    }
    header .carousel {
      pointer-events: none; }
    header .carousel,
    header .background.media {
      position: absolute;
      margin: 0; }
    header .carousel .carousel-indicators-wrapper {
      position: absolute;
      right: 36px;
      top: 16px;
      bottom: 16px; }
      header .carousel .carousel-indicators-wrapper .carousel-indicators {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: stretch;
        height: 100%;
        width: 40px;
        margin: 0;
        list-style: none; }
        header .carousel .carousel-indicators-wrapper .carousel-indicators [data-bs-target] {
          display: flex;
          justify-content: center;
          position: relative;
          z-index: 2;
          width: 40px;
          height: 100%;
          padding: 0;
          margin: 2px auto!important;
          border: none;
          margin: 0;
          cursor: pointer;
          pointer-events: all;
          background: transparent;
          opacity: .5;
          transition: opacity .6s ease; }
        header .carousel .carousel-indicators-wrapper .carousel-indicators [data-bs-target]:before {
          display: block;
          content: "";
          width: 2px;
          height: 100%;
          background: white; }
        header .carousel .carousel-indicators-wrapper .carousel-indicators [data-bs-target].active:before {
          width: 4px; }
      header .carousel .carousel-item {
        position: relative;
        width: 100vw;
        height: 100vh;
        pointer-events: none; }
        header .carousel .carousel-item .background.media {
          top: 0;
          right: 0;
          bottom: 0;
          left: 50%; }
        @media (orientation: portrait) {
          header .carousel .carousel-item .background.media {
            top: 50%;
            left: 0; }
          header .carousel .carousel-item .foreground.slide-content {
            align-items: center;
            background: linear-gradient(transparent 75%, rgba(0, 0, 0, 0.35)); }
            header .carousel .carousel-item .foreground.slide-content .top {
              flex-basis: unset!important;
              align-items: center!important;
              height: 100%; }
            header .carousel .carousel-item .foreground.slide-content .bottom {
              display: none; }
            header .carousel .carousel-item .foreground.slide-content h1 {
              flex-flow: column;
              margin-top: 1.125vw; }
            header .carousel .carousel-item .foreground.slide-content h1 span:where(.title-a, .title-b) {
              width: 50%!important;
              margin: 8px 0; }
            header .carousel .carousel-item .foreground.slide-content h1 .title-b {
              align-self: flex-end; }
            header .carousel .carousel-item .foreground.slide-content h1 .title-b-1:first-child {
              display: none!important; }
            header .carousel .carousel-item .foreground.slide-content .legend {
              pointer-events: all; }
            header .carousel .carousel-item .foreground.slide-content .legend > div {
              width: 100%;
              margin: 0;
              padding: 48px!important; }
            header .carousel .carousel-item .foreground.slide-content .legend * {
              color: white;
            }
        }
        header .carousel .carousel-item .carousel-caption {
          position: static;
          padding: 0;
          text-align: right; }
        @media (orientation: portrait) and (max-width: 767.98px),
               (max-height: 767.98px) {
          header .carousel .carousel-item .carousel-caption {
            display: none;}
        }
          header .carousel .carousel-item .carousel-caption h2,
          header .carousel .carousel-item .carousel-caption p,
          header .carousel .carousel-item .carousel-caption a {
            margin-bottom: 0;
            font-size: 20px;
            letter-spacing: -0.05px;
            line-height: 1.5rem;
            text-align: right;
            color: inherit;
            opacity: .75;
            transition: all .3s cubic-bezier(.25, 0, .34, 1); }
            header .carousel .carousel-item .carousel-caption a:hover {
              opacity: 1;
            }
          header .carousel .carousel-item .carousel-caption h2 {
            margin-bottom: .34rem;
            opacity: 1; }
          header .carousel .carousel-item .carousel-caption a {
            text-decoration: none; }
        header .carousel .carousel-item {
          --slide-wrap-space: 48px; }
          header .carousel .carousel-item .legend > div {
            padding-right: calc(var(--slide-wrap-space) / 1.5);
            padding-bottom: calc(var(--slide-wrap-space) / 2); }
        header .carousel .carousel-item .title-a {
          margin-right: clamp(20px, calc(var(--slide-wrap-space) / 1920 * 1vw), 64px); }
        header .carousel .carousel-item .title-b {
          margin-left: calc(var(--slide-wrap-space) * .75);
          padding-left: 0.9vw; }
        header .background.media video, header .background.media img {
          object-fit: cover;
          width: 100%;
          height: 100%; }
      header .background.media figcaption {
        position: absolute;
        bottom: 18px;
        right: 16px;
        font-size: clamp(14px, 1.145vw, 18px);
        opacity: .6; }
      @media (max-width: 575.98px) {
        header .background.media figcaption {
          display: none; }
      }
      
    header .foreground.content {
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%;
      pointer-events: none; }
    @media screen and (max-width: 991.98px) {
      body:not(.home) header .foreground.content {
        background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .35) 100%); }
    }
      .home header nav {
        opacity: 0;
        animation: 0s cubic-bezier(.34, 0, .34, 1) .5s showMenu forwards;
        /* animation: name duration timing-function delay iteration-count direction fill-mode; */
      }
      footer nav,
      header .foreground.content nav {
        display: flex; }
    header .foreground.content nav {
      position: absolute;
      bottom: 40px;
      z-index: 2;
      left: clamp(8.8px, 1.15vw, 29px);
      transform-origin: 0% calc(50% - 20px);
      transform: rotate(-90deg);
      transition: .5s opacity cubic-bezier(.34, 0, .34, 1) .2s,
        background-color 1.5s cubic-bezier(.34, 0, .34, 1); }
    header .foreground.content nav:not(.panel) {
        background: transparent!important; }

    footer nav ul,
		header .foreground.content nav ul {
		  display: flex;
		  align-items: center;
		  margin: 0;
		  padding: 0;
		  list-style: none; }
      @media (max-width: 767.98px),
             (max-height: 767.98px) {
        header .foreground.content nav ul {
          flex-flow: column;
          height: 100%; }
      }
      footer nav ul {
        justify-content: center; }
        footer nav ul li,
        header .foreground.content nav ul li {
        display: flex;
        align-items: center;
        position: relative; }
        header .foreground.content nav ul li {
          margin-right: clamp(8px, 2.08vw, 40px); }
        footer nav ul li:last-child,
        header .foreground.content nav ul li:last-child {
          margin-right: 0; }
        footer nav ul li:after,
        header .foreground.content nav ul li:after {
          content: "";
          display: block;
          position: absolute;
          bottom: -12px;
          left: calc(50% - 10px);
          width: 20px;
          height: 2px;
          background: white;
          opacity: 0;
          transition: opacity 1s cubic-bezier(.125, 0, .34, 1); }
          footer nav ul li:hover:after,
          footer nav ul li.current-menu-item:after,
          header .foreground.content nav ul li:hover:after,
          header .foreground.content nav ul li.current-menu-item:after {
            opacity: 1; }
            footer nav ul li a,
            header .foreground.content nav ul li a {
              display: flex;
              align-items: center;
              padding: 32px;
              margin: -32px;
              opacity: 0.8;
              font-size: clamp(18px, 1.145vw, 22px);
              text-decoration: none; 
              letter-spacing: 0.125em;
              text-transform: uppercase;
              color: white;
              /*transition: all 1s cubic-bezier(.34, 0, .34, 1);*/ }
              header .foreground.content nav ul li a {
                transition: opacity .2s cubic-bezier(.34, 0, .34, 1) .4s
                , color 1.8s cubic-bezier(.25, 0, .34, 1); }
              header .foreground.content nav ul li a:hover {
                opacity: 1; }
          footer nav ul li a,
          footer nav ul li:after {
            transition: all 1s cubic-bezier(.125, 0, .34, 1); }
      .home header .foreground.content nav ul li:after {
        background: black;
        background: var(--color); }
      .home header .foreground.content nav ul li a {
        color: black;
        color: var(--color); }
      #burger {
        opacity: 0;
        pointer-events: none; }
      @media screen and (min-width: 768px) and (max-width: 991.98px) {
        header .foreground.content nav ul li a {
          font-size: clamp(12px, 1.3vw, 16px);
          letter-spacing: 0.06em; }
        header .foreground.content nav ul li {
          margin-right: clamp(4px, 1.2vw, 16px); }
      }
      @media screen and (max-width: 767.98px),
             screen and (max-height: 575.98px) {
        header .carousel .carousel-indicators-wrapper {
          display: none; }
        header .foreground.content nav {
          opacity: 0; }
          header .foreground.content nav a {
            transition: none;
            pointer-events: none; }
          header .foreground.content nav {
            position: fixed;
            top: 0;
            left: 0;
            z-index: 2;
            width: 100vw;
            height: 100vh;
            background: black;
            background: var(--background-color);
            transform: unset; }
          header .foreground.content nav.open {
            pointer-events: all;
            opacity: 1; }
            header .foreground.content nav.open a {
              pointer-events: all;
            }
        header nav .menu-menu-principal-container {
          transition: all 2.5s cubic-bezier(.34, 0, .34, 1) .34s!important;
          opacity: 0;
          transform: translateY(15px); }
        header nav .menu-menu-principal-container {
          display: flex;
          justify-content: center;
          align-items: center;
          height: 100%;
          width: 100%; }
        header nav.open .menu-menu-principal-container {
          opacity: 1;
          transform: translateY(0); }
        header .foreground.content nav ul {
          justify-content: space-evenly;
          width: 100%; }
        header .foreground.content nav ul li a {
          font-size: clamp(18px * 1.25, 1.145vw * 1.5, 22px * 1.25); }
        #burger {
          opacity: 1;
          pointer-events: all;
          position: absolute;
          top: 66px;
          right: 72px;
          z-index: 2;
          width: 40px;
          height: 16px;
          cursor: pointer; }
        #burger .burger.picto {
          position: relative;
          width: 100%;
          height: 100%; }
        #burger .burger.picto .line {
          position: absolute;
          width: 100%;
          height: 2px;
          background: white;
          transition: all 1s cubic-bezier(.125, 0, .34, 1); }
        #burger .burger.picto .line:nth-child(2) {
          top: calc(50% - 1px); }
        #burger .burger.picto .line:nth-child(3) {
          bottom: 0; }
        #burger.open .burger.picto .line {
          background: white; }
        body.home #burger.open .burger.picto .line {
          background: rgba(0, 0, 0, .6);
          background: var(--color); }
        #burger.open .burger.picto .line:nth-child(1) {
          top: calc(50% - 1px);
          transform: rotate(-45deg); }
        #burger.open .burger.picto .line:nth-child(2) {
            opacity: 0; }
        #burger.open .burger.picto .line:nth-child(3) {
            top: calc(50% - 1px);
            transform: rotate(45deg); }
      }
      @media screen and (orientation: portrait){
        .home #burger .burger.picto .line {
          background: var(--color); }
      }
      body.home #burger:not(.open).neg .burger.picto .line {
        background: white;
      }
	  header .foreground.content .text {
      pointer-events: none;
      display: flex;
      position: absolute;
      top: 0;
      height: 100%; }
      header .foreground.content .text .row {
        align-self: flex-end;
        height: 50%; }
      @media (max-width: 575.98px) {
        header .foreground.content .text .row {
          height: auto; }
      }
        header .foreground.content .text .row .content {
          pointer-events: all; }
        header .foreground.content .text p {
          filter: brightness(1.5); }
    .page header .text .row {
      width: 100%;
    }
/* -------------------------------------------- */
/* Modules layout                               */
/* -------------------------------------------- */
/* Modules layout and typographic styles. */
  section.module {
    --section-padding: 3; }
  @media (min-width: 992px) {
    section.module {
      --section-padding: 8; }
  }
  @media (max-width: 991.98px) {
    section.module {
      --section-padding: 6; }
  }
  @media (max-width: 767.98px) {
    section.module {
      --section-padding: 5; }
  }
  @media (max-width: 575.98px) {
    section.module {
      --section-padding: 4; }
  }
  section.module {
    padding: calc(var(--section-padding) * 1rem) 0; }
  section.module.accordeon {
    padding: calc(var(--section-padding) * 0.5rem) 0; }
  section.module:first-child {
    padding-top: calc(var(--section-padding) * 1.25rem); }
  section.module.accordeon:first-child {
    padding-top: calc(var(--section-padding) * 1rem); }
  section.module:last-child {
    padding-bottom: calc(var(--section-padding) * 2rem); }
  section.module:nth-child(even) {
    filter: brightness(2); }
    section.module:nth-child(even) * {
    filter: brightness(0.85); }
  section.module:where(.centered.text, .centered.features) {
    text-align: center; }
  section.text.module h3 {
    margin-top: 48px;
    margin-bottom: 0; }
    section.module:where(.text, .features) .large p {
      margin-bottom: 80px;}
  section.centered.cross.features.module .feature {
    background: url("https://ryoko-voyage.ch/wp-content/themes/ergopix_intl/images/features_module_cross.png") center no-repeat;
    background-size: 90%; }
  section.image.split.features.module {
    padding: 0; }
  section.image.split.features.module a {
    position: relative;
    display: block;
    height: 100vh;
    color: white; }
    
  @media screen and (min-width: 768px) and (orientation: portrait) {
    section.image.split.features.module a {
      height: 50vh; }
  }
  @media screen and (min-width: 992px) and (orientation: portrait) {
    section.image.split.features.module a {
      height: 75vh; }
  }
  section.image.split.features.module .content {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 85px; }
  section.image.split.features.module .content h2 {
    /* font-family: GTSuperDisplayTrial-Bold; */
    font-size: clamp(80px, 7.4vw, 142px);
    color: #FFFFFF;
    letter-spacing: -5.06px;
    line-height: 1.1; }
  section.image.split.features.module .content span {
    opacity: 0.98;
    font-size: 24px;
    color: #FFFFFF;
    letter-spacing: -0.9px;
    line-height: 1.334; }
  section.image.split.features.module img, section.image.split.features video {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%; }
  @media (max-width: 991.98px) {
    section.centered.cross.features.module .feature {
      background: none; }
    section.centered.cross.features.module .ratio:before {
      content: none; }
    section.centered.cross.features.module .ratio * {
      position: static; }
  }
  @media (max-width: 575.98px) {
    .page header .text,
    .page main section .container {
      padding: 0 1.9rem;
    }
  }
  
  .accordion-button {
    background: var(--color-primary);
    color: var(--color-page-bg);
    transition: all .75s cubic-bezier(.34, 0, .34, 1);
    font-weight: 500;
  }
  
  .accordion-item:first-of-type,
  .accordion-item:first-of-type .accordion-button  {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  
  .accordion-item:last-of-type,
  .accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  
  .accordion-button:hover {
    opacity: 1;
    background: white;
    color: #0a0910;
  }
  
  main .module.accordeon {
    color: #cdcecf;
  }
  
 .accordion-item {
    background-color: transparent;
  }
  
  .accordion-button:not(.collapsed) {
    color: #0a0910;
    background-color: #e7f1ff;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
  }
  
  .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  }
  
  section.module.accordeon:nth-child(2n),
  section.module.accordeon:nth-child(2n) * {
        filter: none !important;
  }
  
  footer {
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: start;
    align-items: center;
    margin: -64px auto;
    padding-top: 64px; }
    footer:before {
      position: absolute;
      z-index: -1;
      width: 100%;
      height: calc(100% - 64px);
      content: "";
      background: var(--color-page-bg); }
    footer .cta {
      position: relative;
      margin: -64px auto 0 auto;
      height: 128px; }
      footer .cta span {
        position: absolute;
        top: -32px;
        color: white;
        width: 100%;
        font: 500 16px/1.33334 var(--typeface-family-set-1);
        text-align: center; }
      main .cta a,
      footer .cta a {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 1.3em;
        width: 100vw;
        max-width: 512px;
        min-height: 128px;
        letter-spacing: var(--typeface-size-3-letter-spacing);
        text-decoration: none;
        text-align: center;
        background: var(--color-primary);
        color: var(--color-page-bg);
        transition: all .75s cubic-bezier(.34, 0, .34, 1); }
        main .cta a {
          margin: auto;
          width: 100%; }
      footer .cta a:hover {
        opacity: 1;
        background: white;
        color: var(--color-primary);
      }
    .page-id-295 footer .cta {
      display: none; }
    footer nav {
      /* margin: -64px auto -64px auto; */
      width: 100%;
    }
    footer nav ul {
      width: 100%;
      justify-content: space-around;
    }
      footer nav ul li {
        margin: 40px 0; }
      footer nav ul li.logo {
        margin: 140px 0; }
      footer nav ul li.logo:after {
        content: none;
      }
        footer nav ul li:after {
          pointer-events: none;
        }
        footer nav ul li:hover:after {
          background: var(--color-primary); }
        footer nav ul li.logo:hover:after {
          opacity: 0; }
        footer nav ul li a {
          color: white;
          opacity: 1; }
        footer nav ul li a:hover {
          color: var(--color-primary);
          text-decoration: none; }
    footer a.root:hover svg #RYOKO-LOGO {
      fill: var(--color-primary);
    }
    footer hr {
      margin: 0;
      width: calc(100% - 80px);
      height: 2px!important;
      background: white;
      opacity: 0.1;
    }
    footer .credits.copyright {
      display: flex;
      justify-content: space-between;
      /* margin-bottom: -64px; */
      padding: 12px 40px;
      width: 100%;
      font-size: 14px;
      color: white;
      opacity: 0.6; }
    footer .credits.copyright a{
      color: white;
      text-decoration: none;
      }
     footer .credits.copyright a:hover{
      color: white;
      text-decoration: none;
      opacity: 0.8;
      }
  @media (max-width: 991.98px) {
    footer nav ul {
      flex-flow: column;
      margin: 128px 0;
    }
    footer nav ul li,
    footer nav ul li.logo {
      margin: 32px 0;
    }

    .credits.copyright {
      flex-flow: column;
      text-align: center;
      padding: 32px 0;
    }
    .credits.copyright span {
      margin: 16px 0;
    }
  }
  /* -------------------------------------------- */
  /* Utilities                                    */
  /* -------------------------------------------- */
  .flex-basis-50 {
    flex-basis: 50%!important;
  }
  /* -------------------------------------------- */
  /* Bootstrap breakpoints (max-width)            */
  /* -------------------------------------------- */
  /* -------------------------------------------- */
  /* Bootstrap breakpoints (min-width)            */
  /* -------------------------------------------- */

/* change transition duration to control the speed of fade effect */
.carousel-item {
  transition: transform 1.8s cubic-bezier(.25, 0, .34, 1);
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  transition: opacity 0s 1.8s;
}

/* Moove Cookie Consent */

.moove_gdpr_icon:after {
	content: "";
	width: 22px;
	height: 22px;
	background-image: url("https://www.ryoko-voyage.ch/cookie.png");
	background-size: 22px;
}

.moove_gdpr_icon svg {
	display: none;
}

body #moove_gdpr_save_popup_settings_button {
	background-color: #F5F5F5;
	color: #333;
}

body #moove_gdpr_save_popup_settings_button:hover, body #moove_gdpr_save_popup_settings_button:focus{
	background-color: #F5F5F5;
}

.moove-gdpr-tab-main-content table {
	box-sizing: border-box;
	caption-side: bottom;
	font-weight: 400;
	margin-bottom: 15px;
	vertical-align: top;
}

.moove-gdpr-tab-main-content table td {
	padding: .5rem;
	font-size: 80%;
	border: 1px solid;
}

body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
	margin: 3px 4px;
}

body #moove_gdpr_save_popup_settings_button:not(.gdpr-floating-button-custom-position) {
    bottom: 20px;
    left: 28px;
}

@media (max-width: 767px) {
	.gallery-item {
		margin-bottom: 15px;
	}

	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder {
		-ms-flex-align: start;
		align-items: start;
		-ms-flex-pack: start;
		justify-content: start;
	}

	.moove-gdpr-tab-main-content table td {
		width: 33.333333% !important;
	}

	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main h3.tab-title,
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main span.tab-title {
		font-size: 14px;
	}

	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main .moove-gdpr-tab-main-content a, #moove_gdpr_cookie_modal .moove-gdpr-modal-content {
		font-size: 12px;
	}

	body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p,
	body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a {
		font-size: 12px;
	}

	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main .moove-gdpr-tab-main-content a,
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main .moove-gdpr-tab-main-content li,
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main .moove-gdpr-tab-main-content p {
		font-size: 12px;
		margin-bottom: 10px;
	}

	.moove-gdpr-tab-main-content table td {
		padding: .25rem;
		font-size: 90%;
	}

	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main h3.tab-title,
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main span.tab-title {
		margin-bottom: 10px;
	}

	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content {
		display: none;
	}
	
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .main-modal-content #advanced-cookies .moove-gdpr-tab-main-content, 
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .main-modal-content #cookie_policy_modal .moove-gdpr-tab-main-content, 
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .main-modal-content #strict-necessary-cookies .moove-gdpr-tab-main-content, 
	body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .main-modal-content #third_party_cookies .moove-gdpr-tab-main-content{
		padding-bottom: 75px;
	}
}

/* Moove Cookie Consent */