/*
 * Colors: Pea Geen: #75AD62;
 *         Light Green: #BAE6AD
 * Colors: Pale Blue: #00D1E4, #AAE4F1;
 * Colors: Steel Blue: #80A8C5;
 */

/********************* GENERAL ********************/

img {
    border: 0;
}

/*
 * text attributes
 */

table, table th, table td {
    border-color: black;
}

form {
    padding: 0;
    margin: 0;
}

.hidden { 
    width: 0;
    height: 0;
    position: absolute;
    top: -5px;     
    left: 0px;     
}

.glossary-entry > dl > dt {
    font-weight: bold;
    font-size: 160%;
}

.lefttext { text-align: left }
.centertext { text-align: center }
.righttext { text-align: right }
.nowrap { white-space: nowrap; }
.number { text-align: right; padding: 0 .5em 0 .5em }
.price { text-align: right; padding: 0 .5em 0 .5em }
.negative_number { color: red; }
.positive_number { color: green; }

.float-right { float: right }
.float-left { float: left }
.clear-right { clear: right }
.clear-left { clear: left }

body {
    background: #b14b4b; 
}

div.body {
    background: white;
}

div.body table td.sidebar {
    width: 125px;
    margin: 0;
    padding: 0px;
    background: #b14b4b;
}

div.body table td.sidebar p.spacer {
    width: 125px;
    height: 800px;
}

div.body table td.sidebar .scraper_ad {
    margin: 10px 2px 0 3px; 
}

div.body table td.sidebar .lower_box_ad {
    margin: 10px 3px 0 3px; 
}

div.body > table td.body {
    padding: 0 10px 10px 10px;
    background: white;
    width: 100%;
}

div.body > table > tbody > tr > td {
    border: 0;
    vertical-align: top;
}

div.body > table {
    margin: 0;
    padding: 0;
    border-collapse: collapse;
}

div.lower_body_ads {
    clear: both;
    padding-top: 3ex;
}

div.lower_body_ads table.container {
    width: 100%;
}

.warning {
    color: red;
}

.choose_title  {
    padding-top: 2ex;
}

.page_title  {
    font-size: 24pt;
    font-weight: bold;
}

.title  {
    font-size: 16pt;
}

.back_link {
    padding-top: 2ex;
    clear: both;
}

.title input.title {
    font-size: 12pt;
}

body {
    margin: 0;
    padding: 0;
}

.clear_both {
    clear: both;
}

.clear_left {
    clear: left;
}

.clear_right {
    clear: right;
}

div.index_highscores div.medium_rectangle_ad, 
div.index_highscores div.large_rectangle_ad 
{
    float: none;
}

div.large_rectangle_ad, div.medium_rectangle_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

/********************* FOOTER ********************/

div.footer {
    color: white;
    margin: 0 10px 0 10px;
    clear: both;
    padding-top: 3ex;
}

/********************* HEADER ********************/

.login img {
    vertical-align: bottom;
    margin-left: .5em;
}

.login a.logout {
    float: right;
}

.login .button_row img {
    margin-left: 0;
}

.header {
    width: 100%;
    background: #b14b4b;
    padding: 2px;
}

.header p {
    margin: 0;
    color: white;
}

.header td {
    margin: 0;
    padding: 0;
}

.header a, .header td {
    color: white;
}

.header ul {
    margin: 0;
    padding: 0;
}

.header li {
    display: inline;
    margin-left: .3em;
    font-size: 13pt;
}

.header li.img {
    display: inline;
    margin-left: 12px;
    margin-right: 17px;
}

.header img {
    vertical-align: bottom;
}

.login_cash {
    font-size: 140%;
}

/******************* INDEX PAGE ******************/

table.market_overview {
    border: 2px solid black;
    border-collapse: collapse;
    margin-top: 1ex;
    margin-bottom: 1.5ex;
    margin-right: 350px;
}

table.market_overview td {
    border: 1px solid black;
    padding: .5ex .5em .5ex .5em;
}

table.market_overview th {
    background: #E4E4E4;
    padding: .1ex .25em .1ex .25em;
}

table.market_overview tr.overview_header th.market {
    font-size: 14pt;
    border: 1px solid black;
}

