/**
 * The file contains styles for GWT widgets in the chrome theme, in RTL mode.
 *
 * In order to maintain cross-browser compatibility, the following syntax is
 * used to create IE6 specific style rules:
 *    .gwt-Widget {
 *      property: rule applies to all browsers
 *      -property: rule applies only to IE6 (overrides previous rule)
 *    }
 *    * html .gwt-Widget {
 *      property: rule applies to all versions of IE
 *    }
 */

body, table td, select {
  font-family: Arial Unicode MS, Arial, sans-serif;
  font-size: small;
}
pre {
  font-family: "courier new", courier;
  font-size: small;
}
body {
  color: black;
  margin: 0px;
  border: 0px;
  padding: 0px;
  background: #fff;
  direction: rtl;
}
a, a:visited, a:hover {
  color: #0000AA;
}

/**
 * The reference theme can be used to determine when this style sheet has
 * loaded.  Create a hidden div element with absolute position, assign the style
 * name below, and attach it to the DOM.  Use a timer to detect when the
 * element's height and width are set to 5px.
 */
.gwt-Reference-chrome-rtl {
  height: 5px;
  width: 5px;
  zoom: 1;
}

.gwt-Button {
  margin: 0;
  padding: 3px 5px;
  text-decoration: none;
  font-size: small;
  cursor: pointer;
  cursor: hand;
  background: url("images/hborder.png") repeat-x 0px -27px;
  border: 1px outset #ccc;
}
.gwt-Button:active {
  border: 1px inset #ccc;
}
.gwt-Button:hover {
  border-color: #9cf #69e #69e #7af;
}
.gwt-Button[disabled] {
  cursor: default;
  color: #888;
}
.gwt-Button[disabled]:hover {
  border: 1px outset #ccc;
}

.gwt-CheckBox {
}
.gwt-CheckBox-disabled {
  color: #888;
}

.gwt-DecoratorPanel {
}
.gwt-DecoratorPanel .topCenter,
.gwt-DecoratorPanel .bottomCenter {
  background: url(images/hborder.png) repeat-x;
}
.gwt-DecoratorPanel .middleLeft,
.gwt-DecoratorPanel .middleRight {
  background: url(images/vborder.png) repeat-y;
}
.gwt-DecoratorPanel .topLeftInner,
.gwt-DecoratorPanel .topRightInner,
.gwt-DecoratorPanel .bottomLeftInner,
.gwt-DecoratorPanel .bottomRightInner {
  width: 5px;
  height: 5px;
  zoom: 1;
}
.gwt-DecoratorPanel .topLeft {
  background: url(images/corner.png) no-repeat 0px 0px;
  -background: url(images/corner_ie6.png) no-repeat 0px 0px;
}
.gwt-DecoratorPanel .topRight {
  background: url(images/corner.png) no-repeat -5px 0px;
  -background: url(images/corner_ie6.png) no-repeat -5px 0px;
}
.gwt-DecoratorPanel .bottomLeft {
  background: url(images/corner.png) no-repeat 0px -5px;
  -background: url(images/corner_ie6.png) no-repeat 0px -5px;
}
.gwt-DecoratorPanel .bottomRight {
  background: url(images/corner.png) no-repeat -5px -5px;
  -background: url(images/corner_ie6.png) no-repeat -5px -5px;
}
* html .gwt-DecoratorPanel .topLeftInner,
* html .gwt-DecoratorPanel .topRightInner,
* html .gwt-DecoratorPanel .bottomLeftInner,
* html .gwt-DecoratorPanel .bottomRightInner {
  width: 5px;
  height: 5px;
  overflow: hidden;
}

