html, body, h1, h2, h3, h4, h5, h6, form, fieldset, div, p, ol, ul, li {
  margin: 0;
  padding: 0; }

img, fieldset, input, textarea, select {
  margin: 0;
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

.clear {
  display: block;
  clear: both; }

body {
  background: #c71c24 url(/images/bg.jpg) repeat-x top;
  color: #fff;
  font: 62.5% lucida, verdana, sans-serif;
  line-height: 1.5em; }

h1 {
  font-size: 3em;
  line-height: 1.4em; }

h2 {
  font-size: 2.2em;
  line-height: 1.4em; }

a:link, a:visited {
  color: #55351d;
  text-decoration: none; }

a:hover {
  color: #c71c24;
  text-decoration: underline; }

#container {
  margin: 0 auto;
  width: 950px;
  font-size: 1em;
  overflow: hidden; }

#sidebar {
  float: left;
  width: 230px; }
  #sidebar #contact {
    background: url(/images/logo.jpg);
    width: 230px;
    height: 310px;
    font: bold 1.1em arial, verdana, sans-serif;
    line-height: 1.2em;
    margin-bottom: -10px; }
    #sidebar #contact p {
      padding: 150px 0 8px 10px;
      font-size: 1em; }
    #sidebar #contact .address {
      padding: 0 0 8px 30px; }
  #sidebar .container {
    margin-top: 10px; }
    #sidebar .container h2 {
      background: url(/images/sidebar_group_title.gif) no-repeat top;
      min-height: 29px;
      padding-top: 8px;
      line-height: 1.6em;
      font: bold 1.8em arial, sans-serif;
      text-align: center;
      text-transform: uppercase; }
    #sidebar .container .sidebar_group {
      width: 220px;
      background: transparent url(/images/sidebar_group_top.jpg) no-repeat top;
      padding-top: 9px; }
      #sidebar .container .sidebar_group .bg {
        background: #c69c6d repeat-x top; }
      #sidebar .container .sidebar_group .bottom {
        background: transparent url(/images/sidebar_group_bottom.jpg) no-repeat bottom;
        padding: 0 7px 25px; }
  #sidebar #nav .bg {
    background-image: url(/images/nav_sidebar_group_bg.jpg); }
  #sidebar #hours .bg {
    background-image: url(/images/hours_sidebar_group_bg.jpg); }
  #sidebar #nav ul {
    list-style-type: circle;
    text-transform: uppercase;
    margin-left: 20px;
    padding: 5px 0 0;
    font-size: 10pt;
    color: #55351d; }
  #sidebar #nav li {
    padding: 3px 0 3px 3px; }
    #sidebar #nav li a:link, #sidebar #nav li a:visited {
      color: #55351d;
      text-decoration: none; }
    #sidebar #nav li a:hover, #sidebar #nav li a:active {
      color: #c71c24; }
  #sidebar #hours {
    min-height: 100px; }
    #sidebar #hours .hours {
      float: left;
      margin: 5px 0 0 1px;
      padding-right: 1px;
      text-align: center;
      color: #000; }
    #sidebar #hours .day {
      text-transform: uppercase;
      color: #55351d;
      font-weight: bold; }
    #sidebar #hours .sunday {
      text-align: center;
      margin-top: 15px; }
    #sidebar #hours .border {
      border-right: 1px solid #55351d; }

#main {
  float: left;
  width: 720px; }

#quicknav {
  position: relative;
  height: 36px;
  margin: 5px 0;
  font-weight: bold; }
  #quicknav ul {
    list-style-type: none;
    list-style-position: outside; }
  #quicknav li {
    float: left;
    margin-right: 3px;
    text-transform: uppercase;
    text-align: center; }
    #quicknav li a {
      float: left;
      height: 100%;
      width: 125px;
      line-height: 3.5em;
      color: #490404;
      background: url(/images/quicknav_button.jpg) no-repeat center top;
      display: block;
      text-decoration: none; }
  #quicknav #search_bar {
    position: absolute;
    left: 512px;
    width: 200px;
    height: 34px;
    margin-top: 1px;
    padding-left: 8px;
    background: #736357 url(/images/search_left.jpg) no-repeat center left; }
    #quicknav #search_bar .container {
      height: 34px;
      padding-right: 5px;
      background: url(/images/search_right.jpg) no-repeat right; }
    #quicknav #search_bar form {
      text-align: center; }
    #quicknav #search_bar .go {
      margin-top: 6px;
      height: 20px;
      width: 33px;
      border: 0 none;
      font-size: 1.1em;
      background: transparent url(/images/go.jpg) no-repeat scroll 0%; }
    #quicknav #search_bar input.search {
      margin: 7px 3px 0 0; }

#content {
  padding: 10px 10px 999em 10px;
  width: 700px;
  overflow: hidden;
  background-color: #fce7bc;
  color: #000;
  margin-bottom: -999em; }
  #content p {
    font-family: arial, sans-serif;
    line-height: 1.3em; }
  #content > p {
    width: 95%;
    font-size: 1.5em;
    margin: 0 0 15px 25px; }
    #content > p.flash_error {
      margin-left: 0; }

