/* ============================================================================
   VOTE2SORT NAVIGATION MENU STYLES
   Enhanced menu system with visual hierarchy and responsive design
   ============================================================================ */

/* Horizontal Dropdown Menu Base Styles
   -----------------------------------*/
.horizontal, .horizontal ul {
    list-style: none;
	margin: 0;
	padding: 0;
}

.horizontal {
	font-size: 14px;
	width: 100%;
	float: left;
	color: #333;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.42857;
}

.horizontal li {
	position: relative;
	display: inline-block;
}

.horizontal li a {
	display: block;
	height: 2.9em;
	line-height: 2.9em;
	padding: 0 1.4em;
	margin: 0;
	transition: all 0.3s ease;
}

.horizontal ul {
	position: absolute;
	left: 0;
	top: 2.9em;
	display: none;
	z-index: 999;
	width: 260px;
}

.horizontal ul ul {
	top: 0;
	left: 160px;
}

.horizontal ul li {
	width: 100%;
}

.horizontal ul li a {
	overflow: visible;	
}

.horizontal li:hover > ul {
	display: block;
}

.horizontal li.parent > a {
	background-image: url(images/arrow-right2.gif);
	background-position: right center;
	background-repeat: no-repeat;
	margin-right: 1em;
}

.horizontal > li.parent > a {
	background-image: url(images/arrow-down2.gif);
}

.horizontal ul {
	-webkit-box-shadow: 2px 3px 0 rgba(150, 150, 150, 0.1);
	-moz-box-shadow: 2px 3px 0 rgba(150, 150, 150, 0.1);
	box-shadow: 2px 3px 0 rgba(150, 150, 150, 0.1);
}

.horizontal > li > ul {
	margin-left: -1px;
}

.horizontal ul ul {
	margin-top: -1px;
}

.horizontal li ul li:last-child {
	border-bottom: none;
}

/* Horizontal White Theme - Base
   -----------------------------------*/
.horizontal.white, .horizontal.white ul {
	/* border: 1px solid #ccc; */
}

.horizontal.white, .horizontal.white li {
	/* background gradients removed for cleaner look */
}

.horizontal.white li > ul {
	background-color: #f8f8f8;
}

.horizontal.white li a {
	color: #000000;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
}

.horizontal.white li:hover {
	background: #fff;
}

.horizontal.white li:hover > a {
	font-weight: bold;
	color: #002b80;
}

.horizontal.white ul li {
	border-bottom: 2px solid #ddd;
}

.horizontal.white li.parent > a {
	background-image: url(images/plus-box.png);
	background-size: 15px 15px;
}

.horizontal.white > li.parent > a {
	background-image: url(images/plus-box.png);
	background-size: 18px 18px;
}

/* ============================================================================
   ENHANCED NAVIGATION STYLES
   ============================================================================ */

/* Primary Navigation (Fun/Colorful Public Categories)
   -----------------------------------*/