.gwt-DialogBox .Caption {
  background: #ebebeb url(images/hborder.png) repeat-x 0px -2003px;
  padding: 4px 8px 4px 4px;
  cursor: default;
  border-bottom: 1px solid #bbbbbb;
  border-top: 5px solid #e3e3e3;
}
.gwt-DialogBox .dialogContent {
}
.gwt-DialogBox .dialogMiddleCenter {
  padding: 3px;
  background: white;
}
.gwt-DialogBox .dialogBottomCenter {
  background: url(images/hborder.png) repeat-x 0px -4px;
  -background: url(images/hborder_ie6.png) repeat-x 0px -4px;
}
.gwt-DialogBox .dialogMiddleLeft {
  background: url(images/vborder.png) repeat-y;
}
.gwt-DialogBox .dialogMiddleRight {
  background: url(images/vborder.png) repeat-y -4px 0px;
  -background: url(images/vborder_ie6.png) repeat-y -4px 0px;
}
.gwt-DialogBox .dialogTopLeftInner {
  width: 5px;
  zoom: 1;
}
.gwt-DialogBox .dialogTopRightInner {
  width: 8px;
  zoom: 1;
}
.gwt-DialogBox .dialogBottomLeftInner {
  width: 5px;
  height: 8px;
  zoom: 1;
}
.gwt-DialogBox .dialogBottomRightInner {
  width: 5px;
  height: 8px;
  zoom: 1;
}
.gwt-DialogBox .dialogTopLeft {
  background: url(images/corner.png) no-repeat -13px 0px;
  -background: url(images/corner_ie6.png) no-repeat -13px 0px;
}
.gwt-DialogBox .dialogTopRight {
  background: url(images/corner.png) no-repeat -18px 0px;
  -background: url(images/corner_ie6.png) no-repeat -18px 0px;
}
.gwt-DialogBox .dialogBottomLeft {
  background: url(images/corner.png) no-repeat 0px -15px;
  -background: url(images/corner_ie6.png) no-repeat 0px -15px;
}
.gwt-DialogBox .dialogBottomRight {
  background: url(images/corner.png) no-repeat -5px -15px;
  -background: url(images/corner_ie6.png) no-repeat -5px -15px;
}
* html .gwt-DialogBox .dialogTopLeftInner {
  width: 5px;
  overflow: hidden;
}
* html .gwt-DialogBox .dialogTopRightInner {
  width: 8px;
  overflow: hidden;
}
* html .gwt-DialogBox .dialogBottomLeftInner {
  width: 5px;
  height: 8px;
  overflow: hidden;
}
* html .gwt-DialogBox .dialogBottomRightInner {
  width: 8px;
  height: 8px;
  overflow: hidden;
}

.gwt-DisclosurePanel {
}
.gwt-DisclosurePanel-open {
}
.gwt-DisclosurePanel-closed {
}
.gwt-DisclosurePanel .header,
.gwt-DisclosurePanel .header a,
.gwt-DisclosurePanel .header td {
  text-decoration: none;  /* Remove underline from header */
  color: black; 
  cursor: pointer;
  cursor: hand;
}
.gwt-DisclosurePanel .content {
  border-right: 3px solid #e3e3e3;
  padding: 4px 8px 4px 0px;
  margin-right: 6px;
}

.gwt-FileUpload {
}

.gwt-Frame {
  border-top: 2px solid #666;
  border-left: 2px solid #666;
  border-right: 2px solid #bbb;
  border-bottom: 2px solid #bbb;
}

.gwt-HorizontalSplitPanel {
}
.gwt-HorizontalSplitPanel .hsplitter {
  cursor: move;
  border: 0px; 
  background: #91c0ef url(images/vborder.png) repeat-y;
  line-height: 0px;
}
.gwt-VerticalSplitPanel {
}
.gwt-VerticalSplitPanel .vsplitter {
  cursor: move;
  border: 0px; 
  background: #91c0ef url(images/hborder.png) repeat-x;
  line-height: 0px;
}

.gwt-HTML {
}

.gwt-Hyperlink {
}

.gwt-Image {
}

.gwt-Label {
}

.gwt-ListBox {
}

