/* Flexnav Base Styles */
.flexnav {
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  transition: none;
  -webkit-transform-style: preserve-3d;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  max-height: 0;
}
.flexnav.opacity {
  opacity: 0;
}
.flexnav.flexnav-show {
  max-height: 2000px;
  opacity: 1;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.flexnav li ul {
  width: 100%;
}
.flexnav li ul li {
  position: relative;
  overflow: hidden;
}
.flexnav li ul.flexnav-show li {
  overflow: visible;
}

.flexnav .touch-button {
  position: absolute;
  z-index: 999;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  display: inline-block;
  text-align: center;
}
.flexnav .touch-button:hover {
    cursor: pointer;
}
.flexnav .touch-button .navicon {
    position: relative;
    top: 1.4em;
    font-size: 12px;
}

.menu-button {
  position: relative;
  display: block;
  cursor: pointer;
}
.menu-button.one-page {
  position: fixed;
  top: 0;
  right: 5%;
  padding-right: 45px;
}
.menu-button .touch-button {
  background: transparent;
  position: absolute;
  z-index: 999;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  display: inline-block;
  text-align: center;
}
.menu-button .touch-button .navicon {
    font-size: 16px;
    position: relative;
    top: 1em;
}

.menu-button > span {
	display:		inline-block;
	float:			right;
	padding:		10px 20px;
	margin:			4px 10px;
	border:			solid 1px #fff;
	border-radius:	5px;
	box-shadow:		1px 1px 0 rgba(0,0,0,0.3);

	color:			#fff;
	font-weight:	bold;
	text-shadow:	-1px -1px 0 rgba(0,0,0,0.3);

	background:		#063;
}

.menu-button > span:hover {
	opacity:		0.8;
}

@media all and (max-width: 801px) {
  .flexnav li,
  .flexnav li a {
    width: 100%;
  }

}

@media all and (min-width: 801px) {
  .flexnav {
    overflow: visible;
  }
  .flexnav.opacity {
    opacity: 1;
  }

  .menu-button {
    display: none;
  }
}