table.market_overview tr.overview_header th {
    font-size: 18pt;
}

table.market_overview td.cell {
    width: 45%;
}

table.contract_summary_table td {
    vertical-align: top;   
}			     

table.contract_summary_table caption {
    font-size: 16pt;
    font-weight: bold;
}

div.index_page div.tutorial {
    margin-right: 310px;
}

div.index_page p.top {
    margin-right: 310px;
}

div.index_message { 
    background: #BAE6AD;
}

div.warning_message { 
    background: #FFD0D0;
}

div.index_message, div.warning_message { 
    border: 2px solid black;
    margin: .35ex 310px .35ex 0;
}

div.index_message div.inner, div.warning_message div.inner {
    margin: 6px 10px 6px 10px;
}

div.index_message p, div.warning_message p {
    margin: 1ex 0 0 0;
}

div.index_highscores, div.player_highscores {
    float: right;
}

div.index_highscores table, div.player_highscores table {
    width: 290px;
}

div.index_highscores p.economy {
    font-size: 14pt;
    font-weight: normal;
    border: 1px solid black;
    padding: 2px 4px 2px 4px;
    margin: .5ex 0 .5ex 0;
}

div.index_highscores p, div.player_highscores p {
    text-align: center; 
    font-size: 20pt; 
    font-weight: bold;
    margin: .5ex 0 .5ex 0;
}

/***************** MESSAGES PAGE *****************/

div.messages_page H2 {
    margin-top: 0;
    padding-top: 1ex;
}

div.messages_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

input.govt_button {
    margin-left: 3em;
}

/******************* STORE PAGE ******************/

div.store_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

div.store_page p.title {
    padding: 1ex 0 1ex 0;
    margin: 0;
}

table.store_list td, table.store_list th
{
    border: 1px solid;
    padding: 0 .3em 0 .3em;
}

table.store_list
{
    clear:  right;
    margin-bottom: 1ex;
}

table.store_list td.profit_link {
    text-align: right;
}

table.store_list td.profit_linknegative_number {
    text-align: right;
    padding: 0 .25em 0 .5em;
}

table.store_list img {
    vertical-align: text-bottom;
}

/******************* FACTORY PAGE ******************/

div.factory_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

div.factory_page p.title {
    padding: 1ex 0 1ex 0;
    margin: 0;
}

div.factory_page p.floor_space {
    font-size: 16pt;
    margin: .5ex 0 0 0;
}

div.factory_page form.title {
    padding: 1ex 0 0 0;
    margin: 0;
}

table.factory_list td, table.factory_list th
{
    border: 1px solid;
    padding: 0 .3em 0 .3em;
}

table.factory_list
{
    margin-bottom: .5ex;
}

table.factory_list td.profit_link {
    text-align: right;
}

table.factory_list td.profit_linknegative_number {
    text-align: right;
    padding: 0 .25em 0 .5em;
}

table.factory_list img {
    vertical-align: text-bottom;
}

div.setup_production_line p {
    font-size: 16pt;
}

div.setup_production_line input {
    font-size: 12pt;
}

div.close_writeoff {
    margin-left: 4em;
}

/******************* WAREHOUSE PAGE ******************/

div.warehouse_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

div.warehouse_page p.title {
    padding: 1ex 0 1ex 0;
    margin: 0;
}

table.warehouse_list td, table.warehouse_list th
{
    border: 1px solid;
    padding: 0 .3em 0 .3em;
}

table.warehouse_list
{
    clear:  right;
}

table.warehouse_list td.profit_link {
    text-align: right;
}

table.warehouse_list td.profit_linknegative_number {
    text-align: right;
    padding: 0 .25em 0 .5em;
}

table.warehouse_list img {
    vertical-align: text-bottom;
}

/******************* REPORTS PAGE **************/

div.reports_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

div.reports_page table.income_statement, div.reports_page table.balance_sheet
{
    margin-top: 65px;
    width: 100%
}

/******************* MARKET REPORTS **************/

div.market_page .family_filter {
    margin-bottom: .75ex;
}

div.market_page h1 {
    margin-bottom: .5ex;
}

div.market_page div.production {
    clear: right;
}

div.market_page div.banner_ad {
    float: right;
    margin: 0;
    padding: 4px 0 8px 0;
}

