/*
 * html base (html, body)
 */

*
  +antialias

html
  font-size: $body-font-size
  line-height: $body-line-height
  background: $bg
  color: $text

  @media (max-width: 768px)
    font-size: floor($body-font-size * 14/17)

html
  transition: opacity 200ms linear
  opacity: 1

html, input, textarea, td, th
  +body-font

html, body
  overflow-x: hidden

/*
 * fouc prevention
 */

body
  transition: opacity 100ms linear

html.no-js *
  opacity: 0

/*
 * basic styles (a, p, img...)
 */

a, a:visited
  color: $text
  text-decoration: none
  box-shadow: inset 0 -1px rgba(#888, 0.3)
  transition: all 100ms linear

a:focus, a:hover
  box-shadow: inset 0 -2px $accent
  color: $black

strong, b
  &, a, a:visited
    color: $black

h3, p, ul, ol
  margin: 1.5em 0

/*
 * iframes
 */

p > iframe
  margin: 0 auto
  display: block

/*
 * lists
 */

ul, ol
  padding-left: 1.5em

ul
  &
    list-style: none

  > li
    position: relative

  > li:before
    content: ''
    display: block
    position: absolute
    left: -1.4em
    top: 0
    margin-top: 0.7em
    width: 4px
    height: 4px
    border-radius: 50%
    border: solid 2px $lightgray

    @media (max-width: 768px)
      width: 3px
      height: 3px

/*
 * headings
 */

h2
  &, a, a:visited
    color: $black

h2
  text-align: center
  +headline-font
  +headline-font-size(2em, 1.4)
  margin: 2em auto 0 auto
  @media (max-width: 768px)
    +headline-font-size(1.6em)

@media (min-width: 769px)
  h2:before,
  h2:after
    content: ''
    display: inline-block
    vertical-align: middle
    width: 46px
    height: 1px
    background: $lightgray
    margin: 0 30px

h3
  +bold-font
  +bold-font-size(1.1em)
  margin-top: 2em

  &, a, a:visited
    color: $black

  @media (max-width: 768px)
    margin-top: 1.5em

h3 + p
  margin-top: -1.7em

/*
 * images
 */

p > img:first-child:last-child
  display: block
  margin: 0 auto
  max-width: 100%

code
  +mono-font
  +mono-font-size(0.9em)

hr
  width: 200px
  height: 1px
  border: 0
  background: $lightgray
  margin: 3em auto
  display: block

