pre code.hljs,
.hljs {
    display: block;
    overflow-x: auto;
    padding: 0.7em 1em;
    background: #2b2b2b;
    border: 1px solid #2c2a2a;
    color: #bababa;
    font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
    border-radius: 3px;
    --line-numbers-gutter-bg: #333;
}

.hljs::-webkit-scrollbar {
    height: 4px;
}

.hljs::-webkit-scrollbar-thumb {
    background-color: #596172;
}

.hljs-comment,
.hljs-quote {
    color: #5c6370;
    font-style: italic;
}

.hljs-doctag,
.hljs-keyword,
.hljs-formula {
    color: #c678dd;
}

.hljs-section,
.hljs-name,
.hljs-selector-tag,
.hljs-deletion,
.hljs-subst {
    color: #e06c75;
}

.hljs-literal {
    color: #56b6c2;
}

.hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-attribute,
.hljs-meta-string {
    color: #98c379;
}

.hljs-built_in,
.hljs-class .hljs-title {
    color: #e6c07b;
}

.hljs-attr,
.hljs-variable,
.hljs-template-variable,
.hljs-type,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-number {
    color: #d19a66;
}

.hljs-symbol,
.hljs-bullet,
.hljs-link,
.hljs-meta,
.hljs-selector-id,
.hljs-title {
    color: #61aeee;
}

.hljs-emphasis {
    font-style: italic;
}

.hljs-strong {
    font-weight: bold;
}

.hljs-link {
    text-decoration: underline;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-built_in,
.hljs-name,
.hljs-tag {
    color: #7171bf;
}

/* line number style */

.hljs .hljs-ln-line.hljs-ln-numbers {
    background: #333;
    padding: 0 .7em;
    color: #777;
}

.hljs .hljs-ln-line.hljs-ln-code {
    padding-left: .6em;
}

.hljs .hljs-ln {
    margin: 0 -1em;
}

.hljs td.hljs-ln-line[data-line-number="1"].hljs-ln-numbers,
.hljs .hljs-ln > tbody > tr:last-child td.hljs-ln-line.hljs-ln-numbers {
    position: relative;
}

.hljs .hljs-ln > tbody > tr:last-child td.hljs-ln-line.hljs-ln-numbers:after,
.hljs td.hljs-ln-line[data-line-number="1"].hljs-ln-numbers:before {
    content: '';
    position: absolute;
    top: -0.7em;
    left: 0;
    width: 100%;
    background: var(--line-numbers-gutter-bg);
    display: inline-block;
    height: 0.7em;
    right: 0;
}

.hljs .hljs-ln > tbody > tr:last-child td.hljs-ln-line.hljs-ln-numbers:after {
    top: initial;
    bottom: -0.7em;
}

/* end line number style */
