html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline; }

body {
  line-height: 1;
  color: black;
  background: white; }

ol, ul {
  list-style: none; }

table {
  border-collapse: separate;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal; }

blockquote:before, blockquote:after, q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

/* */


.clearfix {
  *display: inline-block; }
  .clearfix:after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

/* */















/* */


/* */


/* */

body {
  font-family: "Verdana", sans-serif;
  font-size: 0.815em; }

h1 {
  font-family: "Georgia", "Times New Roman", serif;
  color: black;
  font-size: 2.2em;
  margin: 5px 0 10px;
  letter-spacing: 1px;
  letter-height: 1.1em; }

h2 {
  font-family: "Georgia", "Times New Roman", serif;
  color: #888888;
  font-size: 1.815em;
  text-transform: uppercase;
  line-height: 1.4em;
  letter-spacing: 3px; }

h3 {
  color: #bbbbbb;
  font-size: 1.4em; }

h4 {
  color: black;
  font-size: 1em; }

a {
  color: #77aacc;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

p, table, .paginate, label {
  font-size: 1.1em;
  color: black;
  line-height: 1.6em;
  margin: 0.5em 0 1.5em; }

th {
  font-size: 1.15em;
  font-weight: bold; }

sup {
  position: relative;
  top: -3px;
  vertical-align: top;
  font-size: 90%; }

ul {
  list-style-type: circle;
  margin: 0.5em 0 1.5em 1.3em; }
  ul li {
    margin: 1em 0; }

.bold {
  font-weight: bold; }

.italic {
  font-style: italic; }

.underline {
  text-decoration: underline; }

#logo {
  font-family: "Georgia", "Times New Roman", serif;
  color: #cccccc;
  font-size: 3.7em; }

#top-bar-inner .tagline {
  color: #cccccc;
  font-size: 1em; }
#top-bar-inner #nav {
  font-size: 1.3em; }

#primary-nav {
  font-size: 1.25em; }

#secondary-nav {
  font-size: 1.15em; }

#content .tagline h1 {
  font-size: 3.5em;
  margin: 0.25em 0; }

body {
  background: white; }

#wrapper {
  width: 100%; }
  #wrapper #top-bar {
    background: #eeeeee;
    border-bottom: 1px solid #bbbbbb;
    height: 70px;
    margin-bottom: 3em; }
    #wrapper #top-bar.tabs {
      height: 110px; }
    #wrapper #top-bar #top-bar-inner {
      margin: 0 auto;
      padding: 0 15px;
      width: 960px;
      padding: 0.6em 1.15em 0;
      *margin-top: 0.6em; }
      #wrapper #top-bar #top-bar-inner #logo {
        float: left;
        width: 260px; }
      #wrapper #top-bar #top-bar-inner .tagline {
        float: left;
        padding-top: 1.8em;
        width: 200px; }
      #wrapper #top-bar #top-bar-inner #nav {
        float: right;
        padding-top: 1.25em; }
        #wrapper #top-bar #top-bar-inner #nav a {
          margin: 0 0.6em; }
      #wrapper #top-bar #top-bar-inner #tabs {
        -moz-border-radius-topright: 7px;
        -moz-border-radius-topleft: 7px;
        -webkit-border-top-right-radius: 7px;
        -webkit-border-top-left-radius: 7px;
        background: #888888;
        height: 35px;
        margin-top: 5.25em; }
        #wrapper #top-bar #top-bar-inner #tabs ul {
          list-style: none;
          margin: 0; }
        #wrapper #top-bar #top-bar-inner #tabs li {
          float: left;
          display: inline;
          margin-top: 0.2em; }
          #wrapper #top-bar #top-bar-inner #tabs li a {
            color: white;
            display: block; }
        #wrapper #top-bar #top-bar-inner #tabs #primary-nav ul li {
          -moz-border-radius-topright: 7px;
          -moz-border-radius-topleft: 7px;
          -webkit-border-top-right-radius: 7px;
          -webkit-border-top-left-radius: 7px;
          cursor: pointer;
          padding: 0.4em 1em 0.7em; }
          #wrapper #top-bar #top-bar-inner #tabs #primary-nav ul li a {
            padding: 0 1em; }
          #wrapper #top-bar #top-bar-inner #tabs #primary-nav ul li.active {
            background: white;
            border-bottom: 1px solid white; }
            #wrapper #top-bar #top-bar-inner #tabs #primary-nav ul li.active a {
              color: #888888; }
        #wrapper #top-bar #top-bar-inner #tabs #secondary-nav {
          float: right;
          margin-top: 0.2em; }
          #wrapper #top-bar #top-bar-inner #tabs #secondary-nav ul li {
            float: left;
            padding: 0 0.5em; }
            #wrapper #top-bar #top-bar-inner #tabs #secondary-nav ul li a {
              padding: 0.3em 0.5em; }
  #wrapper #content {
    *display: inline-block;
    margin: 0 auto;
    padding: 0 15px;
    width: 960px; }
    #wrapper #content:after {
      content: " ";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden; }
    #wrapper #content .tagline {
      border-bottom: 1px solid #bbbbbb;
      border-top: none;
      margin-bottom: 2em;
      padding: 1em 0 0.3em;
      text-align: center; }
    #wrapper #content #sidebar {
      float: left;
      width: 315px;
      margin: 0 0.35em; }
    #wrapper #content #main {
      float: left;
      width: 625px;
      margin: 0 0.35em; }
    #wrapper #content .block {
      margin-bottom: 2.5em; }
    #wrapper #content .books {
      width: 980px; }
  #wrapper #footer {
    background: #eeeeee;
    border-top: 1px solid #bbbbbb;
    margin-top: 2.5em;
    padding: 2em 0 3em;
    text-align: center; }
    #wrapper #footer p {
      color: #bbbbbb; }

