body {
  background: url('/images/layout/bg_tile.png') top left;
  font-size: 13px;
  color: #333338;
  line-height: 1.5em;
  margin: 0;
  padding: 0; }
  body #inset {
    background: url('/images/layout/background.png') top left repeat-x;
    margin: 0;
    padding: 0;
    width: 100%; }
  body #wrap {
    width: 840px;
    margin: 0 auto;
    padding-top: 1em; }
  body #header {
    width: 840px;
    margin: 0 0 1em 0;
    padding: 0;
    border: 0;
    background: transparent url('/images/layout/header.png') top left no-repeat; }
  body #header:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

body.fullwidth #wrap {
  width: 100%;
  margin: 1em; }
body.fullwidth #header {
  width: 840px;
  margin: 0 auto 1em auto; }

#brand {
  height: 122px; }

#content {
  clear: both; }

#nav, #admin_nav {
  height: 27px;
  padding-top: 4px;
  text-align: center;
  font-size: 130%;
  color: white; }
  #nav a, #admin_nav a {
    color: white;
    text-decoration: none;
    padding: 0 1em; }
    #nav a img, #admin_nav a img {
      height: 16px;
      border: 0;
      margin: 0 .25em;
      vertical-align: text-bottom; }
  #nav a.shopping_cart_link, #admin_nav a.shopping_cart_link {
    color: #ffa;
    font-weight: bold; }
  #nav a:hover, #admin_nav a:hover {
    color: #ffa;
    background: transparent;
    text-decoration: underline; }

#admin_nav {
  background: #6C9;
  color: black;
  border: 1px solid black;
  font-size: 90%;
  padding: 0;
  line-height: inherit;
  height: auto; }
  #admin_nav a {
    color: black;
    font-weight: bold;
    padding: 5px 1em; }
  #admin_nav a:hover {
    color: white;
    background: blue;
    text-decoration: none; }

#admin_nav:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

#footer {
  text-align: center;
  border-top: 1px dotted #333338;
  padding-top: 1em;
  margin-top: 3em; }

.col1 {
  width: 260px;
  float: left; }

.col2 {
  width: 560px;
  float: left;
  margin-left: 20px; }

.cols {
  clear: both;
  display: inline-block; }

.cols:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

html[xmlns] .cols {
  display: block; }

* html .cols {
  height: 1%; }

.block {
  margin-top: 1em;
  width: 840px;
  background: url('/images/layout/block_840.png') top left no-repeat;
  min-height: 150px; }

.screenshot {
  margin-top: 1em; }

.block_with_title {
  background: url('/images/layout/block_840_withheader.png') top left no-repeat; }
  .block_with_title h2 {
    height: 23px;
    padding: 5px 10px 0 10px;
    margin-bottom: 0;
    margin-top: 0;
    font-size: 120%;
    font-weight: bold; }

.col1 .block {
  width: 260px;
  background: url('/images/layout/block_260.png') top left no-repeat; }
.col1 .block_with_title {
  background: url('/images/layout/block_260_withheader.png') top left no-repeat; }
.col1 .screenshot {
  width: 260px; }

.col2 .block {
  width: 560px;
  background: url('/images/layout/block_560.png') top left no-repeat; }
.col2 .block_with_title {
  background: url('/images/layout/block_560_withheader.png') top left no-repeat; }

.block_content {
  padding: 10px; }

.errorExplanation {
  background: #fcc;
  color: #600;
  border: 2px solid #600;
  padding: 1em; }

.fieldWithErrors {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0; }
  .fieldWithErrors input {
    background: #fcc; }

/* -------------------- flashes / notices */
.flash {
  width: 839px;
  height: 38px;
  font-weight: bold;
  font-size: 15px;
  color: black;
  margin: 0 0 1em 0;
  border-right: 1px solid black; }
  .flash p {
    margin-left: 50px;
    padding-top: 9px; }

.error {
  background: url('/images/layout/flash_error.png') no-repeat; }

.notice {
  background: url('/images/layout/flash_alert.png') no-repeat; }

.success {
  background: url('/images/layout/flash_success.png') no-repeat; }

#content h1 {
  background: url('/images/layout/headline.png') no-repeat;
  height: 28px;
  margin: .5em 0;
  font-size: 20px;
  padding-top: 12px;
  padding-left: 30px; }

table.listing {
  border-collapse: collapse;
  font-size: 11px; }

table.listing td {
  border: 1px solid #999;
  padding: 2px 5px;
  vertical-align: top;
  font-size: 11px; }

table.listing th {
  border: 1px solid black;
  border-bottom: 2px solid black;
  font-size: 100%;
  font-weight: bold;
  white-space: nowrap;
  background: #ccd;
  padding: 2px 5px; }

.summary {
  display: inline;
  font-weight: bold; }

