/*! normalize.css v3.0.1 | MIT License | git.io/normalize */

/**
 * ==============================================================================
 * Normalize is used as a starting point. We don't include everything it contains
 * and we add a lot of our own to create a *Design opinionated* base style sheet.
 * ==============================================================================
 */
/**
 * 1. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%; /* 1 */
    height: 100%;
    overflow-y: scroll;
}

body {
    background: var(--color-bg);
    color: var(--color-text);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100%;
}

/**
 * 1. Correct font properties not being inherited.
 * 2. Remove default margin on body and address margins set differently in Firefox 4+, Safari, and Chrome.
 */
body,
button,
input,
optgroup,
select,
textarea {
    font:
        16px/1.55 'Helvetica Neue',
        Helvetica,
        Arial,
        sans-serif; /* 1 */
    margin: 0; /* 2 */
}

/**
 * Margins
 */
blockquote,
dd,
dl,
ol,
ul,
p,
pre,
table,
ul {
    margin-top: 1em;
    margin-bottom: 1em;
}

/* TODO: rtl version of this? */
ul,
ol,
dd {
    margin-left: 0;
    padding-left: 0;
}

blockquote {
    border-left: 7px solid rgba(2, 128, 174, 0.3);
    font-style: italic;
    margin-left: 0;
    padding: 1px 0 1px 2em;
}

/**
 * 1. reset UA list-style
 */
ol,
ul {
    list-style-type: none;
}

abbr[title] {
    border-bottom: 1px dotted #555;
    cursor: help;
}

/**
 * Reset UA styling
 */
b,
strong {
    font-weight: normal;
}

i {
    font-style: normal;
}

strong,
em {
    color: var(--color-emphasis);
}

a em {
    color: var(--color-blue-1);
}

/**
 * Address inconsistent and variable font size in all browsers for small.
 * Address odd "em"-unit font size rendering in all browsers for pre..
 */
code,
small {
    font-size: 14px;
}

/**
 * 1. Prevent image from sticking out of their container.
 * 2. Prevent "mysterious gaps below images" (descender).
 */
img {
    height: auto; /* 1 */
    max-width: 100%; /* 1 */
    vertical-align: bottom; /* 2 */
}

.textarea {
    overflow-x: hidden;
}

pre,
textarea {
    overflow-x: auto;
}

summary {
    cursor: pointer;
}

/**
 * 1 & 2. Address differences between Firefox and other browsers.
 */
hr {
    box-sizing: content-box; /* 1/2 */
    height: 0; /* 1/2 */
    border: 0;
    border-top: 1px solid var(--color-border-light);
    margin: 35px 0 30px;
}

/**
 * =============================================================================
 * Headings
 * =============================================================================
 */

h1 {
    margin: 0 0 0.67em 0;
}

h2 {
    margin: 2em 0 1em;
}

h3 {
    margin: 2em 0 1em;
}

h4 {
    margin: 1.5em 0;
}

h5 {
    margin: 1.33em 0;
    font-size: 0.94em;
    border-bottom: 1px solid rgba(2, 128, 174, 0.3);
}

h1 *,
h2 *,
h3 *,
h4 *,
h5 *,
h6 * {
    font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-headers);
    font-family: Nobile;
}

/**
 * =============================================================================
 * Links
 * =============================================================================
 */

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
    outline: 0;
}

:link,
:visited {
    text-decoration: none;
    color: var(--color-blue-1);
}

a:hover {
    text-decoration: underline;
}

/**
 * =============================================================================
 * Form
 * =============================================================================
 */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. border-box for these controls.
 */
[role='button'],
button,
input,
select,
textarea {
    box-sizing: border-box;
}

input,
label,
select,
textarea {
    display: inline-block;
    vertical-align: middle;
}

/**
 * Address Firefox 4+ setting "line-height" on "input" using "!important" in
 * the UA stylesheet.
 */
button,
input {
    line-height: normal;
}

select[size],
select[multiple] {
    height: auto;
}

/**
 * 1. Correct inability to style clickable `input` types in iOS.
 */
input[type='button'],
input[type='reset'],
input[type='submit'] {
    -webkit-appearance: button; /* 1 */
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Help vertical centering of controls when they are next to each other.
 */
input[type='checkbox'],
input[type='radio'] {
    vertical-align: middle; /* 1 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type='search'] {
    -webkit-appearance: none; /* 1 */
    box-sizing: border-box; /* 2 */
}

/**
 * 1. Allow vertical resizing
 */
.textarea,
textarea {
    resize: vertical; /* 1 */
}

/**
 * Form background colors
 */
input,
textarea,
.textarea {
    background: var(--color-code-bg);
}

input,
textarea pre,
textarea,
.textarea,
input[type='search'] {
    border: 1px solid var(--color-border-light);
    border-radius: 3px;
    color: var(--color-text);
}

input:focus,
textarea:focus {
    border-color: var(--color-blue-1);
    outline: 0;
}

/**
 * Preformatted text and code elements
 */
pre,
code {
    background: var(--color-code-bg);
    font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
    max-width: 738px; /* this is inside a table-cell */
}
code {
    box-shadow: none;
    border: 1px solid var(--color-code-bd);
    border-radius: 3px;
    padding: 0.2em 0.2em 0.1em;
    white-space: nowrap;
}
pre {
    border: 1px solid var(--color-code-bd);
    border-radius: 3px;
    line-height: 1.45;
    padding: 10px 16px 10px 7px;
    position: relative;
}
pre code {
    background: none;
    border: 0;
    padding: 0;
    white-space: pre;
}

/**
 * =============================================================================
 * Table
 * =============================================================================
 */
/**
 * Remove spacing between table cells and allow border styling on cells
 */
table {
    border-collapse: collapse;
}
