.gdoc-markdown {
  line-height: 1.6em;

  > :first-child {
    margin-top: 0;
  }

  &--nested {
    :first-child {
      margin-top: 0;
    }
    > :last-child {
      margin-bottom: 0;
    }
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: 600;

    > code {
      border-top: 3px solid $gray-300;
      font-size: 0.75em !important;
    }
  }

  h4,
  h5,
  h6 {
    > code {
      font-size: 0.8rem !important;
    }
  }

  b,
  optgroup,
  strong {
    font-weight: bolder;
  }

  a {
    text-decoration: none;
    border-bottom: 1px solid transparent;
    line-height: 1em;

    &:hover {
      text-decoration: underline;
    }
  }

  img {
    max-width: 100%;
  }

  blockquote {
    margin: $padding-16 0;
    padding: $padding-8 $padding-16 $padding-8 ($padding-16 - $padding-4); //to keep total left space 16dp

    border-left: $padding-4 solid $gray-200;
    border-radius: $border-radius;

    :first-child {
      margin-top: 0;
    }
    :last-child {
      margin-bottom: 0;
    }
  }

  table {
    overflow: auto;
    display: block;
    border-spacing: 0;
    border-collapse: collapse;
    margin-top: $padding-16;
    margin-bottom: $padding-16;

    tr th,
    tr td {
      padding: $padding-8 $padding-16;
      border: $padding-1 solid $gray-200;
    }

    tr:nth-child(2n) {
      background: $gray-100;
    }
  }

  hr {
    height: $padding-1;
    border: none;
    background: $gray-200;
  }

  ul,
  ol {
    padding-left: $padding-16 * 2;
  }

  dl {
    dt {
      font-weight: bolder;
      margin-top: $padding-16;
    }

    dd {
      margin-left: $padding-16 * 2;
    }
  }

  pre {
    margin: 1rem 0;
  }

  code {
    background-color: $color-code;
    font-size: 0.85em;
    line-height: 1.45;
    padding: 0.2em 0.4em;
  }

  > pre code {
    display: block;
    padding: 1rem;
    width: 100%;
    overflow: auto;
  }
}
