/* ~~~~ General Stuff ~~~~ */

body
{
    margin: 0px;
    padding: 0px;
    background-color: white;
    color: black;
    font: normal small Arial, Helvetica, sans-serif;
    text-decoration: none;
}

form
{
    margin: 0px;
    padding: 0px;
}

input
{
    margin: 1px;
    padding: 1px;
}

select
{
    margin: 1px;
    padding: 1px;
}

textarea
{
    margin: 1px;
    padding: 1px;
    font: normal small Arial, Helvetica, sans-serif;
}

h1
{
    margin: 0px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #27307a;
    font-size: x-large;
    text-align: center;
}

h2
{
    margin: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #27307a;
    font-size: large;
    text-align: center;
}

td
{
    font: normal small Arial, Helvetica, sans-serif;
}

a
{
    color: #336699;
    text-decoration: none;
}

a img
{
    margin: 0px;
    padding: 0px;
    border: none;
}

a:hover
{
    color: maroon;
}

.hr-dashed
{
    width: 100%;
    height: 0px;
    margin: 5px 0 5px 0;
    padding: 0px;
    border-bottom: 1px dashed lightgrey;
}

.ie-space-fix-horizontal
{
    width: 100%;
    height: 5px;
    background-color: white;
}

.ie-space-fix-horizontal-fifteen
{
    width: 100%;
    height: 15px;
    background-color: white;
}

.five-pixels-high
{
    width: 100%;
    height: 5px;
}

/* ~~~~ Fonts ~~~~ */

.strikethrough
{
    text-decoration: line-through;
}

.red
{
    color: red;
}

.red-bold
{
    color: red;
    font-weight: bold;
}

/* ~~~~ Boxes ~~~~ */

.centerbox-black
{
    margin-left: 150px;
    margin-right: 150px;
    text-align: center;
}

.centerbox-red
{
    margin-left: 150px;
    margin-right: 150px;
    padding: 5px;
    text-align: center;
    border: 1px solid red;
}

.errorbox
{
    margin-left: 125px;
    margin-right: 125px;
    padding: 5px;
    text-align: center;
    font-weight: bold;
    color: red;
    border: 1px solid red;
}

.outofstockbox
{
    margin-left: 50px;
    margin-right: 50px;
    padding: 5px;
    text-align: left;
    color: red;
    border: 1px solid red;
}

.outofstockbox ul
{
    margin: 0px;
    padding-left: 15px;
}

.messagebox
{
    margin-left: 125px;
    margin-right: 125px;
    padding: 5px;
    text-align: center;
    font-weight: bold;
    color: green;
    border: 1px solid green;
}

.warningbox
{
    margin-left: 125px;
    margin-right: 125px;
    text-align: left;
    border: 1px solid red;
    color: red;
}

.warningbox-padded
{
    margin-left: 125px;
    margin-right: 125px;
    padding: 5px;
    text-align: left;
    border: 1px solid red;
    color: red;
}

.exceptionbox
{
    padding: 5px;
    text-align: left;
    border: 1px solid red;
}

.urgent-order-box
{
    margin-left: 25px;
    margin-right: 25px;
    padding: 5px;
    text-align: left;
    border: 1px solid red;
    color: red;
}

/* ~~~~ Miscellaneous ~~~~ */

.window-close a
{
    float: right;
    margin-right: 5px;
}

.required
{
    margin-left: 2px;
    font-size: small; 
    vertical-align: top;
    color: red;
}

/* ~~~~ Errors ~~~~ */

h1.error
{
    color: red;
}

/* ~~~~ Layout ~~~~ */

.container
{
    width: 700px;
    position: relative;
    margin: 0 auto;
}

.header
{

}

.extras
{
    width: 175px;
    margin-top: 5px;
    margin-right: 5px;
}

.content-container
{
    width: 520px;
    margin-top: 3px;
}

.content-container-no-extras
{
    width: 700px;
    margin-top: 3px;
}

.footer
{
    width: 700px;
    position: relative;
    margin: 0 auto;
    margin-top: 15px;
    border-top: 1px solid #27307a;
    padding-top: 5px;
    padding-bottom: 5px;
}

.footer td
{
    font-size: x-small;
    text-align: center;
}

/* ~~~~ Rounded Corners ~~~~ */

.blueoutline-tl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/blueoutline-tl.gif") top left no-repeat;
}

.blueoutline-right
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/bluepixel.gif") top right repeat-y;
}

.blueoutline-left
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/bluepixel.gif") top left repeat-y;
}

.blueoutline-tr
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/blueoutline-tr.gif") top right no-repeat;
}

.blueoutline-bl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/blueoutline-bl.gif") bottom left no-repeat;
}

.blueoutline-br
{
    margin: 0px;
    padding: 5px;
    background: url("http://blx1.bto.org/btos/image/blueoutline-br.gif") bottom right no-repeat;
}

.redoutline-tl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/redoutline-tl.gif") top left no-repeat;
}

.redoutline-right
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/redpixel.gif") top right repeat-y;
}

