
.nihilo .dijitSliderProgressBarH {
	border-color: #aab0bb;
	background: #c0c2c5 url("../images/sliderFull.png") repeat-x top left;
}
.nihilo .dijitSliderProgressBarV {
	border-color: #aab0bb;
	background: #c0c2c5 url("../images/sliderFullVertical.png") repeat-y bottom left;
}
.nihilo .dijitSliderFocused .dijitSliderProgressBarH,
.nihilo .dijitSliderFocused .dijitSliderLeftBumper {
	background-image:url("../images/sliderFullFocus.png");
}
.nihilo .dijitSliderFocused .dijitSliderProgressBarV,
.nihilo .dijitSliderFocused .dijitSliderBottomBumper {
	background-image:url("../images/sliderFullVerticalFocus.png");
}
.nihilo .dijitSliderRemainingBarV {
	border-color: #b4b4b4;
	background: #dcdcdc url("../images/sliderEmptyVertical.png") repeat-y bottom left;
}
.nihilo .dijitSliderRemainingBarH {
	border-color: #b4b4b4;
	background: #dcdcdc url("../images/sliderEmpty.png") repeat-x top left;
}
.nihilo .dijitSliderBar {
	border-style: solid;
	outline:1px;
	
}
.nihilo .dijitSliderFocused .dijitSliderBar {
	border-color:#727272;
}
.dijit_a11y .dijitSliderProgressBar {
	background-color:#333 !important;
}
.nihilo .dijitSliderImageHandleH {
	border:0px;
	width:15px;
	height:18px;
	background:url("../images/preciseSliderThumb.png") no-repeat center top;
	#background:url("../images/preciseSliderThumb.gif") no-repeat center top;
	cursor:pointer;
}
.nihilo .dijitSliderFocused .dijitSliderImageHandleH {
	background-image:url("../images/preciseSliderThumbFocus.png");
	#background-image:url("../images/preciseSliderThumbFocus.gif");
}
.nihilo .dijitSliderLeftBumper {
	border-left-width: 1px;
	border-color: #aab0bb;
	background: #c0c2c5 url("../images/sliderFull.png") repeat-x top left;
}
.nihilo .dijitSliderRightBumper {
	background: #dcdcdc url("../images/sliderEmpty.png") repeat-x top left;
	border-color: #b4b4b4;
	border-right-width: 1px;
}
.nihilo .dijitSliderImageHandleV {
	border:0px;
	width:20px;
	height:15px;
	background:url("../images/sliderThumb.png") no-repeat center center;
	#background:url("../images/sliderThumb.gif") no-repeat center center;
	cursor:pointer;
}
.nihilo .dijitSliderFocused .dijitSliderImageHandleV {
	background-image:url("../images/sliderThumbFocus.png");
	#background-image:url("../images/sliderThumbFocus.gif");
}
.nihilo .dijitSliderBottomBumper {
	border-bottom-width: 1px;
	border-color: #aab0bb;
	background: #c0c2c5 url("../images/sliderFullVertical.png") repeat-y bottom left;
}
.nihilo .dijitSliderTopBumper {
	background: #dcdcdc url("../images/sliderEmptyVertical.png") repeat-y top left;
	border-color: #b4b4b4;
	border-top-width: 1px;
}
.nihilo .dijitSliderIncrementIconH,
.nihilo .dijitSliderIncrementIconV {
	background:url('../images/spriteRoundedIconsSmall.png') no-repeat -45px top;
	#background:url('../images/spriteRoundedIconsSmall.gif') no-repeat -45px top;
	width:15px; height:15px;
	cursor:pointer;
}
.nihilo .dijitSliderIncrementIconH {
	background:url('../images/spriteRoundedIconsSmall.png') no-repeat -30px top;
	#background:url('../images/spriteRoundedIconsSmall.gif') no-repeat -30px top;
}
.nihilo .dijitSliderDecrementIconH,
.nihilo .dijitSliderDecrementIconV {
	width:15px;
	height:15px;
	cursor:pointer;
	background:url('../images/spriteRoundedIconsSmall.png') no-repeat -15px top;
	#background:url('../images/spriteRoundedIconsSmall.gif') no-repeat -15px top;
}
.nihilo .dijitSliderDecrementIconH {
	background:url('../images/spriteRoundedIconsSmall.png') no-repeat 0px top;
	#background:url('../images/spriteRoundedIconsSmall.gif') no-repeat 0px top;
}
.nihilo .dijitSliderButtonInner {
	visibility:hidden;
}
.nihilo .dijitSliderReadOnly *,
.nihilo .dijitSliderDisabled * {
	border-color: #d5d5d5 #bdbdbd #bdbdbd #d5d5d5;
	color: #bdbdbd;
}
.nihilo .dijitSliderReadOnly .dijitSliderDecrementIconH,
.nihilo .dijitSliderDisabled .dijitSliderDecrementIconH {
	background-position: 0px -15px;
}
.nihilo .dijitSliderReadOnly .dijitSliderIncrementIconH,
.nihilo .dijitSliderDisabled .dijitSliderIncrementIconH {
	background-position: -30px -15px;
}
.nihilo .dijitSliderReadOnly .dijitSliderDecrementIconV,
.nihilo .dijitSliderDisabled .dijitSliderDecrementIconV {
	background-position: -15px -15px;
}
.nihilo .dijitSliderReadOnly .dijitSliderIncrementIconV,
.nihilo .dijitSliderDisabled .dijitSliderIncrementIconV {
	background-position: -45px -15px;
}
