
.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;
}
.soria .dojoDndItemBefore {
	border-top: 2px solid #369;
}
.soria .dojoDndItemAfter {
	border-bottom: 2px solid #369;
}
.soria .dojoDndItemOver {
	cursor:pointer;
}
.soria table.dojoDndAvatar { -moz-border-radius: 0; border: 1px solid #ccc; border-collapse: collapse; background-color: #fff; font-size: 75%; color: black;}
.soria .dojoDndAvatar td	{ border: none; }
.soria .dojoDndAvatar tr	{ border: none; }
.soria .dojoDndAvatarHeader td	{ height: 20px; padding: 0 0 0 21px; }
.soria .dojoDndAvatarItem td { padding: 2px;}
.soria.dojoDndMove .dojoDndAvatarHeader	{background-color: #f58383; background-image: url(images/dndNoMove.png); background-repeat: no-repeat; background-position: 2px center;}
.soria.dojoDndCopy .dojoDndAvatarHeader	{background-color: #f58383; background-image: url(images/dndNoCopy.png); background-repeat: no-repeat; background-position: 2px center;}
.soria.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader	{background-color: #97e68d; background-image: url(images/dndMove.png); background-repeat: no-repeat; background-position: 2px center;}
.soria.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader	{background-color: #97e68d; background-image: url(images/dndCopy.png); background-repeat: no-repeat; background-position: 2px center;}
.soria .dijitContentPane {
    padding: 0px;
}
.soria .dijitTabContainerTop-dijitContentPane,
.soria .dijitTabContainerLeft-dijitContentPane,
.soria .dijitTabContainerBottom-dijitContentPane,
.soria .dijitTabContainerRight-dijitContentPane,
.soria .dijitAccordionContainer-dijitContentPane {
    background-color: #fff;
    padding: 5px;
}
.soria .dijitSplitContainer-dijitContentPane,
.soria .dijitBorderContainer-dijitContentPane {
    background-color: #fff;		
    padding: 5px;
}
 .soria .dijitTabContainer .tabStripRBtn {
	margin-right: 21px;
}
 .soria .dijitTabContainer .tabStripLBtn {
	margin-left: 21px;
}
 .soria .nowrapTabStrip .dijitTab {
	top: 2px;
}
 .soria .dijitTabContainerBottom-tabs .dijitTab {
	top: -1px;
	bottom: 2px;
}
 .soria .dijitTabContainer .tabStripMenuButton-Hover {
	cursor: pointer;
}
.soria .dijitTabPaneWrapper {
	background:#fff;
	border:1px solid #B1BADF;
	margin: 0;
	padding-left: 0px;
}
.soria .dijitTabInnerDiv {
	padding:0px 3px 0px 0px;
	margin: 0 0 0 4px;
	background: url(images/tabContainerSprite.gif) no-repeat;
	background-position: right -400px;
}
.soria .dijitTab {
	line-height:normal;
	margin:0 2px 0 0;	
	padding:0px;
	background: url(images/tabContainerSprite.gif) no-repeat 0 -300px;
	color: #243C5F;
	border-bottom: 1px #B1BADF solid;
}
.soria .dijitTabInnerDiv .dijitTabContent {
	padding:4px 3px 2px 4px;
	background: url(images/tabContainerSprite.gif) repeat-x 0 -350px;
	position: relative;
}
.soria .dijitTabListWrapper {
	z-index: 10;
}
.soria .dijitTabHover {
	color: #243C5F;
	background: url(images/tabContainerSprite.gif) no-repeat 0px -150px;
}
.soria .dijitTabHover .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -250px;
}
.soria .dijitTabHover .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabContainerSprite.gif) repeat-x 0 -200px;
}
.soria .dijitTabChecked,
.soria .dijitTabCloseButtonChecked
{
	
	background: url(images/tabContainerSprite.gif) no-repeat 0px -0px;
}
.soria .dijitTabChecked .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -100px;
}
.soria .dijitTabChecked .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabContainerSprite.gif) repeat-x 0 -50px;
	color: #243C5F !important;
}
.soria .dijitTabContainerTabListNested {
	background: #F0F4FC;
	background: #D9E9F9;
	border: none;
}
.soria .dijitTabContainerTabListNested .dijitTab {
	background: none;
	border: none;
	top: 0px;	
}
.soria .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv,
.soria .dijitTabContainerTabListNested .dijitTab .dijitTabContent {
	background: none;
}
.soria .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent .tabLabel {
	text-decoration: underline;
}
.soria .dijitTabContainerTabListNested .dijitTabChecked .tabLabel {
	text-decoration: underline;
	font-weight: bold;
}
.soria .dijitTabContainerSpacerNested .dijitTabSpacer {
	
	height: 0px;
}
.soria .dijitTabPaneWrapperNested {
	border: none;	
}
.soria .dijitTab .closeImage {
	width: 15px;
	height: 15px;
	background: url(images/spriteRoundedIconsSmall.png) no-repeat -60px top;
	margin-top: -1px;
}
.dj_ie6 .soria .dijitTab .dijitClosable .closeImage {
	background: url(images/spriteRoundedIconsSmall.gif) no-repeat -60px top;
}
.soria .dijitTab .closeButton-hover .closeImage {
	background: url(images/spriteRoundedIconsSmall.png) no-repeat -60px -15px;
}
.dj_ie6 .soria .dijitTab .closeButton-hover .closeImage {
	background: url(images/spriteRoundedIconsSmall.gif) no-repeat -60px -15px;
}
.soria .dijitTab .tabLabel {
	
	min-height: 15px;
	display: inline-block;
}
.dj_ie6 .soria .dijitTabButtonIcon {
	
	height: 18px;
	width: 1px;
}
.soria .dijitTabContainerTop-tabs {
	border-color: #B1BADF;
	padding-left: 3px;
}
.soria .dijitTabContainerTopNoStrip {
	padding-top: 3px;
}
.soria .dijitTabContainerTop-container {
	border-top: none;
}
.soria .dijitTabContainerTop .dijitTabListWrapper {
	border-bottom: none;
}
.soria .dijitTabContainerTop-tabs .dijitTab {
	top: 1px;
}
.soria .dijitTabContainerTop-tabs .dijitTabChecked {
	border-bottom-color: #94b4e6;
}
.soria .dijitTabContainerTopStrip {
	border: 1px solid #B1BADF;
	margin-top: 1px;
	padding-top: 1px;
	background: #F0F4FC;
}
.soria .dijitTabContainerTopStrip .dijitTabContainerTop-tabs {
	padding-left: 3px;
}
.soria .dijitTabContainerNested .dijitTabListWrapper {
	height: auto;
}
.soria .dijitTabContainerBottom-tabs {
	margin-top: -1px;
	padding-left: 3px;
	border-top: 1px solid #B1BADF;
}
.soria .dijitTabContainerBottom .dijitTabListWrapper {
	border-top: none;
	padding-top: 1px;
	padding-bottom: 1px;
	float: left;
}
.soria .dijitTabContainerBottom-container {
	border-bottom: none;
}
.soria .dijitTabContainerBottom-tabs .dijitTab {
	border-bottom: none;
	border-top: 1px solid #B1BADF;
	background: url(images/tabBottomEnabledSpriteLR.gif) no-repeat bottom left;
}
.soria .dijitTabContainerBottom-tabs .dijitTabChecked {
	border-top-color:#94b4e6;
}
.soria .dijitTabContainerBottom-tabs .dijitTabInnerDiv .dijitTabContent {
	padding-top: 3px;
	padding-bottom: 3px;
	background: url(images/tabBottomEnabledC.gif) repeat-x bottom left;
}
.soria .dijitTabContainerBottom-tabs .dijitTabInnerDiv {
	background: url(images/tabBottomEnabledSpriteLR.gif) no-repeat bottom right;
}
.soria .dijitTabContainerBottom-tabs .dijitTabHover {
	color: #243C5F;
	background: url(images/tabBottomHoverSpriteLR.gif) no-repeat bottom left;
}
.soria .dijitTabContainerBottom-tabs .dijitTabHover .dijitTabInnerDiv {
	background: url(images/tabBottomHoverSpriteLR.gif) no-repeat bottom right;
}
.soria .dijitTabContainerBottom-tabs .dijitTabHover .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabBottomHoverC.gif) repeat-x bottom left;
}
.soria .dijitTabContainerBottom-tabs .dijitTabChecked,
.soria .dijitTabContainerBottom-tabs .dijitTabCloseButtonChecked
{
	
	background: url(images/tabBottomActiveSpriteLR.gif) no-repeat bottom left;
}
.soria .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv {
	background: url(images/tabBottomActiveSpriteLR.gif) no-repeat bottom right;
}
.soria .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv .dijitTabContent {
	background: url(images/tabBottomActiveC.gif) repeat-x bottom left;
}
.soria .dijitTabContainerBottomStrip {
	padding-bottom: 2px;
	border: 1px solid #B1BADF;
}
.soria .dijitTabContainerBottomStrip {
	background: #F0F4FC;
}
.soria .dijitTabContainerBottom-spacer,
.soria .dijitTabContainerTop-spacer {
	height: 2px;
	border: 1px solid #8ba0bd;
	background: #94b4e6;
}
.soria .dijitTabContainerTop-spacer {
	border-top: none;
}
.soria .dijitTabContainerBottom-spacer {
	border-bottom: none;
}
.soria .dijitTabContainerRight-tabs {
	height: 100%;
	border-color: #ccc;
	padding-top: 3px;
}
.soria .dijitTabContainerRight-container {
	border-right: none;
}
.soria .dijitTabContainerRight-tabs .dijitTab {
	border-bottom: none;
	border-left: 1px solid #B1BADF;
	border-bottom: 1px solid #B1BADF !important;
}
.dj_ie6 .soria .dijitTabContainerRight-tabs .dijitTabInnerDiv,
.dj_ie7 .soria .dijitTabContainerRight-tabs .dijitTabInnerDiv {
	border-bottom: solid #B1BADF 1px;
	margin-bottom: -1px;
}
.soria .dijitTabContainerRight-tabs .dijitTabChecked {
	border-left-color: #94b4e6;
}
.soria .dijitTabContainerRight-tabs .dijitTabChecked {
	background: url(images/tabRightChecked.gif) no-repeat left top !important;
}
.dj_ie6 .soria .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv,
.dj_ie7 .soria .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv,
.dj_ie6 .soria .dijitTabContainerRight-tabs .dijitTabCheckedHover .dijitTabInnerDiv,
.dj_ie7 .soria .dijitTabContainerRight-tabs .dijitTabCheckedHover .dijitTabInnerDiv {
	border-bottom: solid #94b4e6 1px;
	margin-bottom: -1px;
}
.soria .dijitTabContainerRight-tabs .dijitTab {
	background: url(images/tabContainerSprite.gif) no-repeat left -350px;
}
.soria .dijitTabContainerRight-tabs .dijitTabHover .dijitTab {
	background: url(images/tabContainerSprite.gif) no-repeat left -200px;
}
.soria .dijitTabContainerRightStrip {
	padding-right: 2px;
	border: 1px solid #B1BADF;
	background: #F0F4FC;
	border-left: none;
}
.soria .dijitTabContainerLeft-tabs {
	border-color: #ccc;
	padding-top: 3px;
	height: 100%;
}
.soria .dijitTabContainerLeft-container {
	border-left: none;
}
.soria .dijitTabContainerLeft-tabs .dijitTab {
	border-right: 1px solid #B1BADF;
	border-bottom: 1px solid #B1BADF;
}
.soria .dijitTabContainerLeft-tabs .dijitTabChecked {
	border-right: 1px solid #94b4e6;
}
.soria .dijitTabContainerLeft-tabs .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -350px;
}
.soria .dijitTabContainerLeft-tabs .dijitTabHover .dijitTabInnerDiv {
	background: url(images/tabContainerSprite.gif) no-repeat right -200px;
}
.soria .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv,
.soria .dijitTabContainerLeft-tabs .dijitTabCheckedHover .dijitTabInnerDiv {
	background: url(images/tabLeftChecked.gif) no-repeat right top;
}
.dj_ie6 .soria .dijitTabContainerLeft-tabs .dijitTabInnerDiv,
.dj_ie7 .soria .dijitTabContainerLeft-tabs .dijitTabInnerDiv {
	border-bottom: solid #B1BADF 1px;
	margin-bottom: -1px;
}
.dj_ie6 .soria .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv,
.dj_ie7 .soria .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv,
.dj_ie6 .soria .dijitTabContainerLeft-tabs .dijitTabCheckedHover .dijitTabInnerDiv,
.dj_ie7 .soria .dijitTabContainerLeft-tabs .dijitTabCheckedHover .dijitTabInnerDiv {
	border-bottom: solid #94b4e6 1px;
	margin-bottom: -1px;
}
.soria .dijitTabContainerLeftStrip {
	padding-left: 2px;
	border: 1px solid #B1BADF;
	background: #F0F4FC;
	border-right: none;
}
.soria .dijitTabContainerLeft-tabs .dijitTab,
.soria .dijitTabContainerRight-tabs .dijitTab {
	margin-right:auto;
	margin-bottom:2px;	
}
.soria .dijitTabContainerLeft-spacer,
.soria .dijitTabContainerRight-spacer {
	width: 2px;
	border: 1px solid #8ba0bd;
	background: #94b4e6;
}
.soria .dijitTabContainerLeft-spacer {
	border-left: none;
}
.soria .dijitTabContainerRight-spacer {
	border-right: none;
}
.soria .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;
}
.soria .dijitTabContainer .tabStripButton {
	margin-right: 0;
}
.soria .dijitTabContainer .tabStripButton-top {
	margin-top: 1px;
}
.soria .tabStripButton .dijitTabContent{
	padding: 6px 0 5px 0;
}
.dj_ie6 .soria .tabStripButton .dijitTabContent,
.dj_ie7 .soria .tabStripButton .dijitTabContent {
	padding-top: 7px;
}
.soria .tabStrip-disabled .tabStripButton .dijitTabContent {
	padding: 5px 0 3px 0;
}
.dj_ie6 .soria .tabStrip-disabled .tabStripButton .dijitTabContent,
.dj_ie7 .soria .tabStrip-disabled .tabStripButton .dijitTabContent {
	padding-top: 6px;
}
.soria .dijitTabContainer .tabStripButton-bottom {
	background: transparent url(images/tabBottomEnabledSpriteLR.gif) no-repeat scroll left bottom;
	border-bottom: medium none;
	border-top: 1px solid #B1BADF;
}
.soria .dijitTabContainer .tabStripButton-bottom .dijitTabInnerDiv {
	background: transparent url(images/tabBottomEnabledSpriteLR.gif) no-repeat scroll right bottom;
}
.soria .dijitTabContainer .tabStripButton-bottom .dijitTabContent {
	background: transparent;
}
.soria .dijitTabContainer .tabStripButton {
	
	width: 21px;
}
.soria .dijitTabContainer .tabStripButton img {
	height: 14px;
	background: url(images/spriteRoundedIconsSmall.png) no-repeat;
}
.dj_ie6 .soria .dijitTabContainer .tabStripButton img {
	background-image: url(images/spriteRoundedIconsSmall.gif);
}
.soria .dijitTabContainer .tabStripMenuButton img {
	background-position: -15px top;
}
.soria .dijitTabContainer .tabStripSlideButtonLeft img {
	background-position: 0px top;
}
.soria .dijitTabContainer .tabStripSlideButtonRight img {
	background-position: -30px top;
}
.soria .dijitAccordionContainer {
	border-color: #b1badf;
	background-color: #fff;
}
.soria .dijitAccordionTitle {
	background:#fafafa url(images/titleBar.png) repeat-x top left;
	border-top: 1px solid #b9bbdd;
	padding: 5px 4px 6px 8px;
	cursor:pointer;
	font-size: 0.9em;
	font-weight: bold;
	color: #373941;
}
.soria .dijitAccordionTitle-selected  {
	background: #f9f9f9 url(images/accordionItemActive.png) top repeat-x;
	font-weight: bold;
	border-top: 1px solid #b9bbdd;
	border-bottom: 1px solid #b9bbdd;
	padding: 5px 4px 5px 8px;
	cursor: default;
	color: #243C5F;
}
.soria .dijitAccordionArrow {
	background:url(images/spriteRoundedIconsSmallBl.gif) no-repeat -30px top;
	width:15px;
	height:15px;
	margin-top:-1px;
}
.soria .dijitAccordionTitle-selected .dijitAccordionArrow {
	background:url(images/spriteRoundedIconsSmallBl.gif) no-repeat -15px top;
	margin-top:-1px;
}
.soria .dijitAccordionText {
	margin-left: 4px;
	margin-right: 4px;
}
.soria .dijitSplitContainerSizerH {
	background:url(images/splitContainerSizerV.png) repeat-y #cddef4;
	border:0;
	border-left:0px solid #436496;
	border-right:0px solid #436496;
	width:5px;
}
.soria .dijitSplitContainerSizerH .thumb {
	background:url(images/splitContainerSizerV-thumb.png) no-repeat #ccc;
	left:1px;
	width:2px;
	height:19px;
}
.soria .dijitSplitContainerSizerV {
	background:url(images/splitContainerSizerH.png) repeat-x #cddef4;
	border:0;
	border-top:0px solid #436496;
	border-bottom:0px solid #436496;
	height:2px;
}
.soria .dijitSplitContainerSizerV .thumb {
	background:url(images/splitContainerSizerH-thumb.png) no-repeat #ccc;
	top:1px;
	width:19px;
	height:5px;
}
.soria .dijitBorderContainer {
	background-color: #e1ebfb;
	padding: 5px;
}
.soria .dijitSplitContainer-child,
.soria .dijitBorderContainer-child {
	
	border: 1px #b1badf solid;
}
.soria .dijitBorderContainer-dijitTabContainerTop,
.soria .dijitBorderContainer-dijitTabContainerBottom,
.soria .dijitBorderContainer-dijitTabContainerLeft,
.soria .dijitBorderContainer-dijitTabContainerRight {
	
	 border: none;
}
.soria .dijitBorderContainer-dijitBorderContainer {
	
	border: none;
	padding: 0px;
}
.soria .dijitSplitterH,
.soria .dijitGutterH {
	background: #E1EBFB;
	border:0;
	border-left:0px solid #d3d3d3;
	border-right:0px solid #d3d3d3;
	height:5px;
}
.soria .dijitSplitterH .dijitSplitterThumb {
	background:#B0B0B0 none;
	height:1px;
	top:2px;
	width:19px;
}
.soria .dijitSplitterV,
.soria .dijitGutterV {
	background: #E1EBFB;
	border:0;
	border-top:0px solid #d3d3d3;
	border-bottom:0px solid #d3d3d3;
	width:5px;
}
.soria .dijitSplitterV .dijitSplitterThumb {
	background:#B0B0B0 none;
	height:19px;
	left:2px;
	width:1px;
}
.soria .dijitSplitterActive {
	font-size: 1px;
	background-image: none;
	background-color: #aaa;
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: Alpha(Opacity=60);
	margin: 0;
}
.soria .dijitInputField INPUT,
.soria .dijitTextBox,
.soria .dijitComboBox,
.soria .dijitSpinner {
	margin: 0em 0.1em;
}
.soria .dijitTextBox,
.soria .dijitComboBox,
.soria .dijitSpinner,
.soria .dijitInlineEditor input,
.soria .dijitTextArea {
	
	background:#fff url(images/validationInputBg.png) repeat-x top left;
	border:1px solid #8ba0bd;
	line-height: normal;
}
.dj_ie6 .soria .dijitTextBox,
.dj_ie6 .soria .dijitComboBox,
.dj_ie6 .soria .dijitSpinner,
.dj_ie6 .soria .dijitInlineEditor input,
.dj_ie6 .soria .dijitTextArea {
	background:#fff url(images/validationInputBg.gif) repeat-x top left;
}
.soria .dijitComboBox .dijitButtonNode {
	padding: 0 0.2em;
}
.soria .dijitComboBox .dijitButtonNode,
.soria .dijitSpinner .dijitButtonNode {
	
	border-color: #8ba0bd;
	border-left: 1px solid #8ba0bd;
}
.soria .dijitTextBoxFocused,
.soria .dijitComboBoxFocused,
.soria .dijitSpinnerFocused, .soria .dijitSpinnerUpArrowActive, .soria .dijitSpinnerDownArrowActive,
.soria .dijitTextAreaFocused {
	
	border-color:#406b9b;
}
.soria .dijitComboBoxFocused .dijitButtonNode,
.soria .dijitSpinnerFocused .dijitButtonNode,
.soria .dijitSpinnerUpArrowActive .dijitButtonNode,
.soria .dijitSpinnerDownArrowActive .dijitButtonNode {
	border-left-color:#8ba0bd;
}
.soria .dijitSpinnerFocused .dijitDownArrowButton,
.soria .dijitSpinnerUpArrowActive .dijitDownArrowButton,
.soria .dijitSpinnerDownArrowActive .dijitDownArrowButton {
	border-top-color:#8ba0bd;
}
.soria .dijitError {
	border-color:#f3d118;
	background-color:#f9f7ba;
	background-image:none;
}
.dj_ie6 .soria .dijitError INPUT {
	
	background-color:#f9f7ba !important;
}
.soria .dijitErrorFocused {
	background-color:#ff6;
	background-image:none;
}
.dj_ie6 .soria .dijitErrorFocused INPUT {
	
	background-color:#ff6 !important;
}
.soria .dijitValidationIcon {
	
	width: 16px;
	background: transparent url(images/warning.png) no-repeat center center;
}
.soria .dijitComboBoxHighlightMatch {
	background-color:#f9f7ba;
}
.soria .dijitButtonNode {
	
	
	border: 1px solid #8ba0bd;
	border-bottom:1px solid #657c9c;
	padding: 0.1em 0.2em 0.2em 0.2em;
	background: #bcd5f0 url(images/buttonEnabled.png) repeat-x top left;
}
.soria .dijitSelect .dijitButtonContents {
	border-right: none;
}
.soria .dijitButtonNode button {
	border: 0px;
	background-color: transparent;
}
.soria .dijitButtonText {
	text-align: center;
	padding: 0 0.3em;
}
.soria .dijitComboBox .dijitButtonNode {
	border-width: 0px 0px 0px 1px;
}
.soria .dijitArrowButton {
	color: #111;
}
.soria .dijitComboButton .dijitDownArrowButton {
	padding-right:4px;
}
.soria .dijitComboBoxReadOnly,
.soria .dijitSpinnerReadOnly,
.soria .dijitSpinnerReadOnly .dijitButtonNode,
.soria .dijitButtonDisabled .dijitButtonNode,
.soria .dijitToggleButtonDisabled .dijitButtonNode,
.soria .dijitDropDownButtonDisabled .dijitButtonNode,
.soria .dijitComboButtonDisabled .dijitButtonNode,
.soria .dijitComboBoxDisabled,
.soria .dijitSpinnerDisabled,
.soria .dijitSpinnerDisabled .dijitButtonNode {
	
	border-color: #b9bbdd #b9bbdd #b9bbdd #b9bbdd;
	background:#c3d3e5 url(images/buttonDisabled.png) top repeat-x;
	opacity: 0.60;
}
.dj_ie6 .soria .dijitComboButtonDisabled .dijitButtonText {
	
	color: #aaa;
}
.soria .dijitButtonHover .dijitButtonNode,
.soria .dijitButtonNodeHover,
.soria .dijitToggleButtonHover .dijitButtonNode,
.soria .dijitDropDownButtonHover .dijitButtonNode,
.soria .dijitComboButtonHover .dijitButtonContents,
.soria .dijitComboButtonDownArrowHover .dijitDownArrowButton,
.soria .dijitComboBoxHover .dijitDownArrowButton,
.soria .dijitSpinnerUpArrowHover .dijitUpArrowButton,
.soria .dijitSpinnerDownArrowHover .dijitDownArrowButton {
	
	
	color:#243C5F;
	background:#acc5e2 url(images/buttonHover.png) repeat-x top left;
}
.soria .dijitButtonActive .dijitButtonNode,
.soria .dijitToggleButtonActive .dijitButtonNode,
.soria .dijitDropDownButtonActive .dijitButtonNode,
.soria .dijitComboButtonActive .dijitButtonContents,
.soria .dijitStackController .dijitToggleButtonChecked .dijitButtonNode {
	
	border-color:#657c9c;
	background: #91b4e5 url(images/buttonActive.png) top left repeat-x;
}
.soria .dijitSpinnerUpArrowActive .dijitUpArrowButton,
.soria .dijitSpinnerDownArrowActive .dijitDownArrowButton,
.soria .dijitComboBoxActive .dijitDownArrowButton {
	
	background: #91b4e5 url(images/buttonActive.png) top left repeat-x;
}
.soria .dijitArrowButtonInner {
	background-image: url(images/spriteArrows.png);
	background-repeat: no-repeat;
	background-position: 0px top;
	width: 11px;
}
.soria .dijitLeftArrowButton .dijitArrowButtonInner {
	background-position: -11px top;
}
.soria .dijitUpArrowButton .dijitArrowButtonInner {
	background-position: -22px top;
}
.soria .dijitRightArrowButton .dijitArrowButtonInner {
	background-position: -33px top;
}
.dj_ie6 .soria .dijitArrowButtonInner {
	background-image: url(images/spriteArrows.gif);
}
.soria .dijitComboBox .dijitArrowButton .dijitArrowButtonInner {
	background:url(images/spriteArrows.png) no-repeat left center;
	width: 11px;
}
.dj_ie6 .soria .dijitComboBox .dijitArrowButton .dijitArrowButtonInner {
	background:url(images/spriteArrows.gif) no-repeat left center;
}
.soria .dijitComboBoxHover .dijitArrowButtonInner {
	
}
.soria .dijitToggleButton .dijitCheckBox,
.soria .dijitToggleButton .dijitCheckBoxIcon {
	background-image: url(images/spriteCheckbox.gif);
}
.soria .dijitCheckBox,
.soria .dijitCheckBoxIcon {		
	background-image: url(images/spriteCheckbox.gif); 
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}
.soria .dijitCheckBox,
.soria .dijitToggleButton .dijitCheckBoxIcon {
	
	background-position: -16px;
}
.soria .dijitCheckBoxChecked,
.soria .dijitToggleButtonChecked .dijitCheckBoxIcon {
	
	background-position: 0px;
}
.soria .dijitCheckBoxDisabled {
	
	background-position: -48px;
}
.soria .dijitCheckBoxCheckedDisabled {
	
	background-position: -32px;
}
.soria .dijitCheckBoxHover {
	
	background-position: -80px;
}
.soria .dijitCheckBoxCheckedHover {
	
	background-position: -64px;
}
.soria .dijitToggleButton .dijitRadio,
.soria .dijitToggleButton .dijitRadioIcon {
	background-image: url(images/spriteRadio.gif);
}
.soria .dijitRadio,
.soria .dijitRadioIcon	{		
	background-image: url(images/spriteRadio.gif); 
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
}
.soria .dijitRadio,
.soria .dijitToggleButton .dijitRadioIcon {
	
	background-position: -16px;
}
.soria .dijitRadioChecked,
.soria .dijitToggleButtonChecked .dijitRadioIcon {
	
	background-position: 0px;
}
.soria .dijitRadioDisabled {
	
	background-position: -48px;
}
.soria .dijitRadioCheckedDisabled {
	
	background-position: -32px;
}
.soria .dijitRadioHover {
	
	background-position: -80px;
}
.soria .dijitRadioCheckedHover {
	
	background-position: -64px;
}
.soria .dijitSliderProgressBarH {
	border-color: #b1badf;
	background: #c0c2c5 url(images/sliderFull.png) repeat-x top left;
}
.soria .dijitSliderProgressBarV {
	border-color: #b1badf;
	background: #c0c2c5 url(images/sliderFullVertical.png) repeat-y bottom left;
}
.soria .dijitSliderFocused .dijitSliderProgressBarH,
.soria .dijitSliderFocused .dijitSliderLeftBumper {
	background-image:url(images/sliderFullFocus.png);
}
.soria .dijitSliderFocused .dijitSliderProgressBarV,
.soria .dijitSliderFocused .dijitSliderBottomBumper {
	background-image:url(images/sliderFullVerticalFocus.png);
}
.soria .dijitSliderRemainingBarV {
	border-color: #b4b4b4;
	background: #dcdcdc url(images/sliderEmptyVertical.png) repeat-y bottom left;
}
.soria .dijitSliderRemainingBarH {
	border-color: #b4b4b4;
	background: #dcdcdc url(images/sliderEmpty.png) repeat-x top left;
}
.soria .dijitSliderBar {
	border-style: solid;
	outline:1px;
	
}
.soria .dijitSliderFocused .dijitSliderBar {
	border-color:#8ba0bd;
}
.dijit_a11y .dijitSliderProgressBar {
	background-color:#333 !important;
}
.soria .dijitSliderImageHandleH {
	border:0px;
	width:15px;
	height:18px;
	background:url(images/preciseSliderThumb.png) no-repeat center top;
	cursor:pointer;
}
.soria .dijitSliderFocused .dijitSliderImageHandleH {
	background-image:url(images/preciseSliderThumbFocus.png);
	#background-image:url(images/preciseSliderThumbFocus.gif);
}
.dj_ie6 .soria .dijitSliderImageHandleH {
	background-image:url(images/preciseSliderThumb.gif);
}
.soria .dijitSliderLeftBumper {
	border-left-width: 1px;
	border-color: #aab0bb;
	background: #c0c2c5 url(images/sliderFull.png) repeat-x top left;
}
.soria .dijitSliderRightBumper {
	background: #dcdcdc url(images/sliderEmpty.png) repeat-x top left;
	border-color: #b4b4b4;
	border-right-width: 1px;
}
.soria .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;
}
.soria .dijitSliderFocused .dijitSliderImageHandleV {
	background-image:url(images/sliderThumbFocus.png);
	#background-image:url(images/sliderThumbFocus.gif);
}
.soria .dijitSliderBottomBumper {
	border-bottom-width: 1px;
	border-color: #aab0bb;
	background: #c0c2c5 url(images/sliderFullVertical.png) repeat-y bottom left;
}
.soria .dijitSliderTopBumper {
	background: #dcdcdc url(images/sliderEmptyVertical.png) repeat-y top left;
	border-color: #b4b4b4;
	border-top-width: 1px;
}
.soria .dijitSliderIncrementIconH,
.soria .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;
}
.soria .dijitSliderIncrementIconH {
	background:url(images/spriteRoundedIconsSmall.png) no-repeat -30px top;
	#background:url(images/spriteRoundedIconsSmall.gif) no-repeat -30px top;
}
.soria .dijitSliderDecrementIconH,
.soria .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;
}
.soria .dijitSliderDecrementIconH {
	background:url(images/spriteRoundedIconsSmall.png) no-repeat 0px top;
	#background:url(images/spriteRoundedIconsSmall.gif) no-repeat 0px top;
}
.soria .dijitSliderButtonInner {
	visibility:hidden;
}
.soria .dijitSliderReadOnly *,
.soria .dijitSliderDisabled * {
	border-color: #d5d5d5 #bdbdbd #bdbdbd #d5d5d5;
	color: #bdbdbd;
}
.soria .dijitSliderReadOnly .dijitSliderDecrementIconH,
.soria .dijitSliderDisabled .dijitSliderDecrementIconH {
	background-position: 0px -15px;
}
.soria .dijitSliderReadOnly .dijitSliderIncrementIconH,
.soria .dijitSliderDisabled .dijitSliderIncrementIconH {
	background-position: -30px -15px;
}
.soria .dijitSliderReadOnly .dijitSliderDecrementIconV,
.soria .dijitSliderDisabled .dijitSliderDecrementIconV {
	background-position: -15px -15px;
}
.soria .dijitSliderReadOnly .dijitSliderIncrementIconV,
.soria .dijitSliderDisabled .dijitSliderIncrementIconV {
	background-position: -45px -15px;
}
.soria .dijitSelectDisabled * {
    cursor: not-allowed !important;
}
.soria .dijitSelectReadOnly * {
    cursor: default !important;
}
.soria .dijitSelect .dijitButtonNode {
	padding: 0px;
}
.soria .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;
}
.soria .dijitSelectHover .dijitButtonContents,
.soria .dijitSelectActive .dijitButtonContents,
.soria .dijitSelectOpened .dijitButtonContents,
.soria .dijitSelectDisabled .dijitButtonContents,
.soria .dijitSelectReadOnly .dijitButtonContents{
	background: transparent none;
}
.dj_ie .soria .dijitSelect .dijitButtonContents {
	padding-top: 0px;
}
.soria .dijitSelectDisabled .dijitButtonNode {
    border-color: #b9bbdd #b9bbdd #b9bbdd #b9bbdd;
    background:#c3d3e5 url(images/buttonDisabled.png) top repeat-x;
}
.dj_ie .soria .dijitSelectDisabled  .dijitButtonNode * {
	filter: gray() alpha(opacity=50);
}
.soria .dijitSelectHover .dijitButtonNode {
    color:#000;
    background:#acc5e2 url(images/buttonHover.png) repeat-x top left;
}
.soria .dijitSelectActive .dijitButtonNode,
.soria .dijitSelectOpened .dijitButtonNode {
    border-color:#657c9c;
    background: #91b4e5 url(images/buttonActive.png) top left repeat-x;
}
.soria .dijitSelectMenu td {
	padding: 0em;
}
.soria .dijitSelectMenu .dijitMenuItemIcon {
	margin: 0.1em 0.2em;
	display: none;
}
.soria .dijitSelectMenu .dijitMenuItemLabel,
.soria .dijitSelectMenu .dijitMenuArrowCell {
	padding: 0.1em 0.2em;
}
.soria .dijitTreeNode {
    background : url(images/treeI.gif) no-repeat;
    background-position : top left;
    background-repeat : repeat-y;
    zoom: 1;	
}
.soria .dijitTreeNodeHover {
	
	background-image: url(images/treeHover.png);
	background-repeat: repeat;
	background-color: none !important;
}
.soria .dijitTreeIsLast {
    background: url(images/treeI_half.gif) no-repeat;
}
.soria .dijitTreeLabel {
	font-weight: normal;
	margin-left: 3px;
}
.soria .dijitTreeIsRoot {
    margin-left: 0;
    background-image: none;
}
.soria .dijitTreeExpando {
    width: 18px;
    height: 18px;
}
.soria .dijitTreeRow {
	
	padding-bottom: 2px;
}
.soria .dijitTreeContent {
    min-height: 18px;
    min-width: 18px;
    padding-left:1px;
}
.soria .dijitTreeExpand {
    width: 18px;
    height: 18px;
    background-repeat : no-repeat;
}
.soria .dijitTreeNodeEmphasized {
    background-color: Highlight;
    color: HighlightText;
}
.soria .dijitTreeLabelFocused {
	outline: 1px invert dotted;
}
.soria .dijitTreeNodeSelected .dijitTreeLabel{
	background:#b8cbec;
}
.soria .dijitTreeExpandoOpened {
	background: url(images/spriteTree.gif) no-repeat -18px top;
}
.soria .dijitTreeExpandoClosed {
	background-image: url(images/spriteTree.gif);
}
.soria .dijitTreeExpandoLeaf {
	background: url(images/spriteTree.gif) no-repeat -36px top;
}
.soria .dijitTreeExpandoLoading {
	background-image: url(images/treeExpand_loading.gif);
}
.soria .dijitTreeIcon {
	width: 16px;
	height: 16px;
}
.soria .dijitFolderOpened {
	background: url(images/spriteDivIcons.gif) no-repeat -16px top;
}
.soria .dijitFolderClosed {
	background: url(images/spriteDivIcons.gif) no-repeat top left;
}
.soria .dijitLeaf {
	background: url(images/spriteDivIcons.gif) no-repeat -32px top;
}
.soria .dijitTreeNode .dojoDndItemBefore,
.soria .dijitTreeNode .dojoDndItemAfter {
	border-bottom: none;
	border-top: none;
}
.soria .dijitTreeNode .dojoDndItemBefore .dijitTreeContent {
	
	border-top: 2px solid #369;
}
.soria .dijitTreeNode .dojoDndItemAfter .dijitTreeContent {
	
	border-bottom: 2px solid #369;
}
.soria .dijitProgressBar {
	margin:2px 0px 2px 0px;
}
.soria .dijitProgressBarEmpty{
	
	background:#fff url(images/progressBarEmpty.png) repeat-x center center;
	border-color: #8ba0bd;
}
.soria .dijitProgressBarTile{
	
	background:#f0f0f0 url(images/progressBarFull.png) repeat-x center center;
}
.soria .dijitProgressBarFull {
	border-right:1px solid #8ba0bd;
}
.soria .dijitProgressBarLabel {
	
	color:#293a4b;
}
.soria .dijitProgressBarIndeterminate .dijitProgressBarTile {
	
	background:#cad2de url(images/progressBarAnim.gif) repeat-x center center;
}
.soria .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;
}
.soria .dijitTitlePaneTitle-hover {
	background: #f9f9f9 url(images/accordionItemActive.png) top repeat-x;
	cursor: pointer;
}
.soria .dijitTitlePaneTitle * {
	vertical-align: middle;
}
.soria .dijitTitlePane .dijitOpen .dijitArrowNode,
.soria .dijitTitlePane .dijitClosed .dijitArrowNode {
	width:15px;
	height:15px;
}
.soria .dijitTitlePaneFocused .dijitTitlePaneTextNode {
	color: #243C5F;
}
.soria .dijitOpen .dijitTitlePaneTextNode,
.soria .dijitFixedOpen .dijitTitlePaneTextNode {
	color: #243C5F;
}
.soria .dijitTitlePane .dijitClosed .dijitArrowNode {
	background: url(images/spriteRoundedIconsSmall.png) no-repeat -30px top;
}
.dj_ie6 .soria .dijitTitlePane .dijitClosed .dijitArrowNode {
	background:url(images/spriteRoundedIconsSmall.gif) no-repeat -30px top;
}
.soria .dijitTitlePane .dijitOpen .dijitArrowNode {
	background:url(images/spriteRoundedIconsSmall.png) no-repeat -15px top;
}
.dj_ie6 .soria .dijitTitlePane .dijitOpen .dijitArrowNode {
	background:url(images/spriteRoundedIconsSmall.gif) no-repeat -15px top;
}
.soria .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;
}
.soria .dijitTitlePaneContentOuter {
	background: #ffffff;
	border:1px solid #bfbfbf;
	border-top: 0px solid #3d3d3d;	
}
.soria .dijitTitlePaneContentInner {
	padding:10px;
}
.dj_ie6 .soria .dijitTitlePaneContentOuter,
.dj_ie6 .soria .dijitTitlePane .dijitTitlePaneTitle {
	zoom: 1;
}
.soria .dijitTitlePaneTextNode {
	margin-left: 4px;
	margin-right: 4px;
}
.soria .dijitCalendarIncrementControl {
	
	width:15px;
	height:15px;
	background-image: url(images/spriteRoundedIconsSmall.png);
	background-repeat: no-repeat;
}
.dj_ie6 .soria .dijitCalendarIncrementControl {
	font-size:.1em;
	background-image: url(images/spriteRoundedIconsSmall.gif);
}
.soria .dijitA11ySideArrow {
	display: none;
}
.soria .dijitCalendarDecrease {
	background-position: top left;
}
.soria .dijitCalendarIncrease {
	background-position: -30px top;
}
.soria table.dijitCalendarContainer {
	font-size: 100%;
	border-spacing: 0;
	border-collapse: separate;
	border: 1px solid #b1badf;
	margin: 0;
}
.soria .dijitCalendarMonthContainer th {
	
	background:#bed7f0 url(images/titleBar.png) repeat-x top;
	padding-top:.3em;
	padding-bottom:.2em;
	text-align:center;
}
.dj_ie6 .soria .dijitCalendarMonthContainer th {
	padding-top:.2em;
	padding-bottom:.1em;
}
.soria .dijitCalendarDayLabelTemplate {
	
	background:#bed7f0;
	font-weight:normal;
	padding-top:.15em;
	padding-bottom:.2em;
	border-bottom: 1px solid #b1badf;
	color:#293a4b;
	text-align:center;
}
.soria .dijitCalendarBodyContainer {
	border-bottom: 1px solid #eeeeee;
}
.soria .dijitCalendarMonthLabel {
	color:#293a4b;
	font-weight: bold;
}
.soria .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: #fff;
	border:#fff solid 1px !important;
}
.dj_ie .soria .dijitCalendarDateTemplate {
	padding: 0.1em .33em 0.02em .33em;
}
.soria .dijitCalendarPreviousMonth,
.soria .dijitCalendarNextMonth 		{
	
	color:#999999;
	background-color:#fdfdfd !important;
	border:#fdfdfd solid 1px !important;
}
.soria .dijitCalendarPreviousMonthDisabled,
.soria .dijitCalendarNextMonthDisabled	{
	
	background-color:#a4a5a6 !important;
}
.soria .dijitCalendarCurrentMonth {
	
}
.soria .dijitCalendarCurrentMonthDisabled {
	
	background-color:#bbbbbc !important;
}
.soria .dijitCalendarDisabledDate {
	
	
	text-decoration:line-through !important;
	cursor:default !important;
}
.soria .dijitCalendarCurrentDate {
	
	text-decoration:underline;
	font-weight:bold;
}
.soria .dijitCalendarSelectedDate {
	
	background-color:#b9cbf1 !important;
	color:black !important;
	border:#4b5aaa solid 1px !important;
}
.soria .dijitCalendarYearContainer {
	
	background:white url(images/titleBar.png) repeat-x top;
}
.soria .dijitCalendarYearLabel {
	
	margin:0;
	padding:0.4em 0 0.25em 0;
	text-align:center;
}
.soria .dijitCalendarSelectedYear {
	
	color:black;
	padding:0.2em;
	padding-bottom:0.1em;
	background-color:#b9cbf1 !important;
	border:#4b5aaa solid 1px !important;
}
.soria .dijitCalendarNextYear,
.soria .dijitCalendarPreviousYear {
	
	color:black !important;
	font-weight:normal;
}
.soria .dijitTimePickerTick,
.soria .dijitTimePickerMarker {
	border-color: #b1badf;
}
.soria .dijitTimePickerTick {
	color:white;
}
.soria .dijitTimePickerMarker {
	background:#bed7f0 url(images/titleBar.png) repeat-x top;
	color:#293a4b;
	font-weight: bold;
}
.soria .dijitTimePickerItemSelected {
	color: black;
	background: #b9cbf1 none;
}
.soria .dijitTimePickerItemHover {
	background: #60a1ea none;
	color:white;
}
.soria .dijitTimePickerItemHover,
.soria .dijitTimePickerItemSelected {
	position: relative;
	z-index: 10;
}
.soria .dijitTimePickerTick .dijitTimePickerItemInner {
	font-size:0.4em;
}
.soria .dijitTimePickerItemHover .dijitTimePickerItemInner,
.soria .dijitTimePickerItemSelected .dijitTimePickerItemInner {
	font-size:1em;
}
.soria .dijitTimePickerMarkerHover {
	border-top: 1px solid #94b9ef;
}
.soria .dijitTimePickerTickHover,
.soria .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;
}
.soria .dijitToolbar {
	border-bottom: 1px solid #ccc;
	background:#eaeaea url(images/titleBar.png) repeat-x top left;
}
.dj_ie6 .soria .dijitToolbar {
	height: 10px;
}
.soria .dijitToolbar .dijitButtonNode,
.soria .dijitToolbar .dijitComboButton .dijitButtonContents,
.soria .dijitToolbar .dijitComboButton .dijitDownArrowButton {
	background: none;
	margin: 0px;
	padding: 0px;
	border: none;
	font-size: 12px;
}
.soria .dijitToolbar .dijitButton,
.soria .dijitToolbar .dijitToggleButton,
.soria .dijitToolbar .dijitDropDownButton,
.soria .dijitToolbar .dijitComboButton .dijitButtonContents,
.soria .dijitToolbar .dijitComboButton .dijitDownArrowButton {
	background: none;
	padding: 1px;	
}
.soria .dijitToolbar .dijitButtonChecked,
.soria .dijitToolbar .dijitToggleButtonChecked {
	background-color:#d8e5f8;
	border:1px solid #316ac5;
	padding: 0px;
}
.soria .dijitToolbar .dijitButtonCheckedHover,
.soria .dijitToolbar .dijitToggleButtonCheckedHover
 {
	background-color:#9abbea;
	border:1px solid #316ac5;
	padding: 0px;
}
.soria .dijitToolbar .dijitButtonHover,
.soria .dijitToolbar .dijitToggleButtonHover,
.soria .dijitToolbar .dijitDropDownButtonHover,
.soria .dijitToolbar .dijitComboButtonHover .dijitButtonContents,
.soria .dijitToolbar .dijitComboButtonDownArrowHover .dijitDownArrowButton {
	
	border: 1px solid #316ac5;
	padding: 0px;
	background-color:#9abbea;
}
.soria .dijitToolbar label {
	padding: 3px 3px 0 6px;
}
.dj_ie .soria .dijitToolbar .dijitComboButton .dijitButtonContentsFocused,
.dj_ie .soria .dijitToolbar .dijitComboButton .dijitDownArrowButtonFocused {
	
	border: 1px #777 dotted !important;
	padding: 0px;
}
.soria .dijitDialog {
	background: #eee;
	border: 1px solid #cbcbcb;
	-webkit-box-shadow: 0px 5px 10px #adadad;
	padding: 0px;
}
.soria .dijitDialog .dijitDialogTitle {
	
	font-weight: bold;
	padding: 0px 4px;
	font-size: 0.9em;
	color: #3243C5F;
}
.soria .dijitDialog .dijitDialogPaneContent {
	background: #ffffff;
	border:none;
	border-top: 1px solid #b1badf; 
	padding:10px;
}
.soria .dijitDialogTitleBar {
	
	background: #fafafa url(images/titleBar.png) repeat-x top left;
	padding: 5px 6px 3px 6px;
	cursor: move;
	outline:0; 
}
.soria .dijitDialogCloseIcon {
	
	background-image: url(images/spriteRoundedIconsSmallBl.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 .soria .dijitDialogCloseIcon {
	background-image: url(images/spriteRoundedIconsSmallBl.gif);
}
.soria .dijitDialogCloseIcon-hover {
	background-position: -60px -15px;
}
.soria .dijitTooltip,
.soria .dijitTooltipDialog {
	
	background: transparent;	
}
.dijitTooltipBelow {
	
	padding-top: 10px;
}
.dijitTooltipAbove {
	
	padding-bottom: 10px;
}
.soria .dijitTooltipContainer {
	
	background-color: #fff;
	border:1px solid #cbcbcb;
	padding:0.45em;
}
.soria .dijitTooltipConnector {
	
	border:0px;
	z-index: 2;
}
.soria .dijitTooltipABRight .dijitTooltipConnector {
	
	left: auto !important;
	right: 6px;
}
.soria .dijitTooltipBelow .dijitTooltipConnector {
	
	top: 0px;
	left: 6px;
	background:url(images/tooltipConnectorUp.png) no-repeat top left;
	width:17px;
	height:11px;
}
.dj_ie .soria .dijitTooltipBelow .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorUp.gif);
}
.soria .dijitTooltipAbove .dijitTooltipConnector {
	
	bottom: 0px;
	left: 6px;
	background:url(images/tooltipConnectorDown.png) no-repeat top left;
	width:17px;
	height:11px;
}
.dj_ie .soria .dijitTooltipAbove .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorDown.gif);
}
.dj_ie .soria .dijitTooltipAbove .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorDown.gif);
}
.dj_ie6 .soria .dijitTooltipAbove .dijitTooltipConnector {
	bottom: -5px;
}
.soria .dijitTooltipLeft {
	padding-right: 10px;
}
.dj_ie6 .soria .dijitTooltipLeft {
	padding-left: 11px;
}
.soria .dijitTooltipLeft .dijitTooltipConnector {
	
	right: 0px;
	bottom: 3px;
	background:url(images/tooltipConnectorRight.png) no-repeat top left;
	width:11px;
	height:17px;
}
.dj_ie .soria .dijitTooltipLeft .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorRight.gif);
}
.soria .dijitTooltipRight {
	padding-left: 10px;
}
.soria .dijitTooltipRight .dijitTooltipConnector {
	
	left: 0px;
	bottom: 3px;
	background:url(images/tooltipConnectorLeft.png) no-repeat top left;
	width:11px;
	height:17px;
}
.dj_ie .soria .dijitTooltipRight .dijitTooltipConnector {
	background-image: url(images/tooltipConnectorLeft.gif);
}
.soria .dijitMenu,
.soria .dijitMenuBar {
	border: 1px solid #cbcbcb;
	margin: 0px;
	padding: 0px;
	background-color: #fff;
}
.soria .dijitBorderContainer .dijitMenuBar {
	border:1px solid #B1BADF;
}
.soria .dijitMenuItem {
	font-family: sans-serif;
	margin: 0px;
	color: #243C5F;
}
.soria .dijitMenuBar .dijitMenuItem {
	padding: 4px 5px;
}
.soria .dijitMenuPreviousButton, .soria .dijitMenuNextButton {
	font-style: italic;
}
.soria .dijitMenuItem TD {
	padding:1px;
}
.soria .dijitMenuPassive .dijitMenuItemHover,
.soria .dijitMenuItemSelected {
	background-color: #d9e6f9; 
	color: #243C5F;
}
.soria .dijitMenuItemIcon {
	width: 15px;
	height: 15px;
}
.soria .dijitMenuExpand {
	width:15px;
	height:15px;
	background-image: url(images/spriteRoundedIconsSmall.png);
	background-position: -30px top;
}
.dj_ie6 .soria .dijitMenuExpand {
	background-image: url(images/spriteRoundedIconsSmall.gif);
}
.soria .dijitMenuSeparator {
	height: 1px;
}
.soria .dijitMenuSeparatorTop {
	border-bottom: 1px solid #fff; 
}
.soria .dijitMenuSeparatorBottom {
	border-top: 1px solid #8ba0bd;
}
.soria .dijitCheckedMenuItemIconChar {
	display: none;
}
.soria .dijitCheckedMenuItemIcon {
	background-image: url(images/spriteCheckbox.gif);
	background-position: -80px;
}
.soria .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon {
	background-position: -64px;
}
.dijitIEFixedToolbar {
	position:absolute;
	
	top: expression(eval((document.documentElement||document.body).scrollTop));
}
.soria .dijitToolbar .dijitToolbarSeparator {
	background: url(images/editor.gif);
}
.soria .dijitEditorIcon {
	background-image: url(images/editor.gif); 
	background-repeat: no-repeat;
	width: 18px;
	height: 18px;
	text-align: center;
}
.soria .dijitDisabled .dijitEditorIcon {
	background-image: url(images/editorDisabled.gif); 
}
.soria .dijitEditorIconSep { background-position: 0px; }
.soria .dijitEditorIconBackColor { background-position: -18px; }
.soria .dijitEditorIconBold { background-position: -36px; }
.soria .dijitEditorIconCancel { background-position: -54px; }
.soria .dijitEditorIconCopy { background-position: -72px; }
.soria .dijitEditorIconCreateLink { background-position: -90px; }
.soria .dijitEditorIconCut { background-position: -108px; }
.soria .dijitEditorIconDelete { background-position: -126px; }
.soria .dijitEditorIconForeColor { background-position: -144px; }
.soria .dijitEditorIconHiliteColor { background-position: -162px; }
.soria .dijitEditorIconIndent { background-position: -180px; }
.soria .dijitEditorIconInsertHorizontalRule { background-position: -198px; }
.soria .dijitEditorIconInsertImage { background-position: -216px; }
.soria .dijitEditorIconInsertOrderedList { background-position: -234px; }
.soria .dijitEditorIconInsertTable { background-position: -252px; }
.soria .dijitEditorIconInsertUnorderedList { background-position: -270px; }
.soria .dijitEditorIconItalic { background-position: -288px; }
.soria .dijitEditorIconJustifyCenter { background-position: -306px; }
.soria .dijitEditorIconJustifyFull { background-position: -324px; }
.soria .dijitEditorIconJustifyLeft { background-position: -342px; }
.soria .dijitEditorIconJustifyRight { background-position: -360px; }
.soria .dijitEditorIconLeftToRight { background-position: -378px; }
.soria .dijitEditorIconListBulletIndent { background-position: -396px; }
.soria .dijitEditorIconListBulletOutdent { background-position: -414px; }
.soria .dijitEditorIconListNumIndent { background-position: -432px; }
.soria .dijitEditorIconListNumOutdent { background-position: -450px; }
.soria .dijitEditorIconOutdent { background-position: -468px; }
.soria .dijitEditorIconPaste { background-position: -486px; }
.soria .dijitEditorIconRedo { background-position: -504px; }
.soria .dijitEditorIconRemoveFormat { background-position: -522px; }
.soria .dijitEditorIconRightToLeft { background-position: -540px; }
.soria .dijitEditorIconSave { background-position: -558px; }
.soria .dijitEditorIconSpace { background-position: -576px; }
.soria .dijitEditorIconStrikethrough { background-position: -594px; }
.soria .dijitEditorIconSubscript { background-position: -612px; }
.soria .dijitEditorIconSuperscript { background-position: -630px; }
.soria .dijitEditorIconUnderline { background-position: -648px; }
.soria .dijitEditorIconUndo { background-position: -666px; }
.soria .dijitEditorIconWikiword { background-position: -684px; }
.soria .dijitEditorIconToggleDir { background-position: -540px; }
.soria .dijitEditorIconTabIndent { background-position: -702px; }
.soria .dijitEditorIconSelectAll { background-position: -720px; }
.soria .dijitEditorIconUnlink { background-position: -738px; }
.soria .dijitEditorIconFullScreen { background-position: -756px; }
.soria .dijitEditorIconViewSource { background-position: -774px; }
.soria .dijitEditorIconPrint { background-position: -792px; }
.soria .dijitEditorIconNewPage { background-position: -810px; }
.dijitColorPalette {
	border:1px solid #cbcbcb;
	background:#fff;
	-moz-border-radius: 0px !important;
}
