img, div {
  behavior: url(/javascripts/iepngfix.htc); }

.clear {
  clear: both; }

.clear_left {
  clear: left; }

.block {
  display: block; }

.highlight {
  background-color: #ffc; }

.fineprint {
  font-size: 12px;
  font-style: italic;
  
  color: #777; }

.fancyborder1 {
  background-color: #ebebe6;
  padding: 4px; }

.fancyborder2 {
  border: 1px solid #ccc;
  background-color: #FFFFFF;
  padding: 0 10px; }
  .fancyborder2 img {
    display: block; }

.big_border_wrap {
  border: 4px solid #E3ECF1;
  padding: 4px; }

.big_border {
  background-color: #E3ECF1;
  padding: 10px; }

.hidden {
  display: none; }

a.button_link {
  display: inline-block;
  margin: 0;
  background-color: #eee;
  border: 1px solid #dedede;
  border-top: 1px solid #eee;
  border-left: 1px solid #eee;
  font-size: 11px;
  line-height: 18px;
  text-decoration: none;
  font-weight: bold;
  color: #565656;
  cursor: pointer;
  padding: 6px; }
  a.button_link img {
    margin: 0 2px -2px 0 !important;
    padding: 0;
    border: none;
    width: 16px;
    height: 16px;
    display: inline; }

a:hover.button_link {
  background-color: #FADAD0;
  border: 1px solid #bf2525;
  color: #333; }

a.checkout {
  margin-right: 10px; }

#flash {
  margin: 10px 20px 10px 20px;
  padding: 4px;
  border: 1px solid #CCC;
  background-color: white; }
  #flash p {
    font-size: 12px;
    line-height: 12px;
    margin: 0;
    padding: 10px;
    letter-spacing: normal;
    color: #000;
    font-weight: normal;
    background-color: #ffc;
    border: none;
    text-align: center; }

form fieldset {
  border: 1px solid #ccc;
  margin: 20px 0; }
  form fieldset legend {
    color: #777;
    font-style: oblique;
    letter-spacing: 1px;
    font-size: 18px; }
  form fieldset label {
    display: block;
    font-weight: bold;
    font-size: 12px; }
  form fieldset div.input_section {
    margin-bottom: 15px; }
  form fieldset p {
    margin: 0;
    font-size: 16px; }
  form fieldset p.help {
    margin: 0 0 0 3px;
    color: #777;
    padding: 0;
    font-size: 12px; }
    form fieldset p.help a {
      font-style: italic; }
  form fieldset span.inline_grouping {
    float: left;
    margin-right: 5px; }
    form fieldset span.inline_grouping label {
      display: block;
      margin: 0 0 0 3px;
      color: #777;
      padding: 0;
      font-size: 12px;
      font-weight: normal; }
  form fieldset div.inline_group:after {
    display: block;
    content: ".";
    height: 0;
    clear: left;
    visibility: hidden; }
  form fieldset .fieldWithErrors {
    border-bottom: 3px double red;
    display: inline;
    padding-bottom: 5px; }

.errorExplanation {
  clear: both;
  background-color: #fff;
  border: 1px solid #ccc;
  color: #555;
  margin: 10px 60px 0 60px;
  padding: 5px; }
  .errorExplanation h2 {
    text-align: left;
    color: #444;
    font-size: 14px;
    margin: 0;
    background-color: #FADBD2;
    padding: 10px; }
  .errorExplanation p {
    display: none; }
  .errorExplanation ul, .errorExplanation li {
    background-color: #FADBD2; }
  .errorExplanation ul {
    margin: 0;
    padding: 5px 10px 10px 10px; }
  .errorExplanation li {
    margin: 5px 20px; }

#main {
  margin-top: 0;
  margin: 0 15px; }

#main p a, #footer p a, #sidebar p a {
  text-decoration: none;
  border-bottom: 1px solid #000;
  color: #000; }
  #main p a:hover, #footer p a:hover, #sidebar p a:hover {
    background-color: #333;
    color: #fff; }
  #main p a:visited, #footer p a:visited, #sidebar p a:visited {
    font-weight: normal; }
