/**
 * Reset some basic elements
 */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
    margin: 0;
    padding: 0;
}



/**
 * Basic styling
 */
body {
    font-family: $base-font-family;
    font-size: $base-font-size;
    line-height: $base-line-height;
    font-weight: normal;
    color: $text-color;
    background-color: $background-color;
}



/**
 * Set `margin-bottom` to maintain vertycal rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure,
%vertical-rhythm {
    margin-bottom: $spacing-unit / 2;
}



/**
 * Images
 */
img {
    max-width: 100%;
    vertical-align: middle;
}



/**
 * Figures
 */
figure > img {
    display: block;
}

figcaption {
    font-size: $small-font-size;
}



/**
 * Lists
 */
ul, ol {
    margin-left: $spacing-unit;
}

li {
    > ul,
    > ol {
         margin-bottom: 0;
    }
}



/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}


/**
 * Anchor links
 */
a.toclink, a.toclink:visited {
    color: $text-color;
}


/**
 * Links
 */
a {
    color: $brand-color;
    text-decoration: none;

    &:visited {
        color: $brand-color-visited;
    }

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



/**
 * Blockquotes
 */
blockquote {
    color: $grey-colour;
    border-left: 4px solid $grey-colour-light;
    padding-left: $spacing-unit / 2;
    font-size: 18px;
    font-style: italic;

    > :last-child {
        margin-bottom: 0;
    }
}



/**
 * Code formatting
 */
pre,
code {
    font-size: 15px;
    border: 1px solid $code-border-color;
    border-radius: 3px;
    background-color: $code-bg-color;
}

code {
    padding: 1px 5px;
    color: $code-color;
}

pre {
    padding: 8px 12px;
    overflow-x: scroll;
    color: $pre-color;

    > code {
        border: 0;
        padding-right: 0;
        padding-left: 0;
    }
}


/**
 * Tables
 */
table {
    border-collapse: collapse;
    margin: 1em 0;

    td, th {
        border: 1px solid $table-lines-color;
        padding: 2px 8px;
    }

    th {
        background-color: $thead-color;
    }

    tr:nth-child(even) td {
        background-color: $table-even-color;
    }
}



/**
 * Wrapper
 */
.wrapper {
    // don't use calc(), doesn't seem to work in minified CSS.
    max-width: 800px - ($spacing-unit * 2);
    margin-right: auto;
    margin-left: auto;
    padding-right: $spacing-unit;
    padding-left: $spacing-unit;
    @extend %clearfix;

    @include media-query($on-laptop) {
        max-width: 800px - $spacing-unit;
        padding-right: $spacing-unit / 2;
        padding-left: $spacing-unit / 2;
    }
}



/**
 * Clearfix
 */
%clearfix {

    &:after {
        content: "";
        display: table;
        clear: both;
    }
}



/**
 * Text styling
 */
strong, b {
  font-weight: bold;
}
