:root {
    /* Nord Color Theme: https://www.nordtheme.com/
   Details about the palette and use cause of each color: https://www.nordtheme.com/docs/colors-and-palettes */

    /* Polar Night  */
    --nord0: #2e3440;
    --nord1: #3b4252;
    --nord2: #434c5e;
    --nord3: #4c566a;
    /* Snow Storm */
    --nord4: #d8dee9;
    --nord5: #e5e9f0;
    --nord6: #eceff4;
    /* Frost */
    --nord7: #8fbcbb;
    --nord8: #88c0d0;
    --nord9: #81a1c1;
    --nord10: #5e81ac;
    /* Aurora */
    --nord11: #bf616a;
    --nord12: #d08770;
    --nord13: #ebcb8b;
    --nord14: #a3be8c;
    --nord15: #b48ead;

    --width: 720px;
    --font-main: "Be Vietnam Pro", Verdana, sans-serif;
    --font-secondary: "Be Vietnam Pro", Verdana, sans-serif;
    --font-scale: 1em;
    --background-color: var(--nord4);
    --heading-color: var(--nord0);
    --text-color: var(--nord1);
    --link-color: var(--nord10);
    --visited-color: var(--nord15);
    --code-background-color: var(--nord0);
    --code-color: var(--nord4);
    --blockquote-color: var(--nord3);
}

@media (prefers-color-scheme: dark) {
    :root {
        --background-color: var(--nord0);
        --heading-color: var(--nord6);
        --text-color: var(--nord6);
        --link-color: var(--nord9);
        --visited-color: var(--nord15);
        --code-background-color: var(--nord0);
        --code-color: var(--nord4);
        --blockquote-color: var(--nord4);
    }
}

body {
    font-family: var(--font-secondary);
    font-size: var(--font-scale);
    margin: auto;
    padding: 20px;
    max-width: var(--width);
    text-align: left;
    background-color: var(--background-color);
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.5;
    color: var(--text-color);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-main);
    color: var(--heading-color);
}

a {
    color: var(--link-color);
    cursor: pointer;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

nav a {
    margin-right: 8px;
}

strong, b {
    color: var(--heading-color);
}

button {
    margin: 0;
    cursor: pointer;
}

time {
    font-family: "Fira Code", monospace;
    font-style: normal;
    font-size: 15px;
}

main {
    line-height: 1.6;
}

table {
    width: 100%;
}

hr {
    border: 0;
    border-top: 1px dashed;
}

img {
    max-width: 100%;
}

code {
    font-family: "Fira Code", monospace;
    background-color: var(--code-background-color);
    color: var(--code-color);
    border-radius: 3px;
}

blockquote {
    border-left: 1px solid #999;
    color: var(--blockquote-color);
    padding-left: 20px;
    font-style: italic;
}

footer {
    padding: 25px 0;
    text-align: center;
}

.title:hover {
    text-decoration: none;
}

.title h1 {
    font-size: 1.5em;
}

.inline {
    width: auto !important;
}

.highlight, .code {
    /*padding: 1px 15px;*/
    background-color: var(--code-background-color);
    color: var(--code-color);
    border-radius: 3px;
    margin-block-start: 1em;
    margin-block-end: 1em;
    overflow-x: auto;
}

/* blog post list */
ul.blog-posts {
    list-style-type: none;
    padding: unset;
}

ul.blog-posts li {
    display: flex;
}

ul.blog-posts li span {
    flex: 0 0 130px;
}

ul.blog-posts li a:visited {
    color: var(--visited-color);
}

figure figcaption {
    text-align: center;
    font-size: 0.9em;
    font-style: italic;
}

figure img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 0.3em;
}

/* Generated using: hugo gen chromastyles --style=nord */

