/***************************************************************************
 * XHTML Elements
 ***************************************************************************/
/* TODO: IE6 does not like this because of a
         horizontal scrolling issue:
html, */
body {
  position          : relative;
}
body,
table {
  font-family       : Tahoma,Verdana,Sans-serif,Arial;
  font-size         : 10pt;
  font-weight       : normal;
}
/* IE6/7 has issues with non-relative table nodes, particularly when mixing 
   relative and static content within a container using the overflow property,
   so we give all tables relative positioning as a sensible default. */
table {
  position          : relative;
}
form {
  margin            : 0;
  padding           : 0;
}
p {
  margin            : 0.9em 0;
  padding           : 0;
}
br {
  line-height       : 0.9em;
}
label {
  cursor            : pointer;
}
/* Do not outline hyperlinked images by default. It breaks image-based 
   navigation, incorrectly points out image links that are obvious by design
   or intentionally not obvious, and most modern browsers no longer outline
   by default anyway. */
a img {
  border-style      : none;
}

/***************************************************************************
 * Standard Classes
 ***************************************************************************/
#site_page,
#site_header,
#site_footer,
#site_column_left,
#site_column_right,
#site_content,
#site_content_header,
#site_content_footer {
  position          : relative;
  text-align        : left;
}

#site_page,
#site_header,
#site_footer,/*
#site_content,
#site_content_header,*/
#site_content_footer {
  clear             : both;
}

#site_header {
  z-index           : 100; /* be above the content */
}
#site_footer {
  z-index           : 70; /* be above the content, below the header */
}
#site_column_left {
  clear             : left;
  display           : none;
  float             : left;
  padding           : 10px 5px 10px 15px;
  width             : 180px;
  z-index           : 90;
}
#site_column_right {
  clear             : right;
  display           : none;
  float             : right;
  padding           : 10px 15px 10px 5px;
  width             : 180px;
  z-index           : 80;
}
.column_left-margin {
  margin-left       : 200px;
}
.column_right-margin {
  margin-right      : 200px;
}

#site_content {
  z-index           : 0;
}
#site_content_header {
  display           : none; /* Hidden by default since older themes might */
}                           /* float-left a column within the site_content. */
#site_content_footer {
  display           : block;
}

/* Note: An invisible <div/> is provided within the #site_page node.
         1. A minimum width can be defined without using min-width, which IE6
            does not support.
         2. If #site_column_left or #site_column_right is needed, the use of
            margin-left or margin-right on this node can add to the overall
            width. The min-width property alone cannot do that. */
#site_page .min-width {
  height            : 0;
  position          : relative;
  visibility        : hidden;
  width             : auto;
}

/***************************************************************************
 * Font
 ***************************************************************************/
.small {
  font-size         : 0.8em !important;
}
.large,
.big {
  font-size         : 1.2em !important;
}
.bold {
  font-weight       : bold !important;
}
.italic {
  font-style        : italic !important;
}
.underline {
  text-decoration   : underline !important;
}

/***************************************************************************
 * Alignment: Content
 ***************************************************************************/
.left {
  text-align        : left !important;
}
.center {
  text-align        : center !important;
}
.right {
  text-align        : right !important;
}
.justify {
  text-align        : justify !important;
}
.left div,
.left form,
.left p,
.left table {
  margin-left       : 0        !important;
  margin-right      : auto     !important;
  position          : relative !important;
  text-align        : left     !important;
}
.center div,
.center form,
.center p,
.center table {
  margin-left       : auto     !important;
  margin-right      : auto     !important;
  position          : relative !important;
  text-align        : center   !important;
}
.right div,
.right form,
.right p,
.right table {
  margin-left       : auto     !important;
  margin-right      : 0        !important;
  position          : relative !important;
  text-align        : right    !important;
}

/***************************************************************************
 * Alignment: Block
 ***************************************************************************/
.align-left {
  margin-left       : 0        !important;
  margin-right      : auto     !important;
  position          : relative !important;
}
.align-center {
  margin-left       : auto     !important;
  margin-right      : auto     !important;
  position          : relative !important;
}
.align-right {
  margin-left       : auto     !important;
  margin-right      : 0        !important;
  position          : relative !important;
}
.valign-top {
  margin-top        : 0        !important;
  margin-bottom     : auto     !important;
  position          : relative !important;
}
.valign-middle {
  margin-top        : auto     !important;
  margin-bottom     : auto     !important;
  position          : relative !important;
}
.valign-bottom {
  margin-top        : auto     !important;
  margin-bottom     : 0        !important;
  position          : relative !important;
}

