/* nav */
.nav-menu,.nav-menu ul,.nav-menu li,.nav-menu a { margin: 0; padding: 0; line-height: normal; list-style: none; display: block; position: relative; }
.nav-menu ul { opacity: 0; position: absolute; top: 100%; left: -9999px; z-index: 999; -webkit-transition: opacity .3s; transition: opacity .3s; }
.nav-menu li:hover > ul { left: 0; opacity: 1; z-index: 1000; }
.nav-menu ul li:hover > ul { top: 0; left: 100%; }
.nav-menu li { cursor: default; float: left; white-space: nowrap; }
.nav-menu ul li { float: none; }

/* sub width */
.nav-menu ul { min-width: 12em; -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,0.25); box-shadow: 2px 2px 2px rgba(0,0,0,0.25); }

/* center */
.nav-center { float: right; right: 50%; }
.nav-center > li { left: 50%; }

/* root */
.nav-menu a {
  padding: 36px 0px 0 55px;
  color: #303747;
  font-weight: normal;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}

/* root: active */
.nav-menu li {position: relative;  }
.nav-menu > li > .nav-active {transition: all 0.6s;  }
.nav-menu > li:hover > .nav-active:after { content: "";
  width: calc(100% - 55px);
  height: 5px;
  background: #c78c40;
  display: block; margin: 11px 0 0 0; position: absolute;}

/* root: hover/persistence */
.nav-menu a:hover,.nav-menu a:focus,.nav-menu li:hover a {
  color: #c78c40;
}

/* 2 */
.nav-menu li li a,.nav-menu li:hover li a {
  padding: 8px 25px;
  background: #585657;
  color: #FFF;
  font-size: 16px;
  line-height: normal;
}

/* 2: hover/persistence */
.nav-menu li:hover li a:hover,.nav-menu li:hover li a:focus,.nav-menu li:hover li:hover a {
  background: #cf0010;
}

/* 3 */
.nav-menu li:hover li:hover li a {
  background: #585657;
}

/* 3: hover/persistence */
.nav-menu li:hover li:hover li a:hover,.nav-menu li:hover li:hover li a:focus,.nav-menu li:hover li:hover li:hover a {
  background: #cf0010;
}

/* 4 */
.nav-menu li:hover li:hover li:hover li a {
  background: #333;
}

/* 4: hover */
.nav-menu li:hover li:hover li:hover li a:hover,.nav-menu li:hover li:hover li:hover li a:focus {
  background: #222;
}

/* vertical */
.nav-vertical { max-width: 220px; }
.nav-vertical ul { top: 0; left: -9999px; }
.nav-vertical li { width: 100%; float: none; }
.nav-vertical li:hover > ul { left: 100%; }

@media only screen and (min-width: 0px) and (max-width: 1200px) {
.nav-menu a {
  padding: 36px 0px 0 30px;
}
.nav-menu > li:hover > .nav-active:after { 
  width: calc(100% - 30px);
}
}

@media screen and (max-width: 1025px) {
.nav-menu a {
  padding: 30px 0px 0 25px;
  font-size: 17px;
}
.nav-menu > li:hover > .nav-active:after { 
  width: calc(100% - 25px);
  margin: 14px 0 0 0;
}
}
