/* These style override Prism built-in (and any provided theme), 
   optimizing for rendering for print. E.g. Colored backgrounds
    make no sense when printing. Also turns off some stuff 
    litehtml does not support correctly.
*/
code[class*="language-"],
pre[class*="language-"] {
    /* no backgrond */
    background: none;
    /* WinPrint supports changing theme font. */
    /* HACK: note 'winprint' font at end. */
    font-family: 'Cascadia Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace, winprint;
    font-size: 10pt;
    /* linehtml only supports pre-wrap. break-word, break-all are not yet supported.*/
    white-space: pre-wrap;
    word-wrap: break-word;
    word-break: break-all;
    /* Force line-height to 'normal' */
    line-height: normal;
    /* Remove all padding and margins */
    padding: 0;
    margin: 0;
}

/* Code blocks */
pre[class*="language-"] {
    /* Remove all padding and margins */
    margin: 0;
    padding: 0;
    overflow: visible;
}

    /* Background & border */
    pre[class*="language-"] > code {
        /* turn off all background features */
        background: none;
        background-image: none;
        background-color: transparent;
        /* turn off all borders (winprint provides own border mechansim) */
        border-left: 0px;
        border-right: none;
        border-top: none;
        border-bottom: none;
        box-shadow: none;
    }

code[class*="language"] {
    /* Remove all padding and margins */
    padding: 0;
    margin: 0;
}

/* Margin bottom to accommodate shadow */
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
    /* Remove all padding and margins (prism-coy) */
    all: unset;
}

    /* Remove any before/after fancy formatting (like coy's shadows) */
    pre[class*="language-"]:before,
    pre[class*="language-"]:after {
        all: initial;
    }

    :not(pre) > code[class*="language-"]:after,
    pre[class*="language-"]:after {
        all: unset;
    }

/* disable operator background found in default prism.js */
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
    background: none;
}

ol {
    display: block;
    /* This works around a bug in litehmtl where it renders lists too far down */
    margin-top: -0.5em;
    margin-bottom: 0;
    margin-left: 30px;
    margin-right: 0;
    list-style-type: decimal;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}

li:first-child {
    margin-top: 0;
}

li {
    padding: 0px;
    margin: 0;
    line-height: 0px;
}

body {
    padding: 0px;
    margin: 0px;
}

table {
    border: 0;
    border-spacing: 0;
    padding: 0px;
    margin: 0;
}

tr {
    border: 0;
    border-spacing: 0;
    padding: 0px;
    margin: 0;
}

td {
    border: 0;
    border-spacing: 0;
    padding: 0px;
    margin: 0;
}

    td[class*="line-number"] {
        padding-left: 0.5em;
        padding-right: 0.2em;
        margin-right: 0.5em;
        text-align: right;
        vertical-align: top;
        border-right: 1px solid darkgray;
        color: darkgray;
    }
