nav {
  height: 58px;
}
nav ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
nav ul h5 {
  font-size: 1rem;
}
nav ul.main-menu-container {
  margin-left: 110px;
}
nav ul li {
  display: inline-block;
  position: relative;
}
nav ul li.main-menu-elements {
  height: 58px;
}
nav ul li.main-menu-elements a.main-menu {
  display: inline-block;
  padding: 15px 1em;
  color: #3D424C;
  font-weight: 400;
  position: relative;
  text-decoration: none;
  height: 58px;
}
nav ul li.main-menu-elements a.main-menu:before {
  background: #01BBA1;
  border-radius: 1.5px;
  bottom: 0px;
  left: 0;
  content: "";
  height: 3px;
  position: absolute;
  width: calc(100%);
  z-index: 3;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), visibility 0s linear;
  -webkit-transition-delay: 0.13s, 0.13s;
  -moz-transition: -moz-transform 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.13s, visibility 0s linear 0.13s;
  -o-transition: -o-transform 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.13s, visibility 0s linear 0.13s;
  transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.13s, visibility 0s linear 0.13s;
}
nav ul li.main-menu-elements .sub-nav {
  box-sizing: border-box;
  left: 0;
  position: fixed;
  top: 58px;
  width: 100%;
  z-index: -2;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
nav ul li.main-menu-elements .sub-nav .sub-nav-container {
  background-color: #FFFFFF;
  width: 100%;
  padding: 2%;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}
nav ul li.main-menu-elements .sub-nav .sub-nav-container .sub-nav-content-box {
  float: left;
}
nav ul li.main-menu-elements .sub-nav.small-nav {
  width: 250px;
  left: 0;
  margin: 0 auto;
  position: absolute;
}
nav ul li.main-menu-elements .sub-nav a {
  display: block;
  margin-bottom: 15px;
  text-decoration: none;
  color: #8b90a0;
  font-size: 0.9em;
}
nav ul li.main-menu-elements .sub-nav a:hover {
  color: #01BBA1;
  text-decoration: underline;
}
nav ul li.main-menu-elements .sub-nav .main-menu-icon svg {
  margin-bottom: 1em;
  position: relative;
}
nav ul li.main-menu-elements .sub-nav .main-menu-icon a {
  text-decoration: none;
}
nav ul li.main-menu-elements .sub-nav .main-menu-icon a h5 {
  position: relative;
  margin: 0 0 0.5em 0;
  color: #3D424C;
  font-size: 1em;
}
nav ul li:hover a.main-menu:before {
  transform-origin: center;
  visibility: visible;
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -o-transform: scaleX(1);
  transform: scaleX(1);
}
nav ul li:hover .sub-nav {
  z-index: 2;
  visibility: visible;
  opacity: 1;
}