/* Navigation CSS - Exact Match to WordPress Twenty Seventeen Theme */

/* Navigation container */
.navigation-top {
  background: #fff;
  border-bottom: 1px solid #eee;
  border-top: 1px solid #eee;
  font-size: 16px;
  font-size: 1rem;
  position: relative;
}

@media screen and (min-width: 48em) {
  .navigation-top {
    bottom: 0;
    font-size: 14px;
    font-size: 0.875rem;
    left: 0;
    position: absolute;
    right: 0;
    width: 100%;
    z-index: 3;
  }
}

.navigation-top .wrap {
  max-width: 1000px;
  padding: 0;
}

@media screen and (min-width: 48em) {
  .navigation-top .wrap {
    max-width: 1000px;
    /* The font size is 14px here and we need 50px padding in ems */
    padding: 0.75em 3.4166666666667em;
  }

  .navigation-top nav {
    margin-left: -1.25em;
  }
}

.navigation-top a {
  color: #222;
  font-weight: 600;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.navigation-top .current-menu-item > a,
.navigation-top .current_page_item > a {
  color: #767676;
}

/* Main navigation */
.main-navigation {
  clear: both;
  display: block;
}

@media screen and (min-width: 48em) {
  .main-navigation {
    width: auto;
  }
}

.main-navigation ul {
  background: #fff;
  list-style: none;
  margin: 0;
  padding: 0 1.5em;
  text-align: left;
}

@media screen and (min-width: 48em) {
  .main-navigation ul {
    background: transparent;
    padding: 0;
  }
}

/* Hide the menu on small screens when JavaScript is available.
 * It only works with JavaScript.
 */
.js .main-navigation ul,
.main-navigation .menu-item-has-children > a > .icon,
.main-navigation .page_item_has_children > a > .icon,
.main-navigation ul a > .icon {
  display: none;
}

@media screen and (min-width: 48em) {
  .js .main-navigation ul,
  .js .main-navigation ul ul,
  .js .main-navigation > div > ul {
    display: block;
  }
}

.main-navigation > div > ul {
  border-top: 1px solid #eee;
  padding: 0.75em 1.695em;
}

@media screen and (min-width: 48em) {
  .main-navigation > div > ul {
    border: 0;
    margin-bottom: 0;
    padding: 0;
  }
}

.js .main-navigation.toggled-on > div > ul {
  display: block;
}

.main-navigation ul ul {
  padding: 0 0 0 1.5em;
}

.main-navigation ul ul.toggled-on {
  display: block;
}

@media screen and (min-width: 48em) {
  .main-navigation ul ul {
    background: #fff;
    border: 1px solid #bbb;
    left: -999em;
    padding: 0;
    position: absolute;
    top: 100%;
    z-index: 99999;
  }
}

.main-navigation ul ul a {
  letter-spacing: 0;
  padding: 0.4em 0;
  position: relative;
  text-transform: none;
}

@media screen and (min-width: 48em) {
  .main-navigation ul ul a {
    padding: 0.75em 1.25em;
    width: 16em;
  }
}

.main-navigation li {
  border-bottom: 1px solid #eee;
  position: relative;
}

@media screen and (min-width: 48em) {
  .main-navigation li {
    border: 0;
    display: inline-block;
  }

  .main-navigation li li {
    display: block;
  }
}

.main-navigation li li,
.main-navigation li:last-child {
  border: 0;
}

.main-navigation a {
  display: block;
  padding: 0.5em 0;
  text-decoration: none;
}

@media screen and (min-width: 48em) {
  .main-navigation a {
    padding: 1em 1.25em;
  }
}

.main-navigation a:hover {
  color: #767676;
}

/* Menu toggle */
.menu-toggle {
  background-color: transparent;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #222;
  display: none;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.5;
  margin: 1px auto 2px;
  padding: 1em;
  text-shadow: none;
}

/* Display the menu toggle when JavaScript is available. */
.js .menu-toggle {
  display: block;
}

@media screen and (min-width: 48em) {
  .js .menu-toggle,
  .js .dropdown-toggle {
    display: none;
  }
}

.main-navigation.toggled-on ul.nav-menu {
  display: block;
}

.menu-toggle:hover,
.menu-toggle:focus {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.menu-toggle:focus {
  outline: thin solid;
}

.menu-toggle .icon {
  margin-right: 0.5em;
  top: -2px;
}

.toggled-on .menu-toggle .icon-bars,
.menu-toggle .icon-close {
  display: none;
}

.toggled-on .menu-toggle .icon-close {
  display: inline-block;
}

/* Dropdown Toggle */
.dropdown-toggle {
  background-color: transparent;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #222;
  display: block;
  font-size: 16px;
  right: -0.5em;
  line-height: 1.5;
  margin: 0 auto;
  padding: 0.5em;
  position: absolute;
  text-shadow: none;
  top: 0;
}

.dropdown-toggle:hover,
.dropdown-toggle:focus {
  background: transparent;
}

.dropdown-toggle:focus {
  outline: thin dotted;
}

.dropdown-toggle.toggled-on .icon {
  -ms-transform: rotate(-180deg); /* IE 9 */
  -webkit-transform: rotate(-180deg); /* Chrome, Safari, Opera */
  transform: rotate(-180deg);
}

/* Dropdown indicators on hover */
@media screen and (min-width: 48em) {
  .main-navigation ul li.menu-item-has-children:before,
  .main-navigation ul li.menu-item-has-children:after,
  .main-navigation ul li.page_item_has_children:before,
  .main-navigation ul li.page_item_has_children:after {
    border-style: solid;
    border-width: 0 6px 6px;
    content: "";
    display: none;
    height: 0;
    position: absolute;
    right: 1em;
    bottom: -1px;
    width: 0;
    z-index: 100000;
  }

  .main-navigation ul li.menu-item-has-children.focus:before,
  .main-navigation ul li.menu-item-has-children:hover:before,
  .main-navigation ul li.menu-item-has-children.focus:after,
  .main-navigation ul li.menu-item-has-children:hover:after,
  .main-navigation ul li.page_item_has_children.focus:before,
  .main-navigation ul li.page_item_has_children:hover:before,
  .main-navigation ul li.page_item_has_children.focus:after,
  .main-navigation ul li.page_item_has_children:hover:after {
    display: block;
  }

  .main-navigation ul li.menu-item-has-children:before,
  .main-navigation ul li.page_item_has_children:before {
    border-color: transparent transparent #bbb;
    bottom: 0;
  }

  .main-navigation ul li.menu-item-has-children:after,
  .main-navigation ul li.page_item_has_children:after {
    border-color: transparent transparent #fff;
  }
}

/* Sub-menu hover states */
@media screen and (min-width: 48em) {
  .main-navigation li li {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }

  .main-navigation li li:hover,
  .main-navigation li li.focus {
    background: #767676;
  }

  .main-navigation li li a {
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
  }

  .main-navigation li li.focus > a,
  .main-navigation li li:focus > a,
  .main-navigation li li:hover > a,
  .main-navigation li li a:hover,
  .main-navigation li li a:focus,
  .main-navigation li li.current_page_item a:hover,
  .main-navigation li li.current-menu-item a:hover,
  .main-navigation li li.current_page_item a:focus,
  .main-navigation li li.current-menu-item a:focus {
    color: #fff;
  }
}

/* Submenu positioning */
@media screen and (min-width: 48em) {
  .main-navigation ul li:hover > ul,
  .main-navigation ul li.focus > ul {
    left: 0.5em;
    right: auto;
  }

  .main-navigation ul ul li:hover > ul,
  .main-navigation ul ul li.focus > ul {
    left: 100%;
    right: auto;
  }

  .main-navigation ul ul ul {
    left: -999em;
    margin-top: -1px;
    top: 0;
  }

  .main-navigation ul ul li.menu-item-has-children.focus:before,
  .main-navigation ul ul li.menu-item-has-children:hover:before,
  .main-navigation ul ul li.menu-item-has-children.focus:after,
  .main-navigation ul ul li.menu-item-has-children:hover:after,
  .main-navigation ul ul li.page_item_has_children.focus:before,
  .main-navigation ul ul li.page_item_has_children:hover:before,
  .main-navigation ul ul li.page_item_has_children.focus:after,
  .main-navigation ul ul li.page_item_has_children:hover:after {
    display: none;
  }
}

/* Icons in main navigation */
@media screen and (min-width: 48em) {
  .main-navigation .menu-item-has-children > a > .icon,
  .main-navigation .page_item_has_children > a > .icon {
    display: inline;
    left: 5px;
    position: relative;
    top: -1px;
  }

  .main-navigation ul ul .menu-item-has-children > a > .icon,
  .main-navigation ul ul .page_item_has_children > a > .icon {
    margin-top: -9px;
    left: auto;
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: rotate(-90deg); /* Chrome, Safari, Opera */
    -ms-transform: rotate(-90deg); /* IE 9 */
    transform: rotate(-90deg);
  }
}

/* Scroll down arrow */
/* Menu scroll down styles are now handled by inline styles */

/* Fixed navigation */
@media screen and (min-width: 48em) {
  .site-navigation-fixed.navigation-top {
    bottom: auto;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
  }

  .admin-bar .site-navigation-fixed.navigation-top {
    top: 32px;
  }
}