#main a#mailing_list_link, #footer a#mailing_list_link, #sidebar a#mailing_list_link {
  margin-top: 10px; }

h1, h2 {
  margin-top: 0;
  
  color: #444; }

h2 {
  text-align: center; }

body {
  padding-top: 0;
  margin: 0;
  border-top: 4px solid #AF9E8E;
  background-color: #efece6;
  font-family: 'Gill Sans', Arial, "Lucida Grande", Verdana, sans-serif;
  font-size: 14px; }

#container {
  width: 670px;
  margin: 10px auto;
  border-top: 10px solid #fff;
  border-left: 10px solid #fff;
  border-right: 10px solid #fff;
  
  background-color: #fff; }

#header {
  margin: 0;
  padding: 0; }
  #header h1 {
    padding: 0;
    margin: 0; }
    #header h1 a {
      text-indent: -4000px;
      display: block;
      background: url(/images/header.png) no-repeat;
      height: 190px; }
  #header #tabs {
    position: absolute;
    width: 670px;
    text-align: right; }
    #header #tabs ul {
      margin-right: 10px;
      
      list-style-type: none;
      float: right; }
      #header #tabs ul li {
        margin-right: 10px;
        display: inline;
        float: left; }
        #header #tabs ul li a {
          border: 1px solid #ccc;
          background-color: #fff;
          padding: 5px;
          color: #555;
          text-decoration: none;
          float: left; }
          #header #tabs ul li a img {
            float: left;
            margin-right: 3px;
            border: 0; }
        #header #tabs ul li:hover a {
          color: #fff;
          background-color: #555; }
    #header #tabs img#indicator_cart {
      float: left;
      margin-right: 10px; }

#main_column {
  width: 370px;
  padding: 0 10px; }

#footer {
  background: url(/images/footer_bg.png) repeat;
  border-top: 1px solid #ddd;
  border-bottom: 10px solid #fff;
  
  margin: 10px auto 0 auto;
  width: 630px;
  padding: 20px 20px; }
  #footer p {
    color: #555; }
    #footer p a {
      color: #999;
      border-bottom: 1px solid #555;
      border-bottom: none; }
      #footer p a:hover {
        background-color: transparent;
        color: #999; }
      #footer p a span#norbauer_inc {
        text-decoration: underline;
        background-color: #ffc;
        border: 1px solid #fff;
        padding: 5px;
        font-weight: bold;
        color: #555;
        font-style: italic;
        font-size: 12px; }
  #footer p#copy {
    margin-top: 0;
    margin-bottom: 5px;
    
    font-size: 13px;
    color: #999; }
  #footer p#dylan {
    margin: 2px;
    font-size: 11px;
    color: #999; }

.product_section {
  padding-right: 5px; }
  .product_section p {
    color: #777; }
  .product_section > p:first-child {
    background: #eee;
    border-bottom: 1px solid #ddd;
    padding: 2px;
    margin-top: 5px;
    
    font-style: oblique; }

img.product {
  border: 4px solid #eee;
  padding: 1px;
  background-color: :fff;
  margin: 5px; }
  img.product:hover {
    background-color: #777; }

#sidebar {
  width: 230px;
  float: right;
  border-left: 1px solid #ddd;
  
  padding-top: 0;
  padding-left: 15px;
  padding-right: 10px;
  
  margin-top: 0; }
  #sidebar img {
    margin-left: 2px; }
  #sidebar #store_title {
    padding-bottom: 10px;
    border-bottom: 4px double #ddd; }
    #sidebar #store_title h2 {
      text-align: left;
      padding: 0;
      margin: 0;
      font-size: 17px; }
      #sidebar #store_title h2 .top_line {
        font-size: 20px; }
    #sidebar #store_title h3 {
      color: #777;
      margin: 0;
      font-style: oblique;
      font-size: 13px;
      font-weight: normal; }
  #sidebar #rails_core_discount {
    width: 200px;
    margin: auto;
    padding-top: 20px;
    text-align: center;
    color: #555; }
    #sidebar #rails_core_discount p {
      margin: 0; }
    #sidebar #rails_core_discount span.percent_discount {
      display: block;
      font-size: 20px;
      font-weight: bold; }
    #sidebar #rails_core_discount span.for_rails_core_contributors {
      font-size: 16px; }
  #sidebar #partners {
    margin-top: 20px;
    border-top: 1px solid #ddd;
    text-align: center; }
    #sidebar #partners img {
      margin-top: 20px; }
  #sidebar #hand_printed {
    color: #777;
    margin-top: 10px;
    height: 232px;
    width: 239px;
    background: url(/images/shirt_bg.png) no-repeat; }
    #sidebar #hand_printed p {
      text-align: center;
      width: 125px;
      margin: auto;
      padding-top: 50px;
      font-size: 12px; }
      #sidebar #hand_printed p span.highlight {
        margin: 8px;
        padding: 2px;
        font-size: 14px;
        
        display: block; }
  #sidebar #manufacture {
    color: #555;
    text-align: center;
    font-size: 12px; }