td.body div.market_page H1 {
    margin-top: 0;
    padding-top: 1ex;
}

div.market_page table.sales_table, div.market_page table.good_summary_table,
table.market_summary,
div.market_page table.production, table.market_sales
{
    border: 1px solid black;
}

div.market_page div.production, table.sales_table {
    margin: .5ex 0 0 0;
    padding: 0;
}

div.market_page table.production {
    margin-top: 1ex;
}

table.sales_table th, table.demand_table th,
table.market_sales th, table.market_sales td
{
    padding: 0 .2em 0 .2em;
}

table.demand_table td.top_border {
    border-top: 1px solid black;
}

div.market_page table.production th,
div.market_page table.production td,
table.market_summary th, table.market_summary td
{
    padding: 0 .5em 2px .5em;
}

table.sales_table th.label {
    text-align: left;
}

table.sales_table th, table.sales_table td.label,
table.demand_table th, div.market_page table.production th,
table.market_sales th, table.market_summary th
{
    background: #D4D4D4;
}

table.sales_table th.label, table.sales_table th
{
    white-space: nowrap;
}

table.demand_table tr.odd_row,  
div.market_page table.production tr.odd_row,
table.market_summary tr.odd_row
{
    background: #E4E4E4;
}

div.market_page div.production {
    float: right;
}

div.market_page form.buy_all {
    float: left;
    padding-right: 1em;
}

/******************* GOOD P AND L PAGE ******************/

div.market_page table.good_profit_detail td {
    padding-left: .5em;
    padding-right: .5em;
}

div.market_page table.good_profit_detail th {
    border-bottom: 1px solid black;
    font-size: 14pt; 
}

div.market_page table.good_profit_detail .total_row {
    border-top: 1px solid black;
}

div.market_page table.good_profit_detail {
    border: 3px solid black;
    background: #F4F4F4;
    border-collapse: collapse;
    font-size: 12pt; 
}

div.market_page .factory_list {
    clear:right;
}

div.market_page h2 {
    clear: left;
    padding-top: 2ex;
    margin-top: 0;
}

/******************* HIGHSCORES ******************/

div.highscores table, div.game_info_page table.company_list, 
table.player_list 
{
    border: 3px solid black;
    border-collapse: collapse;
    margin-left: .5em;
}

div.highscores table {
    background: #E0F3DB;
}

div.highscores table th {
    background: #BAE6AD;
}

div.game_info_page table.company_list,
table.player_list
{
    background: #f0f0f0;
}

div.game_info_page table.company_list th,
table.player_list th
{
    background: #d4d4d4;
}

div.highscores table .highlight, div.game_info_page table .highlight,
table.player_list .highlight, table.recent_trades .highlight
{
    background: #FFD0D0;
}

img.reward {
    vertical-align: middle;    
}