.gwt-MenuBar {
  cursor: default;
}
.gwt-MenuBar .gwt-MenuItem {
  cursor: default;
}
.gwt-MenuBar .gwt-MenuItem-selected {
  background: #cdcdcd;
}
.gwt-MenuBar .gwt-MenuItem-disabled {
  color: #cdcdcd;
}
.gwt-MenuBar-horizontal {
  background: #ebebeb url(images/hborder.png) repeat-x 0px -2003px;
  border: 1px solid #BBBBBB;
}
.gwt-MenuBar-horizontal .gwt-MenuItem {
  padding: 0px 10px;
  vertical-align: bottom;
  color: #666666;
  font-weight: bold;
}
.gwt-MenuBar-horizontal .gwt-MenuItemSeparator {
  width: 1px;
  padding: 0px;
  margin: 0px;
  border: 0px;
  border-right: 1px solid #888888;
  background: white;
}
.gwt-MenuBar-horizontal .gwt-MenuItemSeparator .menuSeparatorInner {
  width: 1px;
  height: 1px;
  background: white; 
}
.gwt-MenuBar-vertical {
  margin-top: 0px;
  margin-right: 0px;
  background: white;
}
.gwt-MenuBar-vertical table {
  border-collapse: collapse;
}
.gwt-MenuBar-vertical .gwt-MenuItem {
  padding: 4px 1px 4px 14px;
}
.gwt-MenuBar-vertical .gwt-MenuItemSeparator {
  padding: 2px 0px;
}
.gwt-MenuBar-vertical .gwt-MenuItemSeparator .menuSeparatorInner {
  height: 1px;
  padding: 0px;
  border: 0px;
  border-top: 1px solid #777777;
  background: #ddddee;
  overflow: hidden;
}
.gwt-MenuBar-vertical .subMenuIcon {
  padding-left: 4px;
}
.gwt-MenuBar-vertical .subMenuIcon-selected {
  background: #cdcdcd;
}
.gwt-MenuBarPopup {
  margin: 0px 3px 0px 0px;
}
.gwt-MenuBarPopup .menuPopupTopCenter {
  background: url(images/hborder.png) 0px -12px repeat-x;
}
.gwt-MenuBarPopup .menuPopupBottomCenter {
  background: url(images/hborder.png) 0px -13px repeat-x;
  -background: url(images/hborder_ie6.png) 0px -13px repeat-x;
}
.gwt-MenuBarPopup .menuPopupMiddleLeft {
  background: url(images/vborder.png) -12px 0px repeat-y;
  -background: url(images/vborder_ie6.png) -12px 0px repeat-y;
}
.gwt-MenuBarPopup .menuPopupMiddleRight {
  background: url(images/vborder.png) -13px 0px repeat-y;
  -background: url(images/vborder_ie6.png) -13px 0px repeat-y;
}
.gwt-MenuBarPopup .menuPopupTopLeftInner {
  width: 5px;
  height: 5px;
  zoom: 1;
}
.gwt-MenuBarPopup .menuPopupTopRightInner {
  width: 8px;
  height: 5px;
  zoom: 1;
}
.gwt-MenuBarPopup .menuPopupBottomLeftInner {
  width: 5px;
  height: 8px;
  zoom: 1;
}
.gwt-MenuBarPopup .menuPopupBottomRightInner {
  width: 8px;
  height: 8px;
  zoom: 1;
}
.gwt-MenuBarPopup .menuPopupTopLeft {
  background: url(images/corner.png) no-repeat 0px -36px;
  -background: url(images/corner_ie6.png) no-repeat 0px -36px;
}
.gwt-MenuBarPopup .menuPopupTopRight {
  background: url(images/corner.png) no-repeat -5px -36px;
  -background: url(images/corner_ie6.png) no-repeat -5px -36px;
}
.gwt-MenuBarPopup .menuPopupBottomLeft {
  background: url(images/corner.png) no-repeat 0px -41px;
  -background: url(images/corner_ie6.png) no-repeat 0px -41px;
}
.gwt-MenuBarPopup .menuPopupBottomRight {
  background: url(images/corner.png) no-repeat -5px -41px;
  -background: url(images/corner_ie6.png) no-repeat -5px -41px;
}
* html .gwt-MenuBarPopup .menuPopupTopLeftInner {
  width: 5px;
  height: 5px;
  overflow: hidden;
}
* html .gwt-MenuBarPopup .menuPopupTopRightInner {
  width: 8px;
  height: 5px;
  overflow: hidden;
}
* html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
  width: 5px;
  height: 8px;
  overflow: hidden;
}
* html .gwt-MenuBarPopup .menuPopupBottomRightInner {
  width: 8px;
  height: 8px;
  overflow: hidden;
}

.gwt-PasswordTextBox {
  padding: 2px;
}
.gwt-PasswordTextBox-readonly {
  color: #888;
}

.gwt-PopupPanel {
  border: 3px solid #e3e3e3;
  padding: 3px;
  background: white;
}

