  /* Base Type Styles Using Modular Scale ---------------------- */

  body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td {
    margin:0;
    padding:0;
    font-size: ms(0);
    direction: $textDirection;
  }

  p { font-family: inherit; font-weight: $bodyFontWeight; font-size: ms(0); line-height: 1.6; margin-bottom: ms(1);
    &.lead { font-size: ms(0) * 1.25; line-height: 1.6; margin-bottom: ms(1); }
  }
  aside p { font-size: ms(0) - 1; line-height: 1.35; font-style: italic; }

  h1, h2, h3, h4, h5, h6 {
    font-family: $headerFontFamily;
    font-weight: $headerFontWeight;
    font-style: $headerFontStyle;
    color: $headerFontColor;
    text-rendering: optimizeLegibility;
    line-height: 1.1;
    margin-bottom: ms(0);
    margin-top: ms(0);
    small { font-size: 60%; color: lighten($headerFontColor, 30%); line-height: 0; }
  }

  h1 { font-size: ms(5); }
  h2 { font-size: ms(4); }
  h3 { font-size: ms(3); }
  h4 { font-size: ms(2); }
  h5 { font-size: ms(1); }
  h6 { font-size: ms(0); }

  hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 22px 0 21px; height: 0; }

  .subheader { line-height: 1.3; color: lighten($headerFontColor, 30%); font-weight: 300; margin-bottom: ms(1); }

  em, i { font-style: italic; line-height: inherit; }
  strong, b { font-weight: bold; line-height: inherit; }
  small { font-size: 60%; line-height: inherit; }
  code { font-weight: bold; background: $highlightColor; }

  /* Lists ---------------------- */
  ul, ol, dl { font-size: ms(0); line-height: 1.6; margin-bottom: ms(1); list-style-position: outside; }
  ul {
    li {
      ul, ol { margin-#{$defaultFloat}: 20px; margin-bottom: 0; }
    }
    &.square, &.circle, &.disc { margin-#{$defaultFloat}: ms(1); }
    &.square { list-style-type: square;
      li ul { list-style: inherit; }
    }
    &.circle { list-style-type: circle;
      li ul { list-style: inherit; }
    }
    &.disc { list-style-type: disc;
      li ul { list-style: inherit; }
    }
    &.no-bullet { list-style: none; }
    &.large li { line-height: 21px; }
  }
  ol { margin-#{$defaultFloat}: 20px;
    li {
      ul, ol { margin-#{$defaultFloat}: 20px; margin-bottom: 0; }
    }
  }
  dl {
    dt { font-weight: bold; }
    dd { margin-bottom: 10px; }
  }

  /* Blockquotes ---------------------- */
  blockquote, blockquote p { line-height: 1.5; color: lighten($headerFontColor, 30%); }
  blockquote { margin: 0 0 ms(1); padding: 9px 20px 0 19px; border-#{$defaultFloat}: 1px solid #ddd;
    cite { display: block; font-size: ms(0) - 1; color: lighten($headerFontColor, 20%);
      &:before { content: "\2014 \0020"; }
      a, a:visited { color: lighten($headerFontColor, 20%); }
    }
  }

  abbr, acronym { text-transform: uppercase; font-size: 90%; color: $headerFontColor; border-bottom: 1px solid #ddd; cursor: help; }
  abbr { text-transform: none; }

  /*
   * Print styles.
   *
   * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
   * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
  */
  .print-only { display: none !important; }
  @media print {
    * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
    a, a:visited { text-decoration: underline; }
    a[href]:after { content: " (" attr(href) ")"; }
    abbr[title]:after { content: " (" attr(title) ")"; }
    .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
    pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
    thead { display: table-header-group; } /* h5bp.com/t */
    tr, img { page-break-inside: avoid; }
    img { max-width: 100% !important; }
    @page { margin: 0.5cm; }
    p, h2, h3 { orphans: 3; widows: 3; }
    h2, h3 { page-break-after: avoid; }
    .hide-on-print { display: none !important; }
    .print-only { display: block !important; }
    .hide-for-print { display: none !important; }
    .show-for-print { display: inherit !important; }
  }