#graph_container {
  width: 225px;
  margin-right: 15px;
  float: right; }
  #graph_container h2#product_name {
    margin-bottom: 0; }
  #graph_container h3#product_color {
    color: #999;
    text-align: center;
    margin: 0 0 10px 0;
    font-style: italic;
    letter-spacing: 1px;
    font-size: 14px; }
  #graph_container #price {
    text-align: center;
    margin-top: 0;
    margin-bottom: 10px; }
    #graph_container #price .price {
      display: block;
      font-size: 30px;
      font-weight: bold; }
    #graph_container #price .sale_title {
      color: #BF2525;
      font-style: italic;
      font-size: 15px;
      font-weight: bold; }
    #graph_container #price .sale_price {
      color: #BF2525;
      text-decoration: line-through; }
    #graph_container #price .plus_shipping {
      font-size: 12px; }
  #graph_container .graph {
    position: relative;
    width: 218px;
    border: 1px solid #ddd;
    padding: 2px;
    margin-bottom: .5em; }
    #graph_container .graph .bar {
      display: block;
      position: relative;
      background: #ddd;
      text-align: center;
      color: #333;
      height: 2em;
      line-height: 2em; }
      #graph_container .graph .bar span {
        position: absolute;
        left: 1em;
        width: 195px;
        text-align: left;
        font-size: 15px; }
        #graph_container .graph .bar span em {
          font-size: 12px;
          color: #aaa; }
        #graph_container .graph .bar span em.stock_info {
          float: right; }
        #graph_container .graph .bar span a {
          font-size: 14px; }
  #graph_container #unsure_about_size {
    background-color: #eee;
    padding: 10px;
    text-align: center;
    border: 3px double #ddd;
    margin: 15px 0; }
    #graph_container #unsure_about_size p {
      margin-bottom: 5px; }
    #graph_container #unsure_about_size h4 {
      margin-top: 5px; }
  #graph_container h2 {
    text-align: left;
    font-style: oblique;
    font-size: 14px;
    text-align: center;
    text-transform: Uppercase; }
  #graph_container h3 {
    font-weight: normal;
    margin-top: 0;
    font-size: 13px; }
  #graph_container p {
    padding: 0 20px; }

div#product_main {
  float: left;
  width: 400px;
  text-align: center; }
  div#product_main ul {
    margin: 5px auto; }
  div#product_main img.slideshow_main_image {
    border: 2px solid #ddd;
    padding: 2px; }
  div#product_main p.description {
    font-size: 14px;
    margin: 10px 5px 5px 5px;
    font-weight: bold;
    color: #999; }
    div#product_main p.description a {
      font-weight: bold; }

.tabbed_images_2 {
  width: 400px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  text-align: center; }
  .tabbed_images_2 li {
    list-style: none;
    display: inline; }
    .tabbed_images_2 li a {
      display: inline; }
      .tabbed_images_2 li a img {
        margin: 8px;
        border: 1px solid #ccc;
        padding: 1px; }

#i_ll_give_you_what_for_i_will {
  float: right;
  text-align: center;
  width: 200px; }
  #i_ll_give_you_what_for_i_will span.size {
    display: block; }
  #i_ll_give_you_what_for_i_will img {
    border: 5px solid #fff; }
  #i_ll_give_you_what_for_i_will h3 {
    margin-top: 0;
    color: #555; }
    #i_ll_give_you_what_for_i_will h3 span.size {
      font-size: 12px;
      font-style: italic; }