.gwt-DecoratedPopupPanel .popupContent {
}
.gwt-DecoratedPopupPanel .popupMiddleCenter {
  padding: 3px;
  background: #e3e3e3;
}
.gwt-DecoratedPopupPanel .popupTopCenter {
  background: url(images/hborder.png) repeat-x;
}
.gwt-DecoratedPopupPanel .popupBottomCenter {
  background: url(images/hborder.png) repeat-x 0px -4px;
  -background: url(images/hborder_ie6.png) repeat-x 0px -4px;
}
.gwt-DecoratedPopupPanel .popupMiddleLeft {
  background: url(images/vborder.png) repeat-y;
}
.gwt-DecoratedPopupPanel .popupMiddleRight {
  background: url(images/vborder.png) repeat-y -4px 0px;
  -background: url(images/vborder_ie6.png) repeat-y -4px 0px;
}
.gwt-DecoratedPopupPanel .popupTopLeftInner {
  width: 5px;
  height: 5px;
  zoom: 1;
}
.gwt-DecoratedPopupPanel .popupTopRightInner {
  width: 8px;
  height: 5px;
  zoom: 1;
}
.gwt-DecoratedPopupPanel .popupBottomLeftInner {
  width: 5px;
  height: 8px;
  zoom: 1;
}
.gwt-DecoratedPopupPanel .popupBottomRightInner {
  width: 8px;
  height: 8px;
  zoom: 1;
}
.gwt-DecoratedPopupPanel .popupTopLeft {
  background: url(images/corner.png) no-repeat 0px -10px;
  -background: url(images/corner_ie6.png) no-repeat 0px -10px;
}
.gwt-DecoratedPopupPanel .popupTopRight {
  background: url(images/corner.png) no-repeat -5px -10px;
  -background: url(images/corner_ie6.png) no-repeat -5px -10px;
}
.gwt-DecoratedPopupPanel .popupBottomLeft {
  background: url(images/corner.png) no-repeat 0px -15px;
  -background: url(images/corner_ie6.png) no-repeat 0px -15px;
}
.gwt-DecoratedPopupPanel .popupBottomRight {
  background: url(images/corner.png) no-repeat -5px -15px;
  -background: url(images/corner_ie6.png) no-repeat -5px -15px;
}
* html .gwt-DecoratedPopupPanel .popupTopLeftInner {
  width: 5px;
  height: 5px;
  overflow: hidden;
}
* html .gwt-DecoratedPopupPanel .popupTopRightInner {
  width: 8px;
  height: 5px;
  overflow: hidden;
}
* html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
  width: 5px;
  height: 8px;
  overflow: hidden;
}
* html .gwt-DecoratedPopupPanel .popupBottomRightInner {
  width: 8px;
  height: 8px;
  overflow: hidden;
}

.gwt-PopupPanelGlass {
  background-color: #000;
  opacity: 0.3;
  filter: alpha(opacity=30);
}

.gwt-PushButton-up,
.gwt-PushButton-up-hovering,
.gwt-PushButton-up-disabled,
.gwt-PushButton-down,
.gwt-PushButton-down-hovering,
.gwt-PushButton-down-disabled {
  margin: 0;
  text-decoration: none;
  background: url("images/hborder.png") repeat-x 0px -27px;
}
.gwt-PushButton-up,
.gwt-PushButton-up-hovering,
.gwt-PushButton-up-disabled {
  padding: 3px 5px 3px 5px;
}
.gwt-PushButton-up {
  border: 1px outset #ccc;
  cursor: pointer;
  cursor: hand;
}
.gwt-PushButton-up-hovering {
  border: 1px outset;
  border-color: #9cf #69e #69e #7af;
  cursor: pointer;
  cursor: hand;
}
.gwt-PushButton-up-disabled {
  border: 1px outset #ccc;
  cursor: default;
  opacity: .5;
  filter: alpha(opacity=40);
  zoom: 1;
}
.gwt-PushButton-down,
.gwt-PushButton-down-hovering,
.gwt-PushButton-down-disabled {
  padding: 4px 4px 2px 6px;
}
.gwt-PushButton-down {
  border: 1px inset #666;
  cursor: pointer;
  cursor: hand;
}
.gwt-PushButton-down-hovering {
  border: 1px inset;
  border-color: #9cf #69e #69e #7af;
  cursor: pointer;
  cursor: hand;
}
.gwt-PushButton-down-disabled {
  border: 1px outset #ccc;
  cursor: default;
  opacity: 0.5;
  filter: alpha(opacity=40);
  zoom: 1;
}

.gwt-RadioButton {
}
.gwt-RadioButton-disabled {
  color: #888;
}

