.wrap {
  display: inline-block;
  -webkit-box-shadow: 0 0 2px #fff;
  -moz-box-shadow: 0 0 2px #fff;
  box-shadow: 0 0 3px #fff;
  margin-top: 2px;
}

/* a little "umph" */
.decor {
  background: black;
  background: -webkit-linear-gradient(left, #CDEBDB 50%, #6EAF8D 50%);
  background: -moz-linear-gradient(left, #CDEBDB 50%, #6EAF8D 50%);
  background: -o-linear-gradient(left, #CDEBDB 50%, #6EAF8D 50%);
  background: linear-gradient(left, white 50%, #6EAF8D 50%);
  background-size: 1px 25%;
  padding: 1px;
  display: block;
}

a {
  text-decoration: none;
  color: #fff;
  display: block;
}

ul {
  list-style: none;
  position: relative;
  text-align: left;
}

li {
  float: left;
}

/* clear'n floats */
ul:after {
  clear: both;
}

ul:before,
ul:after {
    content: " ";
    display: table;
}

nav {
  position: relative;
  background: #2B2B2B;
  text-align: center;
  letter-spacing: 1px;
  text-shadow: 1px 1px 1px #0E0E0E;
  -webkit-box-shadow: 2px 2px 3px #888;
  -moz-box-shadow: 2px 2px 3px #888;
  box-shadow: 2px 2px 3px #888;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 4px;
}

/* =========================================================
   PRIMARY TOP MENU (Forced to single line with smaller font)
   ========================================================= */
ul.primary {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap !important; /* Prevents items from dropping to line 2 */
  align-items: center;
  margin: 0;
  padding: 0;
  white-space: nowrap;          /* Keeps text on 1 line */
}

ul.primary li {
  float: none;                  /* Overrides general float for flex layout */
  white-space: nowrap;
}

ul.primary li a {
  display: block;
  padding: 2px 6px;             /* Compact vertical/horizontal padding */
  border-right: 1px solid #3D3D3D;
  font-size: 11px;              /* Smaller text size */
  white-space: nowrap;          /* Prevents link text from wrapping */
}

ul.primary li:last-child a {
  border-right: none;
}

ul.primary li a:hover {
  color: #000;
}

/* =========================================================
   SUBMENU DROPDOWNS
   ========================================================= */
ul.sub {
  position: absolute;
  z-index: 200;
  box-shadow: 2px 2px 0 #BEBEBE;
  width: auto;                  /* Fits content width dynamically */
  min-width: 150px;
  display: none;
  white-space: nowrap;
}

ul.sub li {
  float: none;
  margin: 0;
}

ul.sub li a {
  border-bottom: 1px dotted #ccc;
  border-right: none;
  color: #000;
  padding: 3px 8px;
  font-size: 11px;              /* Matches smaller menu font */
  white-space: nowrap;
}

ul.sub li:last-child a {
  border-bottom: none;
}

ul.sub li a:hover {
  color: #000;
  background: #eeeeee;
}

/* sub display*/
ul.primary li:hover ul {
  display: block;
  background: #fff;
}

/* keeps the tab background white */
ul.primary li:hover a {
  background: #fff;
  color: #666;
  text-shadow: none;
}

ul.primary li:hover > a {
  color: #000;
} 

@media only screen and (max-width: 600px) {
  .decor {
    padding: 3px;
  }
  
  .wrap {
    width: 100%;
    margin-top: 0px;
  }
  
  li {
    float: none;
  }
  
  ul.primary li:hover a {
    background: none;
    color: #8B8B8B;
    text-shadow: 1px 1px #000;
  }

  ul.primary li:hover ul {
    display: block;
    background: #272727;
    color: #fff;
  }
  
  ul.sub {
    display: block;  
    position: static;
    box-shadow: none;
    width: 100%;
  }
  
  ul.sub li a {
    background: #272727;
    border: none;
    color: #8B8B8B;
  }
  
  ul.sub li a:hover {
    color: #ccc;
    background: none;
  }
}