#pages #content > p {
  margin-left: 0; }

#footer {
  height: 63px;
  width: 970px;
  background: url(/images/footer_bg.jpg) repeat-x;
  color: #490404;
  margin: 10px auto; }
  #footer .rightfoot {
    height: 63px;
    background: url(/images/footer_left.jpg) no-repeat left center; }
    #footer .rightfoot p {
      height: 63px;
      padding-right: 13px;
      background: url(/images/footer_right.jpg) no-repeat right center;
      font-family: arial, georgia, tahoma;
      font-size: 1.2em;
      line-height: 63px;
      text-align: right; }

#pages #content ul, #pages #content ol {
  margin-left: 50px; }

form label, form .form_label {
  position: relative;
  font-size: 1.3em;
  font-weight: bold; }
form .form_label {
  display: block;
  width: 125px; }
form table input[type='text'], form table input[type='password'], form table textarea {
  border: 1px solid #ccc;
  font-size: 14pt; }
form table input[type='file'] {
  border: 1px solid #ccc; }
form table select {
  border: 1px solid #ccc;
  font-size: 14pt;
  min-width: 80px; }

.add_button {
  display: inline;
  background-color: #736356;
  float: left;
  height: 30px;
  margin: 6px 3px 0; }
  .add_button input[type='submit'], .add_button .submit {
    margin: 2px;
    height: 26px;
    background-color: #736356;
    border: 1px solid tan;
    color: white;
    text-transform: uppercase;
    font-family: Times New Roman;
    padding: 0 5px;
    overflow: visible; }
  .add_button .submit {
    cursor: default;
    display: block;
    height: 24px;
    font-size: 10pt;
    line-height: 24px;
    color: white;
    text-decoration: none; }

.cart .add_button .submit {
  color: white; }

.flash_error {
  padding: 5px;
  margin: 8px;
  background-color: #c00;
  border: 2px solid red;
  font-weight: bold;
  font-size: 1.1em;
  color: white;
  text-align: center; }

.flash_success {
  padding: 5px;
  margin: 8px;
  background-color: #7df1a1;
  border: 1px solid #000;
  font-weight: bold;
  font-size: 1.1em;
  color: #000;
  text-align: center; }

.fieldWithErrors input[type='text'], .fieldWithErrors input[type='password'] {
  border: 1px solid #f00; }

input.right {
  text-align: right; }

#login .container, #signup .container {
  margin: 40px auto;
  width: 420px;
  padding: 20px;
  border: 10px solid #d2b48c;
  background: #c69c6d url(/images/nav_sidebar_group_bg.jpg) repeat-x top; }
#login h1, #signup h1 {
  text-align: center; }
#login p, #signup p {
  margin: 5px 0 10px 10px;
  font-size: 1.4em; }
#login a img, #signup a img {
  margin: 6px 0 -6px; }

#signup label {
  display: block;
  width: 135px; }
  #signup label em.pos_fix {
    right: -4px; }
#signup fieldset {
  padding: 0 5px 5px 10px;
  border: 1px solid #fce7bc; }
  #signup fieldset legend {
    font-size: 1.4em;
    font-weight: bold; }
  #signup fieldset table {
    width: 100%; }
    #signup fieldset table label {
      width: 125px; }
      #signup fieldset table label em {
        right: 0; }

#errorExplanation {
  border: 2px solid red;
  padding: 7px 7px 12px;
  background-color: #f0f0f0;
  margin-bottom: 5px; }
  #errorExplanation h2 {
    font-style: italic;
    font-weight: bold;
    font-size: 12px;
    padding: 5px 5px 5px 15px;
    margin: -7px -7px 0;
    background-color: #c00;
    color: #fff; }
  #errorExplanation p {
    margin-bottom: 0;
    padding: 5px;
    color: #333; }
  #errorExplanation ul li {
    font-size: 12px;
    list-style: square;
    margin-left: 30px; }

#praise {
  margin: 0 0 15px 25px;
  width: 600px; }
  #praise h2 {
    font-style: italic; }
  #praise .quote {
    margin-left: 15px;
    font-size: 1.5em; }
    #praise .quote .author {
      display: block;
      margin-left: 2em; }

#features {
  color: #42210b;
  font-size: 1.2em;
  margin-left: 15px; }
  #features .featurette {
    float: left;
    margin: 5px;
    padding-top: 26px;
    width: 204px;
    background: transparent url(/images/featurette_top.jpg) no-repeat scroll center top; }
    #features .featurette a {
      font-size: 0;
      color: #42210b;
      text-decoration: none; }
      #features .featurette a:hover {
        text-decoration: underline; }
    #features .featurette img {
      max-width: 156px;
      max-height: 145px; }
    #features .featurette .bottom {
      padding-bottom: 35px;
      background: transparent url(/images/featurette_bottom.jpg) no-repeat scroll center bottom; }
    #features .featurette p {
      position: relative;
      height: 170px;
      margin: 0;
      padding: 0 32px 10px 16px;
      text-align: center;
      font-size: 1.5em;
      font-family: lucida, verdana, sans-serif;
      background: #fde4b4 url(/images/featurette_bg.jpg) repeat-y scroll left top; }
      #features .featurette p span {
        clear: both;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 188px;
        display: block; }
        #features .featurette p span a {
          font-size: 1em; }