.redoutline-left
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/redpixel.gif") top left repeat-y;
}

.redoutline-tr
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/redoutline-tr.gif") top right no-repeat;
}

.redoutline-bl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/redoutline-bl.gif") bottom left no-repeat;
}

.redoutline-br
{
    margin: 0px;
    padding: 5px;
    background: url("http://blx1.bto.org/btos/image/redoutline-br.gif") bottom right no-repeat;
}

.redoutline-br-nopadding
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/redoutline-br.gif") bottom right no-repeat;
}

.greenoutline-tl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/greenoutline-tl.gif") top left no-repeat;
}

.greenoutline-right
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/greenpixel.gif") top right repeat-y;
}

.greenoutline-left
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/greenpixel.gif") top left repeat-y;
}

.greenoutline-tr
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/greenoutline-tr.gif") top right no-repeat;
}

.greenoutline-bl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/greenoutline-bl.gif") bottom left no-repeat;
}

.greenoutline-br
{
    margin: 0px;
    padding: 5px;
    background: url("http://blx1.bto.org/btos/image/greenoutline-br.gif") bottom right no-repeat;
}

.bluesolid-tl
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/bluesolid-tl.gif") top left no-repeat;
}

.bluesolid-tr
{
    margin: 0px;
    padding: 5px;
    background: url("http://blx1.bto.org/btos/image/bluesolid-tr.gif") top right no-repeat;
}

.bluesolid-header h2
{
    margin: 0px;
    padding: 0px;
    font: bold small Arial, Helvetica, sans-serif;
    text-align: center;
}

.bluesolid-header a h2
{
    color: white;
}

.bluesolid-header a:hover h2
{
    color: lightgrey;
}

/* ~~~~ Tabs ~~~~ */

.tabcontainer
{
    margin-top: 5px;
    text-align: center;
}

.tab-hr
{
    clear: both;
    width: 100%;
    height: 0px;
    margin: 0px;
    padding: 0px;
    border-bottom: 1px solid #27307a;
}

.tabs
{
    float: left;
    width: 34%;
    line-height: normal;
}

.tabs ul
{
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.tabs li
{
    display: inline;
}

.tabs a
{
    float: left;
    color: #27307a;
    background: url("http://blx1.bto.org/btos/image/tableft.gif") no-repeat left top;
    padding: 0 0 0 10px;
}

.tabs a span
{
    float: left;
    display: block;
    margin: 0px;
    padding: 7px 10px 7px 0;
    background: url("http://blx1.bto.org/btos/image/tabright.gif") no-repeat right top;
}

.tabs a:hover
{
    cursor: pointer;
    background-position: 0% -150px;
}

.tabs a:hover span
{
    color: lightgrey;
    cursor: pointer;
    background-position: 100% -150px;
}

.tabs #current a
{
    background-image: url("http://blx1.bto.org/btos/image/tableft.gif");
    background-position: 0% -150px;
}

.tabs #current a span
{
    color: white;
    background-image: url("http://blx1.bto.org/btos/image/tabright.gif");
    background-position: 100% -150px;
}

.tabs #current a:hover span
{
    color: lightgrey;
    cursor: pointer;
}

.tab-search
{
    float: left;
    width: 40%;
}

.tab-search form
{
    display: inline;
}

.tab-search form input
{
    vertical-align: middle;
}

.tab-search form input.searchInput
{
    width: 182px;
}

.tab-cart
{
    float: left;
    width: 26%;
    text-align: right;
    padding: 5px 0 4px;
}

.tab-cart a
{
    color: black;
    font-weight: bold;
    background: url("http://blx1.bto.org/btos/image/cart.gif") no-repeat left;
    padding: 10px 0 10px 22px;
}

.tab-cart a:hover
{
    color: maroon;
}

/* ~~~~ Breadcrumbs ~~~~ */

.breadcrumbs
{
    margin-bottom: 5px;
    padding-bottom: 3px;
    border-bottom: 1px solid #27307a;
    font-weight: bold;
    color: #27307a;
}

.breadcrumbs a
{
    color: #27307a;
}

.breadcrumbs a:hover
{
    color: maroon;
}

.breadcrumbs-current
{
    color: green;
}

/* ~~~~ Extras ~~~~ */

.welcome-back-h2
{
    margin: 0px;
    padding-top: 0px;
    padding-bottom: 5px;
    font: bold small Arial, Helvetica, sans-serif;
    text-align: center;
}

.welcome-back-p
{
    margin: 0px;
    padding: 0px;
    text-align: center;
    font-size: x-small;
    line-height: 1.1em;
}

.special-offer
{
    margin: 0px;
    padding: 0px;
}

.special-offer p
{
    padding: 0px;
    margin: 5px 0 0 0;
}

.special-offer a
{
    color: #336699;
}

.special-offer a:hover
{
    color: maroon;
}

.special-offer .special-offer-image
{
    background-color: white;
    border: 1px solid #27307a;
    height: 100px;
    width: 100px;
    margin: 0px;
    padding: 2px;
}

.special-offer .special-offer-image td
{
    text-align: center;
    vertical-align: middle;
}

.special-offer .special-offer-overflow
{
    padding: 0px;
    margin: 0px;
    height: 4.8em;
    overflow: hidden;
    line-height: 1.2em;
}

/* ~~~~ Forms ~~~~ */

.standard-form
{
    margin-left: 25px;
    margin-right: 25px;
    text-align: left;
}

.standard-form td
{
    vertical-align: middle;
}

.standard-form h3
{
    margin: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #27307a;
    font-size: medium;
    text-align: center;
}

.standard-form h4
{
    margin: 0px;
    padding-bottom: 5px;
    color: #27307a;
    font-size: small;
    text-align: center;
}

/* ~~~~ Categories ~~~~ */

.category-container
{
    margin: 10px 0 10px 0;
    padding: 0px;
}

.category-cell
{
    margin: 3px;
    padding: 0px;
    width: 120px;
    background: url("http://blx1.bto.org/btos/image/category-tl.gif") top left no-repeat;
}

.category-cell .category-cell-header
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/category-tr.gif") top right no-repeat;
}