.full_description {
  display: block;
  margin: 5px;
  padding: 4px;
  border-top: 1px dotted #999; }

tr.odd {
  background: white; }

tr.even {
  background: #dde; }


tr.closed {
  color: #666;
  font-style: italic; }

tr.closed alink {
  color: #66C; }

tr.closed avisited {
  color: #A6A; }

td pre {
  border: 0;
  padding: 0;
  margin: 0; }

.social_links {
  float: right;
  width: 40px;
  margin-left: 1em;
  margin-right: 1em; }
  .social_links img {
    clear: right; }

.exception {
  background: #fee;
  color: #900;
  font-weight: bold; }

dt {
  font-weight: bold; }

dd {
  margin-bottom: 1em; }

form {
  margin-top: .5em;
  margin-bottom: .5em; }

.form_section {
  clear: both;
  margin-top: .5em; }

.form_section:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.labeled_input {
  margin-bottom: .25em;
  margin-left: 1em;
  clear: both; }
  .labeled_input label {
    display: block;
    float: left;
    width: 8em;
    text-align: right;
    font-weight: bold;
    margin-right: 1em; }
  .labeled_input .comment {
    display: inline;
    font-style: italic;
    margin-left: 1em; }
  .labeled_input select {
    width: 20em; }
  .labeled_input input {
    margin-right: .5em; }

.required label {
  font-weight: bold; }

.nostretch select {
  width: auto; }

.errorExplanation {
  border-width: 2px;
  border-style: solid;
  border-color: #f44;
  background: #e9b2b2;
  padding: 1em;
  margin-bottom: 1em; }
  .errorExplanation h2 {
    font-size: 120%;
    color: black;
    margin-top: 0; }
  .errorExplanation p, .errorExplanation ul {
    margin-bottom: 0.5em; }

.fieldWithErrors {
  display: inline; }
  .fieldWithErrors label {
    color: red; }
  .fieldWithErrors input, .fieldWithErrors textarea {
    background-color: #e9b2b2; }

#debug {
  clear: both;
  margin-top: 4em;
  border-top: 2px solid black;
  padding: 1em;
  background: #CCC; }
  #debug h2 {
    color: black; }
  #debug .tabbed_panel {
    padding: 0px;
    clear: both;
    width: 100%;
    margin-top: 1em; }
  #debug .panel_panel {
    padding: 0.5em 0; }
  #debug .panel_selected {
    display: block; }
  #debug .panel_unselected {
    display: none; }
  #debug .tab_container {
    margin: 0px;
    padding: 0px; }
  #debug ul.panel_panels {
    clear: both;
    border-left: solid 1px #CCC;
    border-bottom: solid 1px #CCC;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
    background-color: white;
    padding: 10px;
    margin: 0;
    overflow: scroll; }
  #debug li.panel_tab {
    position: relative;
    top: 1px;
    float: left;
    padding: 0;
    margin: 0px 3px 0px 0px;
    font: bold 1.2em sans-serif;
    list-style: none;
    border-left: solid 1px #CCC;
    border-bottom: solid 1px #999;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
    -moz-user-select: none;
    -khtml-user-select: none;
    cursor: pointer; }
  #debug li.tab_selected {
    background-color: white;
    border-bottom: 1px solid white; }
  #debug li.tab_unselected {
    background-color: #aac; }
  #debug li.tab_unselected:hover {
    background-color: #A77; }
  #debug li.panel_tab a {
    display: block;
    float: left;
    padding: 4px 10px;
    color: black;
    text-decoration: none; }
  #debug li.panel_tab ahover {
    color: #009; }

.tabbed_panel {
  padding: 0px;
  clear: both;
  width: 100%;
  margin-top: 1em; }

.pane {
  padding: 0.5em 0; }

.pane_selected {
  display: block; }

.pane_unselected {
  display: none; }

.panes {
  clear: both;
  border-left: solid 1px #CCC;
  border-bottom: solid 1px #CCC;
  border-top: solid 1px #999;
  border-right: solid 1px #999;
  background-color: white;
  padding: 10px;
  margin: 0; }

li.tab {
  position: relative;
  top: 1px;
  float: left;
  padding: 0;
  margin: 0px 3px 0px 0px;
  font: bold 1.2em sans-serif;
  list-style: none;
  border-left: solid 1px #CCC;
  border-bottom: solid 1px #999;
  border-top: solid 1px #999;
  border-right: solid 1px #999;
  -moz-user-select: none;
  -khtml-user-select: none;
  cursor: pointer;
  font-size: 11px; }

li.tab_selected {
  background-color: white;
  border-bottom: 1px solid white; }

li.tab_unselected {
  background-color: #aac; }

li.tab_unselected:hover {
  background-color: #A77; }

li.tab a {
  display: block;
  float: left;
  padding: 4px 10px;
  color: black;
  text-decoration: none; }

li.tab a:hover {
  color: #009; }

a img {
  border: 0; }

p {
  line-height: 1.5em;
  margin: .5em 0 1.25em 0; }

.form_row {
  margin: 1em 0 0 0;
  padding: 5px 0 0 0;
  white-space: nowrap; }
  .form_row label {
    display: block;
    width: 10em;
    float: left;
    clear: both;
    margin-right: 1em; }
  .form_row p {
    white-space: normal; }