div#in_stock_notification_instructions {
  width: 400px; }
  div#in_stock_notification_instructions p {
    padding: 0 30px; }

table.addresses th {
  text-align: left;
  width: 275px; }
table.addresses td {
  vertical-align: top; }
table.line_items th, table.line_items td {
  text-align: left;
  padding-right: 20px; }
table.line_items tr.total td {
  padding-top: 10px;
  border-top: 1px solid black; }
table.line_items td#label {
  text-align: right; }

form#new_order {
  margin: 10px 20px; }
  form#new_order input.standard_text {
    width: 242px; }
  form#new_order input {
    font-size: 16px; }
  form#new_order div.zip {
    float: left; }
  form#new_order div#order_state, form#new_order div#order_ship_to_state {
    margin-right: 15px; }
  form#new_order div.state_or_region {
    float: left; }
  form#new_order div.country {
    clear: left; }

div.fieldset, div#purchase_terms {
  width: 280px;
  margin: 10px 6px;
  float: left; }
  div.fieldset .fancyborder2, div#purchase_terms .fancyborder2 {
    padding-left: 0;
    padding-right: 0; }
  div.fieldset h3, div#purchase_terms h3 {
    font-style: italic;
    text-align: left;
    background: #fff;
    margin: 0;
    padding: 10px;
    color: #777;
    border-bottom: 1px solid #ccc; }

div.fieldset h3 {
  background: #fff; }
div.fieldset .fancyborder2 {
  background: url(/images/footer_bg.png) repeat; }
div.fieldset div.fieldset_content {
  padding: 15px; }
  div.fieldset div.fieldset_content div.input_section {
    margin-bottom: 15px; }
    div.fieldset div.fieldset_content div.input_section label {
      display: block;
      font-weight: bold;
      font-size: 12px; }
  div.fieldset div.fieldset_content p {
    margin: 0;
    font-size: 16px; }
  div.fieldset div.fieldset_content p.help {
    margin: 0 0 0 3px;
    color: #777;
    padding: 0;
    font-size: 12px; }
    div.fieldset div.fieldset_content p.help a {
      font-style: italic; }
  div.fieldset div.fieldset_content span.inline_grouping {
    float: left;
    margin-right: 5px; }
    div.fieldset div.fieldset_content span.inline_grouping label {
      display: block;
      margin: 0 0 0 3px;
      color: #777;
      padding: 0;
      font-size: 12px;
      font-weight: normal; }
  div.fieldset div.fieldset_content div.inline_group:after {
    display: block;
    content: ".";
    height: 0;
    clear: left;
    visibility: hidden; }
  div.fieldset div.fieldset_content .fieldWithErrors {
    border-bottom: 3px double red;
    display: inline;
    padding-bottom: 5px; }

div#fieldset_for_initial_checkout_page {
  float: none;
  margin: 10px auto;
  width: 400px;
  text-align: center; }
  div#fieldset_for_initial_checkout_page .fieldset_content input {
    margin: 20px; }

div#purchase_terms div.fancyborder2 {
  background-color: #fff;
  padding-left: 0;
  padding-right: 0; }
div#purchase_terms h3 {
  background-color: #EFECE6;
  font-weight: normal; }
div#purchase_terms p {
  padding: 0 10px; }
div#purchase_terms p.fineprint {
  text-align: right; }
div#purchase_terms span.returns {
  margin-bottom: 10px;
  background-color: #555;
  color: #fff;
  padding: 2px;
  margin-bottom: 7px; }

div#billing_address {
  clear: left; }

#core_contributor {
  text-align: center;
  width: 206px;
  margin: 29px 35px 10px 10px;
  display: none; }

#contributor_form {
  text-align: center; }
  #contributor_form label {
    margin: 0;
    padding: 0;
    display: block;
    font-weight: bold;
    font-size: 14px;
    color: #777;
    font-style: italic; }
  #contributor_form #trac_username_field {
    margin-top: 2px;
    margin-bottom: 2px;
    padding-top: 0; }

