html {
    margin: 0;
    padding: 0;
}

body {
    margin: 0 auto;
    padding: 0 20px 40px 20px;

    max-width: 900px;

    background: #f4f7f8;
    color: #17252a;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.45;
}

/* Links */

a {
    color: #006d77;
    text-decoration: none;
}

a:hover {
    color: #d35400;
    text-decoration: underline;
}

/* Header */

header,
#header {
    margin: 0 0 25px 0;
    padding: 12px 0 8px 0;

    border-bottom: 1px solid #7aaeb3;
}

header h1,
#header h1 {
    margin: 0;
    padding: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 28px;
    font-weight: normal;
}

header h1 a,
#header h1 a {
    color: #174a5b;
}

header h1 a:hover,
#header h1 a:hover {
    color: #006d77;
    text-decoration: none;
}

/* Top navigation */

#top-bar,
#topbar,
.top-bar {
    margin: 4px 0 20px 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}

#top-bar a,
#topbar a,
.top-bar a {
    color: #28666e;
}

#top-bar a:hover,
#topbar a:hover,
.top-bar a:hover {
    color: #d35400;
}

/* Main content */

#content,
#main,
main {
    margin: 0;
    padding: 0;
}

article {
    margin: 0;
    padding: 0;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: #174a5b;
}

h1 {
    font-size: 26px;
    margin: 0 0 15px 0;
}

h2 {
    font-size: 21px;
    margin: 25px 0 8px 0;
    padding-bottom: 3px;

    border-bottom: 1px solid #9bc2c6;
}

h3 {
    font-size: 17px;
    margin: 20px 0 5px 0;
}

h4 {
    font-size: 15px;
}

/* Paragraphs */

p {
    margin: 0 0 12px 0;
}

/* Lists */

ul,
ol {
    margin-top: 5px;
    margin-bottom: 15px;
}

li {
    margin-bottom: 3px;
}

/* Horizontal rules */

hr {
    height: 0;
    margin: 25px 0;

    border: 0;
    border-top: 1px solid #9bc2c6;
}

/* Code */

code,
pre,
tt {
    font-family: "Courier New", Courier, monospace;
}

code {
    color: #174a5b;
}

pre {
    margin: 15px 0;
    padding: 10px 12px;

    overflow-x: auto;

    background: #e6eef0;
    border: 1px solid #9bc2c6;

    color: #17252a;
    font-size: 13px;
    line-height: 1.35;
}

pre code {
    color: inherit;
}

/* Blockquotes */

blockquote {
    margin: 15px 0;
    padding: 5px 15px;

    border-left: 3px solid #4f8f96;

    color: #40565b;
}

/* Tables */

table {
    margin: 15px 0;
    border-collapse: collapse;

    font-size: 14px;
}

th,
td {
    padding: 5px 9px;

    border: 1px solid #8fb7bb;

    text-align: left;
    vertical-align: top;
}

th {
    background: #dcebed;
    color: #174a5b;

    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
}

/* Forms */

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;

    background: #ffffff;
    color: #17252a;

    border: 1px solid #7aaeb3;
}

input,
textarea {
    padding: 4px 6px;
}

button,
input[type="submit"] {
    padding: 4px 10px;

    background: #dcebed;
    color: #174a5b;

    border: 1px solid #6d9da2;

    cursor: pointer;
}

button:hover,
input[type="submit"]:hover {
    background: #c9e0e3;
}

/* Images */

img {
    max-width: 100%;
    height: auto;
}

/* Footer */

footer,
#footer {
    margin-top: 35px;
    padding-top: 8px;

    border-top: 1px solid #7aaeb3;

    color: #587176;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

footer a,
#footer a {
    color: #28666e;
}

#side-bar div,
#sidebar div,
.sidebar div {
    margin-bottom: 8px;
}


.small,
.meta,
.metadata {
    color: #587176;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

dt {
    margin-top: 10px;

    color: #174a5b;

    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

dd {
    margin-left: 20px;
}

@media (max-width: 650px) {
    body {
        padding: 0 12px 30px 12px;
        font-size: 15px;
    }

    #side-bar,
    #sidebar,
    .sidebar {
        flex: 0 0 100%;
        width: auto;
        margin: 0 0 20px 0;
        padding-bottom: 10px;
        border-bottom: 1px solid #9bc2c6;
    }

    article {
        flex: 0 0 100%;
    }

    table {
        display: block;
        overflow-x: auto;
    }
}
