/* NAVEGAÇÃO TOPO */
/* ------------------------------------------------ */
#menu, #menu_responsive { margin: 0; padding: 0px; z-index: 9998; width: 100%; position: relative; float: right; }
#menu_responsive { display: none; padding: 0; width: 100%; z-index: 999; }
ul.navmenu { margin: 0px; border: 0 none; padding: 0; list-style: none; z-index: 999; float: right; }
ul.navmenu li { margin: 0px; padding: 0; float: left; /*For Gecko*/ display: inline; list-style: none; position:relative; }
ul.navmenu li:hover { background: url(../img/bg_menu_hover.png) no-repeat center bottom; }
ul.navmenu li a { padding: 17px 15px; margin: 0px; float: none !important; /*For Opera*/ float: left; display: table-cell; font-size: 15px; font-weight: 400; text-decoration: none; text-transform: uppercase; cursor: pointer; color: #777777; text-align: center; font-weight: 600; }
ul.navmenu a.hoverlink, ul.navmenu a:hover, ul.navmenu li.active a, ul.navmenu li:hover, ul.navmenu li.hoverlink { color: #163963; }
ul.navmenu ul { background: #FFFFFF; border-top: 2px solid #163963; display: none; margin: 0px; padding: 10px 0px; width: 260px; list-style: none; display: none; position: absolute; top: 54px; font-size: 13px; }
ul.navmenu ul li { position: relative; margin: 0%; padding: 0; float: left; width: 100%; background: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
ul.navmenu li:hover ul li { background: none; }
ul.navmenu li ul li a { color: #163963; font-size: 14px; font-weight: 400px !IMPORTANT; background: none; border-bottom: 1px solid #336983; height: auto; width: 94%; margin: 0 3%; padding: 10px 2%; width: 90%; display: block; text-align: left; text-transform: none; }
ul.navmenu li ul li a:hover { color: #777777; }
ul.navmenu ul ul { background: #163963; border-top: 2px solid #FFFFFF; top: 0; left: 260px; }
ul.navmenu li:hover ul ul li a { color: #F4F4F4; }
ul.navmenu li ul ul li a:hover { color: #FFFFFF; }

/* Do Not Move - Must Come Before display:block for Gecko */
/* Do Not Move - Must Come Before display:block for Gecko */
ul.navmenu li:hover ul ul,
ul.navmenu li:hover ul ul ul,
ul.navmenu li:hover ul ul ul ul,
ul.navmenu li.iehover ul ul,
ul.navmenu li.iehover ul ul ul,
ul.navmenu li.iehover ul ul ul ul {
	display: none;
	z-index: 9000;
}

ul.navmenu li:hover ul,
ul.navmenu ul li:hover ul,
ul.navmenu ul ul li:hover ul,
ul.navmenu ul ul ul li:hover ul,
ul.navmenu li.iehover ul,
ul.navmenu ul li.iehover ul,
ul.navmenu ul ul li.iehover ul,
ul.navmenu ul ul ul li.iehover ul {
	display: block;
	z-index: 9000;	
}

/* NAVEGAÇÃO LATERAL */
.bg_accordion_menu { width: 100%; float: left; padding: 0; margin: 0; padding: 10px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
.menu_titulo { text-transform: uppercase; color: #163963; font-size: 26px; line-height: 26px; width: 100%; padding: 10px 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.menu_titulo a, .menu_titulo a:hover { color: #163963; text-decoration: none; }
ul.accordion_menu { list-style: none; margin: 0; padding: 0; float: left; width: 100%; }
.accordion_menu li { width: 100%; margin: 0; padding: 0; overflow: hidden;}
.accordion_menu li ul, .accordion_menu li ul ul { list-style: none;  margin: 0; float: left; width: 100%; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.accordion_menu li a { text-decoration: none; text-transform: uppercase; cursor: pointer; color:#777777; margin: 0; font-size: 15px; font-weight: 400; display: block; padding: 10px;	border-bottom: 1px solid #DDDDDD;}
.accordion_menu li ul li:last-child { border-bottom: 0px solid #FFFFFF; }
.accordion_menu li.current a, .accordion_menu li a:hover  { color: #006699; }
.accordion_menu li.current  > a, .accordion_menu li:hover li.current  > a, .accordion_menu li:hover li:hover li.current  > a, .accordion_menu li:hover, .accordion_menu li:hover li > a, .accordion_menu li:hover li:hover > a, .accordion_menu li li li:hover > a,.accordion_menu li.childs.active > a { background: #F2F2F2; }
.accordion_menu li li.current > a, .accordion_menu li li:hover > a {
    background: #F6F6F6!IMPORTANT;
}
.accordion_menu li:hover li > a, .accordion_menu li li:hover li > a, .accordion_menu li.current li > a, .accordion_menu li li.current li > a { background: #FFFFFF; }
.accordion_menu li li a { padding: 10px 10px 10px 20px; color:#777777; }
.accordion_menu li li:hover a { color:#006699; }
.accordion_menu li li li a { padding: 0 0 0 30px; color:#777777; }
.accordion_menu li li li:hover a { color:#006699; }
/* END NAVEGAÇÃO LATERAL */

/* Flexnav Base Styles */
#menu_responsive {  }
/* 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; border-top: 0px solid #666666; }
.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;
	list-style: none;
	margin: 0px;
	padding: 0px;
}
.flexnav.one-page {
	position: fixed;
	top: 50px;
    right: 5%;
    max-width: 200px; 	
}
  .flexnav li {
	  border-top: 2px solid #163963;
    font-size: 100%;
    position: relative;
    overflow: hidden;
	list-style: none; }
  .flexnav li a {
    position: relative;
    display: block;
    padding: 1em 2em;
    z-index: 2;
    overflow: hidden;
    color: #004364;
    background: none;
	font-size: 16px;
}
  .flexnav li ul {
    width: 94%; margin: 6px 0px 0px; padding: 0 3%; background: none; border-top: 1px solid #666666; }
    .flexnav li ul li {
      font-size: 100%;
      position: relative;
      overflow: hidden; }
	  .flexnav li ul li:first-child {
		border-top: 0px solid #666666;
		}
  .flexnav li ul.flexnav-show li {
    overflow: visible; }
  .flexnav li ul li a {
  	font-size: 14px;
    display: block;
    background: none; }
  .flexnav ul li ul li a {
  	font-size: 13px;
    background: #none; }
  .flexnav ul li ul li ul li a {
	  font-size: 12px;
    background: #none; }
  .flexnav .touch-button {
    position: absolute;
    z-index: 999;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    display: inline-block;
    background: none;    
    text-align: center; }
    .flexnav .touch-button:hover {
      cursor: pointer; }
    .flexnav .touch-button .navicon {
      position: relative;
      top: 1.4em;
      font-size: 12px;
      color: #004364; }

.menu-button {
  position: relative;
  display: block;
  width: 80px;
  padding: 1em 0 1em 1em;
  background: none;
  color: #004364;
  cursor: pointer;
  border-bottom: 0px solid rgba(0, 0, 0, 0.2); 
  float: right;
  font-size: 1em;
  line-height: 26px;
}
  .menu-button.one-page {
    position: fixed;
    top: 0;
    right: 5%;
    padding-right: 45px; }
  .menu-button .touch-button {	
	content: '';
	position: absolute;
	width: 37%;
	height: 3px;
	background: #004364;
	top: 17px;
	right: 0;
	box-shadow: 
		0 10px 0 #004364, 
		0 20px 0 #004364;
}

.menu-button .touch-button .navicon {
	display: none;
}

@media all and (min-width: 1050px) {
  body.one-page {
    padding-top: 70px; }

  .flexnav {  	
    overflow: visible; }
    .flexnav.opacity {		
      opacity: 1; }
    .flexnav.one-page {
      top: 0;
      right: auto;
      max-width: 1080px; }
    .flexnav li {
      position: relative;
      list-style: none;
      float: left;
      display: block;
      background-color: #a6a6a2;
      overflow: visible;
      width: 20%; }
    .flexnav li a {
      border-left: 1px solid #CBA50D;
      border-bottom: none; }
    .flexnav li > ul {
      position: absolute;
      top: auto;
      left: 0; }
      .flexnav li > ul li {
        width: 100%; }
    .flexnav li ul li > ul {
      margin-left: 100%;
      top: 0; }
    .flexnav li ul li a {
      border-bottom: none; }
    .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 {
    display: none; } }
.oldie body.one-page {
  padding-top: 70px; }
.oldie .flexnav {
  overflow: visible; }
  .oldie .flexnav.one-page {
    top: 0;
    right: auto;
    max-width: 1080px; }
  .oldie .flexnav li {
    position: relative;
    list-style: none;
    float: left;
    display: block;
    background-color: #a6a6a2;
    width: 20%;
    min-height: 50px;
    overflow: visible; }
  .oldie .flexnav li:hover > ul {
    display: block;
    width: 100%;
    overflow: visible; }
    .oldie .flexnav li:hover > ul li {
      width: 100%;
      float: none; }
  .oldie .flexnav li a {
    border-left: 1px solid #acaca1;
    border-bottom: none;
    overflow: visible; }
  .oldie .flexnav li > ul {
    background: #acaca1;
    position: absolute;
    top: auto;
    left: 0;
    display: none;
    z-index: 1;
    overflow: visible; }
  .oldie .flexnav li ul li ul {
    top: 0; }
  .oldie .flexnav li ul li a {
    border-bottom: none; }
  .oldie .flexnav li ul.open {
    display: block;
    width: 100%;
    overflow: visible; }
    .oldie .flexnav li ul.open li {
      width: 100%; }
    .oldie .flexnav li ul.open ul.open {
      margin-left: 100%;
      top: 0;
      display: block;
      width: 100%;
      overflow: visible; }
  .oldie .flexnav ul li:hover ul {
    margin-left: 100%;
    top: 0; }
.oldie .menu-button {
  display: none; }
.oldie.ie7 .flexnav li {
  width: 19.9%; }