/*
Item name: Flexy Menu - Responsive Horizontal & Vertical Menu
Item Url: http://codecanyon.net/item/flexy-menu-responsive-horizontal-vertical-menu/5059149
Author: marcoarib
License: http://codecanyon.net/licenses
*/

@import url("http://fonts.googleapis.com/css?family=Source+Sans+Pro");
/*******************************************************************************
							Default configuration
*******************************************************************************/
.flexy-menu-wrapper {
  float: right;
}
.flexy-menu {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  float: right;
  font-family: "Source Sans Pro", Segoe UI, Arial;
  list-style: none;
  background: #fff;
}
.flexy-menu li {
  display: block;
  font-size: 1.5rem;
  /* font-weight: bold; */
  margin: 0;
  padding: 0;
  float: left;
  line-height: 2rem;
  position: relative;
}
.flexy-menu > li > a {
  padding: 15px 18px;
  color: #000;
  text-decoration: none;
  display: block;
  text-transform: uppercase;
  -webkit-transition: color 0.2s linear, background 0.2s linear;
  -moz-transition: color 0.2s linear, background 0.2s linear;
  -o-transition: color 0.2s linear, background 0.2s linear;
  transition: color 0.2s linear, background 0.2s linear;
}
.flexy-menu li:hover > a {
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  -ms-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  text-decoration: none;
}
.flexy-menu li a::after {
  position: absolute;
  bottom: 10px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.flexy-menu li a:hover::after {
  transform: scale(1, 1);
}
.flexy-menu li li a::after {
  bottom: 1px;
}
/*----------------------------
	Right alignment (item)
----------------------------*/
.flexy-menu li.right {
  float: right;
}
/*-----------------------------
	Drop down configuration
-----------------------------*/
.flexy-menu ul,
.flexy-menu ul li ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  position: absolute;
  /* z-index: 99999; */
  width: 250px;
  background: #fff;
}
.flexy-menu ul {
  top: 50px;
  right: 0;
}
.flexy-menu ul li ul {
  top: 0;
  left: 100%;
  width: 100px;
}
.flexy-menu ul li {
  clear: both;
  width: 100%;
  border: none;
  font-size: 1.5rem;
}
.flexy-menu ul li a {
  padding: 5px 20px;
  width: 100%;
  color: #000;
  font-size: 1.5rem;
  text-decoration: none;
  display: inline-block;
  /* float: left; */
  clear: both;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-transition: color 0.2s linear, background 0.2s linear;
  -moz-transition: color 0.2s linear, background 0.2s linear;
  -o-transition: color 0.2s linear, background 0.2s linear;
  transition: color 0.2s linear, background 0.2s linear;
}
/*-----------------------------
	Drop down indicators
-----------------------------*/
.flexy-menu > li .indicator {
  position: absolute;
  color: #dedede;
  top: 20px;
  right: 8px;
  font-size: 1.5rem;
}
.flexy-menu ul > li .indicator {
  top: 10px;
  right: 8px;
}
/*------------------
	Preset sizes
------------------*/
.thin > li > a {
  padding: 10px 22px;
}
.thin ul {
  top: 40px;
}
.thin > li .indicator {
  top: 10px;
}
.thick > li > a {
  padding: 40px 22px;
}
.thick ul {
  top: 100px;
}
.thick > li .indicator {
  top: 40px;
}
/*-------------------------
	Icons configuration
-------------------------*/
.flexy-menu i {
  line-height: 20px !important;
  margin-right: 6px;
  font-size: 1.5rem;
  float: left;
}
/*------------------------------------
	Collapsible menu configuration
------------------------------------*/
.flexy-menu > li.showhide {
  display: none;
  width: 100%;
  height: 50px;
  cursor: pointer;
  color: #dedede;
  /* border-bottom: solid 1px rgba(0, 0, 0, 0.1); */
  background: #fff;
}
.flexy-menu > li.showhide span.title {
  display: none;
  /*	margin: 16px 0 0 25px;
	float: left;*/
}
.flexy-menu > li.showhide span.icon {
  margin: 17px 20px;
  float: right;
}
.flexy-menu > li.showhide .icon em {
  margin-bottom: 3px;
  display: block;
  width: 25px;
  height: 5px;
  background: #000;
}
/*-----------------
	Light Theme
-----------------*/
.light,
.light > li.showhide {
  background: #f5f5f5;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ZjVmNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlYWVhZWEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #f5f5f5 0%, #eaeaea 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #f5f5f5),
    color-stop(100%, #eaeaea)
  );
  background: -webkit-linear-gradient(top, #f5f5f5 0%, #eaeaea 100%);
  background: -o-linear-gradient(top, #f5f5f5 0%, #eaeaea 100%);
  background: linear-gradient(to bottom, #f5f5f5 0%, #eaeaea 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eaeaea', GradientType=0 );
}
.light {
  border: solid 1px #dfdfdf;
}
.light a {
  color: #555 !important;
}
.light li:hover > a,
.light li.active a {
  color: #fff !important;
}
.light ul,
.light ul li ul {
  background: #eaeaea;
}
.light > li.showhide {
  color: #555 !important;
}
.light > li.showhide .icon em {
  background: #555;
}
.light li .indicator {
  color: #555;
}
.light li:hover > .indicator {
  color: #fff;
}
/*******************************************************************************
							Vertical configuration
*******************************************************************************/
.flexy-menu.vertical {
  width: 200px;
}
.flexy-menu.vertical li {
  width: 100%;
}
.flexy-menu.vertical li a {
  display: inline-block !important;
  width: 100%;
  padding: 18px 20px 16px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.flexy-menu.vertical ul li {
  width: 100%;
}
/*--------------------------------
	Drop down on vertical menu
--------------------------------*/
.flexy-menu.vertical ul,
.flexy-menu.vertical ul li ul {
  width: 150px;
}
.flexy-menu.vertical ul {
  top: 0;
  left: 100%;
}
.flexy-menu.vertical ul li ul {
  top: 0px;
}
/*---------------------------------
	Vertical menu on right side
---------------------------------*/
.flexy-menu.vertical.right {
  float: right !important;
}
.flexy-menu.vertical.right ul {
  left: -150px !important;
}
/*------------------------------
	Indicator on vertical menu
------------------------------*/
.flexy-menu.vertical > li .indicator {
  top: 17px;
  right: 15px;
  font-size: 1.5rem;
}
.flexy-menu.vertical ul > li .indicator {
  top: 18px;
  right: 15px;
}

/*****************************************************************************
							Responsive design
*****************************************************************************/
@media (max-width: 960px) {
  .flexy-menu-wrapper {
    float: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 210px;
  }
  .flexy-menu-wrapper.scrollable {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .flexy-menu.vertical {
    width: 100%;
  }
  .flexy-menu li {
    display: block;
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  .flexy-menu > li > a {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 15px;
  }
  .flexy-menu a {
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  .flexy-menu li a::after {
    background: none;
  }

  .flexy-menu ul,
  .flexy-menu ul li ul,
  .flexy-menu.vertical ul,
  .flexy-menu.vertical ul li ul {
    width: 100%;
    left: 0;
    border-left: none;
    position: static;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  .flexy-menu ul li {
    border-left: none;
    border-right: none;
  }
  .flexy-menu ul li a,
  .flexy-menu.vertical ul li a {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .flexy-menu ul > li > a {
    padding-left: 40px !important;
  }
  .flexy-menu > li .indicator {
    top: 15px;
    right: 25px;
    font-size: 1.5rem;
  }
  .flexy-menu ul > li .indicator {
    right: 24px;
  }
  .flexy-menu.vertical ul > li .indicator {
    top: 10px;
    right: 15px;
  }
  .flexy-menu > li > ul > li > a {
    padding-left: 20px !important;
  }
  .flexy-menu > li > ul > li > ul > li > a {
    padding-left: 60px !important;
  }
  .flexy-menu > li > ul > li > ul > li > ul > li > a {
    padding-left: 80px !important;
  }
}
