/* --- Major Containers --- */
html {
	height: 100%;
}
body {
  background-color: #FCFBED;
  color: #222222;
	min-height: 100%;
  padding-bottom: 24px;
  margin: 0;
}
#doc2 {
  background-image: url(/images/bg.stripe.png);
  background-repeat: repeat-y;
}
#leftcol-content, #ft {
  background-image: url(/images/bg.logo.png);
  background-repeat: no-repeat;
  background-position: 0 120px;
  padding-left: 180px;
}
#leftcol-content {
  padding-bottom: 20px;
	min-height: 500px;
}
#rightcol-content {
/*  border-top: 16px solid #008539;*/
}
.sidebox {
  border-bottom: 2px solid #008539;
  padding-bottom: 8px;
}
#ft {
/*  border-top: 3px solid #008539;*/
  padding-top: 32px;
  font-size: 85%;
}


/* --- Typography --- */
h1 {
  font-size: 227%;
  letter-spacing: -1px;
  color: #333333;
  margin-bottom: 12px;
  margin-top: 18px;
  clear: left;
}
h2 {
  clear: both;
  margin-bottom: 6px;
  font-size: 131%;
}
#site-title {
  font-size: 93%;
  font-weight: bold;
  margin-bottom: 0;
}
#rightcol h2 {
  margin-top: 12px;
  padding-bottom: 6px;
}
.quote {
  font-size: 85%;
}
.quote .author {
  text-align: right;
  font-style: italic;
  margin-bottom: 0;
}
.small {
  font-size: 85%;
}
.light {
  color: #AAAAAA;
}
.first {
  margin-top: 0;
}
a {
  text-decoration: none;
  color: #008539;
}
a:hover {
  text-decoration: underline;
}
.error {
  color: #FF0000;
}
.centered {
  text-align: center;
}
.italic {
  font-style: italic;
}

.alert {
  border: 1px solid #FF0000;
  padding: 8px;
}


/* --- Lists --- */
dl {
  margin-left: 12px;
}
dt {
  font-weight: bold;
}
dd {
  margin-bottom: 4px;
}


/* --- Navbar --- */
#navbar {
  margin: 0 0 16px 0;
  padding: 0;
  white-space: nowrap;
}
#navbar li {
	display: inline;
	list-style-type: none;
}
#navbar a {
  margin-right: 8px;
  font-size: 85%;
  font-weight: bold;
  padding: 4px 6px;
  padding-bottom: 2px;
  color: #FCFBED;
  background-color: #008539;
}
#navbar a:hover {
  color: #000000;
  background-color: #cbe6d7;
  text-decoration: none;
}


/* --- Admin Navbar --- */
#admin-navbar {
  margin-top: -16px;
}
#admin-navbar a {
  font-size: 94%;
}


/* --- Cart --- */
#cart th {
  text-transform: uppercase;
  font-size: 77%;
  border-bottom: 1px solid #008539;
}
#cart td {
  padding-bottom: 3px;
  vertical-align: middle;
}
#cart td.total,
#cart th.total {
  text-align: right;
  padding-right: 0;
}
#cart tr.total td {
  font-weight: bold;
}
#cart .item td {
  border-bottom: 1px solid #008539;
}


/* --- Forms --- */
label {
  text-transform: uppercase;
  font-size: 77%;
}
input {
  border: 1px solid #008539;
  background-color: #FFFFFF;
  padding: 2px;
}
input.short {
  width: 60px;
}
input.long {
  width: 260px;
}
textarea { /* for contact form */
  width: 450px;
  height: 150px;
}
input.quantity {
  border: 2px solid #008539;
  width: 16px;
}
input[type=submit] {
  border: 2px solid #008539;
  color: #FCFBED;
  background-color: #008539;
  padding: 1px;
  font-weight: bold;
  cursor: pointer;
}
input[type=submit]:hover {
  color: #000000;
  background-color: #cbe6d7;
  border: 2px solid #008539;
}
input[disabled=disabled],
input[disabled=disabled]:hover {
  cursor: default;
  color: #999999;
  background-color: #EEEEEE;
  border: 2px solid #CCCCCC;
}
fieldset {
  border: 1px solid #008539;
  padding: 4px 8px;
}
.no-border {
  border: none;
}
legend {
	padding: 0 8px;
	font-style: italic;
	color: #008539;
}
.field {
  margin-bottom: 8px;
}
.field_description {
  font-size: 85%;
}
.required {
  color: #FF0000;
}

#errorExplanation {
	border: 1px solid #FF0000;
	color: #FF0000;
	margin-bottom: 16px;
	padding: 12px 12px 2px 12px;
}
#errorExplanation h2 {
  display: none;
}
#errorExplanation p {
  font-weight: bold;
}



/* --- Products --- */
.product td {
  margin-bottom:32px;
  vertical-align: middle;
}
.product .price {
  font-style: italic;
  font-weight: bold;
  text-align: right;
  width: 12%;
}
.product .name {
  font-weight: bold;
}
.product .description {
  width: 60%;
}
form.add_to_cart {
  float: right;
}
.out_of_stock {
  text-align: right;
  font-style: italic;
}


/* --- Discussion --- */
.message {
	background-color: #cbe6d7;
	padding: 10px 12px;
	margin-bottom: 8px;
}
.parent-message {
	background-color: transparent;
	padding: 0;
}
.message_header {
	font-style: italic;
/*	border-bottom: 1px solid #008539;*/
}


/* --- Tables --- */
table {
  width: 100%;
  margin-bottom: 4px;
}
td.numeric,
th.numeric {
  text-align: right;
}
td, th {
  border: none;
  padding: 2px 8px 2px 0;
  text-align: left;
  vertical-align: top;
}
th {
  padding-top: 12px;
}
tr.first th {
  padding-top: 0;
}
.debit {
  color: red;
}
.credit {
  color: #008539;
}
.underlined-rows td {
  border-bottom: 1px solid #CCCCCC;
}

.user-details {
  width: 60%;
  font-size: 88%;
  color: #999999;
  margin-left: 8px;
}
.order-history {
}
.general-expense-form {
  text-align: left;
  border: 1px solid #cbe6d7;
  padding: 12px;
  margin-top: 12px;
}


/* --- Images --- */
.diagram {
  float:right;
  margin: 2px 0 2px 8px;
  padding:0;
  border: 1px solid #cbe6d7;
}


/* --- Flash --- */
#flash p {
  text-align: center;
  border: 1px solid #000000;
  padding: 6px;
}
#flash p.error {
  color: #FF0000;
  border-color: #FF0000;
}
#flash p.notice {
  color: #008539;
  border-color: #008539;
}

