/* 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: auto;
  position: fixed;
  top: 0;
  z-index: 100;
  background: var(--color__primary);
  -webkit-box-shadow: 0 0 0.5em 0.0625em rgb(0 0 0 / 20%);
  box-shadow: 0 0 0.5em 0.0625em rgb(0 0 0 / 20%);
  overflow: visible;
}

.nav--desktop .nav-wrap__inner {
  position: relative;
  max-width: 100%;
  margin: auto;
  height: 100%;
  width: 100%;
  padding: 0;
}

.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 .logo-wrap {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: auto;
  background-color: var(--color__lightPrimary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.75em 1.25em;
}

.nav--desktop img.logo {
  display: none;
}

.nav--desktop span.logo {
  display: block;
  font-size: 2.125rem;
  color: var(--color__light);
}

.nav--desktop ul {
  padding-left: 0;
  margin: 0;
  list-style-type: none;
}

.nav--desktop ul.nav-list {
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.nav--desktop ul.nav-list li {
  display: inline-block;
  margin-left: 2.3em;
  font-size: 1.5rem;
  /* transition: opacity 0.1s ease-in-out; */
}

.nav--desktop ul.nav-list li:not(.has-btn):hover,
.nav--desktop ul.nav-list li:not(.has-btn).actual-site,
.nav--desktop ul.nav-list li:not(.has-btn).acutal-parent {
  opacity: 0.7;
}

.nav--desktop ul.nav-list .button {
  border-radius: 0;
  padding: 0.875em 1.375em 0.9375em;
  -webkit-transition: color 0.1s ease-in-out;
  -o-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

.nav--desktop ul.nav-list li.has-btn:hover .button,
.nav--desktop ul.nav-list li.has-btn.actual-site .button,
.nav--desktop ul.nav-list li.has-btn.acutal-parent .button {
  color: var(--color__secondary);
}

.nav--desktop a {
  color: var(--color__light);
}

/* ***** Home Navigation */

body.home .nav--desktop .nav-wrap {
  height: 6em;
  -webkit-box-shadow: unset;
  box-shadow: unset;
}

body.home .nav--desktop img.logo {
  display: block;
  height: 100%;
}

body.home .nav--desktop span.logo {
  display: none;
}

body.home .nav--desktop .nav-wrap__inner {
  padding: 0.75em 1.25em;
}

body.home .nav--desktop ul.nav-list .button {
  border-radius: var(--radius__small);
  padding: 0.425em 1.375em 0.5em;
}

/***** Breadcrumb */

.breadcrumb a {
  border-bottom: unset;
}

/* MINI-DESKTOP //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 80em) {
  .nav--desktop ul.nav-list li {
    font-size: var(--fsize__p);
  }

  .nav--desktop img.logo {
    max-width: 19rem;
    -o-object-fit: contain;
    object-fit: contain;
  }
}

/* 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;
    width: 100%;
    height: 4.25rem;
    left: 0;
    bottom: 0;
  }

  .nav--mobile .nav-wrap__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }

  /* ***** Navbar */

  .nav--mobile .navbar {
    position: relative;
    width: 100vw;
    height: 4.25rem;
    background-color: var(--color__primary);
  }

  .nav--mobile .navbar .logo-wrap {
    position: absolute;
    top: 50%;
    left: 1.5em;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
  }

  .nav--mobile .navbar span.logo {
    display: block;
    color: var(--color__light);
  }

  .nav--mobile .navbar a {
    display: inline-block;
  }

  /* -- Nav-Trigger */

  .nav--mobile .nav-trigger {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 4.25rem;
    width: 6rem;
    cursor: pointer;
  }

  .nav--mobile .nav-trigger span {
    position: absolute;
    right: 2em;
    bottom: 2.125rem;
    height: 0.2rem;
    width: 3.25rem;
    background: var(--color__light);
    visibility: hidden;
  }

  /* ***** Menu */

  .nav--mobile .menu {
    position: absolute;
    top: 4.25rem;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .nav--mobile .menu__inner {
    padding: 5em 4em;
  }

  /* --- Background */

  .nav--mobile .menu .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient__secondary_2);
    overflow: hidden;
  }

  .nav--mobile .menu .bg__inner {
    position: absolute;
    left: 0;
    top: 25vh;
    height: 70vh;
    width: 220vw;
    background: var(--gradient__secondary_1);
    -webkit-transform: rotate(-36deg);
    -ms-transform: rotate(-36deg);
    transform: rotate(-36deg);
    -webkit-transform-origin: bottom left;
    -ms-transform-origin: bottom left;
    transform-origin: bottom left;
  }

  /* --- Nav-List */

  .nav--mobile ul {
    padding-left: 0;
    margin: 0;
    list-style-type: none;
  }

  .nav--mobile ul.nav-list {
    position: relative;
    overflow: visible;
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
  }

  .nav--mobile ul.nav-list li {
    display: block;
    font-family: "Haffer Medium", sans-serif;
    font-size: var(--fsize__h2);
    line-height: 1em;
    margin: 0;
    margin-bottom: 0.75em;
  }

  .nav--mobile ul.nav-list li a {
    color: var(--color__light);
  }

  .nav--mobile ul.nav-list li.has-btn {
    font-size: var(--fsize__h3);
    margin-top: 2em;
  }

  .nav--mobile ul.nav-list .button {
    color: var(--color__secondary);
  }

  /* ***** Bear */

  .nav--mobile img.bear {
    position: absolute;
    bottom: 2em;
    right: -2em;
    width: max(30vh, 40vw);
    height: auto;
  }
}

/* MOBILE //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 36em) {
  /*
  -----------------------------------------------------------------------------

  01. Navigation

  -----------------------------------------------------------------------------
  */

  /* ***** Nav-Wrap */

  .nav--mobile .nav-wrap {
    height: 5rem;
  }

  /* ***** Navbar */

  .nav--mobile .navbar {
    height: 5rem;
  }

  /* -- Nav-Trigger */

  .nav--mobile .nav-trigger {
    height: 5rem;
  }

  .nav--mobile .nav-trigger span {
    bottom: 2.5rem;
    width: 3.5rem;
  }

  /* ***** Menu */

  .nav--mobile .menu {
    top: 5rem;
  }
}

/* MINI-MOBILE //////////////////////////////////////////////////////////////// */
/*
01. Navigation
*/

@media only screen and (max-width: 27em) {
  /*
  -----------------------------------------------------------------------------

  01. Navigation

  -----------------------------------------------------------------------------
  */

  /***** Nav-Wrap */

  /***** Nav-Styling */

  /***** Nav-Wrap Trigger */
}
