nav {
  padding: 0;
  margin: 3px auto 0;
  width: 100%;
  text-align: right;
}
nav ul {
  margin: 0;
  list-style: none;
}
nav ul > li {
  display: inline-block;
}
nav a {
  color: #333;
  font-size: 16px;
  display: inline-block;
  padding: 8px 20px;
  font-weight: 400;
  border: 0px solid transparent;
  position: relative;
}
nav a:hover {
  color: #34c0c3;
}
@media (max-width: 1171px) {
nav a {
    padding: 8px 6px;
}
}
@media screen and (min-width: 991px) {
nav ul > .menu-item-has-children:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 100%;
  border-bottom: 4px solid #000;
  display: none;
  z-index: 99999999;
}
nav ul > .menu-item-has-children:hover:before {
  display: block;
}
nav ul > li ul li:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 100%;
  border-bottom: 4px solid #000;
  display: none;
  z-index: 99999999;
  display: none;
}
nav ul > li ul li:hover:before {
  display: none;
}
nav li {
  border: 1px solid transparent;
}
nav ul li ul li {
  border: 0px solid #fff;
  border-bottom: 1px solid #3bc9cc !important;
  padding: 6px 0;
}
nav ul li ul li:hover {
  border: 0px solid #fff;
  border-bottom: 0px solid #fff !important;
}
nav > a { 
  display: none;
}
nav * {
  padding: 0;
  margin: 0;
}
nav > ul { 
  display: block; 
}
nav > ul > li {
  cursor: pointer;
  position: relative;
  z-index: 99999;
}
nav > ul > li ul li {
  cursor: pointer;
  margin: 0px;
  width: 100%;
}
nav ul > li ul {
  position: absolute;
  width: 200px;
  display: none;
  background: #34c0c3;
  margin-left: 0px;
  z-index: 999;
  text-align: left;
  padding: 0px 0;
  left: -1px;
}
nav ul > li ul li a { 
  color: #fff; 
  padding: 5px 0 5px 20px; 
  border: 0px; 
  position: relative;
}
nav ul > li ul li a:hover { 
  color: #fff;
}
nav ul > li ul li a:before { 
  content: "\f105";
  font-family: FontAwesome;
  font-size: 20px;
  position: absolute;
  color: #fff;
  left: 20px;
  top: 0;
  border-bottom: 0px; 
  opacity: 0;
}
nav ul > li ul li a:hover:before { 
  opacity: 1;
}
nav ul > li ul li a:hover { 
  border: 0px;
  padding-left: 40px;
  border-bottom: 0px solid #000 !important; 
}
nav ul > li > ul > li > ul > li > ul,  nav ul > li > ul > li > ul {
  border-left: 1px solid #00baff;
  margin-left: 200px;
  margin-top: -40px;
}
nav ul > li:hover > ul { 
  display: block; 
}
}

@media screen and (max-width: 991px) {
.menu-item-has-children {
  position: relative;
}
.menu-item-has-children:after {
  content: "\f107";
  font-family: FontAwesome;
  position: absolute;
  font-size: 20px;
  color: #fff;
  right: 20px;
  top: 12px;
  z-index: -1;
}
nav > ul li {
  border-bottom: 1px dotted #1ce0e0;
  margin: 0px;
  padding-left: 20px;
}
nav ul > li {
    display: block;
}
nav > ul li ul li {
    border-bottom: 0;
}
nav * > li > a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px 10px;
  color: #fff;
}
nav ul li ul li a {
  padding: 10px 10px;
}
nav * > li > a:hover {
  color: #2d3990 !important;
  border: 0px solid #fff;
  background: transparent;
}
nav * li:last-child { 
  border-bottom: 0; 
}
nav > a {
  display: inline-block;
  color: #2d3990;
  position: absolute;
  right: 20px;
  top: 20px;
  background: none !important;
  border: 0px;
  cursor: pointer;
}
nav > a:hover, nav > a:focus {
  color: #fff;
  border: 1px solid #fff;
  background: #34c4c4 !important;
}
nav > ul { 
  display: none; 
  margin: 0px 0px 0px 0px; 
  padding: 0px;
  background: #34c4c4;
  position: absolute;
  z-index: 9999;
  top: 90px;
  right: 0px;
  width: 100%;
  text-align: left;  
    transition: 0s ease-in-out !important;
}
nav ul > li > ul,  nav ul > li > ul > li > ul > li > ul,  nav ul > li > ul > li > ul { 
  display: none; 
  margin: 0px; 
  padding: 0px; 
}
}
@media (max-width: 480px) {
nav > a {
    right: 10px;
    top: 16px;
}
nav > ul {
    top: 62px;
}
}