/* removed sub and sup from the list below */

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, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

.testing {
	color: #dd9a19;
	font: bold 15px helvetica, arial, sans-serif;
	margin-bottom: 3px;
}

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

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

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

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

/* Base rules, setting the basic design of the site
 * These should be element selectors, pseudo-class selectors
 * and should not involve any class or ID selectors
 */
body {
  width: 100%;
  font: normal 13px arial, helvetica, sans-serif;
  line-height: 1.5;
  color: #262626; }
  body * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

/* Useful for forms */
::-webkit-input-placeholder {
  color: white; }

:-moz-placeholder {
  color: white; }

/* Base tag styles */
img {
	max-width: 100%; }
	
/* Reset origins for absolute, relative positioning in these blocks.
 * Also contain floats.	
 */
header, article {
  position: relative;
  *zoom: 1; }
  header:after, article:after {
    content: "";
    display: table;
    clear: both; }

article {
  margin-bottom: 2em;
  margin-left: 24px; }

h1, h2, h3, h4, h5, h6 {
  color: #3d3d3d;
  position: relative;
  font-weight: bold;
  margin-top: 1em; }

header h1, header h2, header h3, header h4, header h5, header h6 {
  margin-top: 0; }

cite {
  font-style: italic; }

ul,
ol {
  padding: 0 0 0 20px; }

ul {
  list-style-type: disc; }

ol {
  list-style-type: decimal; }

li {
  padding-bottom: .5em; }

aside h1, aside h2, aside h3, aside h4, aside h5, aside h6 {
  margin-top: 0; }

a {
  text-decoration: none;
  color: #3790ae; }
  a:visited {
    color: #3790ae; }
  a:hover {
    color: #3790ae; }
  a:active {
    color: #3790ae; }
  a:hover {
    text-decoration: underline; }

/* Restore in-content link underlines to be nice to low-vision folks. */
p a {
  text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0; }
  h1 + h1, h1 h2, h1 h3, h1 h4, h1 h5, h1 h6, h2 + h1, h2 h2, h2 h3, h2 h4, h2 h5, h2 h6, h3 + h1, h3 h2, h3 h3, h3 h4, h3 h5, h3 h6, h4 + h1, h4 h2, h4 h3, h4 h4, h4 h5, h4 h6, h5 + h1, h5 h2, h5 h3, h5 h4, h5 h5, h5 h6, h6 + h1, h6 h2, h6 h3, h6 h4, h6 h5, h6 h6 {
    margin-top: 0; }

hr {
  border-top: 1px #8bb6c9 solid;
  width: auto;
  height: 1px;
  clear: both; }

/* Some basic table styles in case an unclassed table is used. */
.overflowable {
  width: 100%;
  overflow: auto; }

table {
  margin-top: 1em;
  margin-bottom: 1em; }
  table th {
    font-weight: bold; }
  table th, table td {
    vertical-align: top;
    padding: 2px 4px; }
  table thead th, table thead td {
    vertical-align: bottom; }

/*
 * Generic Layout rules
 * These should be very generic layouts that do not include any
 * design or presentation rules. Prefix new layout classes with "l-"
 */
/* Layout and spacing */
/* 
 * The container element is used to restrict content to 
 * the page width
 */
.container {
  margin: 0 auto;
  max-width: 996px;
  *zoom: 1;
  position: relative; }
  .container:after {
    content: "";
    display: table;
    clear: both; }

#well {
  padding-top: 26px;
  background: transparent url('/Images/bkg/background-shade-top.png') scroll no-repeat 50% top; }
  @media (max-width: 620px) {
    #well {
      padding-top: 12px;
      background-image: none; } }

/*
 * Wrapper around all of the page content (everything between the page header and a page footer, if any.)
 * Default is to push content in from the left a bit so that content aligns with the page header. This
 * will change in responsive states.
 */
#page-content {
  overflow: hidden;
  padding-left: 25px; }
  @media (max-width: 620px) {
    #page-content {
      padding-left: 1em;
      padding-right: 1em; } }

/*
 * Use all of the available space, but make sure
 * that the left and right are cleared of floats and
 *  margins don't collapse.
 */
.l-full {
  *zoom: 1;
  clear: both;
  border-top: 1px #fff solid;
  border-top-color: rgba(255, 255, 255, 0); }
  .l-full:after {
    content: "";
    display: table;
    clear: both; }

/* Divide the available space into thirds */
.l-thirds {
  *zoom: 1;
  clear: both;
  border-top: 1px #fff solid;
  border-top-color: rgba(255, 255, 255, 0); }
  .l-thirds:after {
    content: "";
    display: table;
    clear: both; }
  .l-thirds .col-a, .l-thirds .col-b, .l-thirds .col-c {
    width: 30%;
    float: left;
    margin-right: 3.33333333%; }
    @media (max-width: 900px) { /* RF: adjusted from 620 to 900 to prevent ads from falling over each other  */
      .l-thirds .col-a, .l-thirds .col-b, .l-thirds .col-c {
        float: none;
        width: auto;
        margin-right: 0;
        margin-top: 12px;
        margin-bottom: 12px; } }

/* Divide the space into two halves */
.l-halves {
  *zoom: 1;
  clear: both;
  border-top: 1px #fff solid;
  border-top-color: rgba(255, 255, 255, 0); }
  .l-halves:after {
    content: "";
    display: table;
    clear: both; }
  .l-halves .col-a {
    width: 52%; /* RF: I adjusted from 48 to 52% so that social network table wouldn't overflow on full size */
    margin-right: 4%;
    float: left; }
  .l-halves .col-b {
    width: 44%; /* RF: adjusted from 48 to 44%  */
    float: right; }
  @media (max-width: 900px) { /* RF: adjusted from 620 to 900 to prevent ads from falling over each other  */
    .l-halves .col-a, .l-halves .col-b {
      float: none;
      width: auto;
      margin-right: 0;
      margin-top: 12px; } }

/* Main content with a sidebar */
.l-sidebar {
  *zoom: 1;
  clear: both;
  border-top: 1px #fff solid;
  border-top-color: rgba(255, 255, 255, 0); }
  .l-sidebar:after {
    content: "";
    display: table;
    clear: both; }
  .l-sidebar > .main {
    /*
     * Default layout is the sidebar to the left of content,
     * and a 2:1 size ratio
     */
    float: right;
    width: 66.666666667%; }
    @media (max-width: 620px) {
      .l-sidebar > .main {
        float: none;
        width: auto; } }
  .l-sidebar > .sidebar {
    float: left;
    width: 30%; }
    .l-sidebar > .sidebar aside {
      /*
       * Asides in sidebars need padding to push them
       * from the edges rather than margins because 
       * of background effects and borders that need
       * to run full-bleed.
       */
      padding: 13px 22px; }
    .l-sidebar > .sidebar.right {
      margin-left: 3.33333%; }
    @media (max-width: 620px) {
      .l-sidebar > .sidebar {
        float: none;
        width: auto; }
        .l-sidebar > .sidebar aside {
          margin-left: -1em;
          margin-right: -1em; } }
  .l-sidebar.wider {
    /* l-wider changes that ratio to 3:2 */ }
    .l-sidebar.wider > .main {
      width: 58%; }
      @media (max-width: 620px) {
        .l-sidebar.wider > .main {
          width: auto; } }
    .l-sidebar.wider > .sidebar {
      width: 38%; }
      @media (max-width: 620px) {
        .l-sidebar.wider > .sidebar {
          width: auto; } }
  .l-sidebar.flipped {
    /*
     * Flipped puts the sidebar on the right,
     * main content on the left.
     */ }
    .l-sidebar.flipped > .sidebar {
      float: right; }
      @media (max-width: 620px) {
        .l-sidebar.flipped > .sidebar {
          float: none; } }
    .l-sidebar.flipped > .main {
      float: left; }
      @media (max-width: 620px) {
        .l-sidebar.flipped > .main {
          float: none; } }

.block {
  display: block; }
  .block + p {
    margin-top: .5em; }
  .block + .caption {
    margin-top: .5em; }

.group {
  *zoom: 1; }
  .group:after {
    content: "";
    display: table;
    clear: both; }

img.center-img {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.center-text {
  text-align: center; }

.right-text {
  text-align: right; }

.push-right {
  margin-left: 2em; }

.nudge-down {
  margin-top: 8.5px; }

.down {
  margin-top: 17px; }
  @media (max-width: 620px) {
    .down {
      margin-top: 6px; } }

.down2x {
  margin-top: 34px; }
  @media (max-width: 620px) {
    .down2x {
      margin-top: 12px; } }

.close {
  margin-top: 0; }
  .close * {
    margin-top: 0; }

.left {
  float: left; }

.right {
  float: right; }

.sep {
  display: inline-block;
  border-right: 1px #2d80a2 solid;
  font-weight: normal;
  width: 0px;
  margin: 0 2px;
  text-indent: -99999px;
  color: #8bb6c9; }

.meta {
  font-size: 13px;
  font-weight: normal;
  display: block;
  color: #a5a5a5; }

.border {
  border: 1px #c3c2c0 solid; }

a .border {
  border: 1px #3790ae solid; }

ul.horizontal {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center; }
  ul.horizontal li {
    display: inline;
    margin: 0;
    background-image: none;
    line-height: 1.8;
    font-size: 13px;
    padding-left: .5em; /* this seems to have no effect; workaround is to add &nbsp; after <li> */
    padding-bottom: 0;
    border-left: 1px #2f7fa4 solid; }
    ul.horizontal li:first-child {
      border-left: none;
      padding-left: none;
      margin-left: none; }
  @media (max-width: 1004px) {
    ul.horizontal {
      text-align: left;
      border-top: 1px #b7c7cc solid; }
      ul.horizontal li {
        display: block;
        font-size: 18px;
        border-left-width: 0px;
        padding-left: 0;
        line-height: 2.5;
        border-bottom: 1px #b7c7cc solid; } }

/*
 * Strip margins, paddings, bullets
 * from uls.
 */
ul.clean {
  list-style: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0; }
  ul.clean li {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    list-style: none; }

img.masthead {
  display: block; }

table.clean tr th, table.clean tr td {
  padding: .2em 0; }
table.clean th {
  font-weight: bold; }
  table.clean th[scope="row"] {
    padding-right: 1em; }

/*
 * Block styles
 * Overlay places the block in the bottom left of a larger block. This is mostly 
 * used in the masthead.
 */
.overlay {
  max-width: 60%;
  position: absolute;
  left: 0;
  bottom: 0; }
  .overlay h1, .overlay h2, .overlay h3, .overlay h4, .overlay h5, .overlay h6 {
    margin: 0;
    background-color: #fff;
    padding: 32px 74px 8px 24px; }
  @media (max-width: 1004px) {
    .overlay {
      position: static;
      max-width: 100%; }
      .overlay h1 {
        padding: 12px;
        width: auto; } }

/*
 * This wraps a corner shadow around a block; it should be placed on a container
 * element around the block you want the shadow around. Used in combination with
 * the `overlay` element in the masthead.
 */
.top-right-shadow {
  background: transparent url('/Images/bkg/shadow-right-top.png') scroll no-repeat right 0;
  padding: 10px 10px 0 0; }
  @media (max-width: 1004px) {
    .top-right-shadow {
      background-image: none; } }

/* A shaded color for block-level elements */
.dark {
  border-top: 1px #8bb6c9 solid;
  background-color: #e8eced; }

/*
 * Simply divides the content block into two columns. Recommended for
 * shorter content blocks or lists, not recommended for main content
 * because of usability issues.
 */
.two-col {
  -webkit-columns: 2;
  -moz-columns: 2;
  -ms-columns: 2;
  -o-columns: 2;
  columns: 2; }
  @media (max-width: 1004px) {
    .two-col {
      -webkit-columns: 1;
      -moz-columns: 1;
      -ms-columns: 1;
      -o-columns: 1;
      columns: 1; } }

/*
 * Add arrows to all links inside this block element (first selector),
 * or a given inline element (second selector)
 */
.arrow {
  background: transparent url('/Images/arrows/bullet-arrow-blue-right.png') scroll no-repeat left 50%;
  padding-left: 11px; }
  .arrow.disabled {
    background-image: url('/Images/arrows/bullet-arrow-grey-right.png'); }
  .arrow.left-arrow {
    background-image: url('/Images/arrows/bullet-arrow-blue-left.png'); }
    .arrow.left-arrow.disabled {
      background-image: url('/Images/arrows/bullet-arrow-grey-left.png'); }
  .arrow.end {
    padding-left: 0;
    padding-right: 11px;
    background-position: right 50%; }

.arrow-links a {
  background: transparent url('/Images/arrows/bullet-arrow-blue-right.png') scroll no-repeat left 0.24em;
  padding-left: 14px;
  margin-right: .5em;
  text-decoration: none;
  display: block;
  background-position: 2px .35em; }
.arrow-links .active > a {
  color: #262626; }
  .arrow-links .active > a:visited {
    color: #262626; }
  .arrow-links .active > a:hover {
    color: #262626;
    text-decoration: underline; } /* TMW */
  .arrow-links .active > a:active {
    color: #262626; }
.arrow-links .activetrail > a {
  background-image: url('/Images/arrows/bullet-arrow-blue-down.png'); }
.arrow-links .subtree {
  display: none;
  margin-top: .5em; 
  margin-left: .1em; }
  .arrow-links .subtree a {
    color: #5e5e5b;
    background-image: url('/Images/bullets/bullet-fog-small.png'); }
	.arrow-links .subtree a:hover {
	text-decoration: underline; } /* TMW */
.arrow-links .active > .subtree,
.arrow-links .activetrail > .subtree {
  display: block; }
@media (max-width: 1004px) {
  .arrow-links {
    font-size: 18px; }
    .arrow-links a {
      background-position: left .45em;
      padding-left: 18px; } }

.cart {
  padding-left: 18px;
  background: transparent url('/Images/cart.png') scroll no-repeat 0 50%; }

.fog-bullets {
  margin: 0;
  padding: 0;
  overflow: hidden;
  zoom: 1; }
  .fog-bullets li {
    list-style: none;
    margin: 0;
    background: transparent url('/Images/bullets/bullet-fog.png') scroll no-repeat 0 0.45em;
    padding-left: 15px; }

h1 a.arrow, h2 a.arrow, h3 a.arrow, h4 a.arrow, h5 a.arrow, h6 a.arrow {
  background-position: left .35em; }

.divided {
  font-size: 13px; }
  .divided li {
    list-style: none;
    border-top: 1px #ededed solid;
    line-height: 1.5;
    padding-top: 6px; }
    .divided li:first-child {
      border-top-width: 0;
      padding-top: 0; }
    .divided li:before {
      /*
       * Add arrows before list items. We can't do this on the `a` tags because
       * the arrows are supposed to hang outside of the horizontal rule
       */
      content: url('/Images/arrows/bullet-arrow-blue-right.png');
      margin-left: -10px;
      margin-right: 5px; }
  .divided a {
    color: #33aab8; }
    .divided a:visited {
      color: #33aab8; }
    .divided a:hover {
      color: #33aab8; }
    .divided a:active {
      color: #33aab8; }
  @media (max-width: 1004px) {
    .divided {
      font-size: 18px;
      padding-left: 0; }
      .divided li, .divided li:first-child {
        padding-top: 8px; }
        .divided li:before, .divided li:first-child:before {
          content: none;
          margin-left: 0;
          margin-right: 0; } }

aside .divided {
  width: 100%; }

.large {
  font: bold 33px helvetica, arial, sans-serif; }
  
.header-a {
  /* Typical font stack reversed here; designer has a strong preference for Helvetica. */
  font: normal 19px helvetica, arial, sans-serif;
  margin-bottom: 4px; }

.header-b { /* TMW added */
	font: bold 24px helvetica, arial, sans-serif;
	margin-bottom: 4px; }

.ruled {
  border-bottom: 1px #96bfd1 solid;
  margin-bottom: 13px;
  padding-bottom: 10px;
  /*
   * .auxlink places a link at the bottom right of a 
   * relatively-positioned block-level element.
   */ }
  .ruled.gradient {
    border-bottom-width: 0px;
    background: transparent url('/Images/bkg/border-bottom-header-gradient.png') scroll no-repeat right bottom; }
    .ruled.gradient .auxlink {
      /*
       * Variant for auxlinks placed on a block with  gradient rule;
       * makes sure the link terminates somewhere above the fading part
      */
      right: 24px; }
  .ruled.close {
    margin-bottom: 0; }
  .ruled .header-a {
    margin-bottom: 0; }
  .ruled .auxlink {
    position: absolute;
    bottom: 12px;
    font-size: 13px;
    display: block;
    padding-left: 11px;
    background: transparent url('/Images/arrows/bullet-arrow-blue-right.png') scroll no-repeat left 50%; }
    @media (max-width: 1004px) {
      .ruled .auxlink {
        position: static;
        display: block;
        margin-top: .5em;
        font-size: 16px; } }

.subsection {
  color: #dd9a19;
  font: bold 18px helvetica, arial, sans-serif;
  margin-bottom: 4px; }

.subsection2 { /* added by TMW */
  color: #dd9a19;
  font: bold 15px helvetica, arial, sans-serif;
  margin-bottom: 3px; }

.subsection3 { /* added by TMW */
  color: #dd9a19;
  font: bold 13px helvetica, arial, sans-serif;
  margin-bottom: 2px; }

.button {
  display: inline-block;
  background: #33aab8 url('/Images/button-glint.png') scroll no-repeat 2px 2px;
  border: 3px #dfdfde solid;
  margin: 0.5em 0 0.5em -3px;
  padding: 9px;
  font-size: 13px;
  color: white;
  font-weight: bold;
  text-align: center;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  -ms-border-radius: 9px;
  -o-border-radius: 9px;
  border-radius: 9px;
  line-height: 1;
  -webkit-box-shadow: inset rgba(0, 0, 0, 0.4) 0px 0px 2px;
  -moz-box-shadow: inset rgba(0, 0, 0, 0.4) 0px 0px 2px;
  box-shadow: inset rgba(0, 0, 0, 0.4) 0px 0px 2px; }
  .button:visited {
    color: white; }
  .button:hover {
    color: white;
    cursor: pointer;
    text-decoration: none; }
  .button:active {
    color: white; }
  .button.cart {
    padding-left: 26px;
    background: url('/Images/button-glint.png') scroll no-repeat 2px 2px, #33aab8 url('/Images/cart-light.png') scroll no-repeat 8px 50%; }
  .button.library {
    padding-left: 32px;
    background: url('/Images/button-glint.png') scroll no-repeat 2px 2px, #33aab8 url('/Images/books_icon.png') scroll no-repeat 8px 50%; }
  .button.schedule {
    padding-left: 32px;
    background: url('/Images/button-glint.png') scroll no-repeat 2px 2px, #33aab8 url('/Images/schedule_icon.png') scroll no-repeat 8px 50%; }
  @media (max-width: 1004px) {
    .button {
      font-size: 16px; } }

  .button-red {
  display: inline-block;
  background: #F1A532 url('/Images/button-glint.png') scroll no-repeat 2px 2px;
  border: 3px #dfdfde solid;
  margin: 0.5em 0 0.5em -3px;
  padding: 9px;
  font-size: 13px;
  color: white;
  font-weight: bold;
  text-align: center;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  -ms-border-radius: 9px;
  -o-border-radius: 9px;
  border-radius: 9px;
  line-height: 1;
  -webkit-box-shadow: inset rgba(0, 0, 0, 0.4) 0px 0px 2px;
  -moz-box-shadow: inset rgba(0, 0, 0, 0.4) 0px 0px 2px;
  box-shadow: inset rgba(0, 0, 0, 0.4) 0px 0px 2px; }
  .button-red:hover {
    color: white;
    cursor: pointer;
    text-decoration: none; }

/*
 * Inner-shadows for block elements, primarily intended for asides. The shadow
 * overlays / inherits a background color (but will replace any texture image). 
 * Natural behavior is one shadow that fades out along the top and bottom.
 * top-only fades out along the top, bottom-only fades out along the bottom.
 * Combining the two across stacked `asides` will give the appearance of a 
 * shadow spanning the two.
 */
.left-shade {
  background-image: url('/Images/bkg/background-shade-left.png');
  background-position: left 50%;
  background-repeat: no-repeat;
  background-size: contain; }
  .left-shade.top-only {
    background-image: url('/Images/bkg/background-shade-left-top.png');
    background-position: left bottom; }
  .left-shade.bottom-only {
    background-image: url('/Images/bkg/background-shade-left-bottom.png');
    background-position: left top; }

.callout {
  padding: 13px 22px;
  border: 1px #b7c7cc solid; }

table.blue caption {
  text-align: center;
  font-style: italic;
  color: #5e5e5b;
  margin: .5em 0;
  caption-side: bottom; }
table.blue tr th, table.blue tr td {
  padding: 7px 12px;
  border: 1px #8bb6c9 solid;
  border-right-width: 0px; }
  table.blue tr th:first-child, table.blue tr td:first-child {
    border-left-width: 0; }
table.blue tbody tr:nth-child(2n+1) th, table.blue tbody tr:nth-child(2n+1) td {
  background-color: #e8eced; }
table.blue .tall th, table.blue .tall td {
  padding-top: 4em; }
table.blue tfoot.tall th, table.blue tfoot.tall td {
  border-bottom-width: 0;
  padding-bottom: 4em;
  padding-top: 7px; }

table.blue-alt caption { /* RF - created this who table for checkout */
  text-align: center;
  font-style: italic;
  margin: .5em 0;
  caption-side: bottom; }
table.blue-alt tr th {
  padding: 7px 12px;
  border: 1px #8bb6c9 solid;
  border-right-width: 0px; 
  background-color: #e8eced; }
 table.blue-alt tr td {
  padding: 7px 12px;
  border: 1px #8bb6c9 solid;
  border-right-width: 0px; 
  background-color: #ffffff; }
  table.blue-alt tr th:first-child, table.blue-alt tr td:first-child {
    border-left-width: 0; }
table.blue-alt .tall th, table.blue-alt .tall td {
  padding-top: 4em; }
table.blue-alt tfoot.tall th, table.blue-alt tfoot.tall td {
  border-bottom-width: 0;
  padding-bottom: 4em;
  padding-top: 7px; }

table.no-lines tr th {
  padding: 7px 12px;
  border: none;
  border-right-width: 0px; 
  background-color: #e8eced; }
 table.no-lines tr td {
  padding: 7px 12px;
  border: none;
  border-right-width: 0px; 
  background-color: #ffffff; }
  table.no-lines tr th:first-child, table.no-lines tr td:first-child {
    border-left-width: 0; }
table.no-lines .tall th, table.no-lines .tall td {
  padding-top: 4em; }
table.no-lines tfoot.tall th, table.no-lines tfoot.tall td {
  border-bottom-width: 0;
  padding-bottom: 4em;
  padding-top: 7px; }

table.lines tr th {
  padding: 7px 12px;
  border: 1px solid #cccccc;
  background-color: #e8eced; }
 table.lines tr td {
  padding: 7px 12px;
  border:  1px solid #cccccc;
  background-color: #ffffff; }
  table.lines tr th:first-child, table.no-lines tr td:first-child {
    border-left-width: 0; }
table.lines .tall th, table.no-lines .tall td {
  padding-top: 4em; }
table.lines tfoot.tall th, table.no-lines tfoot.tall td {
  border-bottom-width: 0;
  padding-bottom: 4em;
  padding-top: 7px; }

@media (max-width: 620px) {
  .mq-no-handheld {
    display: none; } }

@media (max-width: 760px) {
  .mq-no-portrait {
    display: none; } }

@media (max-width: 1004px) {
  .mq-full-only {
    display: none; } }

@media (max-width: 1004px) {
  .page + .down2x {
    margin-top: 0; }

  aside.right, aside.left {
    float: none; } }
@media (max-width: 620px) {
  .main + .sidebar {
    margin-top: 12px; }

  .right, .left {
    float: none; } }
/*
 * Rules for specific site modules
 * Ideally these modules will be styled regardless of how they are positioned
 * in layouts. Modules should be as markup-independent as possible to allow 
 * for extensible variations. That means class names rather than elements,
 * and keeping a lid on decendent / contextual selectors. 
 * ==============================
 * Wrapper Modules
 * ==============================
*/
.header {
  background: #2e7fa4; }
  .header a {
    color: white; }
  .header p.password { /* RF - for login box */
    text-align: right;
    color: white;
    }   
  .header p.login-info, p.membership-status { /* RF - for login box */
    color: white;
    text-align: left;
    }  
  .header p.email { /* RF - for login box */
    padding-right: 20px;
    color: white;
    text-align: right;
    }  
  .header .logo {
    position: relative;
    left: -120px;
    float: left;
    display: block;
    width: 50%;
    z-index: 9999;
    /* Draw the orange background to the left of the image */ }
    .header .logo img {
      display: block; }
    .header .logo:before {
      content: '';
      width: 9999px;
      position: absolute;
      left: -9999px;
      height: 147px; 
      display: block;
      background: #f0811e; }
  @media (max-width: 1004px) {
    .header .logo {
      float: none;
      left: -12%; }
    .header .container {
      margin: 0 8px; } 
    .header .membership-status { /* RF - gotta hide this because it can be too wide for phone size */
      display : none; }
  }
  @media (max-width: 620px) {
    .header .logo {
      width: 300px;
      left: -72px;
      padding-top: 20px; /* RF - for login box */
      margin-top: 42px; } 
   } 

.utility {
  position: absolute;
  right: 5px; /* RF - needs a little padding */
  top: 5px; }
  .utility ul {
    padding-left: 0;
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    zoom: 1;
    *display: inline; }
  .utility li {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    zoom: 1;
    *display: inline;
    border-left: 1px dotted white;
    padding: 0 0 0 8px;
    margin: 0 0 0 7px;
    line-height: 15px; }
    .utility li:first-child {
      border: none; }
  @media (max-width: 620px) {
    .utility {
      position: absolute;
      top: -44px;
      left: -8px;
      right: -8px;
      padding-top: 6px;
      background: #000;
      height: 64px; /* RF - changed from 44 to 64 for the login control */
      *zoom: 1;
      border-top: 1px #262626 solid; }
      .utility:after {
        content: "";
        display: table;
        clear: both; }
      .utility form {
        display: block;
        float: left; }
      .utility .search { /* RF - trying to make search box float left in phone size */
        display: block;
        float: left; 
        }
      .utility ul {
        margin-top: 3px;
        float: right;
        font-size: 16px;
        margin-right: 12px; } }

.search {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  float: left; /* RF - making room for login stuff */
  margin-right: 30px; /* RF - making room for login stuff */
  vertical-align: middle;
  *vertical-align: auto;
  zoom: 1;
  *display: inline; }
  .search input[type="text"] {
    font-size: 13px;
    color: white;
    border: none;
    height: 24px;
    padding: 5px;
    background: #225e7a;
    width: 190px; }
    @media (max-width: 620px) {
      .search input[type="text"] {
        font-size: 16px;
        width: 160px;
        position: relative;
        right: -6px;
        top: 4px; } }
  .search input[type="submit"] {
    background: url('/Images/search-go.png') no-repeat 50% 50%;
    font-size: 0;
    border: none;
    padding: 0;
    width: 25px;
    height: 25px;
    position: absolute;
    right: 30px; /* TMW orig. 0; needed to get the magnifying glass into the text box */
    top: 0;
    text-indent: -9999em;
    /* This works to hide the text from some Android devices. */
    color: transparent;
    cursor: pointer; }
  @media (max-width: 620px) {
    .search {
      display: block; }
      .search input[type="submit"] {
        top: 4px; } }
        
.login-panel 
{
    float: right;
}

.sidebar .search {
  width: auto;
  display: block;
  margin-bottom: 1em; }
  .sidebar .search input[type="text"] {
    width: 100%;
    border: 1px #8db6ca solid;
    background-color: #fff;
    color: #000; }
  .sidebar .search input[type="submit"] {
    background-image: url('/Images/search-go-whitebkg.png'); }
  @media (max-width: 1004px) {
    .sidebar .search input[type=text] {
      height: 36px;
      font-size: 18px;
      padding: 10px 8px; }
    .sidebar .search input[type="submit"] {
      height: 36px;
      width: 36px; } }

.megamenu {
  background-color: #e4e5d8;
  padding: 28px 34px;
  *zoom: 1;
  color: #575655;
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  z-index: 9999; }
  .megamenu:after {
    content: "";
    display: table;
    clear: both; }
  .megamenu h1, .megamenu h2, .megamenu h3, .megamenu h4, .megamenu h5, .megamenu h6 {
    color: #575655; }
  .megamenu .header-a {
    font-size: 16px; }
  .megamenu .closebox {
    position: absolute;
    top: 10px;
    right: 10px; }
  @media (max-width: 1004px) {
    .megamenu {
      padding: 12px; } }

#mainNavToggle {
  display: none;
  position: absolute;
  right: 20px;
  top: 42px; /* RF - changed from 26 to 42 for login box */
  width: 47px;
  height: 39px;
  background: transparent url('/Images/menubutton.png') scroll no-repeat;
  text-indent: -99999em; }
  #mainNavToggle.active {
    background-position: 0 -40px; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    #mainNavToggle {
      background: transparent url('/Images/menubutton@2x.png') scroll no-repeat;
      background-size: cover; } }
  @media (max-width: 620px) {
    #mainNavToggle {
      display: block; 
      } }

.main-nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0; }
  .main-nav .megamenu-control {
    float: right;
    padding-left: 0; }
    .main-nav .megamenu-control.active {
      display: block; }
    .main-nav .megamenu-control > li {
      vertical-align: top;
      float: left;
      list-style: none;
      background: url('/Images/nav-tab.png') no-repeat -1px -1px;
      padding-bottom: 0;
      font-size: 14px;
      line-height: 16px; }
      .main-nav .megamenu-control > li > a {
        display: block;
        height: 64px;
        padding: 6px 33px 0 10px;
        font-weight: bold;
        text-decoration: none; }
      .main-nav .megamenu-control > li.active > a, .main-nav .megamenu-control > li:hover > a {
        background: #e4e5d8 url('/Images/nav-tab-active.png') no-repeat right top;
        color: #3790ae;
        padding-right: 34px; }
        .main-nav .megamenu-control > li.active > a:visited, .main-nav .megamenu-control > li:hover > a:visited {
          color: #3790ae; }
        .main-nav .megamenu-control > li.active > a:hover, .main-nav .megamenu-control > li:hover > a:hover {
          color: #3790ae; }
        .main-nav .megamenu-control > li.active > a:active, .main-nav .megamenu-control > li:hover > a:active {
          color: #3790ae; }
      .main-nav .megamenu-control > li.active + li, .main-nav .megamenu-control > li:hover + li {
        background-position: -2px -1px; }
      .main-nav .megamenu-control > li.mm .megamenu {
        font-size: 13px;
        display: none; }
        .main-nav .megamenu-control > li.mm .megamenu ul {
          margin-left: 0; }
        .main-nav .megamenu-control > li.mm .megamenu a {
          color: #3790ae; }
          .main-nav .megamenu-control > li.mm .megamenu a:visited {
            color: #3790ae; }
          .main-nav .megamenu-control > li.mm .megamenu a:hover {
            color: #3790ae; }
          .main-nav .megamenu-control > li.mm .megamenu a:active {
            color: #3790ae; }
      @media (min-width: 1004px) {
        .main-nav .megamenu-control > li.mm:hover .megamenu, .main-nav .megamenu-control > li.mm.active .megamenu {
          display: block; } }
      @media (max-width: 620px) {
        .main-nav .megamenu-control > li {
          float: none;
          background-image: none;
          font-size: 18px; }
          .main-nav .megamenu-control > li > a {
            height: auto;
            line-height: 1.5;
            padding-top: 12px;
            padding-bottom: 12px; } }
  @media (max-width: 1004px) {
    .main-nav {
      border-top: 1px #8bb6c9 solid;
      position: relative;
      *zoom: 1;
      margin: 0 -8px 0 -10px; }
      .main-nav:after {
        content: "";
        display: table;
        clear: both; }
      .main-nav .megamenu-control {
        float: none; }
      .main-nav .inset {
        margin: 0 auto; }
        .main-nav .inset.left, .main-nav .inset.right {
          float: none; } }
  @media (max-width: 620px) {
    .main-nav a {
      background: none;
      padding: 10px 8px;
      height: auto; }
    .main-nav ul {
      display: none;
      background: rgba(0, 0, 0, 0.25); }
    .main-nav br {
      display: none; }
    .main-nav li {
      display: block;
      float: none;
      background-image: none; }
      .main-nav li a {
        height: auto;
        line-height: 1.5;
        padding: 10px 8px; }
    .main-nav.active {
      display: block; } }

.footer {
  margin-top: 16px;
  padding-bottom: 16px;
  background: transparent url('/Images/bkg/footer-shadow.png') no-repeat 50% bottom;
  color: white;
  margin-bottom: 20px; }
  .footer a {
    color: white; }
  .footer h4 {
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 4px;
    color: #ecedde; }
  .footer .container {
    padding-top: 54px;
    background: #2e7fa4 url('/Images/bkg/footer-top.png') no-repeat 50% 0; }
  .footer .halve {
    line-height: 15px;
    float: right;
    width: 42%;
    margin: 20px 4% 20px 1%;
    display: block; }
    .footer .halve img {
      margin: 0 5% 2% 0;
      float: left; }
  @media (max-width: 1004px) {
    .footer .halve {
      width: 47%;
      margin-left: 3%;
      margin-right: 3%; }
      .footer .halve:first-child {
        width: 40%;
        margin-right: 4%; } }
  @media (max-width: 620px) {
    .footer .halve {
      float: none;
      width: 90%;
      margin: 30px 4%;
      *zoom: 1; }
      .footer .halve img {
        display: block; }
      .footer .halve:first-child {
        width: 90%;
        margin-right: 2%; }
      .footer .halve:after {
        content: "";
        display: table;
        clear: both; } }

.copy-nav {
  font-size: 13px;
  line-height: 12px;
  margin-top: 5px;
  padding: 0;
  white-space: no-wrap; }
  .copy-nav li {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    zoom: 1;
    *display: inline;
    border-left: 1px dotted white;
    margin-left: 7px;
    padding: 2px 0 3px 8px;
    font-size: 11px; }
    .copy-nav li:first-child {
      border-left-width: 0;
      margin-left: 0;
      padding-left: 0; }
  @media (max-width: 620px) {
    .copy-nav {
      margin-top: 40px;
      text-align: center; } }

.choose-classroom .col {
  float: left;
  background: url('/Images/bkg/border-gradient.png') no-repeat right top; }
  .choose-classroom .col a {
    display: block; }
  .choose-classroom .col:first-child {
    padding-left: 0;
    margin-left: 0; }
  .choose-classroom .col.title {
    width: 196px; }
  .choose-classroom .col.elem {
    width: 190px; }
  .choose-classroom .col.ms {
    width: 213px; }
  .choose-classroom .col.hs {
    width: 205px; }
  .choose-classroom .col.college {
    width: 167px; }
@media (max-width: 1004px) {
  .choose-classroom .col {
    background-image: none; }
    .choose-classroom .col.title {
      background: none;
      width: 100%;
      text-align: center; }
    .choose-classroom .col.elem {
      background: none;
      width: 23.89558%; }
    .choose-classroom .col.ms {
      width: 26.20482%; }
    .choose-classroom .col.hs {
      width: 25.40161%; }
    .choose-classroom .col.college {
      width: 23.89558%; } }
@media (max-width: 620px) {
  .choose-classroom .col {
    background: 0;
    padding: 0;
    margin: 0; }
    .choose-classroom .col.title {
      width: 100%;
      text-align: center; }
    .choose-classroom .col.elem {
      width: 47%; }
    .choose-classroom .col.ms {
      width: 53%; }
    .choose-classroom .col.hs {
      width: 53%; }
    .choose-classroom .col.college {
      width: 47%;
      position: relative;
      left: -7%; } }

/*
 * ==============================
 * Carousels and slideshows
 * ==============================
 */
/* Big feature carousel */
.carousel {
  *zoom: 1;
  position: relative;
  overflow: hidden; }
  .carousel:after {
    content: "";
    display: table;
    clear: both; }
  .carousel .stage {
    float: left;
    width: 73.79518%;
    overflow: hidden; }
    @media (max-width: 620px) {
      .carousel .stage {
        width: 100%;
        float: none; } }
    .carousel .stage img {
      display: block;
      margin: 0; }
    .carousel .stage .tray {
      position: relative;
      top: 0;
      left: 0; }
  .carousel .stage-nav {
    width: 25%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0; }
    .carousel .stage-nav .item {
      display: block;
      background: #e9eced;
      height: 24%;
      padding: 10px;
      margin-top: 2.2%;
      cursor: pointer;
      font-weight: bold;
      line-height: 15px;
      position: relative; }
      .carousel .stage-nav .item img {
        width: 44.70046%;
        float: left; }
      .carousel .stage-nav .item p {
        margin-left: 49.30876%; }
      .carousel .stage-nav .item:first-child {
        margin-top: 0; }
      .carousel .stage-nav .item.active {
        background: #575655;
        color: white; }
        .carousel .stage-nav .item.active:before {
          content: '.';
          text-indent: -999999em;
          background: transparent url('/Images/item-thumb.png') scroll no-repeat 0 50%;
          width: 22px;
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: -7px; }
    @media (max-width: 1004px) {
      .carousel .stage-nav .item p {
        font-size: 13px;
        line-height: 13px; } }
    @media (max-width: 760px) {
      .carousel .stage-nav .item img {
        display: none; }
      .carousel .stage-nav .item p {
        margin-left: 0; } }
    @media (max-width: 620px) {
      .carousel .stage-nav {
        width: 100%;
        float: none;
        font-size: 16px;
        font-weight: normal;
        position: static;
        *zoom: 1; }
        .carousel .stage-nav:after {
          content: "";
          display: table;
          clear: both; }
        .carousel .stage-nav .item {
          padding: 8px;
          background-color: #5e5e5e;
          color: white;
          display: none;
          float: none;
          width: auto;
          height: auto; }
          .carousel .stage-nav .item a {
            color: white; }
            .carousel .stage-nav .item a:visited {
              color: white; }
            .carousel .stage-nav .item a:hover {
              color: white; }
            .carousel .stage-nav .item a:active {
              color: white; }
          .carousel .stage-nav .item p {
            color: white; }
            .carousel .stage-nav .item p:visited {
              color: white; }
            .carousel .stage-nav .item p:hover {
              color: white; }
            .carousel .stage-nav .item p:active {
              color: white; }
          .carousel .stage-nav .item img {
            display: none; }
          .carousel .stage-nav .item:first-child {
            margin-left: 0; }
          .carousel .stage-nav .item.active {
            color: inherit;
            width: 100%;
            display: block;
            margin-top: 0; }
            .carousel .stage-nav .item.active:before {
              content: none; }
          .carousel .stage-nav .item p {
            margin-left: 0; } }

/* Slideshow headers */
.slideshow .stage {
  overflow: hidden; }
.slideshow .tray {
  position: relative; }
.slideshow .captions {
  position: relative;
  background-color: #5a5a5a;
  height: 60px;
  color: #fff;
  display: table;
  width: 100%; }
  .slideshow .captions .item {
    float: right;
    display: none;
    text-align: right;
    font-weight: bold;
    max-height: 38px;
    overflow: hidden; }
    .slideshow .captions .item.active {
      display: block;
      position: relative;
      padding: 0 .6em 0 .6em; }
.slideshow .slideIndicies {
  position: relative;
  float: right;
  margin: 0;
  padding-right: .3em;
  padding-left: .3em;
  border-left: 1px #fff solid; }
  .slideshow .slideIndicies li {
    margin: 0 .3em;
    display: inline;
    list-style: none;
    padding: 0;
    font-weight: bold;
    line-height: 2.5;
    color: #fff;
    background-image: none; }
    .slideshow .slideIndicies li.active {
      color: #f90; }
@media (max-width: 1004px) {
  .slideshow .slideIndicies li {
    font-size: 25px;
    line-height: 1.25; } }

/* Content-carousels: for display inside of content */
.content-carousel-wrapper {
  position: relative; }
  .content-carousel-wrapper .browse {
    position: absolute;
    cursor: pointer;
    width: 42px;
    height: 90px;
    top: 150px;
    margin-top: -25px;
    z-index: 999; }
    .content-carousel-wrapper .browse.prev {
      left: -1px;
      background: url('/Images/scrollable-knuckle-prev.png') scroll no-repeat top left;
      text-indent: -999999px; }
    .content-carousel-wrapper .browse.next {
      right: -1px;
      background: url('/Images/scrollable-knuckle-next.png') scroll no-repeat top left;
      text-indent: -999999px; }
    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .content-carousel-wrapper .browse.prev {
        background-image: url('/Images/scrollable-knuckle-prev@2x.png');
        background-size: contain; }
      .content-carousel-wrapper .browse.next {
        background-image: url('/Images/scrollable-knuckle-next@2x.png');
        background-size: contain; } }
  .content-carousel-wrapper .content-carousel {
    /* required settings */
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 300px;
    padding: 13px 6px;
    /* optional settings */
    border: 1px #3790ae solid;
    background-color: #e8eced; }
    .content-carousel-wrapper .content-carousel .tray {
      width: 20000em;
      position: absolute; }
    .content-carousel-wrapper .content-carousel .slide {
      float: left;
      padding: 0 6px 0px 7px;
      width: 146px; }
      .content-carousel-wrapper .content-carousel .slide a .decription {
        color: #585755; }
        .content-carousel-wrapper .content-carousel .slide a .decription:visited {
          color: #585755; }
        .content-carousel-wrapper .content-carousel .slide a .decription:hover {
          color: #585755; }
        .content-carousel-wrapper .content-carousel .slide a .decription:active {
          color: #585755; }
      .content-carousel-wrapper .content-carousel .slide .cover {
        height: 199px;
        width: 138px;
        position: relative;
        margin-bottom: 6px; }
        .content-carousel-wrapper .content-carousel .slide .cover img {
          position: absolute;
          border: 1px #3790ae solid;
          max-width: 136px;
          max-height: auto;
          bottom: 0;
          left: 0; }
      .content-carousel-wrapper .content-carousel .slide .title {
        font-weight: bold; 
        min-height: 80px; /* RF - added for visual appeal */
        }
      .content-carousel-wrapper .content-carousel .slide .number {
        font-weight: bold;
        font-size: 150%;
        }   
      .content-carousel-wrapper .content-carousel .slide p.price {
        font-size: 80%;
        } 
      .content-carousel-wrapper .content-carousel .slide p.author { /* RF - added for visual appeal */
        font-size: 80%; 
        min-height: 30px;
        } 
        
/* Feature columns */
.feature {
  clear: both;
  padding: 32px 0; }
  .feature.thirds h1, .feature.thirds h2, .feature.thirds h3, .feature.thirds h4, .feature.thirds h5, .feature.thirds h6 {
    margin-top: 0; }
  .feature.thirds .item {
    float: left; }
    .feature.thirds .item.a {
      width: 41.76707%;
      padding-right: 24px;
      background: transparent url('/Images/bkg/border-gradient-topdown.png') scroll no-repeat right 0; }
    .feature.thirds .item.b {
      width: 30.02008%;
      padding-left: 24px;
      padding-right: 24px;
      background: transparent url('/Images/bkg/border-gradient-topdown.png') scroll no-repeat right 0; }
    .feature.thirds .item.c {
      width: 27.91165%;
      padding-left: 24px; }

@media (max-width: 1004px) {
  .feature.thirds .item.a {
    padding-left: 8px; }
  .feature.thirds .item.c {
    padding-right: 8px; } }
@media (max-width: 620px) {
  .feature.thirds .item {
    float: none; }
    .feature.thirds .item.a, .feature.thirds .item.b, .feature.thirds .item.c {
      width: auto;
      padding: 0 8px 24px;
      background-image: none; } }
/*
 * ==============================
 * Editorial / Content Modules
 * ==============================

 * Editorial module
 * This has a lot of generic element styling inside to make it easier to 
 * use WYSIWYG editors. Any container where we need default editorial styling 
 * should be classed "editorial."
*/
.editorial b, .editorial strong {
  font-weight: bold; }
.editorial i, .editorial em {
  font-style: italic; }
.editorial cite {
  display: block; }
.editorial p {
  margin-bottom: 1em; }
  .editorial p cite {
    display: inline; }
.editorial nav a {
  font-weight: bold; }
.editorial nav .cart {
  padding-right: 22px;
  background: transparent url('/Images/cart.png') scroll no-repeat right 45%; }
.editorial .excerpt {
  position: relative;
  max-width: 40%;
  min-width: 30%;
  background-color: #e4e5d8;
  font: bold 25px Helvetica, arial, sans-serif;
  line-height: 1.4;
  color: #5e5e5b;
  padding: 22px 22px 22px 26px; }
  .editorial .excerpt.dense {
    font-size: 16px; }
  .editorial .excerpt.full {
    width: auto;
    max-width: none;
    min-width: none; }
  .editorial .excerpt:before {
    content: url('/Images/blockquote-tab.png');
    position: absolute;
    left: -4px;
    top: 50%;
    margin-top: -24px; }
  @media (max-width: 620px) {
    .editorial .excerpt {
      max-width: none;
      min-width: none;
      width: auto; } }
  .editorial .excerpt.left {
    margin: .5em .5em .5em 0; }
    @media (max-width: 620px) {
      .editorial .excerpt.left {
        float: none;
        margin: .5em; } }
  .editorial .excerpt.right {
    margin: .5em 0 .5em .5em; }
    @media (max-width: 620px) {
      .editorial .excerpt.right {
        float: none;
        margin: .5em; } }
.editorial ul, .editorial ol {
  margin: 0 0 1em 1.5em; } /* TMW; originally 0.5em 0 */
  .editorial ul li, .editorial ol li {
    margin: 0; /* TMW changed: originally 0.5em */
    padding: 0; } /* TMW added */
  .editorial ul li.pad, .editorial ol li.pad { /* TMW added */
  margin-top: 0.3em; }
  .editorial ul ul, .editorial ol ul {
    margin-bottom: 0em; }
.editorial ol.upper-alpha {
  list-style: upper-alpha; }
.editorial ol.lower-alpha {
  list-style: lower-alpha; }
.editorial ol.upper-roman {
  list-style: upper-roman; }
.editorial ol.lower-roman {
  list-style: lower-roman; }
.editorial ol.upper-greek {
  list-style: upper-greek; }
.editorial ol.lower-greek {
  list-style: lower-greek; }
.editorial ul {
  /*
   * Overflow hidden makes floats push the list over so bullets / background images
   * do not show through. 
   */
  overflow: hidden; }
  .editorial ul ul {
    list-style: square; }
    .editorial ul ul ul {
      list-style: circle; }
      .editorial ul ul ul ul {
        list-style: none; }
  .editorial ul.smalldot li {
    list-style: none;
    margin-left: 0;
    padding-left: 7px;
    background: transparent url('/Images/bullets/square-bullet.png') scroll no-repeat left 0.7em; }
  .editorial ul.clean li {
    background-image: none; }

/*
 * Insets are blocks that need body copy to flow around them
 * in some fashion. Usually used for photos, photo captions
 * These are not included in "editorial" because we may want to use them elsewhere.
 */
.inset {
  font-size: 13px; }
  .inset.left {
    margin: 0 1em .5em 0;
    position: relative;
    top: 4px; }
  .inset.right {
    margin: 0 0 .5em 1em;
    position: relative;
    top: 4px; }
  .inset.half {
    width: 50%; }
  .inset.third {
    width: 33%; }
  @media (max-width: 1004px) {
    .inset img {
      display: block;
      margin: 0 auto; }
    .inset.left, .inset.right, .inset.halfish, .inset.thirdish, .inset.half {
      width: auto;
      float: none;
      margin: .5em auto 2em auto; }
      .inset.left.mq-keep-left, .inset.right.mq-keep-left, .inset.halfish.mq-keep-left, .inset.thirdish.mq-keep-left, .inset.half.mq-keep-left {
        margin-left: 0;
        margin-right: 0; }
        .inset.left.mq-keep-left img, .inset.right.mq-keep-left img, .inset.halfish.mq-keep-left img, .inset.thirdish.mq-keep-left img, .inset.half.mq-keep-left img {
          margin-left: 0;
          margin-right: 0; } }

.book-summary {
  *zoom: 1;
  border-top: 1px #3790ae solid;
  padding-top: 10px;
  padding-bottom: 8px; }
  .book-summary:after {
    content: "";
    display: table;
    clear: both; }
  .book-summary .header-a {
    margin-top: 0; }
  .book-summary .score {
    clear: both; }
  .book-summary:first-child {
    border-top-width: 0px; }

  .book-summary-no-line {
  *zoom: 1;
  padding-top: 10px;
  padding-bottom: 8px; }
  .book-summary-no-line:after {
    content: "";
    display: table;
    clear: both; }
  .book-summary-no-line .header-a {
    margin-top: 0; }
  .book-summary-no-line .score {
    clear: both; }
  .book-summary-no-line:first-child {
    border-top-width: 0px; }

.ratingchart td, .ratingchart th {
  white-space: nowrap;
  font-size: 13px;
  vertical-align: middle; }
  .ratingchart td.bar-cell, .ratingchart th.bar-cell {
    border: 5px #fff solid;
    background-color: #ccc;
    padding: 0;
    width: 100%;
    position: relative; }
    .ratingchart td.bar-cell .bar, .ratingchart th.bar-cell .bar {
      background-color: #3790ae;
      position: relative; }

.score {
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  zoom: 1;
  *display: inline;
  height: 15px;
  width: 88px;
  position: relative;
  top: -2px;
  text-indent: -99999em;
  background-image: url('/Images/starsprite.png');
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat; }
  .score[data-rating="2"] {
    background-position: left -15px; }
  .score[data-rating="3"] {
    background-position: left -30px; }
  .score[data-rating="4"] {
    background-position: left -45px; }
  .score[data-rating="5"] {
    background-position: left -60px; }

/* Pagination tools. We have both stadard and simple pagination mechanisms */
.pagination {
  padding: 15px 18px;
  font-weight: bold;
  color: #3d3d3d; }
  @media (max-width: 1004px) {
    .pagination {
      padding: 15px 5px; } }
  .pagination .simple {
    font-size: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    background-image: none;
    text-align: center; }
    .pagination .simple li {
      font-size: 13px;
      margin: 0;
      padding: 0;
      list-style: none;
      background-image: none;
      display: -moz-inline-stack;
      display: inline-block;
      vertical-align: middle;
      *vertical-align: auto;
      zoom: 1;
      *display: inline;
      margin-left: .5em; }
      .pagination .simple li:first-child {
        margin-left: 0; }
      @media (max-width: 1004px) {
        .pagination .simple li {
          font-size: 18px;
          margin-left: 1em; }
          .pagination .simple li.label {
            display: none; } }
    .pagination .simple .step {
      border-color: #3790ae;
      border-style: solid;
      border-width: 0; }
      .pagination .simple .step .disabled {
        color: #afc2c6;
        cursor: text; }
        .pagination .simple .step .disabled:visited {
          color: #afc2c6; }
        .pagination .simple .step .disabled:hover {
          color: #afc2c6; }
        .pagination .simple .step .disabled:active {
          color: #afc2c6; }
        .pagination .simple .step .disabled:hover {
          text-decoration: none; }
    .pagination .simple .prev {
      border-right-width: 1px;
      padding-right: .5em; }
      @media (max-width: 1004px) {
        .pagination .simple .prev {
          padding-right: 1em; } }
    .pagination .simple .next {
      border-left-width: 1px;
      padding-left: .5em; }
      @media (max-width: 1004px) {
        .pagination .simple .next {
          padding-left: 1em; } }
    .pagination .sortby {  /*RF added to lineup with choose product line*/
        margin-left: 38px;
    }

/*
 * Javascript dropdown menu; needs to be 
 * paired with Dropdown jquery plugin. 
 */
.dropdown {
  display: inline-block;
  position: relative; }
  @media (max-width: 1004px) {
    .dropdown {
      font-size: 18px;
      display: block;
      margin-bottom: 1em; } }
  .dropdown label {
    border-right: 1px #8bb6c9 solid;
    padding-right: .7em;
    margin-right: .4em; }
  .dropdown .selected {
    color: #3790ae; }
  .dropdown ul {
    z-index: 99;
    position: absolute;
    top: -11px;
    left: 0;
    border: 1px #8bb6c9 solid;
    margin: 0;
    padding: 0;
    background-color: #fff; }
    .dropdown ul li {
      list-style: none;
      background-image: none;
      margin: 0;
      padding: 6px 12px;
      color: #3790ae; }
      .dropdown ul li.selected-item {
        color: #262626; }
/*
form {
  /*
   * Apply the fancy form styles to this form. I'm isolating these because I don't think forms
   * typically want fancy styles, but there may be some cases where they are appropriate.
    }
  form.dark {
    border: 1px #8bb6c9 solid;
    border-width: 1px 1px 0 1px;
    padding: 18px; }
  form.fancy label, form.fancy .fauxlabel {
    color: #5e5e5b;
    font: 14px helvetica, arial, sans-serif;
    vertical-align: text-top;
    line-height: 1.4; }
    form.fancy label.above, form.fancy .fauxlabel.above {
      display: block; }
    @media (max-width: 1004px) {
      form.fancy label, form.fancy .fauxlabel {
        font-size: 18px; } }
  form.fancy input[type=text],
  form.fancy textarea {
    margin: 0;
    width: 100%;
    border: 1px #b7c7cc solid;
    padding: 8px; }
  form.fancy select {
    width: 100%;
    font-size: 18px;
    /*
     * Font size doesn't adjust enough in webkit unless you
     * set a border color for some reason.
     
    border-color: #b7c7cc;
    line-height: 1.4;
    padding: 8px; }
  form.fancy .left {
    padding-right: 5px; }
    form.fancy .left:last-child {
      padding-right: 0; }
  form.fancy.dark label, form.fancy.dark .fauxlabel {
    font-size: 13px; }
    @media (max-width: 1004px) {
      form.fancy.dark label, form.fancy.dark .fauxlabel {
        font-size: 18px; } }
  form.fancy.dark input[type=text],
  form.fancy.dark textarea {
    border-color: #3790ae; }
  form.fancy.dark .fancybox {
    border-color: #3790ae;
    background-image: url('/Images/arrows/arrow-down-blue-rightpadding.png'); }
   */
    form 
    {
        
  /*
   * RF - redoing all of this to use div instead of form
   */ }
  div.form-dark {
    border: 1px #8bb6c9 solid;
    border-width: 1px 1px 0 1px;
    padding: 18px; }
  div.form-fancy label, div.form-fancy .fauxlabel {
    color: #5e5e5b;
    font: 14px helvetica, arial, sans-serif;
    vertical-align: text-top;
    line-height: 1.4; }
    div.form-fancy label.above, div.form-fancy .fauxlabel.above {
      display: block; }
    @media (max-width: 1004px) {
      div.form-fancy label, div.form-fancy .fauxlabel {
        font-size: 18px; } }
  div.form-fancy input[type="text"], div.form-fancy input[type="password"], /* RF - added password */
  div.form-fancy textarea {
    margin: 0;
    width: 100%;
    border: 1px #b7c7cc solid;
    padding: 8px; }
    div.form-fancy input.eighty /* RF - added for phone numbers */
    {
        width: 80%
    }
    div.form-fancy input.ten /* RF - added for phone numbers */
    {
        width: 10%
    }
  div.form-fancy select {
    width: 100%;
    font-size: 14px; /* RF - changing because it was hideous */
    /*
     * Font size doesn't adjust enough in webkit unless you
     * set a border color for some reason.
     */
    border-color: #b7c7cc;
    line-height: 1.4;
    padding: 8px; }
  div.form-fancy .left {
    padding-right: 5px; }
    div.form-fancy .left:last-child {
      padding-right: 0; }
  div.form-fancy-dark label, div.form-fancy-dark .fauxlabel {
    font-size: 13px; }
    @media (max-width: 1004px) {
      div.form-fancy-dark label, div.form-fancy-dark .fauxlabel {
        font-size: 18px; } }
  div.form-fancy-dark input[type=text],
  div.form-fancy-dark textarea {
    border-color: #3790ae; }
  div.form-fancy-dark .fancybox {
    border-color: #3790ae;
    background-image: url('/Images/arrows/arrow-down-blue-rightpadding.png'); }

/* Fixes for ie8 */
.ie8 {
  /* container in the header has 0 height... */ }
  .ie8 .header .container {
    height: 147px; }

/* Ryan added styles here */
div.long {
	display: none;
	visibility: hidden;
}
div.short {
	display: inline;
}
.smaller {
    /* font-size: 10px; */
    font-size: .85em;
}

/*
 * ==============================
 * Random content styling
 * ==============================
*/

/* TMW - superscript and subscript */
.super sup {
	font-size:80%; /* or designate an appropriate px or em value here */
	position:relative;
	top:-.4em; /* alternatively, you could use a positive bottom value */
}
.sub sub {
	font-size:80%; /* or designate an appropriate px or em value here */
	position:relative;
	bottom:-.5em;
}

.countdown {
	border: 2px solid #2E7FA4;
	-moz-border-radius: 10px;
  -webkit-border-radius: 10px;
	border-radius: 10px;
	background: #f0f0f0;
	font-family: 'Droid Sans Mono', monospace, sans-serif;
	font-size: 16pt;
}

.countdown tr.sm {
	font-size: 10pt;
}

.countdown td {
	text-align: center;
	padding: 6px;
}

.red {
	color: #ff0000;
}

/* TMW - legacy formatting in news stories */

/* These mess up the new styles (if one wasn't rigorous about using h2 vs. h3 with the new header styles [h2 with header-a, h3 with subsection]; we could go back and S&R to make them consistent - then these h2 tags would be okay, I think). Luckily, I think we only use h4 in the news story body, and this style should be fine where h4 is used in the new site; I've made it equivalent to subsection2.

h2 {
	font: normal 19px helvetica, arial, sans-serif;
	margin-bottom: 4px;
}
h3 {
	color: #dd9a19;
	font: bold 15px helvetica, arial; sans-serif;
	margin-bottom: 3px;
}
*/

h4 {
	color: #dd9a19;
	font: bold 15px helvetica, arial, sans-serif;
	margin-bottom: 3px;
}

.image-left, .image-left-border {
	float: left;
	margin: 0px 15px 5px 0px;
}

.image-right, .image-right-border {
	float: right;
	margin: 0px 0px 5px 15px;
}

.image-left-border, .image-right-border {
	display: block;
	border: 1px solid #666;
}

div.image-caption-left {
	float: left;
	margin: 5px 15px 5px 0;
	position: relative;
}

div.image-caption-right {
	float: right;
	margin: 5px 0 5px 15px;
	position: relative;
}

img.border {
	display: block;
  border: 1px solid #666;
}

div.image-caption-left p, div.image-caption-right p {
	margin: 6px 0 0;
	color: #666;
}

/* TMW - image caption */

.img-caption {
	line-height: 14px;
	color: #666666;
}

.video-caption {
	margin: 3px 9px;
	font-size: 0.9em;
}

video {
	border: 2px solid #cccccc;
	border-radius: 9px;
	padding: 6px;
}

.button-orange {
	background-color:#ed8223;
	color:#fff;
	font-family:'Helvetica Neue',sans-serif;
	font-size:18px;
	line-height:30px;
    padding-left:20px;
    padding-right:20px;
	border-radius:20px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;
	border:0;
	text-shadow:#C17C3A 0 -1px 0;
	height:32px;
    cursor: pointer;
}

@media print
{
    .no-print, .no-print *
    {
        display: none !important;
    }

    .logo
    {
        width: 300px;
        left: -72px;
    }
}