/***************************************************************************
 * Alignment: Table Cell
 ***************************************************************************/
td.align-left {
  text-align        : left !important;
}
td.align-center {
  text-align        : center !important;
}
td.align-right {
  text-align        : right !important;
}
td.valign-top {
  vertical-align    : top !important;
}
td.valign-middle {
  vertical-align    : middle !important;
}
td.valign-bottom {
  vertical-align    : bottom !important;
}

/***************************************************************************
 * Alignment: Float
 ***************************************************************************/
.float-left {
  float             : left;
}
.float-right {
  float             : right;
}

/***************************************************************************
 * Alignment: Clear
 ***************************************************************************/
.clear-left {
  clear             : left;
}
.clear-right {
  clear             : right;
}
.clear-both {
  clear             : both;
}

/***************************************************************************
 * Alignment: Margin
 ***************************************************************************/
.margin-none {
  margin            : 0 !important;
}
.margin_top-none {
  margin-top        : 0 !important;
}
.margin_right-none {
  margin-right      : 0 !important;
}
.margin_bottom-none {
  margin-bottom     : 0 !important;
}
.margin_left-none {
  margin-left       : 0 !important;
}

/***************************************************************************
 * Alignment: Padding
 ***************************************************************************/
.padding-none {
  padding           : 0 !important;
}
.padding_top-none {
  padding-top       : 0 !important;
}
.padding_right-none {
  padding-right     : 0 !important;
}
.padding_bottom-none {
  padding-bottom    : 0 !important;
}
.padding_left-none {
  padding-left      : 0 !important;
}

/***************************************************************************
 * Tables
 ***************************************************************************/
table.layout
{
  border-collapse   : separate;
  border-spacing    : 0;
  margin            : 0;
  padding           : 0;
  position          : relative;
}
/* TODO: Not possible?
table.layout tr,
table.layout td
{
  margin            : 0;
  padding           : 0;
} */

/***************************************************************************
 * Buttons
 ***************************************************************************/
#site_content a.button,
#site_content a.button:hover
{
  color           : #000;
  display         : block;
  font-size       : 0.8em;
  font-weight     : bold;
  padding         : 5px 7px 3px 7px;
  position        : relative;
  text-decoration : none;
}
#site_content a.button:hover
{
  background-color: #eee;
  border-top      : 1px solid #aaa;
  border-right    : 1px solid #777;
  border-bottom   : 1px solid #777;
  border-left     : 1px solid #aaa;
  padding         : 4px 6px 2px 6px;
}
#site_content a.button img
{
  border          : none;
  vertical-align  : middle;
  margin-right    : 3px;
  margin-bottom   : 1px;
}

/***************************************************************************
 * Text Status Reponses
 ***************************************************************************/
#site_content span.positive
{
  color         : #070;
  font-style    : normal;
  font-weight   : normal;
}
#site_content span.negative
{
  color         : #a00;
  font-style    : normal;
  font-weight   : bold;
}
#site_content span.neutral
{
  color         : #222;
  font-style    : normal;
  font-weight   : normal;
}
#site_content span.notice
{
  color         : #222;
  font-style    : normal;
  font-weight   : normal;
}
#site_content span.warning
{
  color         : #222;
  font-style    : italic;
  font-weight   : normal;
}
#site_content span.error
{
  color         : #a00;
  font-style    : normal;
  font-weight   : bold;
}


/***************************************************************************
 * Paragraphs
 ***************************************************************************/
p.first
{
  margin-top    : 0;
  padding-top   : 0;
}
p.last
{
  margin-bottom : 0;
  padding-bottom: 0;
}

/***************************************************************************
 * MSIE Hacks
 ***************************************************************************/
/* lte IE6: */
.min_height {
  display           : none;
  float             : right;
  height            : 0;
  width             : 1px;
}
#site_content_min_height {
/*display           : block;
  height            : ???px;
*/
}
#site_page_baseline {
  height            : 1px;
  margin-top        : -1px;
  position          : relative;
  width             : 100%;
}
/* /lte IE6 */