.category-cell .category-cell-header td
{
    text-align: center;
    vertical-align: middle;
    line-height: 1.2em;
    height: 2.8em;
    padding: 0 3px 0 3px;
}

.category-cell .category-cell-header h3
{
    margin: 0px;
    padding: 0px;
    font-size: small;
    text-align: center;
}

.category-cell .category-cell-header h3 a
{
    color: #27307a;
}

.category-cell .category-cell-header h3 a:hover
{
    color: maroon;
}

.category-cell .category-cell-body
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/category-r.gif") top right repeat-y;
}

.category-cell .category-cell-body .category-image
{
    background-color: white;
    border: 1px solid #27307a;
    height: 100px;
    width: 100px;
    padding: 2px;
}

.category-cell .category-cell-body .category-image td
{
    text-align: center;
    vertical-align: middle;
}

.category-cell .category-cell-footer
{
    margin: 0px;
    padding: 0px;
    background: url("http://blx1.bto.org/btos/image/category-bl.gif") bottom left no-repeat;
}

.category-cell .category-cell-footer td
{
    text-align: center;
    vertical-align: middle;
    font-size: x-small;
    line-height: 1.1em;
    height: 4em;
    background: url("http://blx1.bto.org/btos/image/category-br.gif") bottom right no-repeat;
}

.category-cell .category-cell-footer p
{
    margin: 0px;
    padding: 0 3px 0 3px;
}

/* ~~~~ Search Results ~~~~ */

.search-results
{
    text-align: left;
}

.search-results table
{
    border-collapse: collapse;
}

.search-results table tr td
{
    border-bottom: 1px dashed lightgrey;
    padding-top: 5px;
    padding-bottom: 5px;
    vertical-align: middle;
}

.search-results table tr td img
{
    vertical-align: middle;
}

.search-results-pager
{
    text-align: right;
}

/* ~~~~ View Product ~~~~ */

.view-product
{
    text-align: left;
}

.view-product h3
{
    margin: 0px;
    padding-bottom: 5px;
    color: #27307a;
    font-size: small;
    text-align: left;
}

.view-product .product-thumbnail
{
    background-color: white;
    height: 100px;
    width: 100px;
}

.view-product .product-thumbnail td
{
    text-align: center;
    vertical-align: middle;
}

.view-product .product-thumbnail a
{
    border: none;
}

.view-product .author
{
    font-style: italic;
}

.view-product .options
{
    margin-left: 25px;
    margin-right: 25px;
    padding: 0px;
}

.view-product .options .prices
{
    margin-left: 15px;
    padding: 0px;
}

.view-product .options input
{
    margin-right: 15px;
    padding: 0px;
}

.view-product .add-to-cart
{
    vertical-align: middle;
}

.view-product .add-to-cart input
{
    margin-top: 1px;
    vertical-align: middle;
}

/* ~~~~ Delivery Address ~~~~ */

.delivery-address
{
    margin-left: 25px;
    margin-right: 25px;
    padding: 0px;
    text-align: left;
}

.delivery-address h3
{
    margin: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #27307a;
    font-size: medium;
    text-align: center;
}

.delivery-address .alert-box
{
    margin-left: 5px;
    padding: 0px;
    text-align: left;
    color: red;
}

/* ~~~~ Summary ~~~~ */

.summary-address
{
    margin-left: 25px;
    margin-right: 25px;
    margin-bottom: 5px;
    padding: 0px;
    text-align: left;
}

.summary-address h3
{
    margin: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #27307a;
    font-size: medium;
    text-align: center;
}

.summary-address .address-cell-left
{
    margin-right: 2.5px;
    padding: 0px;
}

.summary-address .address-cell-right
{
    margin-left: 2.5px;
    padding: 0px;
}

/* ~~~~ Order Complete ~~~~ */

.order-complete-box
{
    margin-left: 125px;
    margin-right: 125px;
    text-align: left;
}
