// Pygments Code Hightlighting Styles
.highlight {
    @include font-size(14);
    border: 1px solid var(--code-border);
    background: var(--code-bg);
    overflow: auto;
    border-radius: 4px;
    margin: 25px 0;

    pre {
        margin: 15px 20px;
    }
}

pre.literal-block,
.literal-block {
    @include font-size(14);
    border: 1px solid var(--code-border);
    background: var(--code-bg);
    overflow: auto;
    border-radius: 4px;
    margin: 25px 0;
    padding: 10px 20px;
}

html[data-theme="light"],
:root {
    .code-block-caption {
        background: var(--secondary-accent);
        color: var(--code-block-title);
        @include monospace;
        font-size: 1em;
        padding: 5px 20px;
        border-radius: 4px 4px 0 0;

        +div>.highlight {
            margin-top: 0;
            border-radius: 0 0 4px 4px;
            border-top: 0;
        }
    }

    // For Django 2.0 docs and older.
    .snippet-filename {
        background: var(--secondary-accent);
        color: var(--code-fg);
        @include monospace;
        font-size: 1em;
        padding: 5px 20px;
        border-radius: 4px 4px 0 0;

        +.highlight {
            margin-top: 0;
            border-radius: 0 0 4px 4px;
            border-top: 0;
        }
    }

    .highlight {
        pre {
            margin: 15px 20px;
        }

        li {
            margin-top: 0;
            border-left: 1px solid var(--code-border);
            padding: 0 0 2px 15px;

            &:first-child {
                padding-top: 2px;
            }
        }

        .hll {
            background-color: #ffffcc
        }

        .c {
            color: #408080;
            font-style: italic
        }

        /* Comment */
        .err {
            border: 1px solid #FF0000
        }

        /* Error */
        .k {
            color: #008000;
            font-weight: bold
        }

        /* Keyword */
        .o {
            color: #666666
        }

        /* Operator */
        .cm {
            color: #408080;
            font-style: italic
        }

        /* Comment.Multiline */
        .cp {
            color: #BC7A00
        }

        /* Comment.Preproc */
        .c1 {
            color: #408080;
            font-style: italic
        }

        /* Comment.Single */
        .cs {
            color: #408080;
            font-style: italic
        }

        /* Comment.Special */
        .gd {
            color: #A00000
        }

        /* Generic.Deleted */
        .ge {
            font-style: italic
        }

        /* Generic.Emph */
        .gr {
            color: #FF0000
        }

        /* Generic.Error */
        .gh {
            color: #000080;
            font-weight: bold
        }

        /* Generic.Heading */
        .gi {
            color: #00A000
        }

        /* Generic.Inserted */
        .go {
            color: #808080
        }

        /* Generic.Output */
        .gp {
            color: #000080;
            font-weight: bold
        }

        /* Generic.Prompt */
        .gs {
            font-weight: bold
        }

        /* Generic.Strong */
        .gu {
            color: #800080;
            font-weight: bold
        }

        /* Generic.Subheading */
        .gt {
            color: #0040D0
        }

        /* Generic.Traceback */
        .kc {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Constant */
        .kd {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Declaration */
        .kn {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Namespace */
        .kp {
            color: #008000
        }

        /* Keyword.Pseudo */
        .kr {
            color: #008000;
            font-weight: bold
        }

        /* Keyword.Reserved */
        .kt {
            color: #B00040
        }

        /* Keyword.Type */
        .m {
            color: #666666
        }

        /* Literal.Number */
        .s {
            color: #BA2121
        }

        /* Literal.String */
        .na {
            color: #7D9029
        }

        /* Name.Attribute */
        .nb {
            color: #008000
        }

        /* Name.Builtin */
        .nc {
            color: #0000FF;
            font-weight: bold
        }

        /* Name.Class */
        .no {
            color: #880000
        }

        /* Name.Constant */
        .nd {
            color: #AA22FF
        }

        /* Name.Decorator */
        .ni {
            color: #999999;
            font-weight: bold
        }

        /* Name.Entity */
        .ne {
            color: #D2413A;
            font-weight: bold
        }

        /* Name.Exception */
        .nf {
            color: #0000FF
        }

        /* Name.Function */
        .nl {
            color: #A0A000
        }

        /* Name.Label */
        .nn {
            color: #0000FF;
            font-weight: bold
        }

        /* Name.Namespace */
        .nt {
            color: #008000;
            font-weight: bold
        }

        /* Name.Tag */
        .nv {
            color: #19177C
        }

        /* Name.Variable */
        .ow {
            color: #AA22FF;
            font-weight: bold
        }

        /* Operator.Word */
        .w {
            color: #bbbbbb
        }

        /* Text.Whitespace */
        .mf {
            color: #666666
        }

        /* Literal.Number.Float */
        .mh {
            color: #666666
        }

        /* Literal.Number.Hex */
        .mi {
            color: #666666
        }

        /* Literal.Number.Integer */
        .mo {
            color: #666666
        }

        /* Literal.Number.Oct */
        .sb {
            color: #BA2121
        }

        /* Literal.String.Backtick */
        .sc {
            color: #BA2121
        }

        /* Literal.String.Char */
        .sd {
            color: #BA2121;
            font-style: italic
        }

        /* Literal.String.Doc */
        .s2 {
            color: #BA2121
        }

        /* Literal.String.Double */
        .se {
            color: #BB6622;
            font-weight: bold
        }

        /* Literal.String.Escape */
        .sh {
            color: #BA2121
        }

        /* Literal.String.Heredoc */
        .si {
            color: #BB6688;
            font-weight: bold
        }

        /* Literal.String.Interpol */
        .sx {
            color: #008000
        }

        /* Literal.String.Other */
        .sr {
            color: #BB6688
        }

        /* Literal.String.Regex */
        .s1 {
            color: #BA2121
        }

        /* Literal.String.Single */
        .ss {
            color: #19177C
        }

        /* Literal.String.Symbol */
        .bp {
            color: #008000
        }

        /* Name.Builtin.Pseudo */
        .vc {
            color: #19177C
        }

        /* Name.Variable.Class */
        .vg {
            color: #19177C
        }

        /* Name.Variable.Global */
        .vi {
            color: #19177C
        }

        /* Name.Variable.Instance */
        .il {
            color: #666666
        }

        /* Literal.Number.Integer.Long */
        .lineno {
            color: #000000;
            background-color: #dddddd;
        }
    }
}
