
nav {
width: 100%;
margin: 0 auto;
top: 0;
position: relative;
z-index: 999;
}
.flexnav {
list-style: none;
line-height: 1;
display: block;
overflow: visible;
width: 100%;
text-align: center;
background: #253a5c;
font-family: 'Open Sans', sans-serif;
font-weight: 700;
font-size: 1.3em;
}

/* Clearfix */
.flexnav:after {
content: "";
display: table;
clear: both; 
}
/* Button that opens the menu in mobile view */
.menu-button {
display: none; /* Button is hidden by default */
padding: 20px;
/* Typography */
font-family: Verdana, Helvetica, sans-serif;
font-size: 1.4em;
color: #FFF;
text-transform: uppercase;
line-height: 1;
background: #253a5c;
cursor: pointer;
}
/* Main link containers */
.flexnav>li {
display: inline-block;
position: relative;
text-align: left;
}
/* General styling for the links */
.flexnav li a {
color: #c7cfd3;
-webkit-transition: color .4s ease-out;
-moz-transition: color .4s ease-out;
-ms-transition: color .4s ease-out;
-o-transition: color .4s ease-out;
transition: color .4s ease-out;
letter-spacing: 1px;
font-weight: normal;
}
.flexnav li.adj {margin-left: -33px}  /* centering adjustment for padding  below */

/* Main links, individually */
.flexnav>li>a {
display: block;
padding: 21px;
font-size: 1em;
text-decoration: none;
text-transform: uppercase;
}
/* Hover state of the links */
.flexnav li a:hover {color: #fff}
/* Links with submenus have extra right padding for the indicator */
.flexnav>.item-with-ul>a {padding-right: 44px;}

/* Buttons which show/hide the menu on click/tap */
.touch-button {
display: block;
position: absolute;
right: 0;
top: 0;
width: 54px;
height: 54px;
z-index: 99;
cursor: pointer;
background: transparent;
}
/* Frame of the indicator */
.touch-button::after {
content: '';
display: block;
position: absolute;
width: 26px;
height: 25px;
border: none;
right: 12px;
top: 13px;
border-radius: 3px;
}
/* Arrow of the indicator */
.touch-button::before {
content: '';
display: block;
width: 7px;
height: 7px;
position: absolute;
border-bottom: 2px solid #c7cfd3;
border-left: 2px solid #c7cfd3;
right: 21px;
top: 21px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
/* Hover/active state of the indicator */
.flexnav li:hover>.touch-button::before, .sm-screen .submenu-open::before {
border-bottom-color: #fff;
border-left-color: #fff;
}
.flexnav li:hover>.touch-button::after, .sm-screen .submenu-open::after {
border-color: #C1D9E6;
}
/* Submenus */
.flexnav ul {
position: absolute;
list-style: none;
left: 0;
margin: 0;
padding: 0;
font-family: "Open Sans", Helvetica, sans-serif;
font-weight: 400;
font-size: 1em;
}
/* Submenu links */
.flexnav ul li a {
background: #253a5c;
padding: 12px 20px;
display: block;
width: 206px;
text-decoration: none;
border-top: 1px solid #2D4064;
}
/* Menu icon (the indicator) */
.flexnav ul .touch-button::after {
top: 8px;
right: 8px;
width: 18px;
height: 18px;
}
.flexnav ul .touch-button::before {
right: 17px;
top: 16px;
height: 7px;
width: 7px;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
-ms-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
transform: rotate(-135deg);
}

/* Mobile view stylesheet */
@media all and (max-width: 640px) {
.flexnav {
overflow: hidden;
max-height: 0; 
text-align: left;
font-size: 1.1em;
}
.flexnav.show {
overflow: visible;
max-height: 3000px;
}
.flexnav li {
float: none;
width: 100%;
}
.flexnav li.adj {margin-left: 0} /* adjustment removed for mobile */
.flexnav ul li a {
width: auto;
}
.flexnav>li {
border-top: 1px solid #2D4064;
}
.flexnav ul {
position: relative;
left: 0;
width: 100%;
}
.flexnav.show .touch-button, .menu-button .touch-button {
border:none;
z-index: 999;
}
.flexnav ul .touch-button::before {
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
right: 16px;
top: 15px;
}
.menu-button {
display: block;
}
.menu-button .touch-button::before {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
border-left: 0;
border-top: 2px solid #7a8189;
border-bottom: 2px solid #7a8189;
height: 2px;
width: 12px;
top: 22px;
}
.menu-button::after {
display: block;
width: 12px;
height: 2px;
content: '';
position: absolute;
background: #7a8189;
right: 21px;
top: 30px;
}
.flexnav ul li a {
padding-left: 42px;
}

}