/* Background */ .bg { color:#d8dee9;background-color:#2e3440; }
/* PreWrapper */ .chroma, .code-inline { color:#d8dee9;background-color:#2e3440; }
/* Other */ .chroma .x, .code-inline .x {  }
/* Error */ .chroma .err, .code-inline .err { color:#bf616a }
/* CodeLine */ .chroma .cl, .code-inline .cl {  }
/* LineLink */ .chroma .lnlinks, .code-inline .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd, .code-inline .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable, .code-inline .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl, .code-inline .hl { background-color:#424853 }
/* LineNumbersTable */ .chroma .lnt, .code-inline .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74 }
/* LineNumbers */ .chroma .ln, .code-inline .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74 }
/* Line */ .chroma .line, .code-inline .line { display:flex; }
/* Keyword */ .chroma .k, .code-inline .k { color:#81a1c1;font-weight:bold }
/* KeywordConstant */ .chroma .kc, .code-inline .kc { color:#81a1c1;font-weight:bold }
/* KeywordDeclaration */ .chroma .kd, .code-inline .kd { color:#81a1c1;font-weight:bold }
/* KeywordNamespace */ .chroma .kn, .code-inline .kn { color:#81a1c1;font-weight:bold }
/* KeywordPseudo */ .chroma .kp, .code-inline .kp { color:#81a1c1 }
/* KeywordReserved */ .chroma .kr, .code-inline .kr { color:#81a1c1;font-weight:bold }
/* KeywordType */ .chroma .kt, .code-inline .kt { color:#81a1c1 }
/* Name */ .chroma .n, .code-inline .n {  }
/* NameAttribute */ .chroma .na, .code-inline .na { color:#8fbcbb }
/* NameBuiltin */ .chroma .nb, .code-inline .nb { color:#81a1c1 }
/* NameBuiltinPseudo */ .chroma .bp, .code-inline .bp {  }
/* NameClass */ .chroma .nc, .code-inline .nc { color:#8fbcbb }
/* NameConstant */ .chroma .no, .code-inline .no { color:#8fbcbb }
/* NameDecorator */ .chroma .nd, .code-inline .nd { color:#d08770 }
/* NameEntity */ .chroma .ni, .code-inline .ni { color:#d08770 }
/* NameException */ .chroma .ne, .code-inline .ne { color:#bf616a }
/* NameFunction */ .chroma .nf, .code-inline .nf { color:#88c0d0 }
/* NameFunctionMagic */ .chroma .fm, .code-inline .fm {  }
/* NameLabel */ .chroma .nl, .code-inline .nl { color:#8fbcbb }
/* NameNamespace */ .chroma .nn, .code-inline .nn { color:#8fbcbb }
/* NameOther */ .chroma .nx, .code-inline .nx {  }
/* NameProperty */ .chroma .py, .code-inline .py { color:#8fbcbb }
/* NameTag */ .chroma .nt, .code-inline .nt { color:#81a1c1 }
/* NameVariable */ .chroma .nv, .code-inline .nv {  }
/* NameVariableClass */ .chroma .vc, .code-inline .vc {  }
/* NameVariableGlobal */ .chroma .vg, .code-inline .vg {  }
/* NameVariableInstance */ .chroma .vi, .code-inline .vi {  }
/* NameVariableMagic */ .chroma .vm, .code-inline .vm {  }
/* Literal */ .chroma .l, .code-inline .l {  }
/* LiteralDate */ .chroma .ld, .code-inline .ld {  }
/* LiteralString */ .chroma .s, .code-inline .s { color:#a3be8c }
/* LiteralStringAffix */ .chroma .sa, .code-inline .sa { color:#a3be8c }
/* LiteralStringBacktick */ .chroma .sb, .code-inline .sb { color:#a3be8c }
/* LiteralStringChar */ .chroma .sc, .code-inline .sc { color:#a3be8c }
/* LiteralStringDelimiter */ .chroma .dl, .code-inline .dl { color:#a3be8c }
/* LiteralStringDoc */ .chroma .sd, .code-inline .sd { color:#616e87 }
/* LiteralStringDouble */ .chroma .s2, .code-inline .s2 { color:#a3be8c }
/* LiteralStringEscape */ .chroma .se, .code-inline .se { color:#ebcb8b }
/* LiteralStringHeredoc */ .chroma .sh, .code-inline .sh { color:#a3be8c }
/* LiteralStringInterpol */ .chroma .si, .code-inline .si { color:#a3be8c }
/* LiteralStringOther */ .chroma .sx, .code-inline .sx { color:#a3be8c }
/* LiteralStringRegex */ .chroma .sr, .code-inline .sr { color:#ebcb8b }
/* LiteralStringSingle */ .chroma .s1, .code-inline .s1 { color:#a3be8c }
/* LiteralStringSymbol */ .chroma .ss, .code-inline .ss { color:#a3be8c }
/* LiteralNumber */ .chroma .m, .code-inline .m { color:#b48ead }
/* LiteralNumberBin */ .chroma .mb, .code-inline .mb { color:#b48ead }
/* LiteralNumberFloat */ .chroma .mf, .code-inline .mf { color:#b48ead }
/* LiteralNumberHex */ .chroma .mh, .code-inline .mh { color:#b48ead }
/* LiteralNumberInteger */ .chroma .mi, .code-inline .mi { color:#b48ead }
/* LiteralNumberIntegerLong */ .chroma .il, .code-inline .il { color:#b48ead }
/* LiteralNumberOct */ .chroma .mo, .code-inline .mo { color:#b48ead }
/* Operator */ .chroma .o, .code-inline .o { color:#81a1c1 }
/* OperatorWord */ .chroma .ow, .code-inline .ow { color:#81a1c1;font-weight:bold }
/* Punctuation */ .chroma .p, .code-inline .p { color:#eceff4 }
/* Comment */ .chroma .c, .code-inline .c { color:#616e87;font-style:italic }
/* CommentHashbang */ .chroma .ch, .code-inline .ch { color:#616e87;font-style:italic }
/* CommentMultiline */ .chroma .cm, .code-inline .cm { color:#616e87;font-style:italic }
/* CommentSingle */ .chroma .c1, .code-inline .c1 { color:#616e87;font-style:italic }
/* CommentSpecial */ .chroma .cs, .code-inline .cs { color:#616e87;font-style:italic }
/* CommentPreproc */ .chroma .cp, .code-inline .cp { color:#5e81ac;font-style:italic }
/* CommentPreprocFile */ .chroma .cpf, .code-inline .cpf { color:#5e81ac;font-style:italic }
/* Generic */ .chroma .g, .code-inline .g {  }
/* GenericDeleted */ .chroma .gd, .code-inline .gd { color:#bf616a }
/* GenericEmph */ .chroma .ge, .code-inline .ge { font-style:italic }
/* GenericError */ .chroma .gr, .code-inline .gr { color:#bf616a }
/* GenericHeading */ .chroma .gh, .code-inline .gh { color:#88c0d0;font-weight:bold }
/* GenericInserted */ .chroma .gi, .code-inline .gi { color:#a3be8c }
/* GenericOutput */ .chroma .go, .code-inline .go {  }
/* GenericPrompt */ .chroma .gp, .code-inline .gp { color:#4c566a;font-weight:bold }
/* GenericStrong */ .chroma .gs, .code-inline .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu, .code-inline .gu { color:#88c0d0;font-weight:bold }
/* GenericTraceback */ .chroma .gt, .code-inline .gt { color:#bf616a }
/* GenericUnderline */ .chroma .gl, .code-inline .gl {  }
/* TextWhitespace */ .chroma .w, .code-inline .w {  }
