/**
 * Styles for the left hand side menu and header for the admin panels.
 * 
 * Take into consideration CSS selector performance. 
 *
 * @package framework
 * @subpackage admin
 */

.cms-logo-header {
	position: relative !important;
	top:auto !important;
	height:auto !important;
	padding: 0 8px;
	line-height: 24px;
	background-color: lighten($color-dark-bg,10%);
	@include background-image(
		linear-gradient(lighten($color-dark-bg,20%), $color-dark-bg)
	);

	span {
		color: $color-text-light;
		display: block;
		padding-left:26px;

		a {
			color: $color-text-dark-link;
			display: inline;
		}
	}
}

.cms-logo {
	border-bottom: 1px solid lighten($color-dark-bg,4%);
	overflow: hidden;
	padding: $grid-y+2 0 $grid-y+1; /* should come to 40px with border bottom and line-height */
	position: relative;
	vertical-align: middle;
	font-size: $font-base-size;
	min-height: 20px;

	.collapsed &{
		padding:0;
	}
	.version {
		display: none; 
	} 
	a {
		position: absolute;
		top: $grid-y;
		bottom: $grid-y;
		display: block;
		width: 24px;
		background: $application-logo-small no-repeat left center;
		text-indent: -9999em;
		padding: 0 1px;
		left: 0;
	}
	span {
		font-weight: bold;
		font-size: $font-base-size;
		line-height: 16px;
		padding: 2px 0;
		margin-left: 30px;
	}
}

.cms-login-status {
	border-top: 1px solid $color-dark-separator;
	padding: $grid-y*1 0 $grid-y*1.2;
	line-height: 16px;
	font-size: $font-base-size - 1;

	.logout-link {
		display: inline-block;
		height: 16px;
		width: 16px;
		float: left;
		margin: 0 8px 0 5px;
		background: sprite($sprites32, logout) no-repeat;
		text-indent: -9999em;
		opacity:0.9;
		&:hover, &:focus{
			opacity:1;
		}
	}
}

.cms-menu {
	z-index: 80;
	background: $color-base;
	width: ($grid-x * 20);

	@include box-shadow($color-shadow-blacker 0 0 3px);
	a {
		text-decoration: none;
	}
	
	.cms-panel-content {
		width: ($grid-x * 20);
		overflow-x: hidden;
		overflow-y: auto;
		position: relative !important;
		top:auto !important;
		left:auto !important;
	}
		
	&.collapsed {
		width: 40px;
		cursor: auto;
		z-index: 1000;
		
		.cms-panel-header {
			width: 30px;
			
			span {
				display: none;
			}
		}
		
		.cms-menu-list {
			overflow-x: hidden;
			overflow-y: auto;
			li{  
			    width: 100%;
			    float: left;   
			    span.text {
					display: none;
				} 
				ul {
				display: none;
				}
			}
		}

		.cms-login-status {
			height:16px;
			span {
				display:none;
			}
		}

		.cms-logo {
			height:20px;
			padding: 10px 0 9px;
		}

		&.cms-panel .cms-panel-content {
			display: block; // override panel defaults
		}
	}
}

