/* -- 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; overflow: hidden; 
}
.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:#474747; border-bottom:0;}
.flexnav .touch-button:hover {cursor: pointer;}
.flexnav .touch-button .navicon {font-size: 12px; font-style:normal; color: #666;}

/* -- Responsive Menu: Nav Bar -- */
.menu-button {margin:0 auto; display: block; padding:0; position: relative; background: #474747; cursor: pointer; font:400 14px Lato; overflow:hidden;}
.menu-button .navicon {display: inline-block; padding:14px 15px; position: relative; cursor: pointer; font-size: 14px/24px; color:#fff; font-style:normal; font-weight:400;}
.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) {
.flexnav li a {background:#fff; font:700 13px Lato; color:#454545; border-bottom:1px solid #EDEDED;}
.menu-button, .flexnav li {width:!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;}
.flexnav li > ul {//  display: block;display: none;}

/* -- Main Menu -- */
.flexnav li {margin:0; padding:0; display: inline-block; margin-right:10px; color:#595959; width:auto; text-decoration: none; text-align: center; border:0; overflow: visible;}
.flexnav li a {position: relative; display: block; padding:0 0 5px; font:600 12px Lato, sans-serif; color:#828282; letter-spacing:0px; text-transform:uppercase; border-bottom:0; border-bottom:2px solid transparent;}

/* -- Main Menu: Hover Styles -- */
.flexnav > li a:hover, .flexnav > li:hover a {color:#688A9F; border-bottom:2px solid #688A9F;}
.flexnav li ul li a, .flexnav li ul li ul li a,
.flexnav ul li ul li ul li a {background:#fff; color:#828282!important; position:relative; z-index:999;}
.flexnav li ul li a:hover,.flexnav li ul li a:focus {color:#688A9F!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:0!important;display: block;}
.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; color:#828282; font:400 13px Lato; text-align:left; 
	letter-spacing:0; text-transform:none; border:0; border-bottom: 1px solid rgba(0,0,0,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.15);}

.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;}
}