.gwt-RichTextArea {
}
.hasRichTextToolbar {
  border: 0px;
}
.gwt-RichTextToolbar {
  background: #ebebeb url(images/hborder.png) repeat-x 0px -2003px;
  border-bottom: 1px solid #BBBBBB;
  padding: 3px;
  margin: 0px;
}
.gwt-RichTextToolbar .gwt-PushButton-up {
  padding: 0px 0px 0px 1px;
  margin-left: 4px;
  margin-bottom: 4px;
  border-width: 1px; 
}
.gwt-RichTextToolbar .gwt-PushButton-up-hovering {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 0px 0px 1px;
  border-width: 1px; 
}
.gwt-RichTextToolbar .gwt-PushButton-down {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 1px 0px 0px;
  border-width: 1px; 
}
.gwt-RichTextToolbar .gwt-PushButton-down-hovering {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 1px 0px 0px;
  border-width: 1px; 
}
.gwt-RichTextToolbar .gwt-ToggleButton-up {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 0px 0px 1px;
  border-width: 1px;
}
.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 0px 0px 1px;
  border-width: 1px;
}
.gwt-RichTextToolbar .gwt-ToggleButton-down {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 1px 0px 0px;
  border-width: 1px;
}
.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering {
  margin-left: 4px;
  margin-bottom: 4px;
  padding: 0px 1px 0px 0px;
  border-width: 1px;
}

.gwt-StackPanel {
  border-bottom: 1px solid #bbbbbb;
}
.gwt-StackPanel .gwt-StackPanelItem {
  cursor: pointer;
  cursor: hand;
  font-weight: bold;
  font-size: 1.3em;
  padding: 3px;
  border: 1px solid #bbbbbb;
  border-bottom: 0px;
  background: #d3def6 url(images/hborder.png) repeat-x 0px -989px;
}
.gwt-StackPanel .gwt-StackPanelContent {
  border: 1px solid #bbbbbb;
  border-bottom: 0px;
  background: white;
  padding: 2px 2px 10px 5px;
}

.gwt-DecoratedStackPanel {
  border-bottom: 1px solid #bbbbbb;
}
.gwt-DecoratedStackPanel .gwt-StackPanelContent {
  border: 1px solid #bbbbbb;
  border-bottom: 0px;
  background: white;
  padding: 2px 5px 10px 2px;
}
.gwt-DecoratedStackPanel .gwt-StackPanelItem {
  cursor: pointer;
  cursor: hand;
}
.gwt-DecoratedStackPanel .stackItemTopLeft,
.gwt-DecoratedStackPanel .stackItemTopRight {
  height: 6px;
  width: 6px;
  zoom: 1;
}
.gwt-DecoratedStackPanel .stackItemTopLeft {
  border-left: 1px solid #bbbbbb;
  background: #e4e4e4 url(images/corner.png) no-repeat 0px -49px;
  -background: #e4e4e4 url(images/corner_ie6.png) no-repeat 0px -49px;
}
.gwt-DecoratedStackPanel .stackItemTopRight {
  border-right: 1px solid #bbbbbb;
  background: #e4e4e4 url(images/corner.png) no-repeat -6px -49px;
  -background: #e4e4e4 url(images/corner_ie6.png) no-repeat -6px -49px;
}
.gwt-DecoratedStackPanel .stackItemTopLeftInner,
.gwt-DecoratedStackPanel .stackItemTopRightInner {
  width: 1px;
  height: 1px;
}
* html .gwt-DecoratedStackPanel .stackItemTopLeftInner,
* html .gwt-DecoratedStackPanel .stackItemTopRightInner {
  width: 6px;
  height: 6px;
  overflow: hidden;
}
.gwt-DecoratedStackPanel .stackItemTopCenter {
  background: url(images/hborder.png) 0px -21px repeat-x;
}
.gwt-DecoratedStackPanel .stackItemMiddleLeft {
  background: #d3def6 url(images/hborder.png) repeat-x 0px -989px;
  border-left: 1px solid #bbbbbb;
}
.gwt-DecoratedStackPanel .stackItemMiddleLeftInner,
.gwt-DecoratedStackPanel .stackItemMiddleRightInner {
  width: 1px;
  height: 1px;
}
.gwt-DecoratedStackPanel .stackItemMiddleRight {
  background: #d3def6 url(images/hborder.png) repeat-x 0px -989px;
  border-right: 1px solid #bbbbbb;
}
.gwt-DecoratedStackPanel .stackItemMiddleCenter {
  font-weight: bold;
  font-size: 1.3em;
  background: #d3def6 url(images/hborder.png) repeat-x 0px -989px;
}
.gwt-DecoratedStackPanel .gwt-StackPanelItem-first .stackItemTopRight,
.gwt-DecoratedStackPanel .gwt-StackPanelItem-first .stackItemTopLeft {
  border: 0px;
  background-color: white;
}
.gwt-DecoratedStackPanel .gwt-StackPanelItem-below-selected .stackItemTopLeft,
.gwt-DecoratedStackPanel .gwt-StackPanelItem-below-selected .stackItemTopRight {
  background-color: white;
}

