/* ########## main navigation menu ########## */

.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', Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0px;
  font-size: 17px;
  font-weight: 500;
  font-style: normal;
  position: relative;
  color: #fff;
  text-decoration: none;
  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);
}

.dropdownwidth2 {
  width: 170px;
}

.dropdownwidth2a {
  width: 172px;
}

.dropdownwidth3 {
  width: 195px;
}

.dropdownwidth3a {
  width: 197px;
}

.dropdownwidth4 {
  width: 205px;
}

.dropdownwidth4a {
  width: 207px;
}

.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: 8px 0px 10px 25px;
  cursor: pointer;
  font-family: 'Calibri', Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  line-height: 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;
}

.top-curve {
  border-top: 1px solid #8d8d8d;
  border-top-left-radius:8px;
  border-top-right-radius:8px;
  padding-top: 12px;
}

.bottom-curve {
  border-bottom: 1px solid #8d8d8d;
  border-bottom-left-radius:8px;
  border-bottom-right-radius:8px;
  padding-bottom: 15px;
}

.arrow {
  height: 20px;
  /* background: url(arrow.svg); */
  /* background-repeat: no-repeat; */
  /* background-position: 25px 0px; */
  /* background-size: 16px 8px; */
}

#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;
}

/* ########## slide out side menu ########## */

.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:0px; font-size:17px; margin: 0px 16px 0px 16px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; padding: 8px 20px 10px 25px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:170px; }
  .dropdownwidth2a { width:172px; }
  .dropdownwidth3 { width:195px; }
  .dropdownwidth3a { width:197px; }
  .dropdownwidth4 { width:205px; }
  .dropdownwidth4a { width:207px; }
}

@media screen and (min-width:1161px) and (max-width:1300px) {
  a.headermenulink { letter-spacing:0px; font-size:17px; margin: 0px 16px 0px 16px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; padding: 8px 20px 10px 25px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:170px; }
  .dropdownwidth2a { width:172px; }
  .dropdownwidth3 { width:195px; }
  .dropdownwidth3a { width:197px; }
  .dropdownwidth4 { width:205px; }
  .dropdownwidth4a { width:207px; }
}

@media screen and (min-width:1101px) and (max-width:1160px) {
  a.headermenulink { letter-spacing:0px; font-size:17px; margin: 0px 16px 0px 16px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; padding: 8px 20px 10px 25px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:170px; }
  .dropdownwidth2a { width:172px; }
  .dropdownwidth3 { width:195px; }
  .dropdownwidth3a { width:197px; }
  .dropdownwidth4 { width:205px; }
  .dropdownwidth4a { width:207px; }
}

@media screen and (min-width:1001px) and (max-width:1100px) {
  a.headermenulink { letter-spacing:0px; font-size:17px; margin: 0px 16px 0px 16px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:16px; padding: 8px 20px 10px 25px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:170px; }
  .dropdownwidth2a { width:172px; }
  .dropdownwidth3 { width:195px; }
  .dropdownwidth3a { width:197px; }
  .dropdownwidth4 { width:205px; }
  .dropdownwidth4a { width:207px; }
}

@media screen and (min-width:901px) and (max-width:1000px) {
  a.headermenulink { letter-spacing:0px; font-size:16px; margin: 0px 14px 0px 14px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:15px; padding: 8px 22px 10px 22px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:170px; }
  .dropdownwidth2a { width:172px; }
  .dropdownwidth3 { width:195px; }
  .dropdownwidth3a { width:197px; }
  .dropdownwidth4 { width:205px; }
  .dropdownwidth4a { width:207px; }
}

@media screen and (min-width:851px) and (max-width:900px) {
  a.headermenulink { letter-spacing:0px; font-size:16px; margin: 0px 10px 0px 10px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:15px; padding: 8px 22px 10px 22px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:160px; }
  .dropdownwidth2a { width:162px; }
  .dropdownwidth3 { width:185px; }
  .dropdownwidth3a { width:187px; }
  .dropdownwidth4 { width:195px; }
  .dropdownwidth4a { width:197px; }
}

@media screen and (min-width:816px) and (max-width:850px) {
  a.headermenulink { letter-spacing:0px; font-size:16px; margin: 0px 8px 0px 8px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:15px; padding: 8px 22px 10px 22px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:160px; }
  .dropdownwidth2a { width:162px; }
  .dropdownwidth3 { width:185px; }
  .dropdownwidth3a { width:187px; }
  .dropdownwidth4 { width:195px; }
  .dropdownwidth4a { width:197px; }
}

@media screen and (min-width:751px) and (max-width:815px) {
  a.headermenulink { letter-spacing:0px; font-size:15px; margin: 0px 8px 0px 8px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:15px; padding: 8px 22px 10px 22px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:160px; }
  .dropdownwidth2a { width:162px; }
  .dropdownwidth3 { width:185px; }
  .dropdownwidth3a { width:187px; }
  .dropdownwidth4 { width:195px; }
  .dropdownwidth4a { width:197px; }
}

@media screen and (max-width:750px) {
  a.headermenulink { letter-spacing:0px; font-size:15px; margin: 0px 8px 0px 8px; padding: 0px 0px 0px 0px; }
  .submenulink { font-size:15px; padding: 8px 22px 10px 22px; }
  .top-curve { padding-top:12px; }
  .dropdownwidth2 { width:160px; }
  .dropdownwidth2a { width:162px; }
  .dropdownwidth3 { width:185px; }
  .dropdownwidth3a { width:187px; }
  .dropdownwidth4 { width:195px; }
  .dropdownwidth4a { width:197px; }
}

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

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

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

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

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