/*** ESSENTIAL STYLES ***/
/* Reset Box Model */
*{
	-moz-box-sizing:border-box;
	box-sizing:border-box;	
}
/* End Reset Box Model */
.sf-menu {
    position: relative;
	display:inline-block;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #222222;
    float: left;
    width: 100%;
	z-index: 80;
}

.sf-menu a:hover {
	cursor: pointer;
}

.sf-menu li.sub {
    position: relative;
    padding: 0;
	/*background: #BDD2FF;*/
    white-space: nowrap;
    /* no need for Supersubs plugin */
    
    *white-space: normal;
    /* ...unless you support IE7 (let it wrap) */
    
    -webkit-transition: background .2s;
    transition: background .2s;
	z-index: 100;
	padding-bottom: -2px;
}

.sf-menu li.sub > li {
    position: relative;
    float: left;
	z-index: 80;
}

.sf-menu li.sub:hover,
.sf-menu li.sub.sfHover > a {
    background: #009DE0;
    color: #FFFFFF;
    /* only transition out, not in */
    
    -webkit-transition: none;
    transition: none;
}

.sf-menu li:hover,
.sf-menu li.sfHover > a {
    background: #009DE0;
    color: #FFFFFF;
    /* only transition out, not in */
    
    -webkit-transition: none;
    transition: none;
}

/* Links multi-levels */
.sf-menu > li a {
    display: block;
    position: relative;
	height:50px;
	line-height:50px;
	padding:0 15px;
    text-decoration: none;
    color: #000000;
	padding-right:50px;
}

/* Links Topo  */
.sf-menu > li > a {
    display: block;
    position: relative;
    padding:0 15px;
	height:68px;
	line-height:68px;
    text-decoration: none;
    color: #000000;
}

.sf-menu > li > a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #76B9ED;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}

.sf-menu > li > a:hover:before,
.sf-menu > li.sfHover > a:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.sf-menu > li > a:hover {
    color: #FFFFFF;
}

.sf-menu > li {
    background: #FFFFFF;
    -webkit-transition: background .2s;
    transition: background .2s;
    float: left;
}

.sf-menu > li:hover,
.sf-menu > li.sfHover {
    /*background: #CFDEFF;*/
    /* only transition out, not in */
    
    -webkit-transition: none;
    transition: none;
}

.sf-menu li.sub ul > li {
    position: relative;
}

.sf-menu ul,
.sf-menu ul ul {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    z-index: 99;
    list-style: none;
    padding: 0;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .2);
    min-width: 12em;
    /* allow long menu items to determine submenu width */
    
    *width: 12em;
    /* no auto sub width for IE7, see white-space comment below */
}

/* ul style */
.sf-menu ul {
	background: #FFFFFF;
	border-top:2px solid #009DE0;
}

.sf-menu ul ul {
    top: 0;
    left: 100%;
	background: #FFFFFF;
	border-top:2px solid #009DE0;
}

.sf-menu ul li:hover {
	background: #F1F1F1;
}

.sf-menu ul li a {
	text-decoration:none;
	color: #000000;
	  -moz-transition: all 200ms linear;
  -webkit-transition: all 200ms linear;
  -o-transition: all 200ms linear;
  transition: all 200ms linear;
  -moz-transform: translate3d(-5px, 0px, 0px);
  -webkit-transform: translate3d(-5px, 0px, 0px);
  -o-transform: translate(-5px, 0px);
  -ms-transform: translate(-5px, 0px);
  transform: translate3d(-5px, 0px, 0px);
}

/* Manter estilo selecão submenu */
.sf-menu ul li.sfHover > a,
.sf-menu ul li a:hover {
    background: #F1F1F1;
	color:#000000;
	-moz-transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}

.sf-menu ul ul li {
    background: #FFFFFF;
}

/*** DEMO SKIN ***/

/*** mega menu dropdown ***/

.sf-mega {
    background-color: #F1F1F1;
    padding: 0;
    width: 100%;
	color:#000000;
	/*margin-top:-2px;
	border-top:2px solid #CC0001;*/
	position: fixed;
	top: 0;
	left: 0;
}
.sf-mega-section {
    float: left;
    /* optional */
    
    padding:0;
    margin-right: 1em;
    border-right: 1px solid #b4c8f5;
}

.sf-menu .sf-mega {
    display: none;
    top: 70px;
    left: 50%;
	box-shadow: 2px 3px 6px rgba(0, 0, 0, .2);
    width: 100%;
	transform: translateX(-50%);
	z-index: 150;
    /* allow long menu items to determine submenu width */
}

.sf-menu .sf-mega .sf-mega-content{
	width: 100%;
	max-width: 1150px;
	padding: 0 15px 0 15px;
	margin: auto;
}

.sf-menu li:hover > .sf-mega,
.sf-menu li.sfHover > .sf-mega {
    display: block;
}

.menuMask{
	position: fixed;
	display: none;
	top:70px;
	right:0;
	bottom:0;
	left:0;
	background-color: rgba(0,0,0,0.6);
	z-index: -99999;
	transition: all 0.5s ease-in-out;
	opacity: 0;
}

.menuMask.active{
	display: block;
	opacity: 1;
}

.sf-menu table{
	width: 100%;
	margin: 15px 0 35px 0; 
	padding: 0;
	table-layout: fixed;
}

