@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap');

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    font-size: 18px;
}

body {
    font-family: "Source Serif Pro";
    color: #404040;
    margin: 0 auto;
    padding: 1rem;
    padding-bottom: 4rem;
    max-width: 34rem;
    min-height: 100vh;
    position: relative;
}

header {
    /*margin: 1rem 0;*/
}

h1, h2, h3 {
    line-height: 1;
    text-overflow: break-word;
}

h1 {
    font-size: 2.1rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

p {
    line-height: 1.5;
    text-overflow: break-word;
}

a {
    text-decoration: none;
    color: #00ac44;
}

a:active, a:hover {
    background-color: #dfffb0;
}

ul {
    list-style: square;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

pre {
    background-color: #f1f1f1;
    display: block;
    padding: 1rem;
    overflow-x: auto;
    font-size: 0.8rem;
}

figure {
    margin: 1rem 2rem;
}

blockquote {
    margin: 0;
}

blockquote p {
    background: #f1f1f1;
    padding: 1rem;
}

blockquote p::before {
    content: '\201C';
}

blockquote p::after {
    content: '\201D';
}

figcaption::before {
    content: '— ';
}





footer {
    position: absolute;
    bottom: 0;
    height: 3rem;
    margin-right: 1rem;
}

footer p {
    line-height: 1;
    font-size: 0.8rem;
    margin: 0;
}

.site-header {
    display: flex;
    align-items: center;
}

.site-title {
    color: #404040;
    margin: 0 1rem;
}

footer p img {
    margin: 0 1px;
    display: inline-block;
    vertical-align: bottom;
}
