/* 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: -13px; 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: 10em; 
  padding: 0px 0px; background: #fafafa; box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

/* root */
.nav-menu a {
  padding: 0px 25px 0px 25px;
  color: #3d3d3d;
  font-weight: 600;
  font-size:var(--font-f09);
  line-height: 50px;
  text-decoration: none;
}
@media screen and (max-width: 1850px) {
.nav-menu a { font-size:var(--font-f08); }
}
@media screen and (max-width: 1750px) {
.nav-menu a { font-size:var(--font-f07); padding: 0px 20px 0px 20px; }
}
@media screen and (max-width: 1550px) {
.nav-menu a { padding: 0px 16px 0px 16px; }
}

/* root: active */
.nav-menu > li > .nav-active { }

/* root: hover/persistence */
.nav-menu a:hover,.nav-menu a:focus,.nav-menu li:hover a {
  color: var(--color-c01);
}

/* 2 */
.nav-menu li ul{ text-align: left; padding: 15px 0px;
}
.nav-menu li li a, .nav-menu li:hover li a {
  padding: 8px 40px;
  color: #666;
  font-size:var(--font-f07);
  line-height: normal;
}
@media screen and (max-width: 1850px) {
.nav-menu li li a, .nav-menu li:hover li a { font-size:var(--font-f06); }
}
@media screen and (max-width: 1750px) {
.nav-menu li li a, .nav-menu li:hover li a { font-size:var(--font-f05); padding: 8px 35px;}
}
@media screen and (max-width: 1550px) {
.nav-menu a { padding: 0px 16px 0px 16px; }
}

/* 2: hover/persistence */
.nav-menu li:hover li a:hover,.nav-menu li:hover li a:focus,.nav-menu li:hover li:hover a {
  color: var(--color-c01);
}

/* 3 */
.nav-menu li ul li ul{ margin-top: -15px;
}
.nav-menu li:hover li:hover li a {
  color: #666;
}

/* 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 {
  color: var(--color-c01);
}

/* 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%; }