.sf-menu h1{
	font-size: 22px;
	line-height: 22px;
	color: #009DE0;
	font-weight: 700;
	margin:25px 0 15px 0;
}

.sf-menu table td h2{
	font-size: 18px;
	line-height: 20px;
	color: #666666;
	font-weight: 400;
	margin:0;
	margin-bottom:10px;
}

.sf-menu table thead td{
	vertical-align: bottom;
}

.sf-menu table td{
	vertical-align: top;
}

.sf-menu table td a{
	display: block;
	padding: 0;
	margin: 0;
	height: 45px;
	font-size: 20px;
	font-weight: 600;
	line-height: 45px;
}

.sf-menu table td a:hover{
	color: #CC0001;
}

.sf-menu .bottomLinks{
	width: 100%;
	height: 70px;
	padding: 0 0 0 0;
	text-align: left;
	margin: 0 0 0 0;
	/*background-color: #E6E6E6;*/
	font-size: 20px;
	font-weight: 600;
	line-height: 70px;
	margin-bottom: 25px;
}

.sf-menu .bottomLinks .bt{
	position: relative;
	height:0;
	width: 31.78%;
	padding:0;
	padding-bottom: 23.03%;
	display:block;
	text-decoration:none;
	background-color: #FFFFFF;
	margin:0 2.33% 25px 0;
	opacity: 1;
	text-align:center;
	float: left;
	-webkit-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.05);
	-moz-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.05);
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.05);
	overflow: hidden;
}

.sf-menu .bottomLinks .bt:hover{
	opacity: 0.9;
}

.sf-menu .bottomLinks .bt:nth-child(3n){
	margin:0 0% 0 0;
}

.sf-menu .bottomLinks .bt span{
	display:block;
	margin: auto;
	line-height:70px;
	font-size: 20px;
	font-weight:700;
	color:#323232;
	font-family: 'Source Sans Pro', sans-serif;
	text-align:center;
}

.sf-menu .bottomLinks .bt img{
	position: relative;
	top: 5px;
	display:block;
	margin: auto;
	width: 100%;
	height: auto;
	text-align:center;
}

.sf-menu .bottomLinks .bt a.link{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	margin:0;
	padding:0;
	border:0;
	background:url(../images/Global/BTPlus.png) no-repeat center bottom 35%;
	background-size: 60px auto;
}

.sf-menu .bottomLinks .bt a.link:hover{
	background:url(../images/Global/BTPlus.png) no-repeat center bottom 35%, url(../images/Global/BTPlus.png) no-repeat center bottom 35%;
	background-size: 60px auto;
}

/* BT Type 2 */


.sf-menu .bottomLinks .bt2{
	position: relative;
	height:0;
	width: 48.83%;
	padding:0;
	padding-bottom: 23.03%;
	display:block;
	text-decoration:none;
	background-color: #FFFFFF;
	margin:0 2.33% 25px 0;
	opacity: 1;
	text-align:center;
	float: left;
	-webkit-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.05);
	-moz-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.05);
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.05);
	overflow: hidden;
}

.sf-menu .bottomLinks .bt2:hover{
	opacity: 0.9;
}

.sf-menu .bottomLinks .bt2:nth-child(2n){
	margin:0 0% 0 0;
}

.sf-menu .bottomLinks .bt2 span{
	display:block;
	margin: auto;
	line-height:70px;
	font-size: 20px;
	font-weight:700;
	color:#323232;
	font-family: 'Source Sans Pro', sans-serif;
	text-align:center;
}

.sf-menu .bottomLinks .bt2 img{
	position: relative;
	top: 5px;
	display:block;
	margin: auto;
	width: 100%;
	height: auto;
	text-align:center;
}

.sf-menu .bottomLinks .bt2 a.link{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	margin:0;
	padding:0;
	border:0;
	background:url(../images/Global/BTPlus.png) no-repeat center bottom 35%;
	background-size: 60px auto;
}

.sf-menu .bottomLinks .bt2 a.link:hover{
	background:url(../images/Global/BTPlus.png) no-repeat center bottom 35%, url(../images/Global/BTPlus.png) no-repeat center bottom 35%;
	background-size: 60px auto;
}



@keyframes fade-in {
  0% {
    opacity:0;
  }
	
  100% {
    opacity:1;
  }
}

@keyframes fade-out {
  0% {
    opacity:1;
  }
	
  100% {
    opacity:0;
  }
}

/*** arrows (for all except IE7) **/

/*.sf-arrows li.sub .sf-with-ul {
    padding-right: 50px;
    *padding-right: 1em;
    /* no CSS arrows for IE7 (lack pseudo-elements) */

/* styling for both css and generated arrows */

.sf-arrows .sf-with-ul:after {
    content: '';
    position: absolute;
	top:0;
    right: 0;
    height: 100%;
    width: 40px;
}
.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
    border-top-color: white;
    /* IE8 fallback colour */
}

/* Sub menus Arrows */

.sf-arrows ul .sf-with-ul:after {
    border-color: transparent;
    border-left-color: rgba(0, 0, 0, .5);
	background:url(../images/Global/right.png) no-repeat center center;
	background-size:8px auto;
}
.sf-arrows ul li.sub > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
    background:url(../images/Global/right.png) no-repeat center center;
	background-size:8px auto;
}

@media (max-width: 999px){
.sf-menu > li {
	text-align: center;
}

.sf-menu > li > a {
	padding: 0 10px;
}
	
}