#listing {
  background-color: white;
  float: left;
  margin: 0 5px -999em;
  padding: 8px 8px 999em;
  width: 45%;
  overflow: hidden; }
  #listing h2 {
    color: #490404;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.1em; }
  #listing h3 {
    color: #490404;
    font-weight: bold;
    margin-bottom: 3px; }
  #listing a {
    color: #490404; }
  #listing p {
    font-size: 1.1em; }
  #listing .item {
    clear: left;
    border-bottom: 1px solid #42210b;
    padding: 10px 0 15px; }
  #listing .item:last-child {
    border-bottom: none; }
  #listing img {
    width: 80px;
    margin-right: 5px;
    float: left; }
  #listing .price, #listing .blurb {
    margin-left: 85px; }
  #listing .price {
    font-weight: bold; }
  #listing .selected {
    background-color: #FEF1D0; }
  #listing .product h3 {
    margin-left: 85px; }
  #listing .category h4 {
    margin-left: 85px; }

#product_details {
  float: left;
  width: 50%; }
  #product_details .details {
    padding-bottom: 15px;
    border-bottom: 1px solid #666; }
    #product_details .details img {
      width: 100%;
      height: 300px; }
    #product_details .details .heading {
      width: 100%;
      position: relative;
      font-weight: bold;
      margin: 5px 0;
      text-transform: uppercase;
      font-size: 1.4em; }
    #product_details .details .name {
      float: left;
      display: inline;
      width: auto; }
    #product_details .details .price {
      float: right;
      display: inline;
      width: auto; }
    #product_details .details .blurb, #product_details .details .contents {
      margin-left: 15px; }
    #product_details .details p.contents {
      font-size: 1.4em; }
    #product_details .details ul {
      margin-top: 5px;
      list-style-type: none;
      list-style-position: inside; }
    #product_details .details li {
      font-size: 1.2em;
      margin-left: 15px; }
  #product_details .purchase {
    margin-top: 15px;
    text-align: right; }
    #product_details .purchase p {
      float: left;
      font-weight: bold;
      margin: 0 5px 0 0;
      width: auto; }
    #product_details .purchase span.qty {
      font-size: 14pt;
      font-weight: normal; }
    #product_details .purchase input.qty {
      border: 1px solid #ccc;
      text-align: right;
      font-size: 18pt;
      font-weight: normal; }

.cart p {
  font-size: 1.2em;
  margin: 15px 0; }
.cart p.proceed {
  font-size: 1.5em; }
.cart a:link, .cart a:visited {
  color: #55351D; }
.cart a:hover {
  color: #C71C24; }
.cart .price {
  font-weight: bold;
  color: #755A36; }
.cart table {
  width: 100%;
  border-collapse: collapse;
  margin-right: 25px; }
  .cart table th {
    color: #490404;
    background-color: tan;
    margin-bottom: 4px;
    border-bottom: 1px solid #755A36;
    text-align: left; }
  .cart table td {
    padding: 4px;
    border-bottom: 1px solid #755A36; }
  .cart table .calculated_price {
    color: #490404;
    font-weight: bold; }
  .cart table .qty {
    width: 30px; }
  .cart table .empty {
    border: none; }
  .cart table input[type='button'] {
    border: 1px solid #ccc; }

.addresses {
  margin-top: 20px;
  font-size: 1.2em; }
  .addresses .billing {
    float: left;
    width: 45%;
    margin-left: 30px; }
  .addresses .shipping {
    float: left;
    width: 45%; }

.cc {
  padding-top: 20px;
  font-size: 1.2em;
  clear: both;
  margin-left: 30px; }

#user_details dl {
  margin: 0; }
  #user_details dl dt {
    clear: left;
    float: left;
    width: 85px; }
    #user_details dl dt.space {
      margin-top: 10px; }
      #user_details dl dt.space + dd {
        margin-top: 10px; }
    #user_details dl dt.heading {
      width: 150px;
      font-size: 1.2em;
      margin-top: 10px; }
  #user_details dl dd {
    float: left;
    margin: 0; }

#new_order p.required, .edit_order p.required {
  font-size: 1.3em; }
#new_order label, .edit_order label {
  width: 125px; }
  #new_order label.asterisk_fix, .edit_order label.asterisk_fix {
    display: block; }

em {
  position: absolute;
  right: 0;
  color: #c71c24; }

p.required {
  color: #c71c24;
  margin-bottom: 5px !important; }