.cms-menu-list {
	li {
		a {
			display: block;
			line-height: $grid-y * 2;
			min-height: $grid-y * 2;
			font-size: $font-base-size;
			text-shadow: lighten($color-base, 5%) 1px 1px 0;
			color: $color-text-dark;
			padding: (1.5 * $grid-y - 1) 5px (1.5 * $grid-y - 1) 8px;
			background-color: $color-base;
			cursor: pointer;
			position: relative;

			@include background-image(linear-gradient(
				$color-base,
				darken($color-base, 10%)
			));

			border-top: 1px solid lighten($color-base, 6%);
			border-bottom: 1px solid darken($color-base, 20%);
			
			&:hover {
				text-decoration: none;
				background-color: lighten($color-base, 2%);
				border-bottom: 1px solid darken($color-base, 15%);
				color: lighten($color-text-dark, 5%);
				
				@include background-image(linear-gradient(
					lighten($color-base, 5%),
					$color-base
				));
			}
			&:focus,
			&:active {
				border-top: 1px solid darken($color-base, 5%);
				text-decoration: none;
				background-color: darken($color-base, 5%);
				color: lighten($color-text-dark, 10%);
				
				@include background-image(linear-gradient(
					darken($color-base, 10%),
					darken($color-base, 5%)
				));			
			}
			
			.icon {
				display: block;
				position: absolute;
				top: 50%;
				margin-left: $grid-x / 2;
				margin-top: -8px;

				@include opacity(0.7);
			}
			
			.text {
				display: block;
				margin-left: 30px;
			}

			.toggle-children {
				display: inline-block;
				float: right;
				width: 20px;
				height: 100%;
				cursor: pointer;

				.toggle-children-icon {
					display: inline-block;
					width: 8px;
					height: 8px;
					background: sprite($sprites32, menu-arrow-deselected-down) no-repeat;
					vertical-align: middle;
				}
				
				&.opened {
					.toggle-children-icon {
						background: sprite($sprites32, menu-arrow-deselected-up) no-repeat;
					}
				}
			}
			
		}
		ul li a {
			border-top: 1px solid lighten($color-base, 2%);
		}
	
		&.current { //need to apply current stlye to flyout also (at least line height)
			a {
				color: $color-text-light;
				text-shadow: darken($color-menu-button, 20%) 0 -1px 0;
				border-top: 1px solid lighten($color-menu-button, 10%);
				border-bottom: 1px solid darken($color-menu-button, 15%);
				background-color: $color-menu-button;
				@include background-image(linear-gradient(
					$color-menu-button, 
					darken($color-menu-button, 10%)
				));

				.toggle-children {
					.toggle-children-icon {
						background: sprite($sprites32, menu-arrow-down) no-repeat;
					}
					
					&.opened {
						.toggle-children-icon {
							background: sprite($sprites32, menu-arrow-up) no-repeat;
						}
					}
				}
			}
			
			ul {
				border-top: none;
				display: block;
			}
			
			li {
				background-color: darken($color-menu-button, 10%);
				a {
					font-size: $font-base-size - 1;
					padding: 0 10px 0 40px;
					height: 32px;
					line-height: 32px;
					color: lighten($color-menu-button, 45%);
				 	background: none;
					border-top: 1px solid darken($color-menu-button,4%);
					border-bottom: 1px solid darken($color-menu-button, 20%);
					
					&.current,
					&:hover {
						background: darken($color-menu-button, 5%);
						border-top: 1px solid darken($color-menu-button, 5%);
						color: $color-text-light;
					}
					
					&:focus {
						background: darken($color-menu-button, 15%);
						border-top: 1px solid darken($color-menu-button, 20%);
						color: lighten($color-menu-button, 60%);
					}

				}
				
				&.current {
					background: darken($color-menu-button, 5%);
					border-top: 1px solid darken($color-menu-button, 5%);
					border-top: none;
					a {
						font-weight: bold;
						color: $color-text-light;
					}
				}
				
				&.first a {
					border-top: none;
				}
			}
		}

		ul.collapse {
			display: none;
			li {
				a {
					background-image:none;
					font-size: 11px;
					padding: 0 10px 0 40px;
					height: 32px;
					line-height: 32px;
				}
			}
		}

		/* Style applied to the menu flyout only when the collapsed setting */
		ul.collapsed-flyout {
			display: block;

			li {
				a {
					font-size: $font-base-size - 1;
					padding: 0 10px 0 16px;
					height: 32px;
					line-height: 32px;
				}

				&.current a {
					font-weight: bold;
				}

				&.first a {
					border-top: 1px solid darken($color-base, 10%);
				}
			}
		}
	}

	&.collapsed {
		li {
			.text, .toggle-children {
				display: none;
			}
		}
		
		li > li {
			display: none;
		}
	}
}
