:root {
    --main-width: 780px;
    --main-padding: 1.4em;
    --main-padding-bottom: 3rem;

    --caption-padding: calc(.25 * var(--main-padding));

    /* header settings */
    --header-top-gap: 2rem;
    --header-bottom-gap: 2rem;
    --header-menu-side-gap: .5rem;
    --header-menu-top-gap: 1rem;

    /* Typography */
    --font-body: 'Literata', Georgia, Cambria, 'Noto Serif', 'Droif Serif', ui-serif, serif;
    --font-mono: "Monaspace", ui-monospace, monospace;

    --h1-margin-top: 2rem;
    --h1-margin-bottom: 1.5rem;
    --h2-margin-top: 2rem;
    --h2-margin-bottom: 1.5rem;
    --hx-margin-top: 1.5rem;
    --hx-margin-bottom: 1rem;
    --p-margin-top: 1rem;
    --p-margin-bottom: 1rem;
    --code-margin-top: 2rem;
    --code-margin-bottom: 2rem;

    --h1-font-size: 2em;
    --h2-font-size: 1.8em;
    --hx-font-size: 1.3em;
    --p-font-size: 1em;
    --p-line-height: 1.5em;
    --caption-font-size: .8em;

    /* Lists */
    --li-indent: 2rem;
    --ul-margin-top: 1rem;
    --ul-margin-bottom: 1rem;
    --li-checkbox-size: 0.8em;

    /* TOC */

    --toc-margin-top: 2rem;
    --toc-margin-bottom: 3rem;

    /* Code */
    --code-padding: 1.5rem;
    --code-border-radius: 10px;
    --copy-code-button-border-radius: 7px;

    /* Social section */
    --social-icons-bottom-margin: 3rem;

    /* Footer */
    --footer-height: 3rem;

    /* Content */
    --content-height: calc(100vh - var(--footer-height));
    --figure-img-max-height: 800px;

    /* Tables */
    --table-cell-padding: .5rem;
    --table-margin-top: 1.5rem;
    --table-margin-bottom: 1.5rem;
}

@media screen and (max-width: 1024px) {
    :root {
        --main-width: 750px;
        --header-top-gap: 1rem;
        --caption-padding: calc(.25 * var(--main-padding));
    }
}

@media screen and (max-width: 640px) {
    :root {
        --header-top-gap: 1rem;
        --social-icons-bottom-margin: 0rem;
        --caption-padding: calc(2 * var(--main-padding));
    }
}