.gwt-SuggestBox {
  padding: 2px;
}
.gwt-SuggestBoxPopup {
  margin-right: 3px;
}
.gwt-SuggestBoxPopup .item {
  padding: 2px 6px;
  color: #424242;
  cursor: default;
}
.gwt-SuggestBoxPopup .item-selected {
  background: #cdcdcd;
}
.gwt-SuggestBoxPopup .suggestPopupContent {
  background: white;
}
.gwt-SuggestBoxPopup .suggestPopupTopCenter {
  background: url(images/hborder.png) repeat-x;
}
.gwt-SuggestBoxPopup .suggestPopupBottomCenter {
  background: url(images/hborder.png) repeat-x 0px -4px;
  -background: url(images/hborder_ie6.png) repeat-x 0px -4px;
}
.gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
  background: url(images/vborder.png) repeat-y;
}
.gwt-SuggestBoxPopup .suggestPopupMiddleRight {
  background: url(images/vborder.png) repeat-y -4px 0px;
  -background: url(images/vborder_ie6.png) repeat-y -4px 0px;
}
.gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
  width: 5px;
  height: 5px;
  zoom: 1;  
}
.gwt-SuggestBoxPopup .suggestPopupTopRightInner {
  width: 8px;
  height: 5px;
  zoom: 1;
}
.gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
  width: 5px;
  height: 8px;
  zoom: 1;
}
.gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
  width: 8px;
  height: 8px;
  zoom: 1;
}
.gwt-SuggestBoxPopup .suggestPopupTopLeft {
  background: url(images/corner.png) no-repeat 0px -23px;
  -background: url(images/corner_ie6.png) no-repeat 0px -23px;
}
.gwt-SuggestBoxPopup .suggestPopupTopRight {
  background: url(images/corner.png) no-repeat -5px -23px;
  -background: url(images/corner_ie6.png) no-repeat -5px -23px;
}
.gwt-SuggestBoxPopup .suggestPopupBottomLeft {
  background: url(images/corner.png) no-repeat 0px -28px;
  -background: url(images/corner_ie6.png) no-repeat 0px -28px;
}
.gwt-SuggestBoxPopup .suggestPopupBottomRight {
  background: url(images/corner.png) no-repeat -5px -28px;
  -background: url(images/corner_ie6.png) no-repeat -5px -28px;
}
* html .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
  width: 5px;
  height: 5px;
  overflow: hidden;
}
* html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
  width: 8px;
  height: 5px;
  overflow: hidden;
}
* html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
  width: 5px;
  height: 8px;
  overflow: hidden;
}
* html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
  width: 8px;
  height: 8px;
  overflow: hidden;
}

.gwt-TabBar {
}
.gwt-TabBar .gwt-TabBarFirst {
  width: 5px;  /* first tab distance from the left */
}
.gwt-TabBar .gwt-TabBarRest {
}
.gwt-TabBar .gwt-TabBarItem {
  margin-left: 6px;
  padding: 3px 6px 3px 6px;
  cursor: pointer;
  cursor: hand;
  color: black;
  font-weight: bold;
  text-align: center;
  background: #e3e3e3;
}
.gwt-TabBar .gwt-TabBarItem-selected {
  cursor: default;
  background: #bcbcbc;
} 
.gwt-TabBar .gwt-TabBarItem-disabled {
  cursor: default;
  color: #999999;
}
.gwt-TabPanel {
}
.gwt-TabPanelBottom {
  border-color: #bcbcbc;
  border-style: solid;
  border-width: 3px 2px 2px;
  overflow: hidden;
  padding: 6px;
}

