
/****************************************
* All headers
****************************************/

header {
  position: relative;
  width: 100%;
  /* box-shadow: 1px 1px 8px rgba(0, 0, 0, .5); */
  z-index: 100;
  background: #E8E8E8 url('/clibs/textures/worn-dots.png');
}

header p,
header li {
  color: #666666;
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 0;
}

.nav-container > nav {
  background: #000000;
}

.nav-container > nav .grid {
  padding-top: 0;
  padding-bottom: 0;
}

.nav-container > nav ul > li > a {
  border: none;
  border-radius: 0px;
  padding: 1rem;
  background: inherit;
  color: #FFFFFF;
}

nav ul > li > a:hover,
nav ul > li > a.active {
  color: #FFD810;
  background-color: inherit;
}

/****************************************
* Nav Top
****************************************/

.nav-top nav {
  height: 85px;
}

/****************************************
* Nav Top Subnavigation
****************************************/

header .subnavigation {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
}

header .subnavigation li {
  display: inline-block;
}

header .subnavigation li + li {
  padding-left: 1rem;
}

header .subnavigation a {
  color: #000000;
}

header .subnavigation a:hover {
  color: #02939c;
}

/****************************************
* Nav Top Callout
****************************************/

header ul.callout {
  font-size: 0;
  text-align: center;
  white-space: nowrap;
}

header ul.callout > li {
  display: inline-block;
  margin-right: 1rem;
}

header ul.callout > li:first-of-type {
  margin-right: 2rem;
}

header ul.callout > li:last-of-type {
  margin-right: 0;
}

header .callout .button {
  display: inline-block;
  border: none;
  padding: 0.7rem;
  color: #ffffff;
}

/****************************************
* Logo
****************************************/

header .logo {
  max-width: 123px;
}

header .logo img {
  max-width: 100px;
}

/****************************************
* Nav Toggle
****************************************/

header > .flex {
  flex-direction: column;
}

.flex.nav-container {
  width: 100%
}

/****************************************
* Nav Container
****************************************/

.nav-container nav {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease-in;
}

.nav-container nav ul > li > a {
  padding: 0;
  width: 100%;
  text-align: center;
  transition: 0.3s all;
}

.nav-container nav ul > li > a:hover {
  color: #FFD700;
}

.nav-container nav > ul {
  padding: 4rem 2rem 2rem 2rem;
}

.nav-container .subnavigation {
  flex-wrap: wrap;
  margin-top: 1rem;
  text-align: center;
}

.nav-container .subnavigation a {
  color: #ffffff;
}

nav.on {
  max-height: none;
}

nav ul {
  margin: 0;
}

nav > ul > li {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
}

nav li + li:before {
  content: '';
  margin: 1rem auto 0;
  padding-top: .5rem;
}

nav ul:first-child li:last-child:after {
  content: '';
  margin: 1rem auto 0;
  padding-top: .5rem;
}

nav li:not(.on) + li:before {
  border-top: 4px dotted rgba(255,255,255,.4);
  width: calc(100% - 24px);
  padding-top: calc(1rem + 4px);
}

nav ul:first-child li:last-child:not(.on):after {
  border-top: 4px dotted rgba(255,255,255,.4);
  width: calc(100% - 24px);
  padding-top: calc(1rem + 4px);
}

.nav-container nav > ul:first-child {
  padding-bottom: 0;
}

.nav-container nav > ul:last-child {
  padding-top: 0;
  padding-bottom: 2rem;
}

nav li a,
nav li button {
  color: var(--fni-color-2);
}

nav li > button {
  position: relative;
  padding: 0;
  text-align: left;
}

.nav-container nav > ul > li > button,
.nav-container nav > ul > li > a.button,
.nav-container nav > ul > li:not(.mega-menu) > a {
  /* width: 100%; */
  font: normal normal 24px/1em 'Antonio', sans-serif;
  text-transform: uppercase;
  letter-spacing: .5px;
  cursor: pointer;
  text-align: center;
  margin: auto;
  color: #ffffff;
}

/****************************************
* Mega Menu & Drop Down
****************************************/

nav .mega-menu button {
  position: relative;
}

.nav-container nav > ul > li:not(.mega-menu) > a:hover,
nav .mega-menu button.active,
nav .mega-menu:hover > button,
nav .mega-menu button:hover {
  color:#ffd700;
}

@media(max-width: 1140px) {
  nav .mega-menu button {
    margin: 0 auto 0 1rem;
    outline: none;
    width: auto;
  }
}

.nav-container nav .mega-menu button.on:before {
  content: '';
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: transparent transparent #474747 transparent;
  margin-top: .5rem;
}

.nav-container nav .mega-menu button.on {
  color: #FFD700;
}

nav .drop-down {
  position: relative;
  display: block;
  height: auto;
  max-height: 0;
  overflow: hidden;
  z-index: 10;
}

nav .mega-menu.on .drop-down {
  max-height: none;
  bottom: -2px;
}

nav li:hover > .drop-down {
  visibility: visible;
  opacity: 1;
  text-align: left;
}

nav li button {
  background-color: transparent;
}

nav li a.button + a.button {
  margin-top: 0;
}

/****************************************
* Drop Down Content
****************************************/

nav .drop-down-content {
  margin-top: 13px;
  background-color: #474747;
  max-height: 100%;
  padding: 1rem;
  max-width: 350px;
  text-align: center;
  margin: 14px auto 0 auto;
}

