/**
 * 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: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
    color: $text-color;
    background-color: $background-color;
}



/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure, table,
%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: $base-font-weight;
}



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

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



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

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



/**
 * Code formatting
 */
pre,
code {
    background-color: #fcfcfc;
}

code {
    padding: 1px 5px;
    font-family: $code-font-family;
}

pre {
    padding: 8px 12px;
    overflow-x: auto;
    border-left: 2px solid $grey-color-light;

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



/**
 * Table
 */
table {
    width: 100%;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

th,
td {
    padding: 0.5rem;
    line-height: inherit;
}

th {
    text-align: left;
    vertical-align: bottom;
    border-bottom: 2px solid $grey-color-light;
}

td {
    vertical-align: top;
    border-bottom: 1px solid $grey-color-light;
}


/**
 * Horizontal rule
 */
hr {
    width: 30%;
    border: none;
    border-top: 1px solid lighten($brand-color, 30%);;
    margin: $spacing-unit auto;
}



/**
 * Clearfix
 */
%clearfix {
    &:after {
        content: "";
        display: table;
        clear: both;
    }
}
