.sm,
.sm ul,
.sm li {
	display:block;
	list-style:none;
	padding:0;
	margin:0;
	line-height:normal;
	direction:ltr;
}
ul.sm li {
	position:relative;
}
ul.sm a {
	position:relative;
	display:block;
}
ul.sm a.disabled {
	cursor:default;
}
ul.sm ul {
	position:absolute;
	top:-999999px;
	left:-800px;
	width:100px;
}
ul.sm li {
	float:left;
}
ul.sm-rtl {
	direction:rtl;
}
ul.sm-rtl li {
	float:right;
}
ul.sm ul li,
ul.sm-vertical li {
	float:none;
}
ul.sm a {
	white-space:nowrap;
}
ul.sm ul a,
ul.sm-vertical a {
	white-space:normal;
}
* html ul.sm-vertical li {
	float:left;
	width:100%;
}
* html ul.sm-vertical ul li {
	float:none;
	width:auto;
}
*:first-child+html ul.sm-vertical>li {
	float:left;
	width:100%;
}
ul.sm ul.sm-nowrap>li>a {
	white-space:nowrap;
}
ul.sm:after {
	content:"\00a0";
	display:block;
	height:0;
	font:0/0 serif;
	clear:both;
	visibility:hidden;
	overflow:hidden;
}
* html ul.sm {
	height:1px;
}
*:first-child+html ul.sm {
	min-height:1px;
}
ul.sm li *, 
ul.sm li *:before, 
ul.sm li *:after {
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
}
ul.sm {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}



.right {
	float:right;
}
#main_menu {
	position:relative;
	z-index:9999;
	width:auto;
}
#main_menu ul {
	width:12em;
}
.smart_menu ul {
	background:#fff;
}
.smart_menu .menu_icon {
	padding-left:14px;
	padding-right:14px;
	-webkit-transition:background-color .2s ease-in-out;
	-moz-transition:background-color .2s ease-in-out;
	-o-transition:background-color .2s ease-in-out;
	-ms-transition:background-color .2s ease-in-out;
	transition:background-color .2s ease-in-out;
}
.smart_menu .home_icon {
	background-position:0 -1400px;
	padding-left:24px;
}
.smart_menu .rss_icon {
	background-position:0 -1350px;
	padding-left:24px;
}
ul.sm li.smart_rss {
	float:right;
}
.sm li.home_nav {
	display:none;
}
.sm li.smart_icon {
	display:inline-block;
}
.menu_custom_box {
	max-width:100%;
	min-width:30em;
}
.menu_custom_box_inner {
	padding:2em;
}
.menu_custom_box_inner p:last-of-type {
	margin-bottom:0;
}



/* Menu Items */
.smart_menu a {
	padding:14px 28px;
	font-weight:800;
	font-size:18px;
	line-height:24px;
	text-transform:uppercase;
	
}
.smart_menu a:hover, 
.smart_menu a:focus, 
.smart_menu a:active,
.smart_menu a.highlighted {
	background:#111;
	color:#fff;
}
.smart_menu ul a {
	padding:14px 28px;
	color:#111;
	font-size:16px;
	line-height:22px;
}
.smart_menu ul a:hover, 
.smart_menu ul a:focus, 
.smart_menu ul a:active,
.smart_menu ul a.highlighted {
	background:#333; 
	color:#fff;
}
/* current items - add the class manually to some item or check the "markCurrentItem" script option */
.smart_menu a.current, 
.smart_menu a.current:hover, 
.smart_menu a.current:focus, 
.smart_menu a.current:active, 
.smart_menu ul a.current, 
.smart_menu ul a.current:hover, 
.smart_menu ul a.current:focus, 
.smart_menu ul a.current:active {
	background:#111;
	color:#fff;
}




