/* -- Flexnav Base Styles / DO NOT TOUCH -- */
.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.one-page {position: fixed; top: 50px; right: 5%; max-width: 200px;}

/* -- Responsive Menu -- */
.flexnav li {margin:0 auto;padding:0!important; font-size: 100%; position: relative; overflow: hidden; border-bottom:0!important;}
.flexnav li a {
	position: relative; display: block; padding: 15px; z-index: 2; background:#fff;
	overflow: hidden; font:700 14px Open Sans; color:#454545; border-bottom:1px solid #EDEDED;
}
.flexnav li ul {width: 100%;}
.flexnav li ul li {font-size: 100%; position: relative; overflow: hidden;}
.flexnav li ul.flexnav-show li {overflow: visible;}

/* -- Responsive Menu: Nested Lists -- */
.flexnav ul li a {background: #F7F7F7;}
.flexnav ul li ul li a {background: #F0F0F0; border-color:rgba(0,0,0,0.050);}
.flexnav ul li ul li ul li a {background: #E6E6E6;}
.flexnav ul li ul li ul li ul li a {background: #DFDFDF;}

/* -- Responsive Menu: Nested Lists Button -- */
.menu-button .touch-button .navicon {position: relative; top: 1em; font-size: 2vw; color: #666;}
.flexnav .touch-button {position: absolute; z-index:999; top:0; right:0; padding: 14px 15px 13px; display: inline-block; text-align: center; background:#484848; border-bottom:0;}
.flexnav .touch-button:hover {cursor: pointer;}
.flexnav .touch-button .navicon {font-size: 12px; color: #666;}

/* -- Responsive Menu: Nav Bar -- */
.menu-button {margin:0 auto; display: block; padding:0; position: relative; background:#323232; cursor: pointer; font:18px Open Sans; overflow:hidden;}
.menu-button .navicon {display: inline-block; padding:14px 15px; position: relative; float:left; cursor: pointer; font-size: 18px; color:#fff;}
.menu-button.one-page {position: fixed; top: 0; right: 5%; padding-right: 45px;}
.menu-button .touch-button {padding:22px; display: none; z-index: 999; position: absolute; top: 0px; right: 0; text-align: center;}


@media only screen and (max-width: 966px), only screen and (max-device-width: 966px) {
.menu-button, .flexnav li {width:92vw!important;}
}

@media only screen and (min-width:967px), only screen and (min-width:967px) {

/* -- Main Menu Base Styles / DO NOT TOUCH -- */
body.one-page {padding-top: 70px;}
.flexnav.one-page {top: 0; right: auto;}
.flexnav {overflow: visible; list-style: none; margin:0!important;}
.flexnav.opacity {opacity: 1;}

/* -- Main Menu -- */
.flexnav li {margin:0; padding:0; display: inline-block; margin-right:0; color:#595959; width:auto; text-decoration: none; text-align: center; border:0; overflow: visible;}
.flexnav li a {position: relative; display: block; padding: 5px; background:none; font:600 12px Open Sans, sans-serif; color:#8B8B8B; letter-spacing:0; text-transform:uppercasex; border-bottom:0; border:0;}

/* -- Main Menu: Hover Styles -- */
.flexnav > li a:hover, .flexnav > li:hover a {background:rgba(0,0,0,0.2);color:rgba(255,255,255,0.9); border-bottom:0;}
.flexnav li:hover ul li a {background:#484848!important; color:rgba(255,255,255,0.5); position:relative; z-index:999;}
.flexnav li ul li a:hover {background:#676767!important; color:rgba(255,255,255,0.7)!important;}

.flexnav li ul li a:before {height: 0px}
.flexnav li ul li a:after {height:0px;}

/* -- Main Menu: Nested Lists -- */
.flexnav li > ul, .flexnav li ul li ul {position: absolute; top: auto; left: 0; width:150px;}
.flexnav li > ul li {margin-left:0px!important;}
.flexnav li > ul li a {padding:0!important; height:100%!important; position: relative; z-index:999!important;}

.flexnav li > ul li {width: 100%;}
.flexnav li ul li > ul {margin-left: 100%; top: 0;}

/* -- Main Menu; Nested List Style -- */
.flexnav li ul li a, .flexnav li ul li ul li a {
	padding: 12px!important; background:#484848!important; color:rgba(255,255,255,0.6)!important; font:400 13px Open Sans; text-align:left; 
	letter-spacing:0; text-transform:none; border:0; border-bottom: 1px solid rgba(255,255,255,0.060)!important; 
}
.flexnav li ul li:last-child, .flexnav li ul li ul li:last-child {border-bottom:0!important;}
.flexnav li ul li ul li a, .flexnav li ul li ul li ul li a {box-shadow: inset 26px 0px 36px -31px rgba(0,0,0,0.45);}

.flexnav li ul.open {display: block; opacity: 1; visibility: visible; z-index: 1;}
.flexnav li ul.open li {overflow: visible; max-height: 100px;}
.flexnav li ul.open ul.open {margin-left: 100%; top: 0;}
.menu-button, .flexnav .touch-button, .flexnav .touch-button .navicon{display: none;}
}