.gwt-DecoratedTabBar {
}
.gwt-DecoratedTabBar .gwt-TabBarFirst {
  width: 5px;  /* first tab distance from the left */
}
.gwt-DecoratedTabBar .gwt-TabBarRest {
}
.gwt-DecoratedTabBar .gwt-TabBarItem {
  border-collapse: collapse;
  margin-right: 6px;
}
.gwt-DecoratedTabBar .tabTopCenter {
  padding: 0px;
  background: #e3e3e3;
}
.gwt-DecoratedTabBar .tabTopLeft,
.gwt-DecoratedTabBar .tabTopRight {
  padding: 0px;
  zoom: 1;
}
.gwt-DecoratedTabBar .tabTopLeftInner,
.gwt-DecoratedTabBar .tabTopRightInner {
  width: 6px;
  height: 6px;
}
.gwt-DecoratedTabBar .tabTopLeft {
  background: url(images/corner.png) no-repeat 0px -55px;
  -background: url(images/corner_ie6.png) no-repeat 0px -55px;
}
.gwt-DecoratedTabBar .tabTopRight {
  background: url(images/corner.png) no-repeat -6px -55px;
  -background: url(images/corner_ie6.png) no-repeat -6px -55px;
}
* html .gwt-DecoratedTabBar .tabTopLeftInner,
* html .gwt-DecoratedTabBar .tabTopRightInner {
  width: 6px;
  height: 6px;
  overflow: hidden;
}
.gwt-DecoratedTabBar .tabMiddleLeft,
.gwt-DecoratedTabBar .tabMiddleRight {
  width: 6px;
  padding: 0px;
  background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
}
.gwt-DecoratedTabBar .tabMiddleLeftInner,
.gwt-DecoratedTabBar .tabMiddleRightInner {
  width: 1px;
  height: 1px;
}
.gwt-DecoratedTabBar .tabMiddleCenter {
  padding: 0px 4px 2px 4px;
  cursor: pointer;
  cursor: hand;
  color: black;
  font-weight: bold;
  text-align: center;
  background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
}
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
  background: #747474;
}
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
  background-position: 0px -61px;
}
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
  background-position: -6px -61px;
}
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
  background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
}
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
  cursor: default;
  background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
  color: white;
}
.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
  cursor: default;
  color: #999999;
}

.gwt-TextArea {
  padding: 2px;
}
.gwt-TextArea-readonly {
  color: #888;
}

.gwt-TextBox {
  padding: 2px;
}
.gwt-TextBox-readonly {
  color: #888;
}

.gwt-ToggleButton-up,
.gwt-ToggleButton-up-hovering,
.gwt-ToggleButton-up-disabled,
.gwt-ToggleButton-down,
.gwt-ToggleButton-down-hovering,
.gwt-ToggleButton-down-disabled {
  margin: 0;
  text-decoration: none;
  background: url("images/hborder.png") repeat-x 0px -27px;
}
.gwt-ToggleButton-up,
.gwt-ToggleButton-up-hovering,
.gwt-ToggleButton-up-disabled {
  padding: 3px 5px 3px 5px;
}
.gwt-ToggleButton-up {
  border: 1px outset #ccc;
  cursor: pointer;
  cursor: hand;
}
.gwt-ToggleButton-up-hovering {
  border: 1px outset;
  border-color: #9cf #69e #69e #7af;
  cursor: pointer;
  cursor: hand;
}
.gwt-ToggleButton-up-disabled {
  border: 1px outset #ccc;
  cursor: default;
  opacity: .5;
  zoom: 1;
  filter: alpha(opacity=40);
}
.gwt-ToggleButton-down,
.gwt-ToggleButton-down-hovering,
.gwt-ToggleButton-down-disabled {
  padding: 4px 4px 2px 6px;
}
.gwt-ToggleButton-down {
  background-position: 0 -513px;
  border: 1px inset #ccc;
  cursor: pointer;
  cursor: hand;
}
.gwt-ToggleButton-down-hovering {
  background-position: 0 -513px;
  border: 1px inset;
  border-color: #9cf #69e #69e #7af;
  cursor: pointer;
  cursor: hand;
}
.gwt-ToggleButton-down-disabled {
  background-position: 0 -513px;
  border: 1px inset #ccc;
  cursor: default;
  opacity: .5;
  zoom: 1;
  filter: alpha(opacity=40);
}