.country_grouping {
  margin: 0 20px 0 0;
  padding: 0 20px;
  border: 1px solid #ddd;
  float: left;
  width: 255px; }
  .country_grouping .country_group_title {
    font-style: oblique;
    font-size: 14px;
    text-align: center;
    text-transform: Uppercase;
    font-weight: bold;
    color: #555; }

div#core_contributor p.contributor_question {
  margin-bottom: 0;
  font-style: italic; }
div#core_contributor p.add_discount {
  margin-top: 0;
  font-size: 10px; }
div#core_contributor form {
  display: hidden; }

div#charge_me {
  clear: both;
  padding: 15px;
  background-color: #ffc;
  margin: 20px auto;
  text-align: center;
  width: 350px; }

#faq #questions_and_answers h3:first-child {
  margin-top: 0; }
#faq h3 {
  margin: 30px 0 0 0;
  font-style: oblique; }
#faq p {
  margin-top: 0; }
#faq div#ryan {
  float: right;
  margin: 0 20px 10px 10px;
  border: 1px solid #ccc;
  padding: 5px; }
  #faq div#ryan p {
    margin: 0; }

#error {
  text-align: center;
  font-family: Georgia, Times, "Times New Roman", Serif; }
  #error h2 {
    font-size: 30px;
    margin-bottom: 2px; }
  #error h3 {
    font-size: 14px;
    text-transform: uppercase;
    font-style: italic;
    color: #999;
    margin-top: 0; }
  #error h4 {
    font-size: 18px;
    font-weight: normal;
    color: #333; }
  #error p {
    font-size: 14px;
    color: #777;
    font-style: italic; }

/*******************************************************
 * CSS for pagination: Start
 */

.pagination {
  padding: 3px;
  margin: 3px;
  text-align: center;
}

.pagination a {
  padding: 2px 5px 2px 5px;
  margin: 0px;
  border: 1px solid #8C8C8C;
  text-decoration: none;
  color: #BF2525;
}

.pagination a:hover, .pagination a:active {
  border: 1px solid #BF2525;
  color: #8C8C8C;
}

.pagination span.current {
  padding: 2px 5px 2px 5px;
  margin: 0px;
  border: 1px solid #BF2525;
  font-weight: bold;
  background-color: #BF2525;
  color: #FFF;
}

.pagination span.disabled {
  padding: 2px 5px 2px 5px;
  margin: 0px;
  border: 1px solid #EEE;
  color: #DDD;
}

#order_search_form {
  float: right;
  margin-top: -40px;
}

/*
 * CSS for pagination: End
 *******************************************************/

/*******************************************************
 * CSS for sales tax page: Start
 */

#sales_tax_data_container div.sales_tax_data_row {
  overflow: hidden;
}

#sales_tax_data_container div.sales_tax_data_row div {
  float: left;
}

#sales_tax_data_container div.sales_tax_data_row div.order_id {
  width: 30%;
  text-align: left;
}

#sales_tax_data_container div.sales_tax_data_row div.order_date {
  width: 30%;
  text-align: left;
}

#sales_tax_data_container div.sales_tax_data_row div.order_tax {
  width: 20%;
  text-align: right;
}

#sales_tax_data_container div.sales_tax_data_row div.order_tax_total {
  width: 80%;
  text-align: right;
}

#sales_tax_data_container div.sales_tax_data_row div.order_amount {
  width: 20%;
  text-align: right;
}

#sales_tax_data_container div.sales_tax_data_row div.order_amount_total {
  width: 20%;
  text-align: right;
}

/*
 * CSS for sales tax page: End
 *******************************************************/

/*******************************************************
 * CSS for monitored tasks page: Start
 */

#monitored_tasks_data_container div.monitored_tasks_data_row {
  overflow: hidden;
}

#monitored_tasks_data_container div.monitored_tasks_data_row div {
  float: left;
}

#monitored_tasks_data_container div.monitored_tasks_data_row div.monitored_task_name {
  width: 50%;
  text-align: left;
}

#monitored_tasks_data_container div.monitored_tasks_data_row div.monitored_task_date {
  width: 50%;
  text-align: right;
}

/*
 * CSS for monitored tasks page: End
 *******************************************************/