/* Nav Styles */

/* ///////////////////// */

/* -------------- */
/* DESKTOP */
/* TABLET */
/* MOBILE */
/* MINI-MOBILE */
/* -------------- */

/* DESKTOP //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

/*
-----------------------------------------------------------------------------

01. Navigation

-----------------------------------------------------------------------------
*/

/***** Display */

.nav--desktop {
  display: block;
}

.nav--mobile {
  display: none;
}

/***** Nav-Wrap */

.nav--desktop .nav-wrap {
  width: 100%;
  height: 6.25em;
  position: fixed;
  top: 0;
  z-index: 100;
  /* background: var(--color__secondary); */
  overflow: visible;
}

.nav--desktop .nav-wrap .nav-wrap--bg {
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 90%;
  background: var(--color__white30);
  backdrop-filter: blur(100px);
  -webkit-backdrop-filter: blur(50px);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.nav--desktop .nav-wrap.scrolled .nav-wrap--bg {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.nav--desktop .nav-wrap__inner {
  position: relative;
  z-index: 1;
  max-width: 100%;
  margin: auto;
  height: 100%;
  width: 100%;
  padding: 0.6em 2em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.nav--desktop .nav-wrap.scrolled .nav-wrap__inner {
  -webkit-transform: translateY(-23%);
  transform: translateY(-23%);
}

.nav--desktop .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/***** Nav-Styling */

.nav--desktop ul {
  padding-left: 0;
  margin: 0;
  list-style-type: none;
}

.nav--desktop ul.nav-list {
  padding: 0;
  margin: 1.2em 0;
  overflow: hidden;
}

.nav--desktop ul.nav-list li {
  margin-left: 1.5em;
  font-size: var(--fsize__h3);
  display: inline-block;
}

.nav--desktop a,
.nav--desktop li span {
  color: var(--color__primary);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  cursor: pointer;
}

.nav--desktop svg.logo {
  max-width: 8em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.nav--desktop .nav-wrap.scrolled svg.logo {
  max-width: 6em;
}

.nav--desktop svg.logo path,
body.home .nav--desktop .nav-wrap.scrolled svg.logo path {
  fill: var(--color__primary);
}

body.negative .nav--desktop a,
body.negative .nav--desktop li span {
  color: var(--color__ivory);
}

body.negative .nav--desktop svg.logo path {
  fill: var(--color__ivory);
}

.nav--desktop a:hover,
.nav--desktop a.actual-site,
.nav--desktop li span:hover,
.nav--desktop li span.actual-site,
body.negative .nav--desktop a:hover,
body.negative .nav--desktop a.actual-site,
body.negative .nav--desktop li span:hover,
body.negative .nav--desktop li span.actual-site,
body.home .nav--desktop .nav-wrap.scrolled a:hover,
body.home .nav--desktop .nav-wrap.scrolled a.actual-site,
body.home .nav--desktop .nav-wrap.scrolled li span:hover,
body.home .nav--desktop .nav-wrap.scrolled li span.actual-site {
  color: var(--color__secondary);
}

body.home .nav--desktop .nav-wrap.scrolled a,
body.home .nav--desktop .nav-wrap.scrolled li span {
  color: var(--color__primary);
}

/***** Breadcrumb */

.breadcrumb .current-page {
  color: var(--color__error);
}

/***** Mix Pane */

.nav--desktop .mix-pane {
  position: fixed;
  width: 17em;
  right: 2em;
  top: 7em;
  z-index: 100;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.nav--desktop .mix-pane .close-button,
.nav--desktop .mix-pane label {
  font-family: "Open Sans Condensed Extrabold";
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 1em;
  display: block;
  cursor: pointer;
}

.nav--desktop .mix-pane .close-button {
  font-size: 1.5em;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0.5em;
  margin-bottom: 0;
}

.nav--desktop .mix-pane input[type="range"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: 0 0;
  cursor: pointer;
  width: 100%;
  border: 0;
  padding: 0.5em 0;
}

.nav--desktop .mix-pane .volume-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 0.1em;
  /* Thin line */
  background: var(--color__dark);
  /* Line color */
  border: none;
  outline: none;
}

.nav--desktop .mix-pane .volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 0.1em;
  /* Thin vertical line as the slider thumb */
  height: 20px;
  background: var(--color__dark);
  /* Thumb color */
  cursor: pointer;
  margin-top: -9px;
  /* Center the thin line on the track */
}

.nav--desktop .mix-pane .volume-slider::-moz-range-thumb {
  width: 0.1em;
  height: 1em;
  background: var(--color__dark);
  cursor: pointer;
}

.nav--desktop .mix-pane .volume-slider::-ms-thumb {
  width: 0.1em;
  height: 1em;
  background: var(--color__dark);
  cursor: pointer;
}

.nav--desktop .mix-pane .volume-slider::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.1em;
  background: var(--color__dark);
}

.nav--desktop .mix-pane .volume-slider::-moz-range-track {
  width: 100%;
  height: 0.1em;
  background: var(--color__dark);
}

.nav--desktop .mix-pane .volume-slider::-ms-track {
  width: 100%;
  height: 0.1em;
  background: var(--color__dark);
  border-color: transparent;
  color: transparent;
}

/* MINI-DESKTOP //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 80em) {
  .nav--desktop ul.nav-list {
    margin: 1vw 0;
  }

  .nav--desktop .nav-wrap.scrolled ul.nav-list {
    margin: 3vw 0;
  }

  .nav--desktop ul.nav-list a,
  .nav--desktop ul.nav-list li span {
    font-size: 2.2vw;
  }

  .nav--desktop .nav-wrap.scrolled svg.logo {
    margin-top: 0.7em;
  }

  .nav--desktop ul.nav-list li {
    margin-left: 2vw;
  }
}

/* TABLET //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 55em) {
  /*
  -----------------------------------------------------------------------------

  01. Navigation

  -----------------------------------------------------------------------------
  */

  /***** Display */

  .nav--desktop {
    display: none;
  }

  .nav--mobile {
    display: block;
  }

  /***** Nav-Wrap */

  .nav--mobile .nav-wrap {
    z-index: 100;
    position: fixed;
    bottom: 0;
    top: unset;
    border-bottom: 0;
    width: 100%;
    height: 6rem;
  }

  .nav--mobile .nav-wrap__inner {
    margin: auto;
    height: 100%;
    width: 100%;
    padding: 0.6em 2em;
  }

  .nav--mobile ul {
    padding-left: 0;
    margin: 0;
    list-style-type: none;
  }

  .nav--mobile ul.nav-list {
    -webkit-transform: translateY(calc(var(--vh, 1vh) * 25));
    transform: translateY(calc(var(--vh, 1vh) * 25));
    overflow: visible;
    width: 100%;
    left: 0;
    top: 0.625em;
    margin: 4vw 0;
    height: auto;
    padding: 0 7vw;
    font-size: 12vw;
  }

  .nav--mobile ul.nav-list li {
    margin: 0;
    line-height: 12vw;
    display: block;
    overflow: visible;
  }

  .nav--mobile ul.nav-list li .line-parent {
    visibility: hidden;
    overflow: hidden;
    margin-bottom: 0em;
  }

  .nav--mobile a {
    line-height: 1.25em;
    display: block;
    color: var(--color__ivory);
  }

  .nav--mobile a.actual-site {
    color: var(--color__secondary);
  }

  .nav--mobile svg.logo {
    position: fixed;
    left: 2em;
    bottom: 1.5em;
    width: 16vw;
    height: auto;
  }

  .nav--mobile svg.logo path {
    fill: var(--color__ivory);
  }

  /***** Nav-Wrap Trigger */

  .nav--mobile .nav-trigger {
    display: block;
    right: 0;
    bottom: 0;
    position: fixed;
    height: 6rem;
    width: 6.75rem;
    cursor: pointer;
    z-index: 99;
  }

  .nav--mobile .nav-trigger span {
    position: absolute;
    right: 1.5em;
    bottom: 2.75em;
    height: 0.4rem;
    width: 4.13rem;
    background: var(--color__ivory);
  }
}

/* MOBILE //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 36em) {
  /*
  -----------------------------------------------------------------------------

  01. Navigation

  -----------------------------------------------------------------------------
  */
}

/* MINI-MOBILE //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 27em) {
  /*
  -----------------------------------------------------------------------------

  01. Navigation

  -----------------------------------------------------------------------------
  */

  /***** Nav-Wrap */

  /***** Nav-Styling */

  /***** Nav-Wrap Trigger */
}
