/*
Responsive Mobile Toggle Menu v2.2
Description: Mobile first responsive toggle menu
Author: Danielle Vautier
*/


/*Menu mobile first CSS*/


body{ -webkit-animation: bugfix infinite 1s; }


/*This fixes a chrome/webkit bug for older Android Browsers */

@-webkit-keyframes bugfix { from {padding:0;} to {padding:0;} } 


/*Required functional CSS don't change this bit
CSS styles are at the end! */





.mainMenu {
	
display:block;
	
position:relative;
	
width:100%;
	
margin:0;
	
padding:0;
	
float:left;
	
}



#toggleMenu { 
	
display: none;
	}



#toggleMenu:checked ~ ul {
  
	max-height:100%; 
/*Make page height*/ 
	
opacity:1;
	}
	


.mainMenu ul {
	
width:100%;
	
margin:0;
	
padding:0;
	
list-style:none;
	
float:left;
    
overflow-y: hidden;
	
max-height:0;
	}

.mainMenu li{
	/* Specifying a fallback color and we define CSS3 gradients for the major browsers: */
	
	background-color: #ffffff;
	background-image: -webkit-gradient(linear,left top, left bottom,from(#ffffff), color-stop(0.5,#ffffff), color-stop(0.51, #ffffff));
	background-image: -moz-linear-gradient(#ffffff 0%, #ffffff 50%, #ffffff 51%);
	background-image: -o-linear-gradient(#ffffff 0%, #ffffff 50%, #ffffff 51%);
	background-image: -ms-linear-gradient(#ffffff 0%, #ffffff 50%, #ffffff 51%);
	background-image: linear-gradient(#ffffff 0%, #ffffff 50%, #ffffff 51%);
	
	border-right: 1px solid rgba(255, 255, 255, 0.125);
	
	/* Adding a 1px inset highlight for a more polished efect: */
	
	box-shadow: 1px -1px 0 rgba(255, 255, 255, 0.6) inset;
	-moz-box-shadow: 1px -1px 0 rgba(255, 255, 255, 0.6) inset;
	-webkit-box-shadow: 1px -1px 0 rgba(255, 255, 255, 0.6) inset;

	margin:0;
	
	padding:0;
	
	white-space:nowrap;
	
	position:relative;
	display:block;
	width:100%;

	float: left;
	list-style: none;
}

.mainMenu li:after{

	/* This creates a pseudo element inslide each LI */	
	
	content:'.';
	text-indent:-9999px;
	overflow:hidden;
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:1;
	opacity:0;
	
	/* Gradients! */
	
	background-image:-webkit-gradient(linear, left top, right top, from(rgba(255,255,255,0.5)),color-stop(0.5,rgba(255,255,255,0)), to(rgba(255,255,255,0.5)));
	background-image:-moz-linear-gradient(left, rgba(255,255,255,0.5), rgba(255,255,255,0) 50%, rgba(255,255,255,0.5));
	background-image:-o-linear-gradient(left, rgba(255,255,255,0.5), rgba(255,255,255,0) 50%, rgba(255,255,255,0.5));
	background-image:-ms-linear-gradient(left, rgba(255,255,255,0.5), rgba(255,255,255,0) 50%, rgba(255,255,255,0.5));
	background-image:linear-gradient(left, rgba(255,255,255,0.5), rgba(255,255,255,0) 50%, rgba(255,255,255,0.5));
	
	/* Creating borders with box-shadow. Useful, as they don't affect the size of the element. */
	
	box-shadow:-1px 0 0 #ffffff,-2px 0 0 #fff,1px 0 0 #ffffff,2px 0 0 #fff;
	-moz-box-shadow:-1px 0 0 #ffffff,-2px 0 0 #fff,1px 0 0 #ffffff,2px 0 0 #fff;
	-webkit-box-shadow:-1px 0 0 #ffffff,-2px 0 0 #fff,1px 0 0 #ffffff,2px 0 0 #fff;
	
	/* This will create a smooth transition for the opacity property */
	
	-moz-transition:0.25s all;
	-webkit-transition:0.25s all;
	-o-transition:0.25s all;
	transition:0.25s all;
}

/* Treating the first LI and li:after elements separately */

.mainMenu li:first-child{
	border-radius: 4px 0 0 4px;
}

.mainMenu li:first-child:after,
.mainMenu li.selected:first-child:after{
	box-shadow:1px 0 0 #ffffff,2px 0 0 #fff;
	-moz-box-shadow:1px 0 0 #ffffff,2px 0 0 #fff;
	-webkit-box-shadow:1px 0 0 #ffffff,2px 0 0 #fff;
	
	border-radius:4px 0 0 4px;
}

.mainMenu li:last-child{
	border-radius: 0 4px 4px 0;
}

/* Treating the last LI and li:after elements separately */

.mainMenu li:last-child:after,
.mainMenu li.selected:last-child:after{
	box-shadow:-1px 0 0 #ffffff,-2px 0 0 #fff;
	-moz-box-shadow:-1px 0 0 #ffffff,-2px 0 0 #fff;
	-webkit-box-shadow:-1px 0 0 #ffffff,-2px 0 0 #fff;
	
	border-radius:0 4px 4px 0;
}

.mainMenu li:hover:after,
.mainMenu li.selected:after,
.mainMenu li:target:after{
	/* This property triggers the CSS3 transition */
	opacity:0.8;
  zoom: 120%;
}

.mainMenu:hover li.selected:after,
.mainMenu:hover li:target:after{
	/* Hides the targeted li when we are hovering on the UL */
	opacity:0;
}

.mainMenu li.selected:hover:after,
.mainMenu li:target:hover:after{
	opacity:0.8 !important;
}

/* Styling the anchor elements */

.mainMenu li a{
	color: #001E64;
	display: block;
	font-family: 'Arial Narrow', sans-serif;
	font-size: 15px;
	font-weight: bold;
	padding: 15px;
	position: relative;
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.6);
	z-index:2;
	text-decoration:none !important;
	white-space:nowrap;
}


.mainMenu a:hover  {
		
color:#0064FF;
opacity:0.8;
transform: scale(1.1);
		}

.mainMenu a, .mainMenu a:visited {
	
display:block;
	
width:100%; 


/*required to make whole element clickable*/
	}


label.menuTitle {
	
margin:0;
	
display:block;
	
cursor:pointer;
	
background: url('../images/logos/menu.png');
    
background-image: url('../images/logos/menu.png'), none; 
	
background-repeat: no-repeat;
	
background-position: 97% 10px;
	
background-size: 24px 19px; 

/*Make same size as your menu.png*/
	}
	


@media screen and (min-width:768px) {
	
label.menuTitle {
		
display:none;
		}
	
	

.mainMenu ul { 
		
display:block!important;
		
border:0;
		
overflow:visible;
		
max-height:100%!important; 
		}	

	

.mainMenu ul li {
		
width:auto; 
		
display:inline; 
		
border:0; 
		}
}





/* Child CSS Functionality - do not change*/
	
.mainMenu > ul ul {
		
float:left;
		
width:100%;
		
margin:0;
		
padding:0;
		}

	

@media screen and (min-width:768px) {
		
.mainMenu > ul > li {
			
position: relative;
		}

		

.mainMenu > ul > li:hover ul {
			
display: block!important;
opacity: 0.8;
		}

		

.mainMenu > ul ul {
			
display:none!important;
			
position: absolute;
			
left:0;
			}

		

.mainMenu > ul ul li {
			
display: block;
			
width:100%;
			
float:left;
			
padding:0;
			
margin:0;
		}

		

.mainMenu .toggleChildren {
			
display:none!important;
		}
	}
	
/*End Child CSS Functionality*/








/*Menu Styling CSS - change the below to suit your site!*/


.mainMenu {
	
border-bottom:1px solid #fff;
	
text-align: center;
	}



.mainMenu li {
	
border-top:1px solid #fff;
	}
	


.mainMenu a, .mainMenu a:visited {
	
color:#333;
	
text-decoration:none;
	
width:94%; 

/*Use 100% and box-sizing if not supporting ie7*/
	
padding:5px 3%;
	
background: none;
	}
	


label.menuTitle {
	
font-size:15px;
	width:50%;
color:#555;
	

/*Use 100% and box-sizing if not supporting ie7*/
	
padding:6px 3%;
	font-weight:bold;
	}
	


@media screen and (min-width:768px) {

	
.mainMenu li {
		
border:0;
		}

	
	
.mainMenu a:hover  {
		
color:#0064FF;
opacity:0.8;
transform: scale(1.1);
		}


	
.mainMenu a, 
.mainMenu a:visited {
		
padding:10px 3px 10px 8px;
		}
}



/*Menu Child Styling*/


.mainMenu .toggleChildren {
	
float:right;
	
margin-right:3%;
	
width:20px; 
/*Note width is required */
	
height:20px; 
/*Customise to your menu height*/
	
padding:0;
	
display:block;
	
background:url(../images/logos/nav-arrow.png) 
no-repeat center center;
	
background-size: 11px 8px; 
}


.mainMenu .toggleChildren.contract {
	
background:url(../images/logos/nav-arrow.png) 
no-repeat center center;
	
background-size: 11px 8px; 
	
-moz-transform: scaleY(-1);
    
-o-transform: scaleY(-1);
    
-webkit-transform: scaleY(-1);
    

transform: scaleY(-1);
    
filter: FlipV;
    
-ms-filter: "FlipV";
}



.mainMenu > ul ul a, 
.mainMenu > ul ul a:visited {
	
background:#fff;
}




@media screen and (min-width:768px) {
	
.mainMenu > ul > li:hover > a {
		
color:#0064FF;
opacity:0.8;
transform: scale(1.1);
	}


	
.mainMenu > ul ul {
		
top:35px; /*height of your main nav*/
		
min-width:50px; /*Set your width*/
	}


	
.mainMenu > ul ul a {
		
border:0;
		
border-bottom:1px solid #fff;
	}
}


/*End Menu Child Styling*/