nav .drop-down-content .links {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
nav .drop-down-content .links a {
  display: flex;
  align-items: center;
  position: relative;
  margin: 0;
  padding: .75rem 1rem .75rem 2.25rem;
  font: normal normal 16px/1.5em 'Open Sans', sans-serif;
  text-transform: none;
  text-align: left;
  color: #FFD810;
}

nav .drop-down-content .links a + a {
  border-top: 1px solid rgba(255, 255, 255, .2);
}

nav .drop-down-content .links a:before {
  content: '';
  position: absolute;
  top: 50%;
  left: .75rem;
  transform: translateY(-50%) rotate(-45deg);
  border: solid #FFD810;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 4px;
}

nav .drop-down-content a:focus,
nav .drop-down-content a:hover,
nav .drop-down-content a.active {
  background-color:#000000;
  color: #FFFFFF;
}

nav .drop-down-content a:focus:before,
nav .drop-down-content a:hover:before,
nav .drop-down-content a.active:before {
  border-color: #FFFFFF;
}

nav .drop-down-content .button {
  margin: 0;
  color: #ffffff;
}

nav .drop-down-content .button:hover {
  color: #FFD700;
}

nav .drop-down-content .button:hover {
  background-color: #000000;
}

nav .drop-down-content .video button {
  color: #ffffff;
}

/****************************************
* Logo
****************************************/

header .logo img {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 11;
  width: auto;
  max-width: none;
  height: 115px;
}

/****************************************
* Cards
****************************************/

nav .drop-down-content .card p {
  font-size: 14px;
  color: #000000;
}

nav .drop-down-content .card h3 + p,
nav .drop-down-content .card p + p {
  margin-top: .5rem;
}

/****************************************
* Large Phone
****************************************/

@media(min-width: 576px) {
  header .subnavigation {
    font-size: 18px;
    letter-spacing: 1px;
  }

  .nav-container nav > ul {
    padding: 3rem 6rem 0 6rem;
  }

  .nav-container nav > ul:last-child {
    padding-bottom: 3rem;
  }
}

/****************************************
* Tablet
****************************************/

@media (min-width: 768px) {

}

/****************************************
* Desktop
****************************************/

@media(min-width: 1140px) {

  /****************************************
  * Header
  ****************************************/

  header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 100;
    box-shadow: 1px 1px 8px rgba(0, 0, 0, .5);
    width: 100%;
    min-height: 167px;
    padding: 0;
  }

  header nav {
    max-height: 200px;
  }

  header > .flex {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  /****************************************
  * Navigation
  ****************************************/

  .nav-top {
    height: 100px;
  }

  .nav-top nav {
    display: grid;
    grid-template-columns: 1fr 250px 1fr;
  }

  .nav-container nav {
    display: flex;
  }

  .nav-top nav,
  .nav-container nav {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    box-shadow: none;
    width: 1140px;
    height: 100%;
    overflow: visible;
    max-height: none;
  }

  .nav-top li {
    margin: 0;
  }

  .nav-container {
    background-color: #000000;
  }

  .nav-container > nav > ul {
    padding: 0;
  }

  nav > ul {
    display: flex;
    margin: 0;
    width: 100%;
    padding: 0;
  }

  nav > ul:first-child {
    justify-content: flex-end;
  }

  nav > ul:last-child {
    justify-content: flex-start;
  }

  .nav-container nav > ul:last-child {
    padding-bottom: 0;
  }

  nav li {
    flex-direction: row;
    width: auto;
  }

  nav li + li:before,
  nav li + li:after {
    display: none;
  }

  nav li button {
    margin: auto .5rem;
    text-align: center;
  }

  nav li.mega-menu {
    position: unset;
  }

  .nav-container nav > ul > li > a,
  nav li.mega-menu > button {
    padding: 1.5rem 1.5rem 1.2rem 1.5rem;
  }

  nav li.mega-menu:hover > button::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-width: 16px;
    border-style: solid;
    border-color: transparent transparent #474747 transparent;
    margin-top: .5rem;
  }

  nav.grid.col-3--desktop {
    grid-template-columns: 1fr 0.5fr 1fr;
  }

  nav .drop-down {
    position: absolute;
    visibility: hidden;
    bottom: 1px;
    left: -55px;
    width: calc(100% + 100px);
    opacity: 0;
    overflow: visible;
    transition: none;
  }

  nav .drop-down-content {
    position: relative;
    margin: 0 auto;
    max-width: 1100px;
    padding: 4rem;
    text-align: left;
  }

  nav .drop-down-content > .grid {
    grid-template-columns: 1fr 250px 320px;
    grid-gap: 3rem;
  }

  nav .drop-down-content h2 {
    font-size: 50px;
    line-height: 1em;
    color: #FFFFFF;
  }

  nav .drop-down-content p {
    font: normal 400 20px/1.5em 'Open Sans', sans-serif;
    color: #C5C5C5;
  }

  nav .drop-down-content .links a {
    padding: 1rem 1rem 1rem 2.25rem;
  }

  nav .drop-down-content > .grid > div:first-of-type .button {
    margin: 1rem 0 0 0;
    width: 100%;
    padding: 1.25rem 0;
  }

  nav .drop-down-content a.button {
    padding: 17px 15px 15px 15px;
  }

  /****************************************
  * Logo
  ****************************************/

  .logo-container {
    position: relative;
    width: 670px;
    margin: 0;
  }

  header .logo img {
    left: 50%;
    height: 190px;
    top: -8px;
  }
}