/*
 * Copyright 2010 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
/* Incremental changes from CellTable.css */ 
.cellTableFooter {
  padding: 3px 9px;
}

.cellTableHeader {
  padding: 3px 9px;
}

.cellTableCell {
  padding: 4px 9px;
  border-width: 0;
}

.cellTableFirstColumn {
  padding: 0px;
}

.cellTableLastColumn {
  padding: 0px;
}

.cellTableFirstColumnFooter {
  border: 0px;
  padding: 0px;
}

.cellTableFirstColumnHeader {
  border: 0px;
  padding: 0px;
}

.cellTableLastColumnFooter {
  border: 0px;
  padding: 0px;
}

.cellTableLastColumnHeader {
  border: 0px;
  padding: 0px;
}

.cellTableEvenRow {
  cursor: hand;
  cursor: pointer;
}

.cellTableOddRow {
  cursor: hand;
  cursor: pointer;
}

@sprite .cellTableHoveredRow {
  gwt-image: 'cellTableSelectedBackground';
  background-color: #628cd5;
  color: white;
  height: auto;
  overflow: auto;
}
