/* ######################################################### */

.menucell {
  display: table;
  height: 40px;
  text-align: center;
  background: transparent;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.menuchild {
  display: table-cell;
  vertical-align: middle;
}

.toplistitem, .toplistseparator {
  float: left;
  list-style: none;
  background: transparent;
}

a.headermenulink {
  font-family: 'Montserrat', sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.8px;
  font-size: 13px;
  font-weight: 500;
  font-style: normal;
  position: relative;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  margin: 0px 10px 0px 10px;
  padding: 0px 0px 0px 0px;
}

a.headermenulink:hover {
  text-decoration: none;
  color: #fff;
}

a.headermenulink::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  bottom: -6px;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform 0.4s ease;
}

a.headermenulink:hover::before {
  transform: scaleX(0.95);
}

.submenucell {
  text-align: left;
  background: transparent;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sublistitem {
  list-style: none;
}

.submenulink {
  margin: 0px;
  padding: 6px 0px 6px 25px;
  cursor: pointer;
  font-family: 'Calibri', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a.submenulink {
  display: block;
  text-decoration: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  border-left: 1px solid #8d8d8d;
  border-right: 1px solid #8d8d8d;
}

#main_nav ul {
  display:inline-block;
  -webkit-transition: .5s;
  transition: .5s;
}

#main_nav li {
  position: relative;
  list-style: none;
}

#main_nav ul ul {
  position: absolute;
  left: 0;
  top: 100%;
  visibility: hidden;
  opacity: 0;
}

#main_nav ul ul ul {
  left: 100%;
  top: 0;
}

#main_nav ul li a {
  color: #fff;
  background: transparent;
}

#main_nav ul li:hover a {
  color: #fff;
  background: transparent;
}

#main_nav li:hover li a {
  color: #8d8d8d;
  background: #fff;
}

#main_nav li:hover li:hover a {
  color: #fff;
  background: #8d8d8d;
}

#main_nav li:hover > ul {
  visibility: visible;
  z-index: 9999;
  opacity: 1;
}

.sidemenucell {
  text-align: left;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sidemenulink {
  margin: 0px;
  padding: 15px 10px 15px 15px;
  cursor: pointer;
  font-family: 'Quicksand', sans-serif;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 1px;
  display: block;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a.sidemenulink {
  display: block;
  text-decoration: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sidesubmenucell {
  text-align: left;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sidesubmenulink {
  margin: 0px;
  padding: 15px 0px 15px 30px;
  cursor: pointer;
  font-family: 'Quicksand', sans-serif;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 1px;
  border-bottom: 1px solid #353535;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.lastsidesubmenulink {
  margin: 0px;
  padding: 15px 0px 15px 30px;
  cursor: pointer;
  font-family: 'Quicksand', sans-serif;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 1px;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a.sidesubmenulink, a.lastsidesubmenulink {
  display: block;
  text-decoration: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sidelistitem {
  list-style: none;
}

.sidesublistitem {
  list-style: none;
  width: 100%;
}

#sidemenu li {
  position: relative;
  list-style: none;
}

#sidemenu ul ul {
  left: 0;
  top: 100%;
}

#sidemenu ul ul ul {
  left: 100%;
  top: 0;
}

/* ########## default styling of top levels ########## */

#sidemenu ul li div {
  color: #aaa;
  background: #353535;
}

/* ########## hover styling of top levels ########## */
/* ########## styling of top levels when sub level is hovered ########## */

#sidemenu ul li:hover div {
  color: #fff;
  background: #353535;
}

/* ########## default styling of sub levels ########## */

#sidemenu li li div {
  color: #aaa;
  background: #252525;
}

/* ########## styling of sub levels when main level is hovered ########## */

#sidemenu li:hover li div {
  color: #aaa;
  background: #252525;
}

/* ########## styling of sub levels when sub level is hovered ########## */

#sidemenu li li:hover div {
  color: #fff;
  background: #252525;
}

/* ######################################################### */

@media screen and (min-width:1301px) {
  a.headermenulink { letter-spacing:0.8px; font-size:14px; margin: 0px 10px 0px 10px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; }
}

@media screen and (min-width:1101px) and (max-width:1300px) {
  a.headermenulink { letter-spacing:0.8px; font-size:14px; margin: 0px 8px 0px 8px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; }
}

@media screen and (min-width:1031px) and (max-width:1100px) {
  a.headermenulink { letter-spacing:0.8px; font-size:14px; margin: 0px 5px 0px 5px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; }
}

@media screen and (min-width:951px) and (max-width:1030px) {
  a.headermenulink { letter-spacing:0.5px; font-size:13px; margin: 0px 5px 0px 5px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:14px; }
}

@media screen and (min-width:881px) and (max-width:950px) {
  a.headermenulink { letter-spacing:0.5px; font-size:13px; margin: 0px 4px 0px 4px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:14px; }
}

@media screen and (max-width:880px) {
  a.headermenulink { letter-spacing:0.5px; font-size:12px; margin: 0px 4px 0px 4px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:14px; }
}

/* ######################################################### */

@media screen and (min-width:601px) {
  .sidesubmenulink { padding: 15px 0px 15px 30px; }
  .lastsidesubmenulink { padding: 15px 0px 15px 30px; }
}

@media screen and (min-width:501px) and (max-width:600px) {
  .sidesubmenulink { padding: 15px 0px 15px 20px; }
  .lastsidesubmenulink { padding: 15px 0px 15px 20px; }
}

@media screen and (max-width:500px ) {
  .sidesubmenulink { padding: 15px 0px 15px 10px; }
  .lastsidesubmenulink { padding: 15px 0px 15px 10px; }
}

/* ######################################################### */
