$content-heading-color: v("text-strong") !default
$content-heading-weight: v("weight-semibold") !default
$content-heading-line-height: 1.125 !default

$content-blockquote-background-color: v("background") !default
$content-blockquote-border-left: 5px solid v("border") !default
$content-blockquote-padding: 1.25em 1.5em !default

$content-pre-padding: 1.25em 1.5em !default

$content-table-cell-border: 1px solid v("border") !default
$content-table-cell-border-width: 0 0 1px !default
$content-table-cell-padding: 0.5em 0.75em !default
$content-table-cell-heading-color: v("text-strong") !default
$content-table-head-cell-border-width: 0 0 2px !default
$content-table-head-cell-color: v("text-strong") !default
$content-table-foot-cell-border-width: 2px 0 0 !default
$content-table-foot-cell-color: v("text-strong") !default

+register(content-heading-color,$content-heading-color, true)
+register(content-heading-weight,$content-heading-weight, true)
+register(content-heading-line-height,$content-heading-line-height, true)
+register(content-blockquote-background-color,$content-blockquote-background-color, true)
+register(content-blockquote-border-left,$content-blockquote-border-left, true)
+register(content-blockquote-padding,$content-blockquote-padding, true)
+register(content-pre-padding,$content-pre-padding, true)
+register(content-table-cell-border,$content-table-cell-border, true)
+register(content-table-cell-border-width,$content-table-cell-border-width, true)
+register(content-table-cell-padding,$content-table-cell-padding, true)
+register(content-table-cell-heading-color,$content-table-cell-heading-color, true)
+register(content-table-head-cell-border-width,$content-table-head-cell-border-width, true)
+register(content-table-head-cell-color,$content-table-head-cell-color, true)
+register(content-table-foot-cell-border-width,$content-table-foot-cell-border-width, true)
+register(content-table-foot-cell-color,$content-table-foot-cell-color, true)

.content
  @extend %block
  // Inline
  li + li
    margin-top: 0.25em
  // Block
  p,
  dl,
  ol,
  ul,
  blockquote,
  pre,
  table
    &:not(:last-child)
      margin-bottom: 1em
  h1,
  h2,
  h3,
  h4,
  h5,
  h6
    color: v("content-heading-color")
    font-weight: v("content-heading-weight")
    line-height: v("content-heading-line-height")
  h1
    font-size: 2em
    margin-bottom: 0.5em
    &:not(:first-child)
      margin-top: 1em
  h2
    font-size: 1.75em
    margin-bottom: 0.5714em
    &:not(:first-child)
      margin-top: 1.1428em
  h3
    font-size: 1.5em
    margin-bottom: 0.6666em
    &:not(:first-child)
      margin-top: 1.3333em
  h4
    font-size: 1.25em
    margin-bottom: 0.8em
  h5
    font-size: 1.125em
    margin-bottom: 0.8888em
  h6
    font-size: 1em
    margin-bottom: 1em
  blockquote
    background-color: v("content-blockquote-background-color")
    +ltr-property("border-left", v("content-blockquote-border-left"))
    padding: v("content-blockquote-padding")
  ol
    list-style-position: outside
    +ltr-property("margin-left", 2em)
    margin-top: 1em
    &:not([type])
      list-style-type: decimal
      &.is-lower-alpha
        list-style-type: lower-alpha
      &.is-lower-roman
        list-style-type: lower-roman
      &.is-upper-alpha
        list-style-type: upper-alpha
      &.is-upper-roman
        list-style-type: upper-roman
  ul
    list-style: disc outside
    +ltr-property("margin-left", 2em)
    margin-top: 1em
    ul
      list-style-type: circle
      margin-top: 0.5em
      ul
        list-style-type: square
  dd
    +ltr-property("margin-left", 2em)
  figure
    margin-left: 2em
    margin-right: 2em
    text-align: center
    &:not(:first-child)
      margin-top: 2em
    &:not(:last-child)
      margin-bottom: 2em
    img
      display: inline-block
    figcaption
      font-style: italic
  pre
    +overflow-touch
    overflow-x: auto
    padding: v("content-pre-padding")
    white-space: pre
    word-wrap: normal
  sup,
  sub
    font-size: 75%
  table
    width: 100%
    td,
    th
      border: v("content-table-cell-border")
      border-width: v("content-table-cell-border-width")
      padding: v("content-table-cell-padding")
      vertical-align: top
    th
      color: v("content-table-cell-heading-color")
      &:not([align])
        text-align: inherit
    thead
      td,
      th
        border-width: v("content-table-head-cell-border-width")
        color: v("content-table-head-cell-color")
    tfoot
      td,
      th
        border-width: v("content-table-foot-cell-border-width")
        color: v("content-table-foot-cell-color")
    tbody
      tr
        &:last-child
          td,
          th
            border-bottom-width: 0
  .tabs
    li + li
      margin-top: 0
  // Sizes
  &.is-small
    font-size: v("size-small")
  &.is-medium
    font-size: v("size-medium")
  &.is-large
    font-size: v("size-large")
