ul.menu {
	list-style-type:none;
	padding:0;
	margin:0;
}

.menu-toggle-label {
	display:none;
	cursor:pointer;
}

/*
 * DESKTOP STYLES
 */

@media screen and (min-width: 601px) {

	.menu-horizontal ul.menu {
		display:inline-block;
		position:relative;
	}
	
	.menu-horizontal ul.menu li {
		display:inline-block;
	}
	
	.menu-horizontal ul.menu ul {
		display:none;
		position: absolute;
		top: 100%;
		padding:0;
	}
	
	.menu-horizontal ul.menu ul li {
		display:block;
	}
	
	.menu-horizontal ul.menu li a {
		display:block;
	}
	
	.menu-horizontal ul.menu li:hover > ul, .menu-horizontal ul.menu li:focus > ul, .menu-horizontal ul.menu li:active > ul, .menu-horizontal ul.menu li a:hover > ul, .menu-horizontal ul.menu li a:focus > ul, .menu-horizontal ul.menu li a:active > ul, .menu-horizontal ul.menu li ul:hover, .menu-horizontal ul.menu li ul:focus, .menu-horizontal ul.menu li ul:active {
		display: block !important;
		visibility:visible !important;
		z-index:100;
	}
}

/*
 * MOBILE STYLES
 */

@media screen and (max-width: 600px) {
	.menu-toggle-label {
		display:block;
	}
	
	ul.menu, ul.menu ul {
		/*position:static;*/
	}
	
	ul.menu {
		display:none;
	}
	
	ul.sub-menu {
		display:none;
	}
	
	li.has-sub:hover > ul.sub-menu, li.has-sub:focus > ul.sub-menu, li.has-sub:active > ul.sub-menu, li.has-sub a:hover > ul.sub-menu, li.has-sub a:focus > ul.sub-menu, li.has-sub a:active > ul.sub-menu, li.has-sub ul.sub-menu:hover, li.has-sub ul.sub-menu:focus, li.has-sub ul.sub-menu:active {
		display: block !important;
		visibility:visible !important;
		z-index:100;
	}
	
	ul.show-menu {
		display:block !important;
	}
	
	ul.menu li, ul.menu li a {
		display:block;
	}
}
