* {
    margin: 0;
    font-family: 'Atkinson Hyperlegible Next';

    /* https://coolors.co/ee8f1b-d17b0f-3e3e33-70715c-d9dac9-fcfced */
    --bg: #f7f6ed;
    --bg2: #deddd5;

    --fg: #353531;
    --fg2: #4d4a48;

    --accent: #cc3f0c;
    --accent-transparent: rgba(204, 63, 12, 0.5);
    --accent2: #4464ad;
    --accent3: #a4b0f5;
}

/* General */

body {
    background-color: var(--bg);
    color: var(--fg);
}

a {
    padding-left: 0.1em;
    padding-right: 0.1em;
    transition: background-color 0.2s ease;
    text-decoration: underline;
    color: var(--fg);
}

a:hover {
    background-color: var(--accent-transparent);
}

button,
.button {
    background: var(--accent2);
    border: 4px solid var(--accent2);
    padding: 0.3em 0.6em;
    font-weight: 700;
    font-size: 1em;
    color: var(--bg);
    border-radius: 0.5em;
    display: inline-block;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.button.button-subtle {
    background: var(--bg);
    border: 4px solid var(--accent);
    color: var(--accent)
}

.button.button-subtle:hover,
.button.button-subtle:focus,
.button.button-subtle:active {
    background: var(--bg);
    color: var(--fg);
    border-color: var(--fg);
}

button:hover,
button:focus,
button:active,
.button:active,
.button:focus,
.button:hover {
    background: var(--accent2);
    border: 4px solid var(--accent2);
}

:focus {
    outline: 2px var(--bg) solid;
    outline-offset: 0;
    box-shadow: 0 0 0 4px var(--fg)
}

hr {
    width: 25%;
    margin: 20px auto;
    border: none;
    border-top: 1px solid var(--fg2);
    text-align: center;
}

h1 {
    font-size: 2.3em;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 2em;
    margin-bottom: 0.5em;
}

h3 {
    font-size: 1.7em;
    margin-bottom: 0.3em;
}

p {
    margin-bottom: 1em;
}

.larger {
    font-size: 1.3em;
}

.grey {
    color: var(--fg2);
}

aside {
    padding-left: 1em;
    margin-bottom: 1em;
    border-left: 2px solid var(--accent2);
    color: var(--fg2);
}

img {
    border-radius: 5px;
    max-width: 100%;
    margin: 1rem 0;
}

p,
aside,
span,
li {
    line-height: 1.6rem;
}


/* Building Blocks/Wrappers */

main {
    margin: 0 auto;
    width: 40%;
}

section {
    margin-bottom: 0.5em;
}

@media only screen and (max-width: 992px) {
    main {
        width: 90%;
    }
}

/* Home Page Previews */

.preview {
    padding-left: 1em;
    padding-bottom: 0.2em;
    margin-bottom: 0.5em;
    border-left: 2px solid var(--accent);
}


h3.read-more a {
    text-decoration: none;
    color: var(--fg);
}

/* Footer */

footer {
    width: 50%;
    margin: auto;
    padding: 1em 0;
    border-top: 1px solid var(--bg2);
    color: var(--fg2);
}

.footer-wrapper {
    padding: 0 1em;
    width: 100%
}

footer a {
    text-decoration: none;
    margin-right: 0.5em;
}


@media only screen and (max-width: 992px) {
    footer {
        width: 80%;
    }
}
