.prismjs-dark code[class*=language-],
.prismjs-dark pre[class*=language-] {
    color: #fff;
    background: 0 0;
    text-shadow: 0 -.1em .2em #000;
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.prismjs-dark pre[class*=language-] {
    background: #4c3f33;
    padding: 1em;
    margin: 0;
    overflow: auto;
    border: .3em solid #7a6651;
    border-radius: .5em;
    -webkit-box-shadow: 1px 1px .5em #000 inset;
    box-shadow: inset 1px 1px .5em #000
}

.prismjs-dark :not(pre)>code[class*=language-] {
    padding: .15em .2em .05em;
    border-radius: .3em;
    border: .13em solid #7a6651;
    -webkit-box-shadow: 1px 1px .3em -.1em #000 inset;
    box-shadow: inset 1px 1px .3em -.1em #000;
    white-space: normal
}

.prismjs-dark .token.cdata,
.prismjs-dark .token.doctype,
.prismjs-dark .token.prolog,
.token.comment {
    color: #997f66
}

.prismjs-dark .token.namespace,
.prismjs-dark .token.punctuation {
    opacity: .7
}

.prismjs-dark .token.boolean,
.prismjs-dark .token.constant,
.prismjs-dark .token.number,
.prismjs-dark .token.property,
.prismjs-dark .token.symbol,
.prismjs-dark .token.tag {
    color: #d1939e
}

.prismjs-dark .token.attr-name,
.prismjs-dark .token.builtin,
.prismjs-dark .token.char,
.prismjs-dark .token.inserted,
.prismjs-dark .token.selector,
.prismjs-dark .token.string {
    color: #bce051
}

.prismjs-dark .language-css .token.string,
.prismjs-dark .style .token.string,
.prismjs-dark .token.entity,
.prismjs-dark .token.operator,
.prismjs-dark .token.url,
.token.variable {
    color: #f4b73d
}

.prismjs-dark .token.atrule,
.prismjs-dark .token.attr-value,
.prismjs-dark .token.keyword {
    color: #d1939e
}

.prismjs-dark .token.important,
.prismjs-dark .token.regex {
    color: #e90
}

.prismjs-dark .token.bold,
.prismjs-dark .token.important {
    font-weight: 700
}

.prismjs-dark .token.italic {
    font-style: italic
}

.prismjs-dark .token.entity {
    cursor: help
}

.prismjs-dark .token.deleted {
    color: red
}

.prismjs-default code[class*=language-],
.prismjs-default pre[class*=language-] {
    color: #000;
    background: 0 0;
    text-shadow: 0 1px #fff;
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.prismjs-default code[class*=language-]::-moz-selection,
.prismjs-default code[class*=language-] ::-moz-selection,
.prismjs-default pre[class*=language-]::-moz-selection,
.prismjs-default pre[class*=language-] ::-moz-selection {
    text-shadow: none;
    background: #b3d4fc
}

.prismjs-default code[class*=language-]::selection,
.prismjs-default code[class*=language-] ::selection,
.prismjs-default pre[class*=language-]::selection,
.prismjs-default pre[class*=language-] ::selection {
    text-shadow: none;
    background: #b3d4fc
}

@media print {
    .prismjs-default code[class*=language-],
    .prismjs-default pre[class*=language-] {
        text-shadow: none
    }
}

.prismjs-default pre[class*=language-] {
    padding: 1em;
    margin: 0;
    overflow: auto
}

.prismjs-default :not(pre)>code[class*=language-],
.prismjs-default pre[class*=language-] {
    background: #f5f2f0
}

.prismjs-default :not(pre)>code[class*=language-] {
    padding: .1em;
    border-radius: .3em;
    white-space: normal
}

.prismjs-default .token.cdata,
.prismjs-default .token.comment,
.prismjs-default .token.doctype,
.prismjs-default .token.prolog {
    color: #708090
}

.prismjs-default .token.punctuation {
    color: #999
}

.prismjs-default .token.namespace {
    opacity: .7
}

.prismjs-default .token.boolean,
.prismjs-default .token.constant,
.prismjs-default .token.deleted,
.prismjs-default .token.number,
.prismjs-default .token.property,
.prismjs-default .token.symbol,
.prismjs-default .token.tag {
    color: #905
}

.prismjs-default .token.attr-name,
.prismjs-default .token.builtin,
.prismjs-default .token.char,
.prismjs-default .token.inserted,
.prismjs-default .token.selector,
.prismjs-default .token.string {
    color: #690
}

.prismjs-default .language-css .token.string,
.prismjs-default .style .token.string,
.prismjs-default .token.entity,
.prismjs-default .token.operator,
.prismjs-default .token.url {
    color: #9a6e3a;
    background: hsla(0, 0%, 100%, .5)
}

.prismjs-default .token.atrule,
.prismjs-default .token.attr-value,
.prismjs-default .token.keyword {
    color: #07a
}

.prismjs-default .token.class-name,
.prismjs-default .token.function {
    color: #dd4a68
}

.prismjs-default .token.important,
.prismjs-default .token.regex,
.prismjs-default .token.variable {
    color: #e90
}

.prismjs-default .token.bold,
.prismjs-default .token.important {
    font-weight: 700
}

.prismjs-default .token.italic {
    font-style: italic
}

.prismjs-default .token.entity {
    cursor: help
}

.prismjs-okaidia code[class*=language-],
.prismjs-okaidia pre[class*=language-] {
    color: #f8f8f2;
    background: 0 0;
    text-shadow: 0 1px rgba(0, 0, 0, .3);
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.prismjs-okaidia pre[class*=language-] {
    padding: 1em;
    margin: 0;
    overflow: auto;
    border-radius: .3em
}

.prismjs-okaidia :not(pre)>code[class*=language-],
.prismjs-okaidia pre[class*=language-] {
    background: #272822
}

.prismjs-okaidia :not(pre)>code[class*=language-] {
    padding: .1em;
    border-radius: .3em;
    white-space: normal
}

.prismjs-okaidia .token.cdata,
.prismjs-okaidia .token.comment,
.prismjs-okaidia .token.doctype,
.prismjs-okaidia .token.prolog {
    color: #8292a2
}

.prismjs-okaidia .token.punctuation {
    color: #f8f8f2
}

.prismjs-okaidia .token.namespace {
    opacity: .7
}

.prismjs-okaidia .token.constant,
.prismjs-okaidia .token.deleted,
.prismjs-okaidia .token.property,
.prismjs-okaidia .token.symbol,
.prismjs-okaidia .token.tag {
    color: #f92672
}

.prismjs-okaidia .token.boolean,
.prismjs-okaidia .token.number {
    color: #ae81ff
}

.prismjs-okaidia .token.attr-name,
.prismjs-okaidia .token.builtin,
.prismjs-okaidia .token.char,
.prismjs-okaidia .token.inserted,
.prismjs-okaidia .token.selector,
.prismjs-okaidia .token.string {
    color: #a6e22e
}

.prismjs-okaidia .language-css .token.string,
.prismjs-okaidia .style .token.string,
.prismjs-okaidia .token.entity,
.prismjs-okaidia .token.operator,
.prismjs-okaidia .token.url,
.prismjs-okaidia .token.variable {
    color: #f8f8f2
}

.prismjs-okaidia .token.atrule,
.prismjs-okaidia .token.attr-value,
.prismjs-okaidia .token.class-name,
.prismjs-okaidia .token.function {
    color: #e6db74
}

.prismjs-okaidia .token.keyword {
    color: #66d9ef
}

.prismjs-okaidia .token.important,
.prismjs-okaidia .token.regex {
    color: #fd971f
}

.prismjs-okaidia .token.bold,
.prismjs-okaidia .token.important {
    font-weight: 700
}

.prismjs-okaidia .token.italic {
    font-style: italic
}

.prismjs-okaidia .token.entity {
    cursor: help
}

.prismjs-solarizedlight code[class*=language-],
.prismjs-solarizedlight pre[class*=language-] {
    color: #657b83;
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.prismjs-solarizedlight code[class*=language-]::-moz-selection,
.prismjs-solarizedlight code[class*=language-] ::-moz-selection,
.prismjs-solarizedlight pre[class*=language-]::-moz-selection,
.prismjs-solarizedlight pre[class*=language-] ::-moz-selection {
    background: #073642
}

.prismjs-solarizedlight code[class*=language-]::selection,
.prismjs-solarizedlight code[class*=language-] ::selection,
.prismjs-solarizedlight pre[class*=language-]::selection,
.prismjs-solarizedlight pre[class*=language-] ::selection {
    background: #073642
}

.prismjs-solarizedlight pre[class*=language-] {
    padding: 1em;
    margin: 0;
    overflow: auto;
    border-radius: .3em
}

.prismjs-solarizedlight :not(pre)>code[class*=language-],
.prismjs-solarizedlight pre[class*=language-] {
    background-color: #fdf6e3
}

.prismjs-solarizedlight :not(pre)>code[class*=language-] {
    padding: .1em;
    border-radius: .3em
}

.prismjs-solarizedlight .token.cdata,
.prismjs-solarizedlight .token.comment,
.prismjs-solarizedlight .token.doctype,
.prismjs-solarizedlight .token.prolog {
    color: #93a1a1
}

.prismjs-solarizedlight .token.punctuation {
    color: #586e75
}

.prismjs-solarizedlight .token.namespace {
    opacity: .7
}

.prismjs-solarizedlight .token.boolean,
.prismjs-solarizedlight .token.constant,
.prismjs-solarizedlight .token.deleted,
.prismjs-solarizedlight .token.number,
.prismjs-solarizedlight .token.property,
.prismjs-solarizedlight .token.symbol,
.token.tag {
    color: #268bd2
}

.prismjs-solarizedlight .token.attr-name,
.prismjs-solarizedlight .token.builtin,
.prismjs-solarizedlight .token.char,
.prismjs-solarizedlight .token.inserted,
.prismjs-solarizedlight .token.selector,
.prismjs-solarizedlight .token.string,
.prismjs-solarizedlight .token.url {
    color: #2aa198
}

.prismjs-solarizedlight .token.entity {
    color: #657b83;
    background: #eee8d5
}

.prismjs-solarizedlight .token.atrule,
.prismjs-solarizedlight .token.attr-value,
.prismjs-solarizedlight .token.keyword {
    color: #859900
}

.prismjs-solarizedlight .token.class-name,
.prismjs-solarizedlight .token.function {
    color: #b58900
}

.prismjs-solarizedlight .token.important,
.prismjs-solarizedlight .token.regex,
.prismjs-solarizedlight .token.variable {
    color: #cb4b16
}

.prismjs-solarizedlight .token.bold,
.prismjs-solarizedlight .token.important {
    font-weight: 700
}

.prismjs-solarizedlight .token.italic {
    font-style: italic
}

.prismjs-solarizedlight .token.entity {
    cursor: help
}

.prismjs-tomorrow code[class*=language-],
.prismjs-tomorrow pre[class*=language-] {
    color: #ccc;
    background: 0 0;
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.prismjs-tomorrow pre[class*=language-] {
    padding: 1em;
    margin: 0;
    overflow: auto
}

.prismjs-tomorrow :not(pre)>code[class*=language-],
.prismjs-tomorrow pre[class*=language-] {
    background: #2d2d2d
}

.prismjs-tomorrow :not(pre)>code[class*=language-] {
    padding: .1em;
    border-radius: .3em;
    white-space: normal
}

.prismjs-tomorrow .token.block-comment,
.prismjs-tomorrow .token.cdata,
.prismjs-tomorrow .token.comment,
.prismjs-tomorrow .token.doctype,
.prismjs-tomorrow .token.prolog {
    color: #999
}

.prismjs-tomorrow .token.punctuation {
    color: #ccc
}

.prismjs-tomorrow .token.attr-name,
.prismjs-tomorrow .token.deleted,
.prismjs-tomorrow .token.namespace,
.prismjs-tomorrow .token.tag {
    color: #e2777a
}

.prismjs-tomorrow .token.function-name {
    color: #6196cc
}

.prismjs-tomorrow .token.boolean,
.prismjs-tomorrow .token.function,
.prismjs-tomorrow .token.number {
    color: #f08d49
}

.prismjs-tomorrow .token.class-name,
.prismjs-tomorrow .token.constant,
.prismjs-tomorrow .token.property,
.prismjs-tomorrow .token.symbol {
    color: #f8c555
}

.prismjs-tomorrow .token.atrule,
.prismjs-tomorrow .token.builtin,
.prismjs-tomorrow .token.important,
.prismjs-tomorrow .token.keyword,
.prismjs-tomorrow .token.selector {
    color: #cc99cd
}

.prismjs-tomorrow .token.attr-value,
.prismjs-tomorrow .token.char,
.prismjs-tomorrow .token.regex,
.prismjs-tomorrow .token.string,
.prismjs-tomorrow .token.variable {
    color: #7ec699
}

.prismjs-tomorrow .token.entity,
.prismjs-tomorrow .token.operator,
.prismjs-tomorrow .token.url {
    color: #67cdcc
}

.prismjs-tomorrow .token.bold,
.prismjs-tomorrow .token.important {
    font-weight: 700
}

.prismjs-tomorrow .token.italic {
    font-style: italic
}

.prismjs-tomorrow .token.entity {
    cursor: help
}

.prismjs-tomorrow .token.inserted {
    color: green
}

.prismjs-twilight code[class*=language-],
.prismjs-twilight pre[class*=language-] {
    color: #fff;
    background: 0 0;
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 1em;
    text-align: left;
    text-shadow: 0 -.1em .2em #000;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.prismjs-twilight :not(pre)>code[class*=language-],
.prismjs-twilight pre[class*=language-] {
    background: #141414
}

.prismjs-twilight pre[class*=language-] {
    border-radius: .5em;
    border: .3em solid #545454;
    -webkit-box-shadow: 1px 1px .5em #000 inset;
    box-shadow: inset 1px 1px .5em #000;
    margin: 0;
    overflow: auto;
    padding: 1em
}

.prismjs-twilight pre[class*=language-]::-moz-selection {
    background: #27292a
}

.prismjs-twilight pre[class*=language-]::selection {
    background: #27292a
}

.prismjs-twilight code[class*=language-]::-moz-selection,
.prismjs-twilight code[class*=language-] ::-moz-selection,
.prismjs-twilight pre[class*=language-]::-moz-selection,
.prismjs-twilight pre[class*=language-] ::-moz-selection {
    text-shadow: none;
    background: hsla(0, 0%, 92.9%, .15)
}

.prismjs-twilight code[class*=language-]::selection,
.prismjs-twilight code[class*=language-] ::selection,
.prismjs-twilight pre[class*=language-]::selection,
.prismjs-twilight pre[class*=language-] ::selection {
    text-shadow: none;
    background: hsla(0, 0%, 92.9%, .15)
}

.prismjs-twilight :not(pre)>code[class*=language-] {
    border-radius: .3em;
    border: .13em solid #545454;
    -webkit-box-shadow: 1px 1px .3em -.1em #000 inset;
    box-shadow: inset 1px 1px .3em -.1em #000;
    padding: .15em .2em .05em;
    white-space: normal
}

.prismjs-twilight .token.cdata,
.prismjs-twilight .token.comment,
.prismjs-twilight .token.doctype,
.prismjs-twilight .token.prolog {
    color: #777
}

.prismjs-twilight .token.namespace,
.prismjs-twilight .token.punctuation {
    opacity: .7
}

.prismjs-twilight .token.boolean,
.prismjs-twilight .token.deleted,
.prismjs-twilight .token.number,
.prismjs-twilight .token.tag {
    color: #ce6849
}

.prismjs-twilight .token.builtin,
.prismjs-twilight .token.constant,
.prismjs-twilight .token.keyword,
.prismjs-twilight .token.property,
.prismjs-twilight .token.selector,
.prismjs-twilight .token.symbol {
    color: #f9ed99
}

.prismjs-twilight .language-css .token.string,
.prismjs-twilight .style .token.string,
.prismjs-twilight .token.attr-name,
.prismjs-twilight .token.attr-value,
.prismjs-twilight .token.char,
.prismjs-twilight .token.entity,
.prismjs-twilight .token.inserted,
.prismjs-twilight .token.operator,
.prismjs-twilight .token.string,
.prismjs-twilight .token.url,
.prismjs-twilight .token.variable {
    color: #909e6a
}

.prismjs-twilight .token.atrule {
    color: #7385a5
}

.prismjs-twilight .token.important,
.prismjs-twilight .token.regex {
    color: #e8c062
}

.prismjs-twilight .token.bold,
.prismjs-twilight .token.important {
    font-weight: 700
}

.prismjs-twilight .token.italic {
    font-style: italic
}

.prismjs-twilight .token.entity {
    cursor: help
}

.prismjs-twilight pre[data-line] {
    padding: 1em;
    position: relative
}

.prismjs-twilight .language-markup .token.attr-name,
.prismjs-twilight .language-markup .token.punctuation,
.prismjs-twilight .language-markup .token.tag {
    color: #ac885c
}

.prismjs-twilight .token {
    position: relative;
    z-index: 1
}

.prismjs-twilight .line-highlight {
    background: rgba(84, 84, 84, .25);
    background: -webkit-gradient(linear, left top, right top, color-stop(70%, rgba(84, 84, 84, .1)), to(rgba(84, 84, 84, 0)));
    background: -webkit-linear-gradient(left, rgba(84, 84, 84, .1) 70%, rgba(84, 84, 84, 0));
    background: -o-linear-gradient(left, rgba(84, 84, 84, .1) 70%, rgba(84, 84, 84, 0));
    background: linear-gradient(90deg, rgba(84, 84, 84, .1) 70%, rgba(84, 84, 84, 0));
    border-bottom: 1px dashed #545454;
    border-top: 1px dashed #545454;
    left: 0;
    line-height: inherit;
    margin-top: .75em;
    padding: inherit 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    white-space: pre;
    z-index: 0
}

.prismjs-twilight .line-highlight:before,
.prismjs-twilight .line-highlight[data-end]:after {
    background-color: #8693a6;
    border-radius: 999px;
    -webkit-box-shadow: 0 1px #fff;
    box-shadow: 0 1px #fff;
    color: #f4f1ef;
    content: attr(data-start);
    font: 700 65%/1.5 sans-serif;
    left: .6em;
    min-width: 1em;
    padding: 0 .5em;
    position: absolute;
    text-align: center;
    text-shadow: none;
    top: .4em;
    vertical-align: .3em
}

.prismjs-twilight .line-highlight[data-end]:after {
    bottom: .4em;
    content: attr(data-end);
    top: auto
}

.copy-to-clipboard div.code-toolbar {
    position: relative
}

.copy-to-clipboard div.code-toolbar>.toolbar {
    position: absolute;
    top: .3em;
    right: .2em;
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
    opacity: 0
}

.copy-to-clipboard div.code-toolbar:hover>.toolbar {
    opacity: 1
}

.copy-to-clipboard div.code-toolbar:focus-within>.toolbar {
    opacity: 1
}

.copy-to-clipboard div.code-toolbar>.toolbar .toolbar-item {
    display: inline-block
}

.copy-to-clipboard div.code-toolbar>.toolbar a {
    cursor: pointer
}

.copy-to-clipboard div.code-toolbar>.toolbar button {
    background: 0 0;
    border: 0;
    color: inherit;
    font: inherit;
    line-height: normal;
    overflow: visible;
    padding: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
}

.copy-to-clipboard div.code-toolbar>.toolbar a,
.copy-to-clipboard div.code-toolbar>.toolbar button,
.copy-to-clipboard div.code-toolbar>.toolbar span {
    color: #bbb;
    font-size: .8em;
    padding: 0 .5em;
    background: #f5f2f0;
    background: hsla(0, 0%, 87.8%, .2);
    -webkit-box-shadow: 0 2px 0 0 rgba(0, 0, 0, .2);
    box-shadow: 0 2px 0 0 rgba(0, 0, 0, .2);
    border-radius: .5em
}

.copy-to-clipboard div.code-toolbar>.toolbar a:focus,
div.code-toolbar>.toolbar a:hover,
div.code-toolbar>.toolbar button:focus,
div.code-toolbar>.toolbar button:hover,
div.code-toolbar>.toolbar span:focus,
div.code-toolbar>.toolbar span:hover {
    color: inherit;
    text-decoration: none
}

:not(.copy-to-clipboard)>div.code-toolbar>.toolbar {
    display: none
}

.word-wrap code[class*=language-],
.word-wrap pre[class*=language-] {
    white-space: pre-wrap !important
}

.elementor-widget-code-highlight pre {
    direction: ltr
}

.prismjs-twilight pre:not([data-line=""]):not(.line-numbers) {
    padding: .8em 0 1em 2em
}

.prismjs-dark pre:not([data-line=""]):not(.line-numbers),
.prismjs-default pre:not([data-line=""]):not(.line-numbers),
.prismjs-okaidia pre:not([data-line=""]):not(.line-numbers),
.prismjs-solarizedlight pre:not([data-line=""]):not(.line-numbers),
.prismjs-tomorrow pre:not([data-line=""]):not(.line-numbers) {
    padding: 1em 0 1em 2em
}

pre[data-line] {
    position: relative;
    padding: 1em 0 1em 3em
}

.line-highlight {
    position: absolute;
    left: 0;
    right: 0;
    padding: inherit 0;
    margin-top: 1em;
    background: rgba(153, 122, 102, .08);
    background: -webkit-gradient(linear, left top, right top, color-stop(70%, rgba(153, 122, 102, .1)), to(rgba(153, 122, 102, 0)));
    background: -webkit-linear-gradient(left, rgba(153, 122, 102, .1) 70%, rgba(153, 122, 102, 0));
    background: -o-linear-gradient(left, rgba(153, 122, 102, .1) 70%, rgba(153, 122, 102, 0));
    background: linear-gradient(90deg, rgba(153, 122, 102, .1) 70%, rgba(153, 122, 102, 0));
    pointer-events: none;
    line-height: inherit;
    white-space: pre
}

@media print {
    .line-highlight {
        -webkit-print-color-adjust: exact;
        color-adjust: exact
    }
}

.line-highlight:before,
.line-highlight[data-end]:after {
    content: attr(data-start);
    position: absolute;
    top: .4em;
    left: .6em;
    min-width: 1em;
    padding: 0 .5em;
    background-color: rgba(153, 122, 102, .4);
    color: #f4f1ef;
    font: 700 65%/1.5 sans-serif;
    text-align: center;
    vertical-align: .3em;
    border-radius: 999px;
    text-shadow: none;
    -webkit-box-shadow: 0 1px #fff;
    box-shadow: 0 1px #fff
}

.line-highlight[data-end]:after {
    content: attr(data-end);
    top: auto;
    bottom: .4em
}

.line-numbers .line-highlight:after,
.line-numbers .line-highlight:before {
    content: none
}

pre[id].linkable-line-numbers span.line-numbers-rows {
    pointer-events: all
}

pre[id].linkable-line-numbers span.line-numbers-rows>span:before {
    cursor: pointer
}

pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before {
    background-color: hsla(0, 0%, 50.2%, .2)
}

pre[class*=language-].line-numbers {
    position: relative;
    padding-left: 3.8em;
    counter-reset: linenumber
}

pre[class*=language-].line-numbers>code {
    position: relative;
    white-space: inherit
}

.line-numbers .line-numbers-rows {
    position: absolute;
    pointer-events: none;
    top: 0;
    font-size: 100%;
    left: -3.8em;
    width: 3em;
    letter-spacing: -1px;
    border-right: 1px solid #999;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.line-numbers-rows>span {
    display: block;
    counter-increment: linenumber
}

.line-numbers-rows>span:before {
    content: counter(linenumber);
    color: #999;
    display: block;
    padding-right: .8em;
    text-align: right
}