.gwt-Tree .gwt-TreeItem {
  padding: 1px 0px;
  margin: 0px;
  white-space: nowrap;
  cursor: hand;
  cursor: pointer;
  zoom: 1;
}
.gwt-Tree .gwt-TreeItem-selected {
  background: #93c2f1 url(images/hborder.png) repeat-x 0px -1463px;
}
.gwt-TreeItem .gwt-RadioButton input,
.gwt-TreeItem .gwt-CheckBox input {
  margin-right: 0px;
}
* html .gwt-TreeItem .gwt-RadioButton input,
* html .gwt-TreeItem .gwt-CheckBox input {
  margin-right: -4px;
}

.gwt-DateBox input {
  width: 8em;
}
.dateBoxFormatError {
  background: #eed6d6;
}
.dateBoxPopup {
}

.gwt-DatePicker {
  border: 1px solid #888;
  cursor: default;
}
.gwt-DatePicker td,
.datePickerMonthSelector td:focus {
  outline: none
}
.datePickerDays {
  width: 100%;
  background: white;
}
.datePickerDay,
.datePickerWeekdayLabel,
.datePickerWeekendLabel {
  font-size: 75%;
  text-align: center;
  padding: 4px;
  outline: none;
}
.datePickerWeekdayLabel,
.datePickerWeekendLabel {
  background: #c1c1c1;
  padding: 0px 4px 2px;
  cursor: default;
}
.datePickerDay {
  padding: 4px;
  cursor: hand;
  cursor: pointer;
}
.datePickerDayIsToday {
  border: 1px solid black;
  padding: 3px;
}
.datePickerDayIsWeekend {
  background: #EEEEEE;
}
.datePickerDayIsFiller {
  color: #888888;
}
.datePickerDayIsValue {
  background: #abf;
}
.datePickerDayIsDisabled {
  color: #AAAAAA;
  font-style: italic;
}
.datePickerDayIsHighlighted {
  background: #dde;
}
.datePickerDayIsValueAndHighlighted {
  background: #ccf;
}
.datePickerMonthSelector {
  background: #c1c1c1;
  width: 100%;
}
td.datePickerMonth {
  text-align: center;
  vertical-align: center;
  white-space: nowrap;
  font-size: 70%;
  font-weight: bold;
}
.datePickerPreviousButton,
.datePickerNextButton {
  font-size: 120%;
  line-height: 1em;
  cursor: hand;
  cursor: pointer;
  padding: 0px 4px;
}

.gwt-StackLayoutPanel {
  border-bottom: 1px solid #bbbbbb;
}
.gwt-StackLayoutPanel .gwt-StackLayoutPanelHeader {
  cursor: pointer;
  cursor: hand;
  border: 1px solid #bbbbbb;
  border-bottom: 0px;
  background: #d3def6 url(images/hborder.png) repeat-x 0px -989px;

  font-weight: bold;
  font-size: 1.3em;
  padding: 3px;
  text-align: center;
}
.gwt-StackLayoutPanel .gwt-StackLayoutPanelHeader-hovering {
  background: #d3def6 url(images/hborder.png) repeat-x 0px -1464px;
}
.gwt-StackLayoutPanel .gwt-StackLayoutPanelContent {
  border: 1px solid #bbbbbb;
  border-bottom: 0px;
  background: white;
  padding: 2px 5px 10px 2px;
}

.gwt-TabLayoutPanel {
}
.gwt-TabLayoutPanel .gwt-TabLayoutPanelTabs {
}
.gwt-TabLayoutPanelContentContainer {
  border-color: #bcbcbc;
  border-style: solid;
  border-width: 2px 1px 1px;
}
.gwt-TabLayoutPanel .gwt-TabLayoutPanelContent {
  border-color: #bcbcbc;
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  padding: 6px;
}
.gwt-TabLayoutPanel .gwt-TabLayoutPanelTab {
  margin-left: 6px;
  padding: 3px 6px 3px 6px;
  cursor: pointer;
  cursor: hand;
  color: black;
  font-weight: bold;
  text-align: center;
  background: #e3e3e3;
}
.gwt-TabLayoutPanel .gwt-TabLayoutPanelTab-selected {
  cursor: default;
  background: #bcbcbc;
} 

.gwt-SplitLayoutPanel-HDragger {
  background: white url(images/splitPanelThumb.png) center center no-repeat;
  cursor: col-resize;
}

.gwt-SplitLayoutPanel-VDragger {
  background: white url(images/splitPanelThumb.png) center center no-repeat;
  cursor: row-resize;
}
