:root {
  --theme: #0e592f;
}

/* ======================== FONTS ======================== */
/* ==================== BORDER RADIUS ==================== */
/* Ref: 
    http://www.w3schools.com/css/css3_borders.asp 
    http://border-radius.com/
    border-radius: tl tr br bl:
*/
/* ==================== BOX SHADOW ==================== */
/* Ref: 
    http://www.cssmatic.com/box-shadow
*/
/* ==================== Set Font ==================== */
/* ==================== HOVER A ==================== */
/* Ref: 
*/
/*
@include transition(all .3s ease);
@mixin transition($args...) {
  -webkit-transition: $args;
  -moz-transition: $args;
  -ms-transition: $args;
  -o-transition: $args;
  transition: $args;
}
*/
/*
@include background-opacity(#000, $opacity: 0.3);
*/
[x-cloak] {
  display: none !important;
}

.menu {
  position: relative;
  z-index: 10;
}
.menu ul {
  width: 100%;
  padding: 0px;
  margin: auto;
  list-style: none;
}
.menu ul li {
  position: relative;
  z-index: 1;
}
.menu ul li a {
  display: block;
  position: relative;
  font-size: 16px;
  color: #000000;
  padding: 14px 0;
  font-weight: 500;
  text-transform: capitalize;
  text-decoration: none;
}
.menu ul li ul {
  position: absolute;
  min-width: 250px;
  background-color: #fafafa;
  border-radius: 0.25rem;
  -webkit-box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.15);
  box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.15);
  -webkit-transform: perspective(600px) rotateX(-90deg);
  transform: perspective(600px) rotateX(-90deg);
  -webkit-transform-origin: 0 0 0;
  transform-origin: 0 0 0;
  opacity: 0;
  visibility: hidden;
}
.menu ul li ul li a {
  font-size: 14px;
  color: #313131;
  border-bottom: 1px solid #ececec;
  padding: 10px 0.75rem 9px 0.75rem;
  text-transform: capitalize;
}
.menu ul li ul li a:hover, .menu ul li ul li a.active {
  background-color: var(--theme);
  color: #ffffff;
}
.menu ul li ul li:last-child > a {
  border-bottom: 0px;
}
.menu ul li ul li ul {
  top: 0;
  left: 100%;
  margin-top: 0px;
}
.menu ul li:hover > ul {
  -webkit-transform: perspective(600px) rotateX(0);
  transform: perspective(600px) rotateX(0);
  transform-origin: 0 0 0;
  -webkit-transform-origin: 0 0 0;
  opacity: 1;
  visibility: visible;
}
.menu > ul > li > a {
  color: #ffffff;
  text-transform: uppercase;
  padding: 18px 0rem 17px 0rem;
}
.menu > ul > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background-color: transparent;
  transition: all 0.3s ease;
}
.menu > ul > li > a.active::before {
  background-color: #ffffff;
  width: 100%;
}
.menu > ul > li:hover > a::before {
  background-color: #ffffff;
  width: 100%;
}

@media only screen and (max-width: 991px) {
  .menu {
    display: none;
  }
}
@media (max-width: 1024px) {
  .menu {
    display: none;
  }
}