div.highscores table td.name {
    width: 100%;
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

div.highscores table td, div.highscores table th,
div.game_info_page table.company_list td, 
div.game_info_page table.company_list th,
table.player_list td, table.player_list th 
{
    padding: 0 .2em 0 .2em;
}

table.player_list_frame td {
    vertical-align: top;   
}			     

table.player_list_frame th.top {
    font-size: 24pt; 
}			     

/********** GAME_INFO (see HIGHSCORES too) *********/

div.game_info_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

div.game_info_page table.good_table {
    border: 3px solid black;
    border-collapse: collapse;
}

div.game_info_page table.good_table th {
    background: #BAE6AD;
    border: 1px solid black;
    padding: 0 .5em 0 .5em;
}

div.game_info_page table.good_table td {
    background: #E0F3DB;
    border: 1px solid black;
    padding: 0 .5em 0 .5em;
    vertical-align: top;
}

div.game_info_page table.good_table ul {
    margin: 0;
    padding-left: 1em;
}

.company_summary {
    border-collapse: collapse;
    margin-bottom: 1ex;
}

.company_summary th a {
    font-size: 60%;
    font-weight: normal;
}

.company_summary th {
    text-align: left;
    font-size: 200%;
    border-bottom: 2px solid #D0D0D0;
    padding: .5ex 0 .5ex 0;
}

.company_summary td.label {
    color: #606060;   
}

.company_summary td.bottom {
    border-bottom: 2px solid #D0D0D0;
}

.company_summary td.value {
    text-align: right;
    padding-left: 2em;
    white-space: nowrap;
}

.company_summary td.label, .company_summary td.value {
    border-top: 1px solid #D0D0D0;
    white-space: nowrap;
}

.company_summary td.spacer {
    width: 3em;
}

.share_table {
    border-collapse: collapse;
}

.share_table th {
    border-bottom: 2px solid #D0D0D0;
}

/********************* PLAYER_BUILDING ********************/

table.building {
    border: 3px solid black;
    background: #F4F4F4;
    border-collapse: collapse;
}

table.building th {
    border-bottom: 1px solid black;
    background: #d4d4d4;
}

table.building td {
    padding: .1ex .5em .1ex .5em;
}

/********************* PLAYER_FACTORY ********************/

.construction {
    color: red;
    font-size: 12pt;
}

table.upgrade {
    border: 3px solid black;
    background: #F4F4F4;
    border-collapse: collapse;
}

table.upgrade td, table.upgrade th {
    padding: 0 .5em 0 .5em;
    border: 1px solid black;
}

table.upgrade th {
    background: #d4d4d4;
}

table.upgrade td.highlight {
    background: #FFD0D0;
}

/******************* PLAYER PAGE ******************/

div.player_info_page img.qmark {
    padding-left: 2px;
    padding-bottom: 2px;
    vertical-align: bottom;
}

td.body div.player_info_page H1 {
    margin-top: 0;
    padding-top: 1ex;
}

div.player_info_page table.player_list {
    clear: right;
}

div.player_info_page div.banner_ad {
    float: right;
    margin: 0;
    padding: .4ex 0 .6ex 0;
}

div.player_rewards
{
    float: left;
    margin: 2ex 1em 0 0;
}

table.personal_info td.grey
{
    background: #F4F4F4;
}

table.personal_info td.rt_border
{
    border-left: 1px solid black;
}

table.personal_info
{
    border: 1px solid black;
    background: #E0F3DB;
    border-collapse: collapse;
}

table.stock_market, table.personal_holdings, table.dividend_payout,
table.recent_trades
{
    border: 3px solid black;
    background: #F4F4F4;
    border-collapse: collapse;
}

table.stock_market th, table.stock_market td,
table.personal_holdings th, table.personal_holdings td,
table.dividend_payout th, table.dividend_payout td,
table.recent_trades th, table.recent_trades td,
table.personal_info th, table.personal_info td
{
    padding-left: .4em;
    padding-right: .4em;
}

table.stock_market td.name, table.stock_market th.name
{
    border-left: 3px solid black;
}

table.stock_market th, table.personal_holdings th, table.dividend_payout th,
table.recent_trades th
{
    border-bottom: 3px solid black;
    background: #d4d4d4;
}

form.sell_shares table input
{
    margin-top: 0;
}

form.sell_shares input
{
    margin-top: 1ex;
}

p.summary {
    font-weight: bold;
    font-size: 120%;
}

table.reward_costs td {
    padding: .5ex 1em .5ex 1em;
}

table.reward_costs th {
    background: #d4d4d4;
}

table.reward_costs {
    border: 3px solid black;
    border-collapse: collapse;
}

/********************* Economy ********************/

.boom {
    background: #BAE6AD;
}

.prosperity {
    background: #E0F3DB;
}

.recession {
    background: #FFD0D0;
}

.panic a {
    color: white;
}

.panic {
    background: #FF4040;
    color: white;
}

/********************* Admin ********************/

table.line_profit {
    float: left;
    font-size: 12pt;
    border: 3px solid black;
    background: #F4F4F4;
    border-collapse: collapse;
    margin: .5ex .2em .5ex .2em;
}

/********************* TABLES ********************/

table.economy_history
{
    font-size: 12pt;
    border: 3px solid black;
    background: #F4F4F4;
    border-collapse: collapse;
}

table.economy_history td, table.economy_history th
{
    padding: .2ex .2em .2ex .2em;
    text-align: left;
}

table.economy_history td.spacer
{
    width: 1em;
}

table.economy_history td.name
{
    padding-right: 3em;
}

table.buy_list {
    margin-top: 20px;
}

table.other_buy_sell_list td, table.other_buy_sell_list th {
    padding: 0 .2em 0 .2em;
}

table.user_list
{
    margin-top: 1ex;
    margin-right: 1em;
}

table.store_list, table.factory_list, table.other_buy_sell_list,
table.warehouse_list, table.store_list, table.buy_list, 
div.loan_details table, table.user_list, table.good_summary_table
{
    border: 3px solid black;
}

table.other_buy_sell_list,
table.store_list, table.factory_list, table.sales_table,
table.warehouse_list, table.store_list, table.buy_list, 
div.loan_details table, table.user_list, table.good_summary_table,
div.market_page table.production, table.market_sales
{
    background: #F4F4F4;
    border-collapse: collapse;
}

div.loan_details table td, table.user_list td {
    padding: 0 .5em 0 .5em;
}

table.store_list td, table.store_list th,
table.buy_list th
{
    border: 1px solid;
    padding: 0 .65em 0 .5em;
}

table.buy_list td {
    border: 1px solid;
    padding: .25ex .5em .25ex .5em
}

table.production_line {
    clear: right;
}

table.production_line, table.store_goods_choice, table.market_info {
    margin-top: 10px; 
}

table.production_line, table.store_goods, table.store_goods_choice, 
table.market_info {
    font-size: 14pt;
    border-collapse: collapse;
    border: 1px solid #000000;    
}

div.warehouse_page table.market_info {
    float: none;
}

table.market_info {
    float: left;
    margin-right: .5em;
    font-size: 14pt;
}

table.market_info_produced {
    width: 20em;
}

div.store_item_choice {
    float: left;
    margin-left: 8px;
}

table.production_line small {
    font-size: 8pt;
}

table.production_line div.action_button {
    padding-right: 2px;
    float: right;
}

table.production_line div.shift_button {
    letter-spacing: 1px;
    float: left;
    margin-right: 10px;
    margin-top: 2px;
}

table.production_line input, 
table.production_line div.action_button input, 
table.production_line div.shift_button input 
{
    font-size: 8pt;
    margin: 0;
    padding: 0;
}

table.production_line div.action_button input
{
    margin-bottom: 1px;
}

table.production_line td {
    margin-top: 20px;
}

table.production_line td.cost {
    padding-left: .5em;
}

table.store_goods {
    width: 22em;
}

input {
    margin: 0;
    padding: 0;
}

table.store_goods_choice {
    width: 12em;
}

table.store_goods th.name, table.store_goods_choice th.name {
    text-align: left;
    padding-left: .5em;
}

table.store_goods th, table.store_goods_choice th, table.user_list th,
table.other_buy_sell_list th {
    background: #d4d4d4;
}

table.store_goods td, table.store_goods_choice td, table.market_info td {
    background: #f0f0f0;
    padding: 0px 4px 0px 4px;
}

table.store_goods td.isale, table.store_goods_choice td.isale {
    padding: 0;
    margin: 0;
}

table.store_goods td.img, table.store_goods_choice td.img {
    padding: 4px;
    width: 108px;
}

table.production_line th {
    font-weight: normal;
    text-align: left;
    padding-left: 4px;
    border-bottom: 1px solid #000000;    
}

table.production_line th input {
    margin-right: 4px;
    font-size: 70%;
}

table.production_line .arrows {
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
}

table.market_info .label {
    background: #d4d4d4;
    font-weight: bold;
    border-bottom: 1px solid black;
}

table.market_info td.good {
    padding-top: 14px;
    background: #d4d4d4;
    border-right: 1px solid black;
    width: 108px;
}

table.market_info tr.line_info {
    font-size: 12pt;		  
    border-top:  1px solid black;
}

table.production_line .good {
    width: 200px;
    padding-top: 14px;
    background: #d4d4d4;
}

table.production_line .bottom {
    padding-left: 4px;
}

table.production_line .bottom input {
    padding-left: 2px;
    padding-right: 2px;
    margin-left: 2px;
}

.market_data_label {
    font-size: 140%;
}

table.production_line .good img, table.market_info .good img {
    margin-right: 4px;
    margin-top: -10px;
    margin-left: 4px;
    margin-bottom: 4px;
}

div.market_details table.inner, .demand_table,
div.market_details table.contracts, table.supply_contract_list,
table.building_list, table.license_list,
table.market_summary
{
    background: #f0f0f0;
    border-collapse: collapse;
}

div.market_details table.inner, .demand_table, table.supply_contract_list,
table.building_list, table.license_list
{
    border: 1px solid black;
}

div.market_details table.contracts {
    border-bottom: 1px solid black;
    border-top: 1px solid black;
}

table.building_list td, table.building_list th,
table.license_list td, table.license_list th 
{
    padding: 0 .5em 0 .5em;
}

.demand_table td, .demand_table th
{
    padding: 0 .5em 0 .5em;
    font-size: 120%;
}

div.market_details {
    clear: left;
    padding-top: 1ex;
}

div.market_details .left_col {
    padding-right: 1em;
    width: 42%;
}

div.market_details td {
    vertical-align: top;    
}

div.market_details table.inner td, div.market_details table.inner th,
div.market_details table.contracts td, div.market_details table.contracts th,
table.supply_contract_list td, table.supply_contract_list th
{
    padding: .25ex .4em .25ex .4em;
}

div.market_details table.contracts tr.blank_row {
    border-left: 0;
    border-right: 0;
}

div.market_details table.contracts tr.blank_row td {
    background: white;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    height: 1ex;
}

div.market_details table.contracts .left  {
    border-left: 1px solid black;
}

div.market_details table.contracts .right  {
    border-right: 1px solid black;
}

div.market_details table.inner th, .demand_table table.inner th,
div.market_details table.contracts th, .demand_table table.contracts th,
div.loan_details table th, table.supply_contract_list th, 
table.building_list th, table.license_list th
{
    background: #d4d4d4;
    border-bottom: 1px solid black;
}

table.supply_contract_list th.left_border {
    border-left: 1px solid black;
}

div.market_list h2 {
    clear: left;
    padding-top: 2ex;
    margin-top: 0;
}

.unit_price_list {
    background: #f0f0f0;
    border-collapse: collapse;
    border: 1px solid black;
    margin-top: 2ex;
}

table.good_summary_table td.high_warning {
    color: black;
    background: #FFD0D0;
}

table.good_summary_table td.mid_warning {
    color: black;
    background: #FFFFCC;
}

table.good_summary_table td.low_warning {
    color: black;
    background: #E0F3DB;
}

table.good_summary_table tr.odd_row {
    background: #ECECEC;
}

table.good_summary_table th, table.good_summary_table td {
    padding: 0 .2em 0 .2em;
}

.unit_price_list th, table.good_summary_table th {
    background: #d4d4d4;
}

table.unit_price_list td, table.unit_price_list th {
    padding-left: .5em;
}

table.unit_price_list td {
    padding-top: .5ex;
}

table.dividend {
    border-collapse: collapse;
    border: 1px solid black;
}

table.dividend td, table.dividend th {
    padding: 0 .5em 0 .5em;
}

table.dividend th {
    text-align: right;
}

table.dividend th, table.dividend td.label {
    background: #ECECEC;
}

/*
 * Charts and graphs
 */

img.monthly_profit {
    margin-top: 10px;
    border: 1px solid gray;
}

/*
 * Income Statement and Balance Sheet
 */

table.income_statement img, table.balance_sheet img,
table.store_list img, table.buy_list img
{
    vertical-align: text-bottom;
    margin-bottom: 1px;
}

a.supply_contract, a.supply_avail {
    color: white;
    padding-left: 2px;
    padding-right: 2px;
    margin-left: .2em;
}

a.supply_contract {
    background-image: url('/images/SupplyBackground.jpg');
    background-repeat: repeat-x;
}

img.supply_contract {
    vertical-align: middle;
    padding-bottom: 1px;
}

table.income_statement, table.balance_sheet {
    border-collapse: collapse;
    margin-top: 2ex;
}

table.income_statement th, table.balance_sheet th {
    text-align: left;
    font-size: 140%;
}

table.income_statement td.view, table.balance_sheet td.view {
    text-align: left;
}

table.income_statement td, table.balance_sheet td {
    border: 0;
    text-align: right;
    padding: .5ex 1em .5ex .2em;
}

table.income_statement td.first, table.balance_sheet td.first {
    text-align: left;
}

table.income_statement .date, table.balance_sheet .date {
    font-size: 90%;
    background: #B0C1D9;
}

table.income_statement .date, table.income_statement .revenue, 
table.income_statement .gross_profit, table.income_statement .total_op, 
table.income_statement .net_income,
table.balance_sheet .date, 
table.balance_sheet .assets, table.balance_sheet .liabilities, 
table.balance_sheet .total_assets, table.balance_sheet .net {
    font-weight: bold;
}

table.income_statement .gross_profit, table.income_statement .total_op,
table.income_statement .net_income,
table.balance_sheet .total_assets, table.balance_sheet .net {
    border-top: 3px solid #000000;    
}

table.income_statement .operating_expenses_first, 
table.income_statement .sga_first,
table.income_statement .non_recurring_first,
table.income_statement .interest_first, 
table.income_statement .before_tax_first, 
table.income_statement .taxes_first,
table.income_statement .units_sold_first,
table.balance_sheet .cash_first,
table.balance_sheet .inventory_first,
table.balance_sheet .equipment_first,
table.balance_sheet .intangible_assets_first,
table.balance_sheet .debt_first
{
    padding-left: 4em;    
}

table.product_license {
    border-collapse: collapse;
    font-size: 120%;
    border: 1px solid black;
}

table.product_license th {
    background: #d4d4d4;
    border-bottom: 1px solid black;
}

table.product_license th, table.product_license td {
    padding: .5ex .5em .5ex .5em;
}

p.show_demand {
    font-size: 120%;
    margin-bottom: 0;
    padding-bottom: 0;
}

div.message input, div.message textarea {
    width: 99%;
}

div.message textarea {
    margin-top: 2px;
}

div.message {
    margin: 2ex 0 3ex 0;
    background: #f0f0f0;
    border: 2px solid black;
}

div.message table {
    border-collapse: collapse;
}

div.message tr.msg_header {
    background: #d4d4d4;
}

div.message td {
    width: 100%;
}

div.message td.col1 {
    width: 10em;
    font-weight: bold;
    padding-left: 4px;
    padding-right: 1em;
}

div.message tr.msg_body td {
    padding: 0 4px 4px 4px;
}

div.admin_message {
    margin: 1ex 0 0 0;
}

.header .update_soon {
    color: #00FF00;
}

.header .new_messages {
    color: #00FF00;
    font-weight: bold;
}

.header .dev_warning {
    font-weight: bold;
    color: black;
    background: #BAE6AD;
    text-align: center;
}

.header .test_warning {
    font-weight: bold;
    color: black;
    background: #FFD0D0;
    text-align: center;
}

.header .update_warning {
    font-weight: bold;
    font-size: 24pt;
    color: black;
    background: #BAE6AD;
    text-align: center;
}

.message_list {
    background: #f0f0f0;
    border-collapse: collapse;
    border: 2px solid black;
    margin-top: 1ex;
    margin-bottom: .5ex;
}

.message_list th {
    background: #d4d4d4;
    border-bottom: 1px solid black;
}

.message_list tr.new {
    background: #FFD0D0;
}

.message_list th, .message_list td {
    padding: 0 .5em 0 .5em;
}

ul.mailbox {
    margin: 0 1em 0 .5em;
    padding: 0;
    float: left;
}

.mailbox li {
    display: inline;
    margin-left: .3em;
}

form.bigger {
    font-size: 16pt;
    margin-top: .5ex;
}

table.store_top form.add {
    margin-top: 1ex;
}

table.store_top form.title {
    margin-top: .75ex;		
    width: 15.75em;
}

table.store_top td.ad_box {
    padding-left: 10px;
}

div.store_bar {
    float: right;
}

td.body h1 {
    margin-top: .5ex;
}

div.tutorial {
    background: #BAE6AD;
    border: 2px solid black;
}

div.tutorial div.inner {
    margin: 6px 10px 6px 10px;
}

div.tutorial H3 {
    margin: .1ex 0 .4ex 0;
}

div.tutorial p {
    margin: .75ex 0 0 0;
}
