Drop Down Menu System CSS jQuery

CSS






.headermenu ul{
	display:flex;
	flex-direction:row;
    margin:0;
    padding:0;
	list-style:none;
}

.headermenu ul li{
    display:flex;
	flex-direction:column;
	justify-content:center;
	transition:0.5s;
}

.headermenu ul li ul li{
    display:none;
}



.headermenu a{
    font-size:17px;
    color:#fff;
    transition: 0.3s;
    font-weight:400;
    display:block;
	padding:25px 20px;
	text-decoration:none;	
}

.headermenu a:hover{
	color:#fff;
    text-decoration:none;
    background-color:#54745c;
    box-shadow:inset 0 0 0 1px #54745c;
}



.headermenu .current-menu-item{
    background-color:#54745c;
}

.headermenu .current-menu-item a{
    color:#fff;
}






.headermenu-clicked ul{
	display:flex;
	flex-direction:row;
    margin:0;
    padding:0;
    list-style:none;
}

.headermenu-clicked ul li{
	display:flex;
	flex-direction:column;
	justify-content:center;
    position:relative;
    transition:0.5s;
}



.headermenu-clicked a{
    font-size:17px;
    transition: 0.3s;
    font-weight:400;
    display:block;
    color:#fff;
	padding:25px 20px;
    text-decoration:none;	
}

.headermenu-clicked a:hover{
    color:#fff;
	background-color:#54745c;
	text-decoration:none;
}




.headermenu-clicked-active a{
	background-color:#54745c;
}



.headermenu-clicked ul li ul{
    opacity:0;
    position:absolute;
    top:75px;
    left:0;
    border:#fff 0px solid;    
    border-radius:0 0 0 0;
    overflow:hidden;
    z-index:1500;
    background-color:rgba(54,97,126,0.7);
    display:block;
}

.headermenu-clicked ul li ul li{
    display:block;
    min-width:250px;
    box-sizing:border-box;
    background-color:transparent;
    margin:0;
}

.headermenu-clicked ul li ul li:first-child{
    margin-top:14px;
}

.headermenu-clicked ul li ul li:last-child{
    margin-bottom:14px;
}




.headermenu-clicked ul li ul li a{
	color:#fff;
	font-size:14px;
    padding:7px 25px 7px 25px;
    background:initial;
}

.headermenu-clicked ul li ul li a:hover{
    color:#fff;
}




.headermenu-clicked .current-menu-item{
    background-color:#54745c;
}

.headermenu-clicked .current-menu-item a{
    color:#fff;
}

jQuery

$(document).ready(function(){ 
	$('#headermenu-ul li').click(function(){

		if ($('#headermenu').hasClass('headermenu')){
				$(this).find('ul').css({'opacity':'1','transition':'0.5s'});
				$('#headermenu').removeClass('headermenu');
				$('#headermenu').addClass('headermenu-clicked');
				$(this).closest("li").addClass('headermenu-clicked-active');
				
				$(".headermenu-clicked ul li").not(".headermenu-clicked ul li li").hover(function(){
					$(".headermenu-clicked ul li").removeClass('headermenu-clicked-active');				
					$("#headermenu ul li ul").css({'opacity':'0','transition':'0.5s'});
					$(this).find('ul').css({'opacity':'1','transition':'0.5s'});
					$(this).closest("li").addClass('headermenu-clicked-active');
				});
				
		}else{						
			$("#headermenu ul li ul").css({'opacity':'0','transition':'0.5s'});
			$('#headermenu').removeClass('headermenu-clicked');
			$('#headermenu').addClass('headermenu');
			$(".headermenu ul li").not(".headermenu ul li li").hover(function(){
				$(".headermenu ul li").removeClass('headermenu-clicked-active');
			});
			$(".headermenu ul li").removeClass('headermenu-clicked-active');	
		}
	});	

	$(document).click(function(e) {
		if ($(e.target).closest('#headermenu').length === 0) {
			$("#headermenu ul li ul").css({'opacity':'0','transition':'0.5s'});
			$('#headermenu').removeClass('headermenu-clicked');
			$('#headermenu').addClass('headermenu');
			$(".headermenu ul li").not(".headermenu ul li li").hover(function(){
				$(".headermenu ul li").removeClass('headermenu-clicked-active');
			});
			$(".headermenu ul li").removeClass('headermenu-clicked-active');
		}
	});
});

HTML (WordPress menu) – Example

<div id="headermenu" class="headermenu">						
    <?php 
    $args = array( 'menu' => 'Primary', 'menu_class' => '', 'menu_id' => 'headermenu-ul', 'container' => false, 'theme_location' => 'primary-menu');
    wp_nav_menu($args);
    ?>							
</div>