
.dijitReset {
	
	margin:0;
	border:0;
	padding:0;
	line-height:normal;
	font: inherit;
	color: inherit;
}
.dijitInline {
	
	display:inline-block;			
	#zoom: 1; 
	#display:inline; 
	border:0;
	padding:0;
	vertical-align:middle;
	#vertical-align: auto;	
}
.dijitHidden {
	
	display: none !important;
}
.dijitVisible {
	
	display: block !important;	
	position: relative;			
}
.dj_ie INPUT.dijitTextBox,
.dj_ie .dijitInputField INPUT {
	font-size: 100%;
}
.dj_ie .dijitInputField INPUT { 
	margin: -1px 0 !important;
}
.dijitInlineTable {
	
	display:inline-table;
	display:inline-block;		
	#zoom: 1; 
	#display:inline; 
	box-sizing: content-box; -moz-box-sizing: content-box;
	border:0;
	padding:0;
}
.dijitTeeny {
	font-size:1px;
	line-height:1px;
}
.dijitPopup {
	position: absolute;
	background-color: transparent;
	margin: 0;
	border: 0;
	padding: 0;
}
.dijit_a11y .dijitPopup,
.dijit_ally .dijitPopup div,
.dijit_a11y .dijitPopup table,
.dijit_a11y .dijitTooltipContainer {
	background-color: white !important;
}
.dijitInputField {
	overflow:hidden;
	#zoom:1;
}
.dijitPositionOnly {
	
	padding: 0 !important;
	border: 0 !important;
	background-color: transparent !important;
	background-image: none !important;
	height: auto !important;
	width: auto !important;
}
.dijitNonPositionOnly {
	
	float: none !important;
	position: static !important;
	margin: 0 0 0 0 !important;
	vertical-align: middle !important;
}
.dijitBackgroundIframe {
	
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border: 0;
	padding: 0;
	margin: 0;
}
.dijitClickableRegion {
	
	background-color: #e2ebf2;
	cursor: text;
}
.dijitDisplayNone {
	
	display:none !important;
}
.dijitContainer {
	
	overflow: hidden;	
}
.dijit_a11y * {
	background-image:none !important;
}
.dijit_a11y .dijitCalendarIncrementControl {
	display: none;	
}
.dijit_a11y .dijitA11ySideArrow {
	display: inline !important; 
	cursor: pointer;
}
.dijit_a11y .dijitCalendarDateLabel {
	padding: 1px;
}
.dijit_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel {
	border: solid 1px black;
	padding: 0px;
}
.dijit_a11y .dijitCalendarDateTemplate {
	padding-bottom: 0.1em !important;	
}
.dijit_a11y .dijit * {
	background:white !important;
	color:black !important;
}
.dijit_a11y .dijitButtonNode {
	border-color: black!important;
	border-style: outset!important;
	border-width: medium!important;
}
.dijit_a11y .dijitComboBoxReadOnly .dijitInputField,
.dijit_a11y .dijitComboBoxReadOnly .dijitButtonNode,
.dijit_a11y .dijitSpinnerReadOnly .dijitButtonNode,
.dijit_a11y .dijitSpinnerReadOnly .dijitInputField,
.dijit_a11y .dijitButtonDisabled .dijitButtonNode,
.dijit_a11y .dijitDropDownButtonDisabled .dijitButtonNode,
.dijit_a11y .dijitComboButtonDisabled .dijitButtonNode,
.dijit_a11y .dijitComboBoxDisabled .dijitInputField,
.dijit_a11y .dijitComboBoxDisabled .dijitButtonNode,
.dijit_a11y .dijitSpinnerDisabled .dijitButtonNode,
.dijit_a11y .dijitSpinnerDisabled .dijitInputField {
	border-style: outset!important;
	border-width: medium!important;
	border-color: #999 !important;
	color:#999 !important;
}
.dijitButtonNode * {
	vertical-align: middle;
}
.dijit_a11y .dijitArrowButtonInner {
	width: 1em;
	display: none !important;
}
.dijitButtonNode .dijitArrowButtonInner {
	background:no-repeat center;
	width: 16px;
}
.dijitComboBox .dijitArrowButtonInner {
	display: block;
}
.dijit_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar {
	display: inline !important;
}
.dijitLeft {
	
	background-position:left top;
	background-repeat:no-repeat;
}
.dijitStretch {
	
	white-space:nowrap;			
	background-repeat:repeat-x;
}
.dijitRight {
	
	#display:inline;				
	background-position:right top;
	background-repeat:no-repeat;
}
.dijitToggleButton,
.dijitButton,
.dijitDropDownButton,
.dijitComboButton {
	
	margin: 0.2em;
}
.dijitToolbar .dijitToggleButton,
.dijitToolbar .dijitButton,
.dijitToolbar .dijitDropDownButton,
.dijitToolbar .dijitComboButton {
	margin: 0;
}
.dj_ie8 .dijitToolbar button,
.dj_webkit .dijitToolbar button {
	
	padding: 1px 2px;
}
.dj_ie .dijitToolbar .dijitComboBox{
	
	vertical-align: middle;
}
.dj_ie .dijitComboButton {
	
	margin-bottom: -3px;
}
.dj_webkit .dijitToolbar .dijitDropDownButton {
	padding-left: 0.3em;
}
.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner {
	padding:0;
}
.dijitButtonNode {
	
	border:1px solid gray;
	margin:0;
	line-height:normal;
	vertical-align: middle;
	#vertical-align: auto;
	text-align:center;
	white-space: nowrap;
}
.dijitButtonNode, .dijitButtonNode * {
	cursor: pointer;
}
.dijitReadOnly *,
.dijitDisabled *,
.dijitReadOnly,
.dijitDisabled,
.dijitDisabledClickableRegion {	
	cursor: not-allowed !important;
}
.dj_ie .dijitButtonNode {
	
	zoom: 1;
}
.dj_ie .dijitButtonNode button {
	
	overflow: visible;
}
.dijitArrowButton {
	
	
	padding: 0 .4em;
}
DIV.dijitArrowButton {
	float: right;
}
.dijitSpinner .dijitInputLayoutContainer .dijitArrowButton {
	border-style: solid;
	border-width: 0 0 0 1px !important;
	padding: 0;
	position: absolute;
	right: 0;
	float: none;
}
.dijitSpinner .dijitInputLayoutContainer .dijitArrowButton {
	position: absolute;
	height: 50%;
}
.dijitSpinner .dijitInputLayoutContainer .dijitDownArrowButton {
	top: auto;
	bottom: 0;
	border-top-width: 1px !important;
}
.dijitSpinner .dijitInputLayoutContainer .dijitUpArrowButton {
	top: 0;
	bottom: auto;
}
TABLE.dijitComboButton {
	
	border-collapse: collapse;
	border:0;
	padding:0;
	margin:0;
}
.dijitToolbar .dijitComboButton {
	
	border-collapse: separate;
}
.dj_ie BUTTON.dijitButtonNode {
	overflow: visible; 
}
table .dijitButton .dijitButtonNode,
table .dijitComboButton .dijitButtonNode {
	#overflow:hidden; 
}
.dijitButtonNode IMG {
	
	vertical-align:middle;
	
}
.dijitTextBox,
.dijitComboBox,
.dijitSpinner {
	border: solid black 1px;
	#overflow: hidden; 
	width: 15em;	
	vertical-align: middle;
	#vertical-align: auto;
}
.dijitTimeTextBox {
	width: 8em;
}
.dijitTextBox input:focus,
.dijitComboBox input:focus,
.dijitSpinner input:focus {
	outline: none;	
}
.dijitTextBoxFocused,
.dijitComboBoxFocused,
.dijitSpinnerFocused, .dijitSpinnerUpArrowActive, .dijitSpinnerDownArrowActive,
.dijitTextAreaFocused {
	
	outline: auto 5px -webkit-focus-ring-color;
}
.dijitTextBox INPUT,
.dijitComboBox INPUT,
.dijitSpinner INPUT {
	border-left: solid black 1px;	
	display:inline;
	position:static !important;
	border:0 !important;
	margin:0 !important;
	vertical-align:top !important;
	background-color:transparent !important;
	background-image:none !important;
	width:100% !important;
}
.dijitValidationIcon {
	visibility: hidden;
	display: block;
	padding: 0 2px;
	float: right;
	height: auto;
}
.dijitValidationIconText {
	visibility: hidden;
	display: none;
	float:right;
	font-family: sans-serif;
	font-style:italic;
	font-size: 0.75em;
	padding-right: 0.15em;
	line-height: 160%;
}
.dijit_a11y .dijitValidationIcon { display: none !important; }
.dijit_a11y .dijitValidationIconText { display: block !important; }
.dijitError .dijitValidationIcon,
.dijitError .dijitValidationIconText {
	visibility: visible;
}
.dijitTextBox .dijitArrowButton {
	
	display:none;
}
.dijitCheckBox,
.dijitRadio,
.dijitCheckBoxInput {
	padding: 0;
	border: 0;
	width: 16px;
	height: 16px;
	background-position:center center;
	background-repeat:no-repeat;
	overflow: hidden;
}
.dijitCheckBox INPUT,
.dijitRadio INPUT {
	margin: 0;
	padding: 0;
	display: block;
}
.dijitCheckBoxInput {
	
	opacity: 0.01;
}
.dj_ie .dijitCheckBoxInput {
	filter: alpha(opacity=0);
}
.dijit_a11y .dijitCheckBox,
.dijit_a11y .dijitRadio {
	width: auto;
	height: auto;
}
.dijit_a11y .dijitCheckBoxInput {
	opacity: 1;
	filter: none;
	width: auto;
	height: auto;
}
.dijitProgressBarEmpty{
	
	position:relative;overflow:hidden;
	border:1px solid black; 	
	z-index:0;			
}
.dijitProgressBarFull {
	
	position:absolute;
	overflow:hidden;
	z-index:-1;
	top:0;
	width:100%;
}
.dj_ie6 .dijitProgressBarFull {
	height:1.6em;
}
.dijitProgressBarTile {
	
	position:absolute;
	overflow:hidden;
	top:0;
	left:0;
	bottom:0;
	right:0;
	margin:0;
	padding:0;
	width:auto;
	height:auto;
	background-color:#aaa;
	background-attachment: fixed;
}
.dijit_a11y .dijitProgressBarTile{
	
	border-width:4px;
	border-style:solid;
	background-color:transparent !important;
}
.dj_ie6 .dijitProgressBarTile {
	
	position:static;
	
	height:1.6em;
}
.dijitProgressBarIndeterminate .dijitProgressBarLabel {
	visibility:hidden;
}
.dijitProgressBarIndeterminate .dijitProgressBarTile {
	
}
.dijitProgressBarIndeterminateHighContrastImage {
	display:none;
}
.dijit_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage {
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	margin:0;
	padding:0;
	width:100%;
	height:auto;
}
.dijitProgressBarLabel {
	display:block;
	position:static;
	width:100%;
	text-align:center;
	background-color:transparent !important;
}
.dijitTooltip {
	position: absolute;
	z-index: 2000;
	display: block;
	
	left: 50%;
	top: -10000px;
	overflow: visible;
}
.dijitTooltipContainer {
	border: solid black 2px;
	background: #b8b5b5;
	color: black;
	font-size: small;
}
.dijitTooltipFocusNode {
	padding: 2px 2px 2px 2px;
}
.dijitTooltipConnector {
	position: absolute;
}
.dijitTooltipData {
	display:none;
}
.dijitLayoutContainer{
	position: relative;
	display: block;
	overflow: hidden;
}
body .dijitAlignTop,
body .dijitAlignBottom,
body .dijitAlignLeft,
body .dijitAlignRight {
	position: absolute;
	overflow: hidden;
}
body .dijitAlignClient { position: absolute; }
.dijitBorderContainer, .dijitBorderContainerNoGutter {
	position:relative;
	overflow: hidden;
}
.dijitBorderContainerPane,
.dijitBorderContainerNoGutterPane {
	position: absolute !important;	
	z-index: 2;		
}
.dijitBorderContainer > .dijitTextArea {
	
	resize: none;
}
.dijitGutter {
	
	position: absolute;
	font-size: 1px;		
}
.dijitSplitter {
	position: absolute;
	overflow: hidden;
	z-index: 10;		
	background-color: #fff;
	border-color: gray;
	border-style: solid;
	border-width: 0;
}
.dj_ie .dijitSplitter {
	z-index: 1;	
}
.dijitSplitterActive {
	z-index: 11 !important;
}
.dijitSplitterCover{
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.dijitSplitterCoverActive{
	z-index:3 !important;
}
.dj_ie .dijitSplitterCover{
	background: white;
	filter: alpha(opacity=0);
}
.dijitSplitterH {
	height: 7px;
	border-top:1px;
	border-bottom:1px;
	cursor: ns-resize;
}
.dijitSplitterV {
	width: 7px;
	border-left:1px;
	border-right:1px;
	cursor: ew-resize;
}
.dijitSplitContainer{
	position: relative;
	overflow: hidden;
	display: block;
}
.dijitSplitPane{
	position: absolute;
}
.dijitSplitContainerSizerH,
.dijitSplitContainerSizerV {
	position:absolute;
	font-size: 1px;
	cursor: move;
	cursor: w-resize;
	background-color: ThreeDFace;
	border: 1px solid;
	border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
	margin: 0;
}
.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb {
	overflow:hidden;
	position:absolute;
	top:49%;
}
.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb {
	position:absolute;
	left:49%;
}
.dijitSplitterShadow,
.dijitSplitContainerVirtualSizerH,
.dijitSplitContainerVirtualSizerV {
	font-size: 1px;
	background-color: ThreeDShadow;
	-moz-opacity: 0.5;
	opacity: 0.5;
	filter: Alpha(Opacity=50);
	margin: 0;
}
.dj_ie .dijitSplitterV, .dijitSplitContainerVirtualSizerH {
	cursor: w-resize;
}
.dj_ie .dijitSplitterH, .dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV {
	cursor: n-resize;
}
.dijit_a11y .dijitSplitterH {
	border-top:1px solid #d3d3d3 !important;
	border-bottom:1px solid #d3d3d3 !important;
}
.dijit_a11y .dijitSplitterV {
	border-left:1px solid #d3d3d3 !important;
	border-right:1px solid #d3d3d3 !important;
}
.dijitContentPane {
	display: block;
	overflow: auto;	
}
.dijitContentPaneSingleChild {
	
	overflow: hidden;
}
.dijitTitlePane {
	display: block;
	overflow: hidden;
}
.dijitColorPalette {
	border:1px solid #999;
	background:#fff;
	-moz-border-radius:3pt;
}
img.dijitColorPaletteUnder {
	border-style:none;
	position:absolute;
	left:0;
	top:0;
}
.dijitColorPaletteInner {
	position: relative;
	overflow:hidden;
	outline:0;
}
.dijitPaletteCell {
	width: 20px;
	height: 20px;
	position: absolute;
	overflow: hidden;
	z-index: 10;
	outline-width: 0;
}
.dijitPaletteImg {
	width: 16px; 
	height: 14px; 
	position: absolute;
	top: 1px;
	left: 1px;
	overflow: hidden;
	cursor: default;
	border:1px solid #999;
	
}
.dijitPaletteCellHighlight img {
	width: 14px; 
	height: 12px; 
	position: absolute;
	top: 1px;
	left: 1px;
	overflow: hidden;
	cursor: default;
	border:2px solid #000;
	outline:1px solid #dedede;
	
}
.dijit_a11y .dijitPaletteCell {
	background-color:transparent !important;
}
.dijit_a11y .dijitPaletteImg {
	background-color:transparent !important;
}
.dijitAccordionContainer {
	border:1px solid #b7b7b7;
	border-top:0 !important;
}
.dj_webkit .dijitAccordionContainer  div:focus {
	outline:none;
}
.dj_ff3 .dijitAccordionContainer  div:focus {
	outline:none;
}
.dijitAccordionTitle {
	cursor: pointer;
}
.dijitAccordionFocused  {
	text-decoration: underline;
}
.dijitAccordionTitle .arrowTextUp,
.dijitAccordionTitle .arrowTextDown {
	display: none;
	font-size: 0.65em;
	font-weight: normal !important;
}
.dijit_a11y .dijitAccordionTitle .arrowTextUp,
.dijit_a11y .dijitAccordionTitle-selected .arrowTextDown {
	display: inline;
}
.dijit_a11y .dijitAccordionTitle-selected .arrowTextUp {
	display: none;
}
.dijitCalendarContainer thead tr th, .dijitCalendarContainer thead tr td, .dijitCalendarContainer tbody tr td, .dijitCalendarContainer tfoot tr td {
	padding: 0;
}
.dijitCalendarNextYear {
	margin:0 0 0 0.55em;
}
.dijitCalendarPreviousYear {
	margin:0 0.55em 0 0;
}
.dijitCalendarIncrementControl {
	vertical-align: middle;
}
.dijitCalendarDisabledDate {
	color:gray !important;
}
.dijitCalendarPreviousMonthDisabled,
.dijitCalendarCurrentMonthDisabled,
.dijitCalendarNextMonthDisabled {
	cursor:default !important
}
.dijitCalendarIncrementControl,
.dijitCalendarBodyContainer tbody tr td,
.dijitCalendarDateTemplate,
.dijitCalendarContainer .dijitInline {
	cursor:pointer;
}
.dijitSpacer {
	
  	position: relative;
  	height: 1px;
  	overflow: hidden;
  	visibility: hidden;
}
.dijitMenu {
	border:1px solid black;
	background-color:white;
}
.dijitMenuTable {
	margin:1px 0;
	border-collapse:collapse;
	border-width:0;
	background-color:white;
}
.dj_webkit .dijitMenuTable td[colspan="2"]{
	border-right:hidden;
}
.dijitMenuItem{
	text-align: left;
	white-space: nowrap;
	padding:.1em .2em;
	cursor:pointer;
}
.dijitMenuPassive .dijitMenuItemHover,
.dijitMenuItemSelected {
	
	background-color:black;
	color:white;
}
.dijitMenuItemIcon, .dijitMenuExpand {
	background-repeat: no-repeat;
}
.dijitMenuItemDisabled * {
	
	opacity:0.3;
	cursor:default;
}
.dj_ie .dijit_a11y .dijitMenuItemDisabled td,
.dj_ie .dijitMenuItemDisabled *,
.dj_ie .dijitMenuItemDisabled td {
	color:gray !important;
	filter: alpha(opacity=35);
}
.dijitMenuItemLabel {
	position: relative;
	vertical-align: middle;
}
.dijit_a11y .dijitMenuItemSelected {
	border: 1px #fff dotted !important;
}
.dj_ff3 .dijit_a11y .dijitMenuItem td {
	padding: none !important;
	background:none ! important;
}
.dijit_a11y .dijitMenuItemSelected .dijitMenuItemLabel {
	border-width: 1px;
	border-style: solid;
}
.dj_ie8 .dijit_a11y .dijitMenuItemLabel {
	position:static;
}
.dijitMenuExpandA11y {
	display: none;
}
.dijit_a11y .dijitMenuExpandA11y {
	display: inline;
}
.dijitMenuSeparator td {
	border: 0;
	padding: 0;
}
.dijitMenuSeparatorTop {
	height: 50%;
	margin: 0;
	margin-top:3px;
	font-size: 1px;
}
.dijitMenuSeparatorBottom {
	height: 50%;
	margin: 0;
	margin-bottom:3px;
	font-size: 1px;
}
.dijitCheckedMenuItemIconChar {
	vertical-align: middle;
	visibility:hidden;
}
.dijitCheckedMenuItemChecked .dijitCheckedMenuItemIconChar {
	visibility: visible;
}
.dijit_a11y .dijitCheckedMenuItemIconChar {
	display:inline !important;
}
.dijit_a11y .dijitCheckedMenuItemIcon {
	display: none;
}
.dijitStackController .dijitToggleButtonChecked * {
	cursor: default;	
}
.dijitTabContainerNoLayout {
	width: 100%;	
}
.dijitTabContainerBottom-tabs,
.dijitTabContainerTop-tabs,
.dijitTabContainerLeft-tabs,
.dijitTabContainerRight-tabs {
	overflow: visible !important;  
}
.dijitTabContainerBottom-container,
.dijitTabContainerTop-container,
.dijitTabContainerLeft-container,
.dijitTabContainerRight-container {
	z-index:0;
	overflow: hidden;
	border: 1px solid black;
}
.dijitTabContainer .nowrapTabStrip {
	width: 50000px;
	display: block;
	position: relative;
}
.dijitTabContainer .dijitTabListWrapper {
	overflow: hidden;
}
.dijit_a11y .dijitTabContainer .tabStripButton img {
	
	display: none;
}
.dijitTabContainerTop-tabs {
	border-bottom: 1px solid black;
}
.dijitTabContainerTop-container {
	border-top: 0px;
}
.dijitTabContainerLeft-tabs {
	border-right: 1px solid black;
	float: left;
}
.dijitTabContainerLeft-container {
	border-left: 0px;
}
.dijitTabContainerBottom-tabs {
	border-top: 1px solid black;
}
.dijitTabContainerBottom-container {
	border-bottom: 0px;
}
.dijitTabContainerRight-tabs {
	border-left: 1px solid black;
	float: left;
}
.dijitTabContainerRight-container {
	border-right: 0px;
}
div.dijitTabBtnDisabled, .dj_ie div.dijitTabBtnDisabled {
	cursor: auto;
}
.dijitTab {
	position:relative;
	cursor:pointer;
	white-space:nowrap;
	z-index:3;
}
.dijitTab * {
	
	vertical-align: middle;
}
.dijitTabChecked {
	cursor: default;	
}
.dijitTabButtonIcon {
	height: 18px;
}
.dijitTabContainerTop-tabs .dijitTab {
	top: 1px;	
}
.dijitTabContainerBottom-tabs .dijitTab {
	top: -1px;	
}
.dijitTabContainerLeft-tabs .dijitTab {
	left: 1px;	
}
.dijitTabContainerRight-tabs .dijitTab {
	left: -1px;	
}
.dijitTabContainerTop-tabs .dijitTab,
.dijitTabContainerBottom-tabs .dijitTab {
	
	display:inline-block;			
	#zoom: 1; 
	#display:inline; 
}
.dijitTabInnerDiv {
	position:relative;
}
.tabStripButton {
	z-index: 12;
}
.dijitTabButtonDisabled .tabStripButton {
	display: none;
}
.dijitTab .closeButton {
	margin-left: 1em;
}
.dijitTab .closeText {
	display:none;
}
.dijit_a11y .closeText {
	display:inline;
	margin: 0px 6px;
}
.dijit_a11y .dijitTab .closeImage {
	display:none;
}
.dijit_a11y .closeButton-hover .closeText {
	border:thin solid;
}
.dijit_a11y .dijitTabChecked {
	border-style:dashed !important;
}
.dijit_a11y .dijitTabInnerDiv {
	border-left:none !important;
 }
.dijitTabPane,
.dijitStackContainer-child,
.dijitAccordionContainer-child {
	
    border: none !important;
}
.dijitInlineEditor {
	
	position:relative;
	vertical-align:bottom;
}
.dj_ie .dijitInlineEditor {
	vertical-align:middle;
}
.dijitInlineValue {
	
}
.dijitInlineEditor .dijitButtonContainer {
	
	position:absolute;
	right:0;
	overflow:visible;
}
.dijitInlineEditor .saveButton,
.dijitInlineEditor .cancelButton {
}
.dijitTreeIndent {
	
	width: 19px;
}
.dijitTreeRow, .dijitTreeContent {
	white-space: nowrap;
}
.dijitTreeRow img {
	
	vertical-align: middle;
}
.dijitTreeContent {
    cursor: default;
}
.dijitExpandoText {
	display: none;
}
.dijit_a11y .dijitExpandoText {
	display: inline;
	padding-left: 10px;
	padding-right: 10px;
	font-family: monospace;
	border-style: solid;
	border-width: thin;
	cursor: pointer;
}
.dijitTreeLabel {
	margin: 0px 4px;
}
.dijitDialog {
	position: absolute;
	z-index: 999;
	padding: 1px;
	overflow: hidden;       
}
.dijitDialogFixed div.dijitDialogTitleBar {
	cursor:default;
}
.dijitDialogUnderlayWrapper {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 998;
	display: none;
	background: transparent !important;
}
.dijitDialogUnderlay {
	background: #eee;
	opacity: 0.5;
}
.dj_ie .dijitDialogUnderlay {
	filter: alpha(opacity=50);
}
.dijit_a11y .dijitInputLayoutContainer,
.dijit_a11y .dijitDialog {
	opacity: 1 !important;
	background-color: white !important;
}
.dijitDialog .closeText {
	display:none;
	
	position:absolute;
}
.dijit_a11y .dijitDialog .closeText {
	display:inline;
}
.dijitSliderMoveable {
	z-index:99;
	position:absolute !important;
	display:block;
	vertical-align:middle;
}
.dijitSliderMoveableH {
	right:0;
}
.dijit_a11y div.dijitSliderImageHandle,
.dijitSliderImageHandle {
	margin:0;
	padding:0;
	position:absolute !important;
	border:8px solid gray;
	width:0;
	height:0;
}
.dijit_a11y .dijitSliderFocused .dijitSliderImageHandle {
	border:4px solid #000;
	height:8px;
	width:8px;
}
.dijitSliderImageHandleV {
	top:-8px;
	left:-6px;
}
.dijitSliderImageHandleH {
	left:-8px;
	top:-5px;
	vertical-align:top;
}
.dijitSliderBar {
	border-style:solid;
	border-color:black;
}
.dijitSliderBarContainerV {
	position:relative;
	height:100%;
	z-index:1;
}
.dijitSliderBarContainerH {
	position:relative;
	z-index:1;
}
.dijitSliderBarH {
	height:4px;
	border-width:1px 0;
}
.dijitSliderBarV {
	width:4px;
	border-width:0 1px;
}
.dijitSliderProgressBar {
	background-color:red;
	z-index:1;
}
.dijitSliderProgressBarV {
	position:static !important;
	height:0%;
	vertical-align:top;
	text-align:left;
}
.dijitSliderProgressBarH {
	position:absolute !important;
	width:0%;
	vertical-align:middle;
	overflow:visible;
}
.dijitSliderRemainingBar {
	overflow:hidden;
	background-color:transparent;
	z-index:1;
}
.dijitSliderRemainingBarV {
	height:100%;
	text-align:left;
}
.dijitSliderRemainingBarH {
	width:100% !important;
}
.dijitSliderBumper {
	overflow:hidden;
	z-index:1;
}
.dijitSliderBumperV {
	width:4px;
	height:8px;
	border-width:0 1px;
}
.dijitSliderBumperH {
	width:8px;
	height:4px;
	border-width:1px 0;
}
.dijitSliderBottomBumper,
.dijitSliderLeftBumper {
	background-color:red;
}
.dijitSliderTopBumper,
.dijitSliderRightBumper {
	background-color:transparent;
}
.dijitSliderDecorationH {
	text-align:center;
}
.dijitSlider .dijitSliderButton {
	font-family:monospace;
	margin:0;
	padding:0;
	display:block;
}
.dijit_a11y .dijitSliderButtonInner {
	visibility:visible !important;
}
.dijitSliderButtonContainer {
	text-align:center;
	height:0;
}
.dijitSlider .dijitButtonNode {
	padding:0;
	display:block;
}
.dijitRuleContainer {
	position:relative;
	overflow:visible;
}
.dijitRuleContainerV {
	height:100%;
	line-height:0;
	float:left;
	text-align:left;
}
.dj_opera .dijitRuleContainerV {
	line-height:2%;
}
.dj_ie .dijitRuleContainerV {
	line-height:normal;
}
.dj_gecko .dijitRuleContainerV {
	margin:0 0 1px 0; 
}
.dijitRuleMark {
	position:absolute;
	border:1px solid black;
	line-height:0;
	height:100%;
}
.dijitRuleMarkH {
	width:0;
	border-top-width:0 !important;
	border-bottom-width:0 !important;
	border-left-width:0 !important;
}
.dijitRuleLabelContainer {
	position:absolute;
}
.dijitRuleLabelContainerH {
	text-align:center;
	display:inline-block;
}
.dijitRuleLabelH {
	position:relative;
	left:-50%;
}
.dijitRuleMarkV {
	height:0;
	border-right-width:0 !important;
	border-bottom-width:0 !important;
	border-left-width:0 !important;
	width:100%;
	left:0;
}
.dj_ie .dijitRuleLabelContainerV {
	margin-top:-.55em;
}
.dijit_a11y .dijitButtonContents .dijitButtonText,
.dijit_a11y .dijitTab .tabLabel {
	display: inline !important;
}
.dj_ie7 .dijitButtonNode > BUTTON.dijitButtonContents > * {
	position: relative; 
}
.dijitTextArea {
	width:100%;
	overflow-y: auto;	
}
.dijitTextArea[cols] {
	width:auto; 
}
.dj_ie .dijitTextAreaCols {
	width:auto;
}
.dijitTextArea > DIV {
	text-decoration:none;
	overflow:auto;
	min-height: 1.40em;
}
.dj_ie .dijitTextArea p {
	margin-top:0;
	margin-bottom:0;
	line-height: normal !important;
}
.dijitToolbarSeparator {
	height: 18px;
	width: 5px;
	padding: 0 1px;
	margin: 0;
}
.dijitIEFixedToolbar {
	position:absolute;
	
	top: expression(eval((document.documentElement||document.body).scrollTop));
}
.RichTextEditable {
	display: block;	
}
.dijitTimePickerItemInner {
	text-align:center;
	border:0;
	padding:2px 8px 2px 8px;
}
.dijitTimePickerTick,
.dijitTimePickerMarker {
	border-bottom:1px solid gray;
}
.dijitTimePicker .dijitDownArrowButton {
	border-top: none !important;
}
.dijitTimePickerTick {
	color:#CCC;
}
.dijitTimePickerMarker {
	color:black;
	background-color:#CCC;
}
.dijitTimePickerItemSelected {
	font-weight:bold;
	color:#333;
	background-color:#b7cdee;
}
.dijitTimePickerItemHover {
	background-color:gray;
	color:white;
	cursor:pointer;
}
.dijit_a11y .dijitTimePickerItem {
	border-bottom:1px solid #333;
}
.dijitToggleButtonIconChar {
	display:none !important;
}
.dijit_a11y .dijitToggleButtonIconChar {
	display:inline !important;
}
.dijit_a11y .dijitToggleButtonIconChar {
	visibility:hidden;
}
.dijit_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar {
	visibility:visible !important;
}
.dijitArrowButtonChar {
	display:none !important;
}
.dijit_a11y .dijitArrowButtonChar {
	display:inline !important;
}
.dijitInputLayoutContainer {
	position: relative;
	overflow: hidden;
}
.dijitSpinnerButtonContainer {
	float: right;
	width: 18px;
	position: relative;
	overflow: hidden;
}
.dijitSpinner .dijitInputLayoutContainer .dijitArrowButton {
	height: 50%;
	width: 16px;
	overflow: hidden;
}
.dijitSpinner .dijitInputLayoutContainer .dijitArrowButtonInner {
	overflow: hidden;
	line-height: 50%;
}
.dijit_a11y .dijitSpinner .dijitInputLayoutContainer .dijitArrowButton {
	width: 100%;
}
.dijit_a11y .dijitSpinner .dijitArrowButton .dijitArrowButtonChar {
	font-size: 0.4em;
	vertical-align: top;
}
.dijit_a11y .dijitSpinnerButtonContainer {
	width: 0.5em;
	margin-left: 2px;
	overflow: visible;
}
.dijit_a11y .dijitSpinnerButtonContainer .dijitButtonNode {
	border-width: 1px 0px 0px 1px;
	border-style: solid !important;
}
.dijitSelect {
	margin: 0.2em;
}
.dj_ie .dijitSelect,
.dj_ie7 .dijitSelect,
.dj_iequirks .dijitSelect {
	vertical-align: middle; 
}
.dj_ie8 .dijitSelect .dijitButtonText {
	vertical-align: top;
}
.dijitSelect .dijitButtonNode {
	text-align: left;
}
.dijitRtl .dijitSelect .dijitButtonNode {
	text-align: right;
}
.dijitToolbar .dijitSelect {
	margin: 0;
}
.dj_webkit .dijitToolbar .dijitSelect {
	padding-left: 0.3em;
}
.dijit_a11y .dijitSelectDisabled .dijitButtonNode {
	border-style: outset!important;
	border-width: medium!important;
	border-color: #999 !important;
	color:#999 !important;
}
.dijitSelect .dijitButtonContents {
	padding: 0px;
	background: transparent none;
}
.dijitSelectFixedWidth .dijitButtonContents {
	width: 100%;
}
.dijitSelect .dijitArrowButton {
	width: 16px;
}
.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel,
.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel {
	
	position: static;
}
.dijitSelectLabel *
{
	vertical-align: baseline;
}
.dijitSelectSelectedOption * {
	font-weight: bold;
}
.dijitSelectMenu {
	border-width: 1px;
}
.dijitSelect .dijitButtonContents {
	white-space: nowrap;
}
.dijitSelectMenu .dijitMenuTable {
	margin: 0px;
	background-color: transparent;
}
.dijitTextBoxReadOnly,
.dijitComboBoxReadOnly,
.dijitSpinnerReadOnly,
.dijitTextAreaReadOnly,
.dijitTextBoxDisabled,
.dijitComboBoxDisabled,
.dijitSpinnerDisabled,
.dijitTextAreaDisabled {
	color: gray;
}
.dj_webkit .dijitTextBoxDisabled INPUT,
.dj_webkit .dijitComboBoxDisabled INPUT,
.dj_webkit .dijitSpinnerDisabled INPUT {
	color: #eee;
}
.dj_webkit INPUT.dijitTextBoxDisabled,
.dj_webkit TEXTAREA.dijitTextAreaDisabled {
	color: #333; 
}
.dijit_a11y .dijitSliderReadOnly,
.dijit_a11y .dijitSliderDisabled {
	opacity:0.6;
}
.dj_ie .dijit_a11y .dijitSliderReadOnly .dijitSliderBar,
.dj_ie .dijit_a11y .dijitSliderDisabled .dijitSliderBar {
	filter: alpha(opacity=40);
}
.dijit_a11y .dijitSlider .dijitSliderButtonContainer DIV {
	font-family: monospace; 
	font-size: 1em;
	line-height: 1em;
	height: auto;
	width: auto;
	margin: 0px 4px;
}
.dijitForceStatic {
    position: static !important;
}
.nihilo .dojoDndItemBefore {
	border-top: 2px solid #369;
}
.nihilo .dojoDndItemAfter {
	border-bottom: 2px solid #369;
}
.nihilo .dojoDndItemOver {
	cursor:pointer;
}
.nihilo table.dojoDndAvatar { -moz-border-radius: 0; border: 1px solid #ccc; border-collapse: collapse; background-color: #fff; font-size: 75%; color: black;}
.nihilo .dojoDndAvatar td	{ border: none; }
.nihilo .dojoDndAvatar tr	{ border: none; }
.nihilo .dojoDndAvatarHeader td	{ height: 20px; padding: 0 0 0 21px; }
.nihilo .dojoDndAvatarItem td { padding: 2px;}
.nihilo.dojoDndMove .dojoDndAvatarHeader	{background-color: #f58383; background-image: url(images/dndNoMove.png); background-repeat: no-repeat; background-position: 2px center;}
.nihilo.dojoDndCopy .dojoDndAvatarHeader	{background-color: #f58383; background-image: url(images/dndNoCopy.png); background-repeat: no-repeat; background-position: 2px center;}
.nihilo.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader	{background-color: #97e68d; background-image: url(images/dndMove.png); background-repeat: no-repeat; background-position: 2px center;}
.nihilo.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader	{background-color: #97e68d; background-image: url(images/dndCopy.png); background-repeat: no-repeat; background-position: 2px center;}
.nihilo .dijitContentPane {
    padding: 0px;
}
.nihilo .dijitTabContainerTop-dijitContentPane,
.nihilo .dijitTabContainerLeft-dijitContentPane,
.nihilo .dijitTabContainerRight-dijitContentPane,
.nihilo .dijitTabContainerBottom-dijitContentPane,
.nihilo .dijitAccordionContainer-dijitContentPane {
    background-color: #fff;
    padding: 5px;
}
.nihilo .dijitSplitContainer-dijitContentPane,
.nihilo .dijitBorderContainer-dijitContentPane {
    background-color: #fff;		
    padding: 5px;
}
.nihilo .dijitMenu,
.nihilo .dijitMenuBar {
	border: 1px solid #d3d3d3;
	margin: 0px;
	padding: 0px;
	background-color: #fff;
}
.nihilo .dijitBorderContainer .dijitMenuBar {
	border: 1px #ccc solid;
}
.nihilo .dijitMenuItem {
	font-family: sans-serif;
	margin: 0px;
	color: #243C5F;
}
.nihilo .dijitMenuBar .dijitMenuItem {
	padding: 4px 5px;
}
.nihilo .dijitMenuPreviousButton, .nihilo .dijitMenuNextButton {
	font-style: italic;
}
.nihilo .dijitMenuItem TD {
	padding:1px;
}
.nihilo .dijitMenuPassive .dijitMenuItemHover,
.nihilo .dijitMenuItemSelected {
	background-color: #ffe284; 
	color: #243C5F;
}
.nihilo .dijitMenuItemIcon {
	width: 15px;
	height: 15px;
}
.nihilo .dijitMenuExpand {
	width:15px;
	height:15px;
	background-image: url(images/spriteRoundedIconsSmall.png);
	background-position: -30px top;
}
.dj_ie6 .nihilo .dijitMenuExpand {
	background-image:url(images/spriteRoundedIconsSmall.gif);
}
.nihilo .dijitMenuSeparator {
	height: 1px;
}
.nihilo .dijitMenuSeparatorTop {
	border-bottom: 1px solid #fff; 
}
.nihilo .dijitMenuSeparatorBottom {
	border-top: 1px solid #d3d3d3;
}
.nihilo .dijitCheckedMenuItemIconChar {
	display: none;
}
.nihilo .dijitCheckedMenuItemIcon {
	background-image: url(images/spriteCheckbox.gif);
	background-position: -80px;
}
.nihilo .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon {
	background-position: -64px;
}
.nihilo .dijitTabContainer .tabStripRBtn {
	margin-right: 21px;
}
.nihilo .dijitTabContainer .tabStripLBtn {
	margin-left: 21px;
}
.nihilo .dijitTabContainerBottom .nowrapTabStrip .dijitTab {
	top: 0px;
}
.nihilo .dijitTabContainer .tabStripMenuButton-Hover {
	cursor: pointer;
}
.nihilo .dijitTabPaneWrapper {
	background:#fff;
	border:1px solid #ccc;
	margin: 0;
	padding: 0;
}
.nihilo .dijitTabInnerDiv {
	padding:0px 3px 0px 0px;
	margin: 0 0 0 4px;
	background: url(images/tabContainerSprite.gif) no-repeat;
	background-position: right -400px;
}
.nihilo .dijitTab {
	line-height:normal;
	margin:0 2px 0 0;	
	padding:0px;
	background: url(images/tabContainerSprite.gif) no-repeat 0 -300px;
	color: #6d6d6d;
	border-bottom: 1px #ccc solid;
}
.nihilo .dijitTabInnerDiv .dijitTabContent {
	padding:3px 3px 3px 4px;
	background: url(images/tabContainerSprite.gif) repeat-x 0 -350px;
	position: relative;
}
.nihilo .dijitTabHover {
	color: #243C5F;
	background: url(images/tabContainerSprite.gif) no-repeat 0px -150px;
}
.nihilo .dijitTabHover .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -250px;
}
.nihilo .dijitTabHover .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabContainerSprite.gif) repeat-x 0 -200px;
}
.nihilo .dijitTabChecked,
.nihilo .dijitTabCloseButtonChecked
{
	
	background: url(images/tabContainerSprite.gif) no-repeat 0px -0px;
}
.nihilo .dijitTabChecked .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -100px;
}
.nihilo .dijitTabChecked .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabContainerSprite.gif) repeat-x 0 -50px;
	color: #243C5F !important;
}
.nihilo .dijitTabContainerNested .dijitTabListWrapper {
	height: auto;
}
.nihilo .dijitTabContainerTabListNested {
	background: #FDFDFD;
	border: none;
	margin-bottom: 0px;		
}
.nihilo .dijitTabContainerTabListNested .dijitTab {
	background: none;
	border: none;
	top: 0px;	
}
.nihilo .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv,
.nihilo .dijitTabContainerTabListNested .dijitTab .dijitTabContent {
	background: none;
}
.nihilo .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent .tabLabel {
	text-decoration: underline;
}
.nihilo .dijitTabContainerTabListNested .dijitTabChecked .tabLabel {
	text-decoration: underline;
	font-weight: bold;
}
.nihilo .dijitTabContainerSpacerNested {
	
	height: 0px;
	border-bottom: 0px;
}
.nihilo .dijitTabPaneWrapperNested {
	border: none;	
}
.nihilo .dijitTab .closeImage {
	background: url(images/spriteRoundedIconsSmall.png) no-repeat -60px top;
	width: 15px;
	height: 15px;
	margin-top: -1px;
}
.dj_ie6 .nihilo .dijitTab .closeImage {
	background: url(images/spriteRoundedIconsSmall.gif) no-repeat -60px top;
}
.nihilo .dijitTab .closeButton-hover .closeImage {
	background: url(images/spriteRoundedIconsSmall.png) no-repeat -60px -15px;
}
.dj_ie6 .nihilo .dijitTab .closeButton-hover .closeImage {
	background: url(images/spriteRoundedIconsSmall.gif) no-repeat -60px -15px;
}
.nihilo .dijitTab .tabLabel {
	
	min-height: 15px;
	display: inline-block;
}
.dj_ie6 .nihilo .dijitTabButtonIcon {
	
	height: 18px;
	width: 1px;
}
.nihilo .dijitTabContainerTop-tabs {
	border-bottom: none;
	padding-bottom: 1px;
	background-position: bottom;
	padding-left: 3px;
}
.dj_ie6 .nihilo .dijitTabListContainer-top,
.dj_ie7 .nihilo .dijitTabListContainer-top {
	z-index: 3;
}
.dj_ie6 .nihilo .dijitTabContainerTop-tabs,
.dj_ie7 .nihilo .dijitTabContainerTop-tabs {
	border-bottom: 1px solid #ccc;
	padding-bottom: 0px;
}
.nihilo .dijitTabContainerTopNoStrip {
	padding-top: 3px;
}
.nihilo .dijitTabContainerTop-container {
	border-top: none;
}
.nihilo .dijitTabContainerTop-tabs .dijitTabChecked {
	border-bottom-color: #f8f8f8;
}
.nihilo .dijitTabContainer .dijitTabContainerTopStrip {
	border-bottom: none;
	padding-top: 1px;
	margin-top: 1px;
	background: #f2f2f2;
	border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
	border-left: 1px solid #CCC;
}
.nihilo .dijitTabContainerBottom-tabs {
	border-top: none;
	background-position: top;
	padding-left: 3px;
}
.dj_ie6 .nihilo .dijitTabListContainer-bottom,
.dj_ie7 .nihilo .dijitTabListContainer-bottom {
	z-index: 3;
}
.dj_ie6 .nihilo .dijitTabContainerBottom-tabs,
.dj_ie7 .nihilo .dijitTabContainerBottom-tabs {
	border-top: 1px solid #ccc;
	margin-top: -1px;
}
.nihilo .dijitTabContainerBottom-container {
	border-bottom: none;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTab {
	border-bottom: none;
	border-top: 1px solid #ccc;
	background: url(images/tabBottomEnabledSpriteLR.gif) no-repeat bottom left;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabChecked {
	border-top-color: #f8f8f8;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabInnerDiv .dijitTabContent {
	padding-top: 3px;
	padding-bottom: 3px;
	background: url(images/tabBottomEnabledC.gif) repeat-x bottom left;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabInnerDiv {
	background: url(images/tabBottomEnabledSpriteLR.gif) no-repeat bottom right;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabHover {
	color: #243C5F;
	background: url(images/tabBottomHoverSpriteLR.gif) no-repeat bottom left;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabHover .dijitTabInnerDiv {
	background: url(images/tabBottomHoverSpriteLR.gif) no-repeat bottom right;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabHover .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabBottomHoverC.gif) repeat-x bottom left;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabChecked,
.nihilo .dijitTabContainerBottom-tabs .dijitTabCloseButtonChecked
{
	
	background: url(images/tabBottomActiveSpriteLR.gif) no-repeat bottom left;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv {
	background: url(images/tabBottomActiveSpriteLR.gif) no-repeat bottom right;
}
.nihilo .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabBottomActiveC.gif) repeat-x bottom left;
}
.nihilo .dijitTabContainer .dijitTabContainerBottomStrip {
	border: 1px solid #ccc;
	background: #f2f2f2;
	border-top: none;
	padding-bottom: 2px;
}
.nihilo .dijitTabContainerBottom-spacer,
.nihilo .dijitTabContainerTop-spacer {
	height: 2px;
	border: 1px solid #ccc;
	background: #f8f8f8;
}
.nihilo  .dijitTabContainerTop-spacer {
	margin-top: -1px;
}
.nihilo .dijitTabContainerBottom-spacer {
	margin-bottom: -1px;
}
.nihilo .dijitTabContainerRight-tabs {
	border-color: #ccc;
	padding-top: 3px;
}
.nihilo .dijitTabContainerRight .dijitTabListWrapper {
	padding-right: 3px;
}
.nihilo .dijitTabContainerRight-container {
	border-right: none;
}
.nihilo .dijitTabContainerRight-tabs .dijitTab {
	border-bottom: none;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #dedede !important;
}
.dj_ie .nihilo .dijitTabContainerRight-tabs .dijitTabInnerDiv {
	border-bottom: solid #fff 1px;
}
.nihilo .dijitTabContainerRight-tabs .dijitTabChecked {
	border-left-color: #f8f8f8;
}
.nihilo .dijitTabContainerRight-tabs .dijitTabChecked {
	background: url(images/tabRightChecked.gif) no-repeat left top !important;
}
.dj_ie .nihilo .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv,
.dj_ie .nihilo .dijitTabContainerRight-tabs .dijitTabCheckedHover .dijitTabInnerDiv {
	border-bottom: solid #efefef 1px;
}
.nihilo .dijitTabContainerRight-tabs .dijitTab {
	background: url(images/tabContainerSprite.gif) no-repeat left -350px;
}
.nihilo .dijitTabContainerRight-tabs .dijitTabHover .dijitTab {
	background: url(images/tabContainerSprite.gif) no-repeat left -200px;
}
.nihilo .dijitTabContainerRightStrip {
	padding-right: 2px;
	border: 1px solid #ccc;
	border-left: none;
	background: #f2f2f2;
}
.nihilo .dijitTabContainerLeft-tabs {
	border-color: #ccc;
	padding-top: 3px;
}
.nihilo .dijitTabContainerLeft-container {
	border-left: none;
}
.nihilo .dijitTabContainerLeft-tabs .dijitTab {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #dedede;
}
.nihilo .dijitTabContainerLeft-tabs .dijitTabChecked {
	border-right: 1px solid #f8f8f8;
}
.nihilo .dijitTabContainerLeft-tabs .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -350px;
}
.nihilo .dijitTabContainerLeft-tabs .dijitTabHover .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -200px;
}
.nihilo .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv,
.nihilo .dijitTabContainerLeft-tabs .dijitTabCheckedHover .dijitTabInnerDiv {
	background: url(images/tabLeftChecked.gif) no-repeat right top;
}
.dj_ie .nihilo .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv,
.dj_ie .nihilo .dijitTabContainerLeft-tabs .dijitTabCheckedHover .dijitTabInnerDiv {
	border-bottom: solid #efefef 1px;
}
.dj_ie .nihilo .dijitTabContainerLeft-tabs .dijitTabInnerDiv {
	border-bottom: solid #fff 1px;
}
.nihilo .dijitTabContainerLeftStrip {
	padding-left: 2px;
	border: 1px solid #ccc;
	border-right: none;
}
.nihilo .dijitTabContainerLeftStrip {
	background: #f2f2f2;
}
.nihilo .dijitTabContainerLeft-tabs .dijitTab,
.nihilo .dijitTabContainerRight-tabs .dijitTab {
	margin-right:auto;
	margin-bottom:2px;	
}
.nihilo .dijitTabContainerLeft-spacer,
.nihilo .dijitTabContainerRight-spacer {
	width: 2px;
	border: 1px solid #ccc;
	background: #f8f8f8;
}
.nihilo .dijitTabContainerRight-spacer {
	border-right: none;
}
.nihilo .dijitTabContainerRight-tabs {
	padding-top: 3px;
	height: 100%;
}
.nihilo .dijitTabContainerLeft-tabs {
	height: 100%;
}
.nihilo .dijitTabContainerLeft-spacer {
	border-left: none;
}
.nihilo .dijitTabContainerTop-dijitContentPane .dijitTabContainerTop-tabs {
	border-left: 0px solid #ccc;
	border-top: 0px solid #ccc;
	border-right: 0px solid #ccc;
	padding-top: 0px;
	padding-left: 0px;
}
.nihilo .dijitTabContainer .tabStripButton {
	margin-right: 0px;
}
.nihilo .tabStripButton .dijitTabInnerDiv .dijitTabContent {
	padding: 5px 0 6px;
}
.dj_ie6 .nihilo .tabStripButton .dijitTabInnerDiv .dijitTabContent,
.dj_ie7 .nihilo .tabStripButton .dijitTabInnerDiv .dijitTabContent,
.dj_opera .nihilo .tabStripButton .dijitTabInnerDiv .dijitTabContent {
	padding-bottom: 7px;
}
.nihilo .tabStrip-disabled .tabStripButton .dijitTabInnerDiv .dijitTabContent {
	padding: 3px 0 5px;
}
.dj_ie6 .nihilo .tabStrip-disabled .tabStripButton .dijitTabInnerDiv .dijitTabContent,
.dj_ie7 .nihilo .tabStrip-disabled .tabStripButton .dijitTabInnerDiv .dijitTabContent,
.dj_opera .nihilo .tabStrip-disabled .tabStripButton .dijitTabInnerDiv .dijitTabContent {
	padding-top: 4px;
}
.nihilo .dijitTabContainer .tabStripButton {
	
	width: 21px;
}
.nihilo .dijitTabContainer .tabStripButton img {
	height: 14px;
	background: url(images/spriteRoundedIconsSmall.png) no-repeat left top ;
}
.dj_ie6 .nihilo .dijitTabContainer .tabStripButton img {
	background-image: url(images/spriteRoundedIconsSmall.gif);
}
.nihilo .dijitTabContainer .tabStripSlideButtonRight img {
	background-position: -30px top;
}
.nihilo .dijitTabContainer .tabStripMenuButton img {
	background-position: -15px top;
}
.nihilo .dijitTabContainerTopNone {
	padding-top: 0px;
}
.nihilo .dijitTabContainer .tabStripButton-top {
	margin-top: 1px;
}
.nihilo .dijitTabContainer .tabStripButton-bottom {
	background: transparent url(images/tabBottomEnabledSpriteLR.gif) no-repeat scroll left bottom;
	border-bottom: medium none;
	border-top: 1px solid #CCCCCC;
}
.nihilo .dijitTabContainer .tabStripButton-bottom .dijitTabInnerDiv {
	background: transparent url(images/tabBottomEnabledSpriteLR.gif) no-repeat scroll right bottom;
}
.nihilo .dijitTabContainer .tabStripButton-bottom .dijitTabContent {
	background: transparent;
}
.nihilo .dijitAccordionContainer {
	border-color: #ccc;
	background-color: #fff;
}
.nihilo .dijitAccordionTitle {
	background:#fafafa url(images/titleBar.png) repeat-x top left;
	border-top: 1px solid #dedede;
	padding: 5px 4px 6px 8px;
	cursor:pointer;
	font-size: 0.9em;
	font-weight: bold;
	color: #6d6d6d;
}
.nihilo .dijitAccordionTitle-selected  {
	background: #f9f9f9 url(images/accordionItemActive.png) top repeat-x;
	font-weight: bold;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
	padding: 5px 4px 5px 8px;
	cursor: default;
	color: #243C5F;
}
.nihilo .dijitAccordionArrow {
	background:url(images/spriteRoundedIconsSmall.gif) no-repeat -30px top;
	width:15px;
	height:15px;
	margin-top:-1px;
}
.nihilo .dijitAccordionTitle-selected .dijitAccordionArrow {
	background:url(images/spriteRoundedIconsSmall.gif) no-repeat -15px top;
	margin-top:-1px;
}
.nihilo .dijitAccordionText {
	margin-left: 4px;
	margin-right: 4px;
}
.nihilo .dijitSplitContainerSizerH {
	background:url(images/splitContainerSizerV.png) repeat-y #fff;
	border:0;
	border-left:0px solid #d3d3d3;
	border-right:0px solid #d3d3d3;
	width:5px;
}
.nihilo .dijitSplitContainerSizerH .thumb {
	background:url(images/splitContainerSizerV-thumb.png) no-repeat;
	left:1px;
	width:2px;
	height:19px;
}
.nihilo .dijitSplitContainerSizerV {
	background:url(images/splitContainerSizerH.png) repeat-x #fff;
	border:0;
	border-top:0px solid #d3d3d3;
	border-bottom:0px solid #d3d3d3;
	height:2px;
}
.nihilo .dijitSplitContainerSizerV .thumb {
	background:url(images/splitContainerSizerH-thumb.png) no-repeat;
	top:1px;
	width:19px;
	height:5px;
}
.nihilo .dijitBorderContainer {
	background-color: #fcfcfc;
	padding: 5px;
}
.nihilo .dijitSplitContainer-child,
.nihilo .dijitBorderContainer-child {
	
    border: 1px #ccc solid;
}
.nihilo .dijitBorderContainer-dijitTabContainerTop,
.nihilo .dijitBorderContainer-dijitTabContainerBottom,
.nihilo .dijitBorderContainer-dijitTabContainerLeft,
.nihilo .dijitBorderContainer-dijitTabContainerRight {
	
	 border: none;
}
.nihilo .dijitBorderContainer-dijitBorderContainer {
	
	border: none;
	padding: 0px;
}
.nihilo .dijitSplitterH,
.nihilo .dijitGutterH {
	background:#FCFCFC;
	border:0;
	border-left:0px solid #d3d3d3;
	border-right:0px solid #d3d3d3;
	height:5px;
}
.nihilo .dijitSplitterH .dijitSplitterThumb {
	background:#8BA0BD none;
	height:1px;
	top:2px;
	width:19px;
}
.nihilo .dijitSplitterV,
.nihilo .dijitGutterV {
	background:#FCFCFC;
	border:0;
	border-top:0px solid #d3d3d3;
	border-bottom:0px solid #d3d3d3;
	width:5px;
}
.nihilo .dijitSplitterV .dijitSplitterThumb {
	background:#8BA0BD none;
	height:19px;
	left:2px;
	width:1px;
}
.nihilo .dijitSplitterActive {
	font-size: 1px;
	background-image: none;
	background-color: #aaa;
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: Alpha(Opacity=60);
	margin: 0;
}
.nihilo .dijitInputField INPUT,
.nihilo .dijitTextBox,
.nihilo .dijitComboBox,
.nihilo .dijitSpinner {
	margin: 0em 0.1em;
}
.nihilo .dijitTextBox,
.nihilo .dijitComboBox,
.nihilo .dijitSpinner,
.nihilo .dijitInlineEditor input,
.nihilo .dijitTextArea {
	
	background:#fff url(images/validationInputBg.png) repeat-x top left;
	border:1px solid #d3d3d3;
	line-height: normal;
}
.dj_ie6 .nihilo .dijitTextBox,
.dj_ie6 .nihilo .dijitComboBox,
.dj_ie6 .nihilo .dijitSpinner,
.dj_ie6 .nihilo .dijitInlineEditor input,
.dj_ie6 .nihilo .dijitTextArea {
	background:#fff url(images/validationInputBg.gif) repeat-x top left;
}
.nihilo .dijitComboBox .dijitButtonNode {
	padding: 0 0.2em;
}
.nihilo .dijitComboBox .dijitButtonNode,
.nihilo .dijitSpinner .dijitButtonNode {
	
	border-color: #d3d3d3;
	border-left: 1px solid #d3d3d3;
}
.nihilo .dijitTextBoxFocused,
.nihilo .dijitComboBoxFocused,
.nihilo .dijitSpinnerFocused, .nihilo .dijitSpinnerUpArrowActive, .nihilo .dijitSpinnerDownArrowActive,
.nihilo .dijitTextAreaFocused {
	
	border-color:#b3b3b3;
}
.nihilo .dijitComboBoxFocused .dijitButtonNode,
.nihilo .dijitSpinnerFocused .dijitButtonNode,
.nihilo .dijitSpinnerUpArrowActive .dijitButtonNode,
.nihilo .dijitSpinnerDownArrowActive .dijitButtonNode {
	border-left-color:#d3d3d3;
}
.nihilo .dijitSpinnerFocused .dijitDownArrowButton,
.nihilo .dijitSpinnerUpArrowActive .dijitDownArrowButton,
.nihilo .dijitSpinnerDownArrowActive .dijitDownArrowButton {
	border-top-color:#d3d3d3;
}
.nihilo .dijitError {
	border-color:#b3b3b3;
	background-color:#f9f7ba;
	background-image:none;
}
.dj_ie6 .nihilo .dijitError INPUT {
	
	background-color:#f9f7ba !important;
}
.nihilo .dijitErrorFocused {
	background-color:#ff6;
	background-image:none;
}
.dj_ie6 .nihilo .dijitErrorFocused INPUT {
	
	background-color:#ff6 !important;
}
.nihilo .dijitValidationIcon {
	
	width: 16px;
	background: transparent url(images/warning.png) no-repeat center center;
}
.nihilo .dijitComboBoxHighlightMatch {
	background-color:#d3d3d3;
}
.nihilo .dijitButtonNode {
	
	
	border:1px solid #dedede;
	border-bottom:1px solid #dedede;
	padding: 0.1em 0.2em 0.2em 0.2em;
	background: #fff url(images/buttonEnabled.png) repeat-x top left;
}
.nihilo .dijitSelect .dijitButtonContents {
	border-right: none;
}
.nihilo .dijitButtonNode button {
	border: 0px;
	background-color: transparent;
}
.nihilo .dijitButtonText {
	text-align: center;
	padding: 0 0.3em;
}
.nihilo .dijitComboBox .dijitButtonNode {
	border-width: 0px 0px 0px 1px;
}
.nihilo .dijitArrowButton {
	color: #111;
}
.nihilo .dijitComboButton .dijitDownArrowButton {
	padding-right:4px;
}
.nihilo .dijitComboBoxReadOnly,
.nihilo .dijitSpinnerReadOnly,
.nihilo .dijitSpinnerReadOnly .dijitButtonNode,
.nihilo .dijitButtonDisabled .dijitButtonNode,
.nihilo .dijitToggleButtonDisabled .dijitButtonNode,
.nihilo .dijitDropDownButtonDisabled .dijitButtonNode,
.nihilo .dijitComboButtonDisabled .dijitButtonNode,
.nihilo .dijitComboBoxDisabled,
.nihilo .dijitSpinnerDisabled,
.nihilo .dijitSpinnerDisabled .dijitButtonNode {
	
	border-color: #dedede;
	background:#fafafa url(images/buttonDisabled.png) top repeat-x;
	opacity: 0.60;
}
.dj_ie6 .nihilo .dijitComboButtonDisabled .dijitButtonText {
	
	color: #aaa;
}
.nihilo .dijitButtonHover .dijitButtonNode,
.nihilo .dijitButtonNodeHover,
.nihilo .dijitToggleButtonHover .dijitButtonNode,
.nihilo .dijitDropDownButtonHover .dijitButtonNode,
.nihilo .dijitComboButtonHover .dijitButtonContents,
.nihilo .dijitComboButtonDownArrowHover .dijitDownArrowButton,
.nihilo .dijitComboBoxHover .dijitDownArrowButton,
.nihilo .dijitSpinnerUpArrowHover .dijitUpArrowButton,
.nihilo .dijitSpinnerDownArrowHover .dijitDownArrowButton {
	
	
	color:#243C5F;
	background:#fcfcfc url(images/buttonHover.png) repeat-x top left;
}
.nihilo .dijitSpinnerUpArrowActive .dijitUpArrowButton,
.nihilo .dijitSpinnerDownArrowActive .dijitDownArrowButton,
.nihilo .dijitButtonActive .dijitButtonNode,
.nihilo .dijitToggleButtonActive .dijitButtonNode,
.nihilo .dijitDropDownButtonActive .dijitButtonNode,
.nihilo .dijitComboButtonActive .dijitButtonContents,
.nihilo .dijitDownArrowActive .dijitDownArrowButton,
.nihilo .dijitComboBoxActive .dijitDownArrowButton,
.nihilo .dijitStackController .dijitToggleButtonChecked .dijitButtonNode {
	
	border-color:#dedede;
	background: #f5f5f5 url(images/buttonActive.png) top left repeat-x;
}
.nihilo .dijitArrowButtonInner {
	background-image: url(images/spriteArrows.png);
	background-repeat: no-repeat;
	background-position: 0px top;
	width: 11px;
}
.nihilo .dijitLeftArrowButton .dijitArrowButtonInner {
	background-position: -11px top;
}
.nihilo .dijitUpArrowButton .dijitArrowButtonInner {
	background-position: -22px top;
}
.nihilo .dijitRightArrowButton .dijitArrowButtonInner {
	background-position: -33px top;
}
.dj_ie6 .nihilo .dijitArrowButtonInner {
	background-image: url(images/spriteArrows.gif);
}
.nihilo .dijitComboBox .dijitArrowButton .dijitArrowButtonInner {
	background:url(images/spriteArrows.png) no-repeat left center;
	width: 11px;
}
.dj_ie6 .nihilo .dijitComboBox .dijitArrowButton .dijitArrowButtonInner {
	background:url(images/spriteArrows.gif) no-repeat left center;
}
.nihilo .dijitComboBoxHover .dijitArrowButtonInner {
	
}
.nihilo .dijitToggleButton .dijitCheckBox,
.nihilo .dijitToggleButton .dijitCheckBoxIcon {
	background-image: url(images/spriteCheckbox.gif);
}
.nihilo .dijitCheckBox,
.nihilo .dijitCheckBoxIcon {		
	background-image: url(images/spriteCheckbox.gif); 
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}
.nihilo .dijitCheckBox,
.nihilo .dijitToggleButton .dijitCheckBoxIcon {
	
	background-position: -16px;
}
.nihilo .dijitCheckBoxChecked,
.nihilo .dijitToggleButtonChecked .dijitCheckBoxIcon {
	
	background-position: 0px;
}
.nihilo .dijitCheckBoxDisabled {
	
	background-position: -48px;
}
.nihilo .dijitCheckBoxCheckedDisabled {
	
	background-position: -32px;
}
.nihilo .dijitCheckBoxHover {
	
	background-position: -80px;
}
.nihilo .dijitCheckBoxCheckedHover {
	
	background-position: -64px;
}
.nihilo .dijitToggleButton .dijitRadio,
.nihilo .dijitToggleButton .dijitRadioIcon {
	background-image: url(images/spriteRadio.gif);
}
.nihilo .dijitRadio,
.nihilo .dijitRadioIcon	{		
	background-image: url(images/spriteRadio.gif); 
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}
.nihilo .dijitRadio,
.nihilo .dijitToggleButton .dijitRadioIcon {
	
	background-position: -16px;
}
.nihilo .dijitRadioChecked,
.nihilo .dijitToggleButtonChecked .dijitRadioIcon {
	
	background-position: 0px;
}
.nihilo .dijitRadioDisabled {
	
	background-position: -48px;
}
.nihilo .dijitRadioCheckedDisabled {
	
	background-position: -32px;
}
.nihilo .dijitRadioHover {
	
	background-position: -80px;
}
.nihilo .dijitRadioCheckedHover {
	
	background-position: -64px;
}
.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;
}
.nihilo .dijitSelectDisabled * {
    cursor: not-allowed !important;
}
.nihilo .dijitSelectReadOnly * {
    cursor: default !important;
}
.nihilo .dijitSelect .dijitButtonNode {
	padding: 0px;
}
.nihilo .dijitSelect .dijitButtonContents {
	padding-top: 1px;
    background:#fff url(images/validationInputBg.png) repeat-x top left;
    #background:#fff url(images/validationInputBg.gif) repeat-x top left;
}
.nihilo .dijitSelectHover .dijitButtonContents,
.nihilo .dijitSelectActive .dijitButtonContents,
.nihilo .dijitSelectOpened .dijitButtonContents,
.nihilo .dijitSelectDisabled .dijitButtonContents,
.nihilo .dijitSelectReadOnly .dijitButtonContents{
	background: transparent none;
}
.dj_ie .nihilo .dijitSelect .dijitButtonContents {
	padding-top: 0px;
}
.nihilo .dijitSelectDisabled .dijitButtonNode {
    border-color: #dedede;
    background:#fafafa url(images/buttonDisabled.png) top repeat-x;
}
.dj_ie .nihilo .dijitSelectDisabled  .dijitButtonNode * {
	filter: gray() alpha(opacity=50);
}
.nihilo .dijitSelectHover .dijitButtonNode {
    color:#000;
    background:#fcfcfc url(images/buttonHover.png) repeat-x top left;
}
.nihilo .dijitSelectActive .dijitButtonNode,
.nihilo .dijitSelectOpened .dijitButtonNode {
    border-color:#dedede;
    background: #f5f5f5 url(images/buttonActive.png) top left repeat-x;
}
.nihilo .dijitSelectMenu td {
	padding: 0em;
}
.nihilo .dijitSelectMenu .dijitMenuItemIcon {
	margin: 0.1em 0.2em;
	display: none;
}
.nihilo .dijitSelectMenu .dijitMenuItemLabel,
.nihilo .dijitSelectMenu .dijitMenuArrowCell {
	padding: 0.1em 0.2em;
}
.nihilo .dijitTreeNode {
    background : url(images/treeI.gif) no-repeat;
    background-position : top left;
    background-repeat : repeat-y;
    zoom: 1;	
}
.nihilo .dijitTreeIsLast {
    background: url(images/treeI_half.gif) no-repeat;
}
.nihilo .dijitTreeNodeHover {
	
	background-image: url(images/treeHover.png);
	background-repeat: repeat;
	background-color: none !important;
}
.nihilo .dijitTreeLabel {
	font-weight: normal;
	margin-left: 3px;
}
.nihilo .dijitTreeIsRoot {
    margin-left: 0;
    background-image: none;
}
.nihilo .dijitTreeExpando {
    width: 18px;
    height: 18px;
}
.nihilo .dijitTreeRow {
	
	padding-bottom: 2px;
}
.nihilo .dijitTreeContent {
    min-height: 18px;
    min-width: 18px;
    padding-left:1px;
}
.nihilo .dijitTreeExpand {
    width: 18px;
    height: 18px;
    background-repeat : no-repeat;
}
.nihilo .dijitTreeNodeEmphasized {
    background-color: Highlight;
    color: HighlightText;
}
.nihilo .dijitTreeLabelFocused {
	outline: 1px invert dotted;
}
.nihilo .dijitTreeExpandoOpened {
	background: url(images/spriteTree.gif) no-repeat -18px top;
}
.nihilo .dijitTreeExpandoClosed {
	background-image: url(images/spriteTree.gif);
}
.nihilo .dijitTreeExpandoLeaf {
	background: url(images/spriteTree.gif) no-repeat -36px top;
}
.nihilo .dijitTreeExpandoLoading {
	background-image: url(images/treeExpand_loading.gif);
}
.nihilo .dijitTreeIcon {
	width: 16px;
	height: 16px;
}
.nihilo .dijitFolderOpened {
	background: url(images/spriteDivIcons.gif) no-repeat -16px top;
}
.nihilo .dijitFolderClosed {
	background: url(images/spriteDivIcons.gif) no-repeat top left;
}
.nihilo .dijitLeaf {
	background: url(images/spriteDivIcons.gif) no-repeat -32px top;
}
.nihilo .dijitTreeNode .dojoDndItemBefore,
.nihilo .dijitTreeNode .dojoDndItemAfter {
	border-bottom: none;
	border-top: none;
}
.nihilo .dijitTreeNode .dojoDndItemBefore .dijitTreeContent {
	
	border-top: 2px solid #369;
}
.nihilo .dijitTreeNode .dojoDndItemAfter .dijitTreeContent {
	
	border-bottom: 2px solid #369;
}
.nihilo .dijitProgressBar {
	margin:2px 0px 2px 0px;
}
.nihilo .dijitProgressBarEmpty{
	
	background:#fff url(images/progressBarEmpty.png) repeat-x center center;
	border-color: #f8d582 #f8d582 #f8d582 #f8d582;
}
.nihilo .dijitProgressBarTile{
	
	background:#f0f0f0 url(images/progressBarFull.png) repeat-x center center;
}
.nihilo .dijitProgressBarFull {
	border-right:1px solid #f8d582;
}
.nihilo .dijitProgressBarLabel {
	
	color:#293a4b;
}
.nihilo .dijitProgressBarIndeterminate .dijitProgressBarTile {
	
	background:#cad2de url(images/progressBarAnim.gif) repeat-x center center;
}
.nihilo .dijitTitlePaneTitle {
	background: #cccccc;
	background:#fff url(images/titleBar.png) repeat-x top left;
	border:1px solid #bfbfbf;
	padding:3px 4px;
	font-size: 0.9em;
	font-weight: bold;
	color: #6d6d6d;
}
.nihilo .dijitTitlePaneTitle-hover  {
	background: #f9f9f9 url(images/accordionItemActive.png) top repeat-x;
	cursor: pointer;
}
.nihilo .dijitTitlePaneTitle * {
	vertical-align: middle;
}
.nihilo .dijitTitlePane .dijitOpen .dijitArrowNode,
.nihilo .dijitTitlePane .dijitClosed .dijitArrowNode {
	width:15px;
	height:15px;
}
.nihilo .dijitTitlePaneFocused .dijitTitlePaneTextNode {
	color: #243C5F;
}
.nihilo .dijitOpen .dijitTitlePaneTextNode,
.nihilo .dijitFixedOpen .dijitTitlePaneTextNode {
	color: #243C5F;
}
.nihilo .dijitTitlePane .dijitClosed .dijitArrowNode {
	background: url(images/spriteRoundedIconsSmall.png) no-repeat -30px top;
}
.dj_ie6 .nihilo .dijitTitlePane .dijitClosed .dijitArrowNode {
	background:url(images/spriteRoundedIconsSmall.gif) no-repeat -30px top;
}
.nihilo .dijitTitlePane .dijitOpen .dijitArrowNode {
	background:url(images/spriteRoundedIconsSmall.png) no-repeat -15px top;
}
.dj_ie6 .nihilo .dijitTitlePane .dijitOpen .dijitArrowNode {
	background:url(images/spriteRoundedIconsSmall.gif) no-repeat -15px top;
}
.nihilo .dijitTitlePane .dijitArrowNodeInner {
	display:none;
}
.dijit_a11y .dijitTitlePane .dijitOpen .dijitArrowNodeInner,
.dijit_a11y .dijitTitlePane .dijitClosed .dijitArrowNodeInner {
	display:inline !important;
	font-family:monospace;
	padding-bottom:.2em;
}
.dijit_a11y .dijitTitlePane .dijitArrowNode {
	display:none;
}
.nihilo .dijitTitlePaneContentOuter {
	background: #ffffff;
	border:1px solid #bfbfbf;
	border-top: 0px solid #3d3d3d;	
}
.nihilo .dijitTitlePaneContentInner {
	padding:10px;
}
.dj_ie6 .nihilo .dijitTitlePaneContentOuter,
.dj_ie6 .nihilo .dijitTitlePane .dijitTitlePaneTitle {
	zoom: 1;
}
.nihilo .dijitTitlePaneTextNode {
	margin-left: 4px;
	margin-right: 4px;
}
.nihilo .dijitCalendarIncrementControl {
	
	width:15px;
	height:15px;
	background-image: url(images/spriteRoundedIconsSmall.png);
	background-repeat: no-repeat
}
.dj_ie6 .nihilo .dijitCalendarIncrementControl {
	font-size:.1em;
	background-image: url(images/spriteRoundedIconsSmall.gif);
}
.nihilo .dijitA11ySideArrow {
	display: none;
}
.nihilo .dijitCalendarDecrease {
	background-position: top left;
}
.nihilo .dijitCalendarIncrease {
	background-position: -30px top;
}
.nihilo table.dijitCalendarContainer {
	font-size: 100%;
	border-spacing: 0;
	border-collapse: separate;
	border: 1px solid #ccc;
	margin: 0;
}
.nihilo .dijitCalendarMonthContainer th {
	
	background:#d3d3d3 url(images/titleBar.png) repeat-x top;
	padding-top:.3em;
	padding-bottom:.2em;
	text-align:center;
}
.dj_ie6 .nihilo .dijitCalendarMonthContainer th {
	padding-top:.2em;
	padding-bottom:.1em;
}
.nihilo .dijitCalendarDayLabelTemplate {
	
	background:#fefefe;
	font-weight:normal;
	padding-top:.15em;
	padding-bottom:.2em;
	border-bottom: 1px solid #eeeeee;
	color:#293a4b;
	text-align:center;
}
.nihilo .dijitCalendarBodyContainer {
	border-bottom: 1px solid #eeeeee;
}
.nihilo .dijitCalendarMonthLabel {
	color:#293a4b;
	font-weight: bold;
}
.nihilo .dijitCalendarDateTemplate {
	
	font-size: 0.9em;
	font-weight: bold;
	text-align: center;
	padding: 0.3em 0.3em 0.05em 0.3em;
	letter-spacing: 1px;
	background-color: #fdfdfd;
	border:#fdfdfd solid 1px !important;
}
.dj_ie .nihilo .dijitCalendarDateTemplate {
	padding: 0.1em .33em 0.02em .33em;
}
.nihilo .dijitCalendarPreviousMonth,
.nihilo .dijitCalendarNextMonth 		{
	
	color:#999999;
	background-color:#f5f5f5 !important;
	border:#f5f5f5 solid 1px !important;
}
.nihilo .dijitCalendarPreviousMonthDisabled,
.nihilo .dijitCalendarNextMonthDisabled	{
	
	background-color:#a4a5a6 !important;
}
.nihilo .dijitCalendarCurrentMonth {
	
}
.nihilo .dijitCalendarCurrentMonthDisabled {
	
	background-color:#bbbbbc !important;
}
.nihilo .dijitCalendarDisabledDate {
	
	
	text-decoration:line-through !important;
	cursor:default !important;
}
.nihilo .dijitCalendarCurrentDate {
	
	text-decoration:underline;
	font-weight:bold;
}
.nihilo .dijitCalendarSelectedDate {
	
	background-color:#ffe284 !important;
	color:black !important;
	border:#f7c95c solid 1px !important;
}
.nihilo .dijitCalendarYearContainer {
	
	background:white url(images/titleBar.png) repeat-x top;
}
.nihilo .dijitCalendarYearLabel {
	
	margin:0;
	padding:0.4em 0 0.25em 0;
	text-align:center;
}
.nihilo .dijitCalendarSelectedYear {
	
	color:black;
	padding:0.2em;
	padding-bottom:0.1em;
	background-color:#ffe284 !important;
	border:#f7c95c solid 1px !important;
}
.nihilo .dijitCalendarNextYear,
.nihilo .dijitCalendarPreviousYear {
	
	color:black !important;
	font-weight:normal;
}
.nihilo .dijitTimePickerTick,
.nihilo .dijitTimePickerMarker {
	border-color: #eeeeee;
}
.nihilo .dijitTimePickerTick {
	color:white;
}
.nihilo .dijitTimePickerMarker {
	background:#d3d3d3 url(images/titleBar.png) repeat-x top;
	color:#293a4b;
	font-weight: bold;
}
.nihilo .dijitTimePickerItemSelected {
	color: black;
	background: #ffe284 none;
}
.nihilo .dijitTimePickerItemHover {
	background: #d6d6dd none;
	color:black;
}
.nihilo .dijitTimePickerItemHover,
.nihilo .dijitTimePickerItemSelected {
	position: relative;
	z-index: 10;
}
.nihilo .dijitTimePickerTick .dijitTimePickerItemInner {
	font-size:0.4em;
}
.nihilo .dijitTimePickerItemHover .dijitTimePickerItemInner,
.nihilo .dijitTimePickerItemSelected .dijitTimePickerItemInner {
	font-size:1em;
}
.nihilo .dijitTimePickerMarkerHover {
	border-top: 1px solid #eeeeee;
}
.nihilo .dijitTimePickerTickHover,
.nihilo .dijitTimePickerTickSelected {
	margin-top:-0.3em;
	margin-bottom:-0.3em;
	border-bottom: none;
}
.dijit_a11y .dijitTimePickerTickHover {
	background-color: #CCC !important;
	border-top: 1px solid #333 !important;
	border-bottom: 1px solid #333 !important;
}
.dijit_a11y .dijitTimePickerMarkerHover {
	border-bottom-width: 2px;
}
.nihilo .dijitToolbar {
	border-bottom: 1px solid #ccc;
	background:#eaeaea url(images/titleBar.png) repeat-x top left;
}
.dj_ie6 .nihilo .dijitToolbar {
	height: 10px;
}
.nihilo .dijitToolbar .dijitButtonNode,
.nihilo .dijitToolbar .dijitComboButton .dijitButtonContents,
.nihilo .dijitToolbar .dijitComboButton .dijitDownArrowButton {
	background: none;
	margin: 0px;
	padding: 0px;
	border: none;
	font-size: 12px;
}
.nihilo .dijitToolbar .dijitButton,
.nihilo .dijitToolbar .dijitToggleButton,
.nihilo .dijitToolbar .dijitDropDownButton,
.nihilo .dijitToolbar .dijitComboButton .dijitButtonContents,
.nihilo .dijitToolbar .dijitComboButton .dijitDownArrowButton {
	background: none;
	padding: 1px;	
}
.nihilo .dijitToolbar .dijitButtonChecked,
.nihilo .dijitToolbar .dijitToggleButtonChecked {
	background-color:#ffeeb9;
	border:1px solid #f7c95c;
	padding: 0;
}
.nihilo .dijitToolbar .dijitButtonCheckedHover,
.nihilo .dijitToolbar .dijitToggleButtonCheckedHover
 {
	background-color:#ffe284;
	border:1px solid #f7c95c;
	padding: 0;
}
.nihilo .dijitToolbar .dijitButtonHover,
.nihilo .dijitToolbar .dijitToggleButtonHover,
.nihilo .dijitToolbar .dijitDropDownButtonHover,
.nihilo .dijitToolbar .dijitComboButtonHover .dijitButtonContents,
.nihilo .dijitToolbar .dijitComboButtonDownArrowHover .dijitDownArrowButton {
	
	border: 1px solid #f7c95c;
	padding: 0;
	background-color:#ffe284;
}
.nihilo .dijitToolbar label {
	padding: 3px 3px 0 6px;
}
.dj_ie .nihilo .dijitToolbar .dijitComboButton .dijitButtonContentsFocused,
.dj_ie .nihilo .dijitToolbar .dijitComboButton .dijitDownArrowButtonFocused {
	
	border: 1px #555 dotted !important;
	padding: 0px;
}
.nihilo .dijitDialog {
	background: #eee;
	border: 1px solid #d3d3d3;
	-webkit-box-shadow: 0px 5px 10px #adadad;
	padding: 0px;
}
.nihilo .dijitDialog .dijitDialogTitle {
	
	font-size: 0.9em;
	color: #3243C5F;
	font-weight: bold;
	padding: 0px 4px;
}
.nihilo .dijitDialog .dijitDialogPaneContent {
	background: #ffffff;
	border:none;
	border-top: 1px solid #d3d3d3; 
	padding:10px;
}
.nihilo .dijitDialogTitleBar {
	
	background: #fafafa url(images/titleBar.png) repeat-x top left;
	padding: 5px 6px 3px 6px;
	cursor: move;
	outline:0; 
}
.nihilo .dijitDialogCloseIcon {
	
	background-image: url(images/spriteRoundedIconsSmall.png);
	background-repeat: no-repeat;
	background-position: -60px 0px;
	position: absolute;
	vertical-align: middle;
	right: 6px;
	top: 4px;
	height: 15px;
	width: 15px;
	cursor: pointer;
}
.dj_ie6 .nihilo .dijitDialogCloseIcon {
	background-image: url(images/spriteRoundedIconsSmall.gif);
}
.nihilo .dijitDialogCloseIcon-hover {
	background-position: -60px -15px;
}
.nihilo .dijitTooltip,
.nihilo .dijitTooltipDialog {
	
	background: transparent;	
}
.dijitTooltipBelow {
	
	padding-top: 10px;
}
.dijitTooltipAbove {
	
	padding-bottom: 10px;
}
.nihilo .dijitTooltipContainer {
	
	background-color: #fff;
	border:1px solid #d3d3d3;
	padding:0.45em;
}
.nihilo .dijitTooltipConnector {
	
	border:0px;
	z-index: 2;
}
.nihilo .dijitTooltipABRight .dijitTooltipConnector {
	
	left: auto !important;
	right: 6px;
}
.nihilo .dijitTooltipBelow .dijitTooltipConnector {
	
	top: 0px;
	left: 6px;
	background:url(images/tooltipConnectorUp.png) no-repeat top left;
	width:17px;
	height:11px;
}
.dj_ie .nihilo .dijitTooltipBelow .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorUp.gif);
}
.nihilo .dijitTooltipAbove .dijitTooltipConnector {
	
	bottom: 0px;
	left: 6px;
	background:url(images/tooltipConnectorDown.png) no-repeat top left;
	width:17px;
	height:11px;
}
.dj_ie .nihilo .dijitTooltipAbove .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorDown.gif);
}
.dj_ie6 .nihilo .dijitTooltipAbove .dijitTooltipConnector {
	bottom: -5px;
}
.nihilo .dijitTooltipLeft {
	padding-right: 10px;
}
.dj_ie6 .nihilo .dijitTooltipLeft {
	padding-left: 11px;
}
.nihilo .dijitTooltipLeft .dijitTooltipConnector {
	
	right: 0px;
	bottom: 3px;
	background:url(images/tooltipConnectorRight.png) no-repeat top left;
	width:11px;
	height:17px;
}
.dj_ie .nihilo .dijitTooltipLeft .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorRight.gif);
}
.nihilo .dijitTooltipRight {
	padding-left: 10px;
}
.nihilo .dijitTooltipRight .dijitTooltipConnector {
	
	left: 0px;
	bottom: 3px;
	background:url(images/tooltipConnectorLeft.png) no-repeat top left;
	width:11px;
	height:17px;
}
.dj_ie .nihilo .dijitTooltipRight .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorLeft.gif);
}
.nihilo .dijitMenu,
.nihilo .dijitMenuBar {
	border: 1px solid #d3d3d3;
	margin: 0px;
	padding: 0px;
	background-color: #fff;
}
.nihilo .dijitBorderContainer .dijitMenuBar {
	border: 1px #ccc solid;
}
.nihilo .dijitMenuItem {
	font-family: sans-serif;
	margin: 0px;
	color: #243C5F;
}
.nihilo .dijitMenuBar .dijitMenuItem {
	padding: 4px 5px;
}
.nihilo .dijitMenuPreviousButton, .nihilo .dijitMenuNextButton {
	font-style: italic;
}
.nihilo .dijitMenuItem TD {
	padding:1px;
}
.nihilo .dijitMenuPassive .dijitMenuItemHover,
.nihilo .dijitMenuItemSelected {
	background-color: #ffe284; 
	color: #243C5F;
}
.nihilo .dijitMenuItemIcon {
	width: 15px;
	height: 15px;
}
.nihilo .dijitMenuExpand {
	width:15px;
	height:15px;
	background-image: url(images/spriteRoundedIconsSmall.png);
	background-position: -30px top;
}
.dj_ie6 .nihilo .dijitMenuExpand {
	background-image:url(images/spriteRoundedIconsSmall.gif);
}
.nihilo .dijitMenuSeparator {
	height: 1px;
}
.nihilo .dijitMenuSeparatorTop {
	border-bottom: 1px solid #fff; 
}
.nihilo .dijitMenuSeparatorBottom {
	border-top: 1px solid #d3d3d3;
}
.nihilo .dijitCheckedMenuItemIconChar {
	display: none;
}
.nihilo .dijitCheckedMenuItemIcon {
	background-image: url(images/spriteCheckbox.gif);
	background-position: -80px;
}
.nihilo .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon {
	background-position: -64px;
}
.dijitIEFixedToolbar {
	position:absolute;
	
	top: expression(eval((document.documentElement||document.body).scrollTop));
}
.nihilo .dijitToolbar .dijitToolbarSeparator {
	background: url(images/editor.gif);
}
.nihilo .dijitEditorIcon {
	background-image: url(images/editor.gif); 
	background-repeat: no-repeat;
	width: 18px;
	height: 18px;
	text-align: center;
}
.nihilo .dijitDisabled .dijitEditorIcon {
	background-image: url(images/editorDisabled.gif); 
}
.nihilo .dijitEditorIconSep { background-position: 0px; }
.nihilo .dijitEditorIconBackColor { background-position: -18px; }
.nihilo .dijitEditorIconBold { background-position: -36px; }
.nihilo .dijitEditorIconCancel { background-position: -54px; }
.nihilo .dijitEditorIconCopy { background-position: -72px; }
.nihilo .dijitEditorIconCreateLink { background-position: -90px; }
.nihilo .dijitEditorIconCut { background-position: -108px; }
.nihilo .dijitEditorIconDelete { background-position: -126px; }
.nihilo .dijitEditorIconForeColor { background-position: -144px; }
.nihilo .dijitEditorIconHiliteColor { background-position: -162px; }
.nihilo .dijitEditorIconIndent { background-position: -180px; }
.nihilo .dijitEditorIconInsertHorizontalRule { background-position: -198px; }
.nihilo .dijitEditorIconInsertImage { background-position: -216px; }
.nihilo .dijitEditorIconInsertOrderedList { background-position: -234px; }
.nihilo .dijitEditorIconInsertTable { background-position: -252px; }
.nihilo .dijitEditorIconInsertUnorderedList { background-position: -270px; }
.nihilo .dijitEditorIconItalic { background-position: -288px; }
.nihilo .dijitEditorIconJustifyCenter { background-position: -306px; }
.nihilo .dijitEditorIconJustifyFull { background-position: -324px; }
.nihilo .dijitEditorIconJustifyLeft { background-position: -342px; }
.nihilo .dijitEditorIconJustifyRight { background-position: -360px; }
.nihilo .dijitEditorIconLeftToRight { background-position: -378px; }
.nihilo .dijitEditorIconListBulletIndent { background-position: -396px; }
.nihilo .dijitEditorIconListBulletOutdent { background-position: -414px; }
.nihilo .dijitEditorIconListNumIndent { background-position: -432px; }
.nihilo .dijitEditorIconListNumOutdent { background-position: -450px; }
.nihilo .dijitEditorIconOutdent { background-position: -468px; }
.nihilo .dijitEditorIconPaste { background-position: -486px; }
.nihilo .dijitEditorIconRedo { background-position: -504px; }
.nihilo .dijitEditorIconRemoveFormat { background-position: -522px; }
.nihilo .dijitEditorIconRightToLeft { background-position: -540px; }
.nihilo .dijitEditorIconSave { background-position: -558px; }
.nihilo .dijitEditorIconSpace { background-position: -576px; }
.nihilo .dijitEditorIconStrikethrough { background-position: -594px; }
.nihilo .dijitEditorIconSubscript { background-position: -612px; }
.nihilo .dijitEditorIconSuperscript { background-position: -630px; }
.nihilo .dijitEditorIconUnderline { background-position: -648px; }
.nihilo .dijitEditorIconUndo { background-position: -666px; }
.nihilo .dijitEditorIconWikiword { background-position: -684px; }
.nihilo .dijitEditorIconToggleDir { background-position: -540px; }
.nihilo .dijitEditorIconTabIndent { background-position: -702px; }
.nihilo .dijitEditorIconSelectAll { background-position: -720px; }
.nihilo .dijitEditorIconUnlink { background-position: -738px; }
.nihilo .dijitEditorIconFullScreen { background-position: -756px; }
.nihilo .dijitEditorIconViewSource { background-position: -774px; }
.nihilo .dijitEditorIconPrint { background-position: -792px; }
.nihilo .dijitEditorIconNewPage { background-position: -810px; }
.dijitColorPalette {
	border:1px solid #d3d3d3;
	background:#fff;
	-moz-border-radius: 0px !important;
}
