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

/**
 * Set `margin-bottom` to maintain vertical 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 {
   margin: 0 !important;   
}

figure > img {
    display: block;
}

figure > img.thumb {
    float: left;
    margin: 0 1rem 1rem 2rem;
}


figcaption {
    font-size: $small-font-size;
    margin-top: 1rem;
}



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

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


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



/**
 * Links
 */
a {
    outline: none;
    transition: all .2s ease-in!important;
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: ease-in;
    transition-delay: initial;
    color: $link-color;
    text-decoration: none;

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

    &:hover {
        color: $link-hover-color;
    }
}



/**
 * Blockquotes
 */
blockquote {
    color: darken($body-bg, 25%);
    border-left: 4px solid lighten($complimentary-color, 35%);
    padding-left: $spacing-unit / 2;
    font-size: 18px;
    letter-spacing: -1px;
    font-style: italic;

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



/**
 * Code formatting
 */
pre,
code {
    font-size: 15px;
    border: 1px solid darken($complimentary-color, 15%);
    border-radius: 3px;
    background-color: #eef;
}

code {
    padding: 1px 5px;
}

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

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

/**
 * Clearfix
 */
%clearfix {

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



/**
 * Icons
 */
.icon {

    > svg {
        display: inline-block;
        width: 16px;
        height: 16px;
        vertical-align: middle;

        path {
            fill: $complimentary-color;
        }
    }
}



/**
 *  Forms
 */
input {
    text-rendering: auto;
    color: $body-font-color;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    margin: 0em 0em 0em 0em;
}

[type='text'], [type='email'], textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.4375rem;
    padding: 0.5rem;
    border: 1px solid #cacaca;
    margin: 0 0 1rem;
    font-size: 1rem;
    color: $body-font-color;
    background-color: #fefefe;
    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
    border-radius: 0;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
}


textarea {
    min-height: 250px!important;
}

input[name=message] {
    min-height: 250px!important;
    max-width: 100%;
}

input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

/**
 *  Buttons
 */
.button {
    display: inline-block;
    text-align: center;
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: none;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    vertical-align: middle;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 0.85em 1em;
    margin: 1rem 0;
    font-size: 0.9rem;
    background-color: $button-color;
    color: $button-text-color;
}

.button:hover, .button:focus, button:hover, button:focus {
    background-color: $button-hover;
    color: $button-text-color;
    text-decoration: none;
}
