/* Type */

body, input, select, textarea {

color: _palette(fg);
font-family: _font(family);
font-size: 13pt;
font-weight: _font(weight);
text-align: justify;
line-height: 1.65;

}

a {

@include vendor('transition', (
    'color #{_duration(transition)} ease-in-out',
    'border-bottom-color #{_duration(transition)} ease-in-out'
));
border-bottom: dotted 1px;
color: _palette(accent);
text-decoration: none;
&:hover {
    border-bottom-color: _palette(accent);
    color: _palette(accent);
    strong {
        color: inherit;
    }
}

}

strong, b {

color: _palette(fg-bold);
font-weight: _font(weight-bold);

}

em, i {

font-style: italic;

}

p {

margin: 0 0 _size(element-margin) 0;

}

h1, h2, h3, h4, h5, h6 {

color: _palette(fg-bold);
font-family: _font(family-heading);
font-weight: _font(weight-heading);
line-height: 1.5;
margin: 0 0 (_size(element-margin) * 0.5) 0;
a {
    color: inherit;
    text-decoration: none;
    border-bottom: 0;
}

}

h1 {

font-size: 4em;
margin: 0 0 (_size(element-margin) * 0.25) 0;
line-height: 1.3;

}

h2 {

font-size: 1.75em;

}

h3 {

font-size: 1.25em;

}

h4 {

font-size: 1.1em;

}

h5 {

font-size: 0.9em;

}

h6 {

font-size: 0.7em;

}

sub {

font-size: 0.8em;
position: relative;
top: 0.5em;

}

sup {

font-size: 0.8em;
position: relative;
top: -0.5em;

}

blockquote {

border-left: solid 3px _palette(border);
font-style: italic;
margin: 0 0 _size(element-margin) 0;
padding: (_size(element-margin) / 4) 0 (_size(element-margin) / 4) _size(element-margin);

}

code {

background: _palette(border-bg);
border-radius: _size(border-radius);
border: solid 1px _palette(border);
font-family: _font(family-fixed);
font-size: 0.9em;
margin: 0 0.25em;
padding: 0.25em 0.65em;

}

pre {

-webkit-overflow-scrolling: touch;
font-family: _font(family-fixed);
font-size: 0.9em;
margin: 0 0 _size(element-margin) 0;
code {
    display: block;
    line-height: 1.75;
    padding: 1em 1.5em;
    overflow-x: auto;
}

}

hr {

border: 0;
border-bottom: solid 1px _palette(border);
margin: _size(element-margin) 0;
&.major {
    margin: (_size(element-margin) * 1.5) 0;
}

}

.align-left {

text-align: left;

}

.align-center {

text-align: center;

}

.align-right {

text-align: right;

}

/* Inverted */

body .inverted {

color: _palette(fg-inverted);

}

.inverted {

p {
    color: _palette(fg-inverted);
}
a {
    color: _palette(accent-inverted);
    &:hover {
        border-bottom-color: _palette(accent-cp);
        color: _palette(accent-cp);
        strong {
            color: inherit;
        }
    }
}
strong, b {
    color: _palette(fg-bold-inverted);
}
h1, h2, h3, h4, h5, h6 {
    color: _palette(fg-bold-inverted);
    a {
        color: inherit;
    }
}
blockquote {
    border-left: solid 3px _palette(border-inverted);
}
code {
    background: _palette(border-bg);
    border: solid 1px _palette(border);
}
hr {
    border-bottom: solid 1px _palette(border-inverted);
}
input, select, textarea {
    color: _palette(fg);
}

}