#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #menu-button {
	margin: 0;
	border: 0;
	list-style: none;
	line-height: 1;
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#cssmenu:after,
#cssmenu>ul:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

#cssmenu #menu-button {
	display: none;
}

#cssmenu {
	position: relative;
	z-index: 9;
	/*float: right;
	margin-right: 20px;
	margin-top: 7px;*/
}

#cssmenu>ul>li {
	float: left;
}
#cssmenu>ul>li a {
    text-transform: uppercase;
    font-family: var(--font-primary);
    color: #000;
    font-weight: 700;
    /*letter-spacing: 0.12em;*/
    font-size: 16px;
    line-height: 24px;
	padding: 20px 20px;
    display: block;
	position: relative;
    transition: all 0.3s;
}
#cssmenu.align-center>ul {
	font-size: 0;
	text-align: center;
}

#cssmenu.align-center>ul>li {
	display: inline-block;
	float: none;
}

#cssmenu.align-center ul ul {
	text-align: left;
}

#cssmenu.align-right>ul>li {
	float: right;
}

#cssmenu>ul >li:last-child a {
	padding-right: 0;
}
#cssmenu ul.sub-menu {align-items: center;margin-left: 10px;width:200px;}
#cssmenu ul.sub-menu li, #cssmenu ul.sub-menu li a{width:100%;display:inline-block;}
#cssmenu ul.sub-menu li a{padding: 6px 10px;font-size: 14px;font-weight: normal;border-bottom: 1px solid #ffffff73;}

/*#cssmenu > ul > li:hover > a { color: #ffffff; }*/

#cssmenu>ul>li.has-sub>a:after {
	position: absolute;
	right: 8px;
	top: 53%;
	width: 12px;
	height: 2px;
	display: none;
	background: #dddddd;
	content: '';
}

#cssmenu>ul>li.has-sub>a:before {
	position: absolute;
	top: 46%;
	right: 13px;
	display: none;
	width: 2px;
	height: 12px;
	background: #dddddd;
	content: '';
	-webkit-transition: all .25s ease;
	-moz-transition: all .25s ease;
	-ms-transition: all .25s ease;
	-o-transition: all .25s ease;
	transition: all .25s ease;
}

#cssmenu>ul>li.has-sub:hover>a:before {
	top: 23px;
	height: 0;
}

#cssmenu ul ul {
	position: absolute;
	left: -9999px;
	background: var(--color-primary);
}

#cssmenu.align-right ul ul {
	text-align: right;
}


/*#cssmenu li:hover > ul > li { height: 35px; }

#cssmenu ul ul li { height: 0; -webkit-transition: all .25s ease; -moz-transition: all .25s ease; -ms-transition: all .25s ease; -o-transition: all .25s ease; transition: all .25s ease; }*/

#cssmenu li:hover>ul {
	left: auto;
}

#cssmenu.align-right li:hover>ul {
	left: auto;
	right: 0;
}

#cssmenu ul ul ul {
	margin-left: 100%;
	top: 0;
}

#cssmenu.align-right ul ul ul {
	margin-left: 0;
	margin-right: 100%;
}

/*#cssmenu ul ul li:last-child>a,
#cssmenu ul ul li.last-item>a {
	border-bottom: 0;
}*/


/*#cssmenu ul ul li:hover > a, #cssmenu ul ul li a:hover { color: #ffffff; }*/

#cssmenu ul ul li.has-sub>a:after {
	position: absolute;
	top: 20px;
	right: 11px;
	width: 8px;
	height: 2px;
	display: none;
	background: #dddddd;
	content: '';
}

#cssmenu.align-right ul ul li.has-sub>a:after {
	right: auto;
	left: 11px;
}

#cssmenu ul ul li.has-sub>a:before {
	position: absolute;
	top: 17px;
	right: 14px;
	display: none;
	width: 2px;
	height: 8px;
	background: #dddddd;
	content: '';
	-webkit-transition: all .25s ease;
	-moz-transition: all .25s ease;
	-ms-transition: all .25s ease;
	-o-transition: all .25s ease;
	transition: all .25s ease;
}

#cssmenu.align-right ul ul li.has-sub>a:before {
	right: auto;
	left: 14px;
}