/* Sub menu indicators */
.smart_menu a span.sub-arrow {
	position:absolute;
	bottom:2px;
	left:50%;
	margin-left:-5px;
	width:0;
	height:0;
	overflow:hidden;
	border-width:5px;
	border-style:solid dashed dashed dashed;
	border-color:#111 transparent transparent transparent;
}
.smart_menu a:hover span.sub-arrow, 
.smart_menu a:focus span.sub-arrow, 
.smart_menu a:active span.sub-arrow {
	border-color:#fff transparent transparent transparent;
}
.smart_menu-vertical a span.sub-arrow,
.smart_menu ul a span.sub-arrow {
	bottom:auto;
	top:50%;
	margin-top:-5px;
	right:15px;
	left:auto;
	margin-left:0;
	border-style:dashed dashed dashed solid;
	border-color:transparent transparent transparent #333;
}




/* Items separators */
.smart_menu li {
	border-left:0px solid #111;
}
.smart_menu li:first-child,
.smart_menu-vertical li,
.smart_menu ul li {
	border-left:0;
}


/* Scrolling arrows containers for tall sub menus */
.smart_menu span.scroll-up, 
.smart_menu span.scroll-down {
	position:absolute;
	display:none;
	visibility:hidden;
	overflow:hidden;
	height:20px;
	/* width and position will be automatically set by the script */
}
.smart_menu span.scroll-up-arrow, 
.smart_menu span.scroll-down-arrow {
	position:absolute;
	top:-2px;
	left:50%;
	margin-left:-8px;
	width:0;
	height:0;
	overflow:hidden;
	border-width:8px;
	border-style:dashed dashed solid dashed;
	border-color:transparent transparent #111 transparent;
}
.smart_menu span.scroll-down-arrow {
	top:6px;
	border-style:solid dashed dashed dashed;
	border-color:#111 transparent transparent transparent;
}




@media screen and (max-width: 959px) {
	.sm li.home_nav {
		display:block;
		border-top:1px solid #111;
	}
	.sm li.smart_icon {
		display:none;
	}
	.menu_custom_box_inner {
		border-bottom:1px solid #111;
	}
	.smart_menu:not(.smart_menu-vertical) > li > a {
		padding-left:18px;
		padding-right:18px;
	}
	ul.smart_menu {
		width:auto !important;
		border-bottom:none;
	}
	ul.smart_menu ul {
		display:none; 
		position:static !important; 
		top:auto !important;
		left:auto !important; 
		margin-left:0 !important; 
		margin-top:0 !important; 
		width:auto !important; 
		min-width:0 !important; 
		max-width:none !important;
	}
	ul.smart_menu>li {
		float:none;
	}
	ul.smart_menu>li>a, 
	ul.smart_menu ul.sm-nowrap>li>a {
		white-space:normal;
	}
	ul.smart_menu iframe {
		display:none;
	}
	.smart_menu ul {
		border:0;
		padding:0;
	}
	.smart_menu ul ul {
		background:rgba(100,100,100,0.1);
	}
	.smart_menu a {
		padding:10px 5px 10px 28px !important;
	}
	.smart_menu a.current {
		background:#111 !important;
		color:#fff !important;
	}
	.smart_menu ul a {
		padding-left:42px !important;
	}
	/* add some text indentation for the 2+ level sub menu items */
	.smart_menu ul a:before {
		content:" ";
	}
	.smart_menu ul ul a {
		border-left:16px solid transparent;
	}
	.smart_menu ul ul ul a {
		border-left:24px solid transparent;
	}
	.smart_menu ul ul ul ul a {
		border-left:32px solid transparent;
	}
	.smart_menu ul ul ul ul ul a {
		border-left:40px solid transparent;
	}
	.smart_menu a span.sub-arrow,
	.smart_menu ul a span.sub-arrow {
		top:50%;
		margin-top:-8px;
		right:auto;
		left:7px;
		margin-left:0;
		width:17px;
		height:17px;
		font:bold 16px/16px monospace !important;
		text-align:center;
		border:0;
	}
	/* Hide sub indicator "+" when item is expanded - we enable the item link when it's expanded */
	.smart_menu a.highlighted span.sub-arrow {
		display:none !important;
	}
	.smart_menu li {
		border-left:0;
	}
	.smart_menu ul li:first-child {
		border-top:0;
	}
}



@media only screen and (min-width: 480px) and (max-width: 767px) {
	.menu_custom_box {
		min-width:24em;
	}
}




@media only screen and (max-width: 479px) {
	.menu_custom_box {
		min-width:10em;
	}
}