.nav-primary {
	background: linear-gradient(to bottom, #ffffff 0%, #f9f9f9 100%);
	border-radius: 6px;
	/* padding: 4px 0; */
	padding: 2px 0 8px 0;   /* top right bottom left */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.nav-primary .horizontal.white li a {
	color: #1a1a1a;
	font-weight: 500;
	font-size: 14px;
	position: relative;
}
/*
.nav-primary .horizontal.white li a::after {
	content: '';
	position: absolute;
	bottom: 8px;
	left: 1.4em;
	right: 1.4em;
	height: 2px;
	background: linear-gradient(to right, #002b80, #0066cc);
	transform: scaleX(0);
	transition: transform 0.3s ease;
}
*/
.nav-primary .horizontal.white li a::after {
	content: '';
	position: absolute;
	left: 1.0em;
	right: 1.0em;
	height: 2px;
	bottom: 2px;			/* was 8px; move it down under text */
	background: linear-gradient(to right, #002b80, #0066cc);
	transform: scaleX(0);
	transition: transform 0.3s ease;
}



.nav-primary .horizontal.white li:hover a {
	color: #002b80;
	font-weight: 700;
	background: rgba(0, 43, 128, 0.05);
}

.nav-primary .horizontal.white li:hover a::after {
	transform: scaleX(1);
}

/* Secondary Navigation (Subtle/Professional Admin Links)
   -----------------------------------*/
.nav-secondary {
	background: #f8f9fa;
	border-top: 2px solid #e9ecef;
	border-radius: 4px;
	padding: 0px 0;
	margin-top: 12px;
    border: 0px solid green;
}

.nav-secondary .horizontal.white li a {
	color: #6c757d;
	font-weight: 400;
	font-size: 15px;
	padding: 0 1.2em;
}

.nav-secondary .horizontal.white li:hover a {
	color: #495057;
	font-weight: 600;
	background: rgba(108, 117, 125, 0.08);
}

.nav-secondary .horizontal.white li a::before {
	/* content: '▸'; */
    content: '';
	margin-right: 0px;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.nav-secondary .horizontal.white li:hover a::before {
	opacity: 1;
}

/* ============================================================================
   RESPONSIVE DESIGN
   ============================================================================ */

/* Desktop (992px and up) */
@media (min-width: 992px) {
	.nav-primary,
	.nav-secondary {
		display: block;
	}
	
	.horizontal li a {
		border-radius: 4px;
		margin: 0 2px;
	}
	
	.nav-primary .horizontal li {
		margin: 0 4px;
	}
	
	.nav-secondary .horizontal li {
		margin: 0 2px;
	}
}

/* Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
	.horizontal {
		font-size: 15px;
	}
	
	.horizontal li a {
		padding: 0 1em;
		font-size: 15px;
	}
	
	.nav-primary .horizontal.white li a {
		font-size: 15px;
	}
	
	.nav-secondary .horizontal.white li a {
		font-size: 14px;
	}
}

/* Mobile (767px and below) */
@media (max-width: 767px) {
	.horizontal li {
		display: block;
		width: 100%;
	}
	
	.horizontal li a {
		height: auto;
		line-height: 1.4;
		padding: 14px 15px;
		border-bottom: 1px solid #e1e1e1;
		border-radius: 0;
	}
	
	.nav-primary,
	.nav-secondary {
		border-radius: 0;
		box-shadow: none;
	}
	
	.nav-primary {
		background: #fff;
	}
	
	.nav-secondary {
		background: #f8f9fa;
		border-top: 2px solid #dee2e6;
		margin-top: 8px;
	}
	
	.nav-primary .horizontal.white li a::after {
		display: none;
	}
	
	.nav-secondary .horizontal.white li a {
		padding-left: 25px;
		color: #868e96;
		font-size: 14px;
	}
	
	.nav-secondary .horizontal.white li a::before {
		opacity: 1;
		color: #adb5bd;
	}
	
	/* Remove hover effects on mobile */
	.horizontal.white li:hover {
		background: transparent;
	}
	
	.horizontal.white li a:active {
		background: #f0f0f0;
	}
}

/* ============================================================================
   OTHER HORIZONTAL THEMES (Black, Red, Green, Blue)
   Preserved for backward compatibility
   ============================================================================ */

/* Horizontal Black */
.horizontal.black, .horizontal.black ul {
	border: none;
}

.horizontal.black, .horizontal.black li {
	background: #333;
}

.horizontal.black > li {
	border-right: none;
}

.horizontal.black li a {
	color: #fff;
}

.horizontal.black li:hover {
	background: #676767;
}

.horizontal.black ul li {
	border-bottom: 1px solid #555;
}

/* Horizontal Red */
.horizontal.red, .horizontal.red ul {
	border: 1px solid #A55555;
}

.horizontal.red, .horizontal.red li {
	background: #E86F6F;
	background: linear-gradient(#E86F6F, #D16767);
}

.horizontal.red > li {
	border-right: 1px solid #A55555;
}

.horizontal.red li a {
	color: #fff;
}

.horizontal.red li:hover {
	background: #D16767;
}

.horizontal.red ul li {
	border-bottom: 1px solid #A55555;
}

/* Horizontal Green */
.horizontal.green, .horizontal.green ul {
	border: 1px solid #AABF5D;
}

.horizontal.green, .horizontal.green li {
	background: #CBE86B;
	background: linear-gradient(#CBE86B, #B9D164);
}

.horizontal.green > li {
	border-right: 1px solid #AABF5D;
}

.horizontal.green li a {
	color: #444;
}

.horizontal.green li:hover {
	background: #B9D164;
}

.horizontal.green ul li {
	border-bottom: 1px solid #AABF5D;
}

.horizontal.green li.parent > a {
	background-image: url(images/arrow-right1.gif);
}

.horizontal.green > li.parent > a {
	background-image: url(images/arrow-down1.gif);
}

/* Horizontal Blue */
.horizontal.blue, .horizontal.blue ul {
	border: 1px solid #588BAD;
}

.horizontal.blue, .horizontal.blue li {
	background: #6FB9E8;
	background: linear-gradient(#6FB9E8, #6AAAD6);
}

.horizontal.blue > li {
	border-right: 1px solid #588BAD;
}

.horizontal.blue li a {
	color: #fff;
}

.horizontal.blue li:hover {
	background: #6AAAD6;
}

.horizontal.blue ul li {
	border-bottom: 1px solid #588BAD;
}

/* ============================================================================
   VERTICAL DROPDOWN MENU (Preserved for backward compatibility)
   ============================================================================ */
.vertical, .vertical ul {
    list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.vertical {
	font-size: 14px;
	margin-bottom: 20px;
}

.vertical li {
	position: relative;
}

.vertical ul {
	position: absolute;
	top: 0;
	left: 159px;
	width: 100%;
	display: none;
	z-index: 999;
}

.vertical a {
	display: block;
	height: 2.9em;
	line-height: 2.9em;
	padding: 0 1.4em;
}

.vertical ul li a {
	overflow: hidden;
}

.vertical li:hover > ul {
	display: block;
}

.vertical li.parent > a {
	background-image: url(images/arrow-right2.gif);
	background-position: 148px center;
	background-repeat: no-repeat;
}

.vertical, .vertical ul {
	-webkit-box-shadow: 2px 3px 0 rgba(100, 100, 100, 0.1);
	-moz-box-shadow: 2px 3px 0 rgba(100, 100, 100, 0.1);
	box-shadow: 2px 3px 0 rgba(100, 100, 100, 0.1);
}

/* Vertical White */
.vertical.white, .vertical.white ul {
	border-bottom: 1px solid #ccc;
}

.vertical.white li {
	background: #fff;
	background: linear-gradient(#fff, #f8f8f8);
}

.vertical.white a {
	color: #555;
	border: 1px solid #ccc;
	border-bottom: none;
}

.vertical.white li:hover {
	background: #fff;
}

.vertical.white li:hover > a {
	color: #902452;
}

.vertical.white li.parent > a {
	background-image: url(images/arrow-right1.gif);
}

.vertical.white li.parent ul {
	position: relative;
	left: 0px;
}

/* Vertical Black */
.vertical.black, .vertical.black ul {
	border-bottom: 1px solid #555;
}

.vertical.black li {
	background: #333;
}

.vertical.black li a {
	color: #fff;
	border: 1px solid #555;
	border-bottom: none;
}

.vertical.black li:hover {
	background: #676767;
}

/* Vertical Red */
.vertical.red, .vertical.red ul {
	border-bottom: 1px solid #A55555;
}

.vertical.red li {
	background: #E86F6F;
	background: linear-gradient(#E86F6F, #D16767);
}

.vertical.red li a {
	color: #fff;
	border: 1px solid #A55555;
	border-bottom: none;
}

.vertical.red li:hover {
	background: #D16767;
}

/* Vertical Green */
.vertical.green, .vertical.green ul {
	border-bottom: 1px solid #AABF5D;
}

.vertical.green li {
	background: #CBE86B;
	background: linear-gradient(#CBE86B, #B9D164);
}

.vertical.green li a {
	color: #444;
	border: 1px solid #AABF5D;
	border-bottom: none;
}

.vertical.green li:hover {
	background: #B9D164;
}

.vertical.green li.parent > a {
	background-image: url(images/arrow-right1.gif);
}

/* Vertical Blue */
.vertical.blue, .vertical.blue ul {
	border-bottom: 1px solid #588BAD;
}

.vertical.blue li {
	background: #6FB9E8;
	background: linear-gradient(#6FB9E8, #6AAAD6);
}

.vertical.blue li a {
	color: #fff;
	border: 1px solid #588BAD;
	border-bottom: none;
}

.vertical.blue li:hover {
	background: #6AAAD6;
}