#cssmenu ul ul>li.has-sub:hover>a:before {
	top: 17px;
	height: 0;
}
header #cssmenu ul ul.sub-menu li.menu-item-has-children{position:relative;}
header #cssmenu ul ul.sub-menu li.menu-item-has-children ul.sub-menu{opacity:0;left:0;}
header #cssmenu ul ul.sub-menu li.menu-item-has-children:hover ul.sub-menu{left:190px;opacity:1;}
header #cssmenu ul ul ul li a,
header.main-top-header.smaller #cssmenu ul ul ul li a {
	color: #fff;
}
@media all and (min-width: 960px) {
.submenu-button{position: absolute;right: 0;top: 40%;}
.submenu-button:before{content:"\f0d7";position:absolute;font-family:'FontAwesome';font-size:14px;left:auto;right:0;top:49%;bottom:0;color:#FFF;}
.sub-menu .submenu-button{right:5px;}
}
@media all and (max-width: 959px) {
	.main-menu a.btn-primary {
	  display: none;
	}

	#cssmenu {
    float: right;
    margin:0px;
    position: relative;
    right: 0;
    left: 0;
    top: 0;
    z-index: 9;
    width: 100%;
    height: 40px;
    background: transparent;
  }

	#cssmenu .menu-main-menu-container {
	width: 100%;
	display: none;
    background: #3e5ca9;
    margin-top:0px;
    top: 0;
    max-width: 100%;
    border:0 !important;
	}

	#cssmenu > .menu-main-menu-container.open {
	  max-height: 500px;
	  overflow: scroll;
	}

  #cssmenu ul li a {
    color: #ffffff;font-size:14px;padding:7px 20px;
  }
	#cssmenu.align-center>ul {
		text-align: left;
	}
  #cssmenu .sub-menu li a {
    background: #3e2a9d none repeat scroll 0 0;
    border-bottom: 1px solid #ffffff;
    width: 100%;
    color: #ffffff;
  }
	#cssmenu ul li {
		width: 100%;
		border-top: 0;border-bottom: 1px solid #ffffff70;
	}
	#cssmenu ul ul li,
	#cssmenu li:hover>ul>li {
		height: auto;
	}
	#cssmenu ul li a,
	#cssmenu ul ul li a {
		width: 100%;
		border-bottom: 0;
	}
	#cssmenu>ul>li {
		float: left;
	}
	#cssmenu ul ul li a {
		padding-left: 25px;
	}
	#cssmenu ul ul li a {
		color: #dddddd;
		background: none;
	}
	/*#cssmenu ul ul li:hover > a, #cssmenu ul ul li.active > a { color: #ffffff; }*/
	#cssmenu ul ul,
	#cssmenu ul ul ul,
	#cssmenu.align-right ul ul {
		position: relative;
		left: 0;
		width: 100%;
		margin: 0;
		text-align: left;
	}
	#cssmenu ul.sub-menu{width: 100% !important;margin: 0 !important;padding:0 5px;}
	header #cssmenu ul ul.sub-menu li.menu-item-has-children ul.sub-menu{opacity: 1;left: 0;padding: 0;}
	header #cssmenu ul ul.sub-menu li.menu-item-has-children:hover ul.sub-menu{left:0;}
	#cssmenu>ul>li.has-sub>a:after,
	#cssmenu>ul>li.has-sub>a:before,
	#cssmenu ul ul>li.has-sub>a:after,
	#cssmenu ul ul>li.has-sub>a:before {
		display: none;
	}
	#cssmenu #menu-button {
		display: block;
		padding: 20px 0;
		color: transparent;
		cursor: pointer;
		font-size: 0px;
		text-transform: uppercase;
		font-weight: 700;
    	margin: 0px;
    	position: relative;
    	top: -4px;
    	right: 5px;
	}
	#cssmenu #menu-button::after {
    border-bottom: 3px solid #000;
    border-top: 3px solid #000;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 17px;
    top: 22px;
    width: 25px;
  }
	#cssmenu #menu-button::before {
    background: #000;
    content: "";
    display: block;
    height: 3px;
    position: absolute;
    right: 17px;
    top: 16px;
    width: 25px;
  }
	#cssmenu #menu-button.menu-opened:after {
		top: 18px;
		border: 0;
		height: 2px;
		width: 15px;
		background: #000;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#cssmenu #menu-button.menu-opened:before {
		top: 18px;
		background: #000;
		width: 15px;
    height: 2px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#cssmenu .submenu-button {
		position: absolute;
		z-index: 99;
		right: 0;
		top: 0;
		display: block;
		height: 34px;
		width: 34px;
		cursor: pointer;
	}
	#cssmenu ul ul .submenu-button {
		height: 34px;
		width: 34px;
	}
	#cssmenu .submenu-button:after {
		position: absolute;
		top: 20px;
		right: 19px;
		width: 12px;
		height: 2px;
		display: block;
		background: #ffffff;
		content: '';
	}
	/*#cssmenu ul ul .submenu-button:after { top: 15px; right: 13px; }*/
	#cssmenu .submenu-button.submenu-opened:after {
		background: #ffffff;
	}
	#cssmenu .submenu-button:before {
		position: absolute;
		top: 15px;
		right: 24px;
		display: block;
		width: 2px;
		height: 12px;
		background: #ffffff;
		content: '';
	}
	/*#cssmenu ul ul .submenu-button:before { top: 12px; right: 16px; }*/
	#cssmenu .submenu-button.submenu-opened:before {
		display: none;
	}

	#cssmenu ul li ul li a {
	  padding-left: 30px !important;
	}
}




@media only screen and (min-width: 480px) and (max-width: 767px) {

#cssmenu > .menu-main-menu-container.open {
	  max-height: 230px;
	  overflow: scroll;
	}

}