.box {
  border: 1px solid #bbbbbb;
  background: white;
  margin: 0 0 1.75em;
  padding: 0.8em; }

.actions {
  border-top: 1px solid #bbbbbb;
  padding-top: 1.4em; }

.paginate {
  float: right; }
  .paginate a {
    border: 1px solid #bbbbbb;
    margin: 0 0.4em;
    padding: 0.08em 0.04em 0.08em 0.35em;
    text-decoration: none; }
    .paginate a:hover {
      background: #77aacc;
      border-color: #77aacc;
      color: #fff; }
  .paginate .next_page {
    background: none;
    border: 0; }
  .paginate .current {
    color: white;
    background: #77aacc;
    padding: 0.08em 0.04em 0.08em 0.35em;
    margin: 0 0.35em; }
  .paginate .disabled {
    border: none;
    color: #888; }

form fieldset label {
  font-size: 1em;
  font-weight: bold; }
form fieldset input {
  border: 1px solid #bbbbbb;
  font-size: 1em;
  height: 15px;
  padding: 0.35em;
  width: 98%; }
  form fieldset input:focus {
    background: #FFFBE2; }
form fieldset textarea {
  border: 1px solid #bbbbbb;
  width: 100%; }
  form fieldset textarea:focus {
    background: #FFFBE2; }
form fieldset .checkbox {
  line-height: 1.6em; }
  form fieldset .checkbox label {
    float: left; }
  form fieldset .checkbox input {
    border: 0;
    float: left;
    width: 25px; }
form fieldset .radio label {
  float: left; }
form fieldset .radio input {
  border: 0;
  float: left;
  width: 25px; }
form fieldset .file {
  margin: 0.5em 0; }
  form fieldset .file input {
    border: 0;
    height: 25px; }

table {
  border-bottom: 1px solid #bbbbbb;
  border-left: 1px solid #bbbbbb;
  /* this class alternates gray and white rows, :nth-child only works in css3, so if */ }
  table caption {
    margin-bottom: 0.7em; }
  table th {
    background: black;
    color: white;
    padding: 0.5em; }
  table td {
    border-top: 1px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.5em; }
  table.alternating tr:nth-child(even) {
    background: #eeeeee; }
  table.content {
    border: none;
    width: 100%; }
    table.content th {
      background: none;
      border-bottom: 1px solid #bbbbbb;
      color: black; }
    table.content td {
      border: 0; }

#flashMessage {
  background: #bbbbbb;
  /* */
  position: absolute;
  border-bottom: 2px solid;
  top: 0;
  right: 0;
  z-index: 10;
  padding: 0.8em 0.35em;
  text-align: center;
  width: 100%;
  overflow: hidden; }
  #flashMessage .message {
    margin: 0 auto;
    margin-left: 1.5em;
    min-height: 15px;
    padding: 0.08em 3em; }
  #flashMessage #close {
    border: 2px solid;
    cursor: pointer;
    right: 10px;
    top: 20%;
    padding: 0 0.15em 0.35em;
    position: absolute;
    width: 15px; }
  #flashMessage.success {
    background: #98f395;
    border-color: #328d2f; }
    #flashMessage.success #close {
      background: #328d2f;
      border-color: #005a00;
      color: #005a00; }
      #flashMessage.success #close:hover {
        background: #98f395; }
    #flashMessage.success .message {
      background: url('/images/icons/accept.png') no-repeat center left; }
  #flashMessage.alert {
    background: #fbf7b1;
    border-color: #95914b; }
    #flashMessage.alert #close {
      background: #95914b;
      border-color: #625e18;
      color: #625e18; }
      #flashMessage.alert #close:hover {
        background: #fbf7b1; }
    #flashMessage.alert .message {
      background: url('/images/icons/error.png') no-repeat center left; }
  #flashMessage.error {
    background: #f5d1c4;
    border-color: #8f6b5e; }
    #flashMessage.error #close {
      background: #8f6b5e;
      border-color: #5c382b;
      color: #5c382b; }
      #flashMessage.error #close:hover {
        background: #f5d1c4; }
    #flashMessage.error .message {
      background: url('/images/icons/exclamation.png') no-repeat center left; }

.errorMessage {
  display: none; }
  .errorMessage p {
    color: red; }

.fieldWithErrors {
  background: url('/images/icons/exclamation.png') no-repeat 1% #f5d1c4;
  line-height: 1.6;
  padding: 5px; }
  .fieldWithErrors label {
    padding-left: 1.4em; }

.checkbox, .radio {
  float: left; }
  .checkbox .fieldWithErrors, .radio .fieldWithErrors {
    background-position: 14%;
    overflow: hidden;
    padding-left: 1.4em; }

.label .fieldWithErrors label {
  padding: 0.4em 0; }

.file .fieldWithErrors {
  background-position: 1% 42%;
  padding-left: 2em; }

#errorExplanation {
  background-color: #f5d1c4;
  border: 2px solid #ee1111;
  margin-bottom: 1.4em;
  padding-bottom: 0.8em;
  width: 97%; }
  #errorExplanation h2 {
    font-family: "Verdana", sans-serif;
    background-color: #ee1111;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 0.8em 0.35em 0.8em 1.75em;
    margin: 0;
    text-align: left; }
  #errorExplanation p {
    padding: 0.8em 1.75em 0; }
  #errorExplanation ul {
    padding-left: 1.75em; }
