body
{
   min-width: 60em;      /* sum of all column widths plus some;
                            MUST be set to make non-IE browsers correctly handle 'overflow:auto'
                            when the browser window shrinks to less than the minimal width set */

/* height: 100%;            SHOULD NOT be set,
                            makes non-IE browsers add a vertical scrollbar even if not needed */

   border: 0;            /* make sure we get rid of all borders */
   margin: 0;            /* make sure we get rid of all margins */
   padding: 0;           /* MUST be set to override the 10-pixel default of Opera 7.5! */

   font-family: Verdana, Tahoma, Arial, sans-serif;
}

div.pricelist_header
{
   margin-bottom: 1ex;   /* adds a thin space between the pricelist heading and body */

/* width: 100%;             need not be set, has no effect whatsoever in any browser */
}

div.pricelist_body
{
/* width: 100%;             MUST NOT be set because of IE! does not help with others either */

   height: 90%;          /* "best estimate", works acceptably for maximized windows 800x600+ */

   overflow: auto;       /* adds scrollbars as necessary */

   margin-bottom: 1ex;   /* adds a thin space between the pricelist body and footer */
}

div.pricelist_footer
{
   display: inline;      /* gets rid of the blank line after the pricelist_body in Opera */
   width: 100%;          /* gets rid of the blank line after the pricelist_body in IE */

   font-family: serif; 
   font-style: italic; 
   font-size: x-small; 

   text-align: center;
}

table.pricelist
{
   display: table;

   table-layout: fixed;  /* MUST be set to prevent horizontal scrollbar in non-IE browsers */

   width: 100%;                  /* MUST be set to keep the table stretched left-to-right! */

   border-collapse: collapse;              /* MUST be set to get rid of borders under IE6! */
   border-spacing: 0;                      /* MUST be set to get rid of borders under IE6! */

   text-align: center;
}

table.pricelist tbody.normal,
table.pricelist tbody.visible,
table.pricelist tbody.hidden
{
   display: table-row-group;
}
table.pricelist tbody.hidden
{
   display: none;
}

div.pricelist_header table.pricelist
{
   color: white;
   background-color: black;

   font-weight: bold;
}

table.pricelist td a:link,
table.pricelist td a:visited
{
   color: yellow;
   text-decoration: underline;
}


col.info     { width: 1.75em; }
col.more     { width: 2em; }
col.item     { width: 24.25em; }       /* MUST be used to set the minimum column width working even in IE6! */
col.price    { width: 3.5em; }
col.label    { width: 7.5em; }
col.unit     { width: 4em; }
col.type     { width: 2em; }
col.time     { width: 7em; }
col.size16px { width: 14px; }


table.pricelist tbody tr td
{
   vertical-align: baseline;
   font-size: x-small;           /* font-size ignored, if set above the "td" level */
}

table.pricelist tbody.normal tr.focus,
table.pricelist tbody.visible tr.focus
{ 
   background-color: #DDDDDD;    /* a roll-over greyline effect helping to associate prices with items */
}

td img 
{ 
   border: 0;                    /* to prevent default borders around clickable icons */
}         

table.pricelist td.icon
{
}

table.pricelist td.item
{
   text-align: left;
   text-indent: -1em;
   padding-left: 1.5em;
}
table.pricelist tbody.visible td.item
{
   text-indent: -1em;
   padding-left: 3em;
}

table.pricelist td.price
{
   white-space: nowrap; 
   text-align: right;
}

table.pricelist td.unit
{
   text-align: left;
   padding-left: 0.5em;
}

table.pricelist td.time
{ 
   text-align: left;
}