/*
=========================
Vertical Reponsive Menu
=========================
*/

* {
  box-sizing: border-box;
}
:focus,
:active {
  outline: none;
}
.toggle_menu {
  display: block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  padding: 0;
  background: none;
  border: 0;
  text-align: center;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 3100;
}
.toggle_menu i {
  display: block;
  font-size: 2.5rem;
}
.vertical_nav {
  -moz-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  position: fixed;
  left: -320px;
  top: 50px;
  bottom: 0;
  width: 320px;
  background: #fff;
  border-left: none;
  z-index: 3000;
}
.vertical_nav a {
  text-decoration: none;
  color: #333;
}
.vertical_nav__closed {
  left: -200px !important;
}
.vertical_nav__opened {
  left: 0px !important;
}
.menu {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.menu--item {
  position: relative;
  min-height: 40px;
  line-height: 40px;
}
.menu--item__has_sub_menu .menu--link:after {
  position: absolute;
  top: 0;
  right: 15px;
  height: 40px;
  line-height: 40px;
  font-size: 2rem;
  font-family: "FontAwesome";
  content: "\f105";
}
.menu--subitens__opened {
  background: #fff;
  color: #fff;
}
.menu--subitens__opened .menu--link {
  color: #333;
}
.menu--subitens__opened .sub_menu {
  display: block;
}
.menu--link {
  display: block;
  overflow: hidden;
  font-size: 1.5rem;
  text-decoration: none;
  color: #333;
  white-space: nowrap;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.menu--link:hover,
.menu--link:hover .menu--label {
  color: #fff;
  background: #888888;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg4ODg4OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2NjY2NjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #888888 0%, #666666 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #888888),
    color-stop(100%, #666666)
  );
  background: -webkit-linear-gradient(top, #888888 0%, #666666 100%);
  background: -o-linear-gradient(top, #888888 0%, #666666 100%);
  background: -ms-linear-gradient(top, #888888 0%, #666666 100%);
  background: linear-gradient(to bottom, #888888 0%, #666666 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#888888', endColorstr='#666666', GradientType=0 );
}
.menu--icon {
  display: block;
  float: left;
  width: 50px;
  height: 40px;
  line-height: 40px;
  font-size: 2rem;
}
.menu--label {
  display: block;
  height: 40px;
  line-height: 40px;
  padding-left: 10px;
}
.main_menu--link {
  display: block;
}
.sub_menu {
  display: none;
  overflow: hidden;
  padding-left: 0;
  list-style: none;
  border: solid 1px #ddd;
}
.sub_menu--link {
  display: block;
  padding-left: 30px;
  padding-right: 16px;
  font-size: 1.5rem;
  color: #333;
  text-decoration: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.main_menu--link:hover,
.sub_menu--link:hover {
  color: #333;
  background: #888888;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg4ODg4OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2NjY2NjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #888888 0%, #666666 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #888888),
    color-stop(100%, #666666)
  );
  background: -webkit-linear-gradient(top, #888888 0%, #666666 100%);
  background: -o-linear-gradient(top, #888888 0%, #666666 100%);
  background: -ms-linear-gradient(top, #888888 0%, #666666 100%);
  background: linear-gradient(to bottom, #888888 0%, #666666 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#888888', endColorstr='#666666', GradientType=0 );
  color: #fff;
}
.sub_menu--link__active {
  color: #333;
}

@media (min-width: 960px) {
  .toggle_menu {
    display: none;
  }
  .menu {
    top: 0;
    overflow: visible;
  }
  .menu--item__has_sub_menu .menu--link:after {
    font-size: 1.5rem;
    font-family: "FontAwesome";
    content: "\f105";
  }
  .sub_menu {
    display: block;
  }
  .leftnav {
    left: 0;
    top: 100px;
    bottom: 150px;
    width: 200px;
  }
  .leftnav li {
    list-style: none;
    margin: 0;
    padding: 0;
    height: 40px;
    line-height: 40px;
    background: #fff;
    position: relative;
  }
  .leftnav li:hover > ul {
    visibility: visible;
  }
  .leftnav ul ul {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 100%;
    width: 240px;
    border-left: solid 1px #ddd;
  }
  .leftnav a {
    width: 100%;
    display: inline-block;
    font-size: 1.5rem;
    text-decoration: none;
    color: #333;
    padding-left: 10px;
  }
  .leftnav a:hover {
    color: #fff;
  }
}
