html {
    margin: 0;
    padding: 0;
    font-size: 16px;
    background:
            linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
            linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
            var(--dot-color);

    --dot-bg: #e7e7de;
    --dot-color: #bdbdba;
    --dot-size: 1px;
    --dot-space: 22px;
}

body {
    font-family: 'Newsreader', serif;
    margin: 0;
    color: #1a1a1a;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Newsreader', serif;
    font-weight: 300;
}

.site-header {
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-content-area {
    width: 90%;
    display: flex;
    max-width: 600px;
    height: 100px;
    align-items: center;
}

.header-content-area img {
    height: 56px;
    margin-top: 16px;
}

.header-bar a {
    display: flex;
    align-items: center;
    text-decoration: none;
}

main.container {
    width: 90%;
    margin: 0 auto;
    max-width: 600px;
}

ul.all-posts {
    list-style: none;
    padding: 0;
}

ul.all-posts li a {
    text-decoration: none;
    color: #1a1a1a;
}

ul.all-posts li {
    border-bottom: 1px dashed #cfcfbb;
    padding: 10px 0;
}

.article-container {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}

.article-container .article-content-area {
    flex: 1;
    margin: 40px 0 0 0;
}

.post-meta {
    display: flex;
    align-items: center;
    font-family: 'Newsreader', serif;
    color: #7b6565;
    font-weight: 400;
    font-style: italic;
    padding-bottom: 10px;
    font-size: 1rem;
}

.article-time {
    text-decoration: none;
}

.post-meta p {
    margin: 0 0 0 5px;
}

.article {
    margin: 30px 0 10px 0;
    border-bottom: 1px dashed #cfcfbb;
    padding-bottom: 15px;
}

.article p {
    font-family: 'Newsreader', serif;
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 400;
    margin: 5px 0 15px 0;
}

.article p strong {
    font-weight: 700;
}

.article p em {
    font-style: italic;
}

.article img {
    width: 110%;
    height: auto;
    border-radius: 10px;
    border: 5px solid #f2efef;
    box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
    margin: 15px 0 45px -5%;
    rotate: -5deg;
}

.article a {
    color: #1a1a1a;
    border-bottom: 1px dotted #1a1a1a;
    text-decoration: none;
}

.article ul {
    margin: 25px 0;
    padding-inline-start: 45px;
}

.article li {
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 400;
    margin: 12px 0;
}

.article li::marker {
    color: #7b6565;
}

h1 {
    font-size: 2.5rem;
    line-height: 1.3;
    margin: 6px 0;
}

.intro-section {
    border-bottom: 1px dashed #cfcfbb;
    padding-bottom: 10px;
    margin-top: 30px;
}

.intro-section p {
    font-size: 1.4rem;
    line-height: 1.4;
    color: #675858;
}

.footer-content {
    width: 90%;
    max-width: 600px;
    margin: 35px auto;
}

.footer-branding {
    display: flex;
    align-items: center;
}

.footer-branding img {
    width: 20px;
    opacity: 0.5;
}

.footer-branding p {
    text-transform: uppercase;
    color: #7b6565;
    margin: 0 0 0 5px;
}

p.copyright-info {
    color: #7b6565;
    margin: 10px 0 0 24px;
    font-size: 0.9rem;
    font-style: italic;
}

.pagination {
    display: flex;
}

a.pagination-next {
    display: block;
    margin: 15px 0;
    cursor: pointer;
}

a.pagination-previous {
    display: block;
    margin: 15px 10px 15px 0;
    cursor: pointer;
}

a.pagination-next img, a.pagination-previous img {
    width: 20px;
    padding-left: 2px;
}

@media only screen and (max-width: 600px) {
    h1 {
        font-size: 2.25rem;
        line-height: 1.3;
        margin: 6px 0;
    }

    .article p, .article li {
        font-size: 1.35rem;
    }

    .article ul {
        padding-inline-start: 40px;
    }

    .intro-section p {
        font-size: 1.3rem;
    }

    .article img {
        width: 95%;
        margin: 10px 0 30px 0;
    }
}