/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism&plugins=line-highlight+line-numbers */
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

code.default[class*="language-"],
pre.default[class*="language-"] {
	color: black;
	background: none;
	text-shadow: 0 1px white;
	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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre.default[class*="language-"]::-moz-selection, pre.default[class*="language-"] ::-moz-selection,
code.default[class*="language-"]::-moz-selection, code.default[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #b3d4fc;
}

pre.default[class*="language-"]::selection, pre.default[class*="language-"] ::selection,
code.default[class*="language-"]::selection, code.default[class*="language-"] ::selection {
	text-shadow: none;
	background: #b3d4fc;
}

@media print {
	code.default[class*="language-"],
	pre.default[class*="language-"] {
		text-shadow: none;
	}
}

/* Code blocks */
pre.default[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code.default[class*="language-"],
pre.default[class*="language-"] {
	background: #f5f2f0;
}

/* Inline code */
:not(pre) > code.default[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.default .token.comment,
.default .token.prolog,
.default .token.doctype,
.default .token.cdata {
	color: slategray;
}

.default .token.punctuation {
	color: #999;
}

.default .token.namespace {
	opacity: .7;
}

.default .token.property,
.default .token.tag,
.default .token.boolean,
.default .token.number,
.default .token.constant,
.default .token.symbol,
.default .token.deleted {
	color: #905;
}

.default .token.selector,
.default .token.attr-name,
.default .token.string,
.default .token.char,
.default .token.builtin,
.default .token.inserted {
	color: #690;
}

.default .token.operator,
.default .token.entity,
.default .token.url,
.language-css .default .token.string,
.style .default .token.string {
	color: #9a6e3a;
	/* This background color was intended by the author of this theme. */
	background: hsla(0, 0%, 100%, .5);
}

.default .token.atrule,
.default .token.attr-value,
.default .token.keyword {
	color: #07a;
}

.default .token.function,
.default .token.class-name {
	color: #DD4A68;
}

.default .token.regex,
.default .token.important,
.default .token.variable {
	color: #e90;
}

.default .token.important,
.default .token.bold {
	font-weight: bold;
}
.default .token.italic {
	font-style: italic;
}

.default .token.entity {
	cursor: help;
}

pre.default[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.default[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.default[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.default[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.default[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.default[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}

/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism-dark&plugins=line-highlight+line-numbers */
/**
 * prism.js Dark theme for JavaScript, CSS and HTML
 * Based on the slides of the talk “/Reg(exp){2}lained/”
 * @author Lea Verou
 */

code.dark[class*="language-"],
pre.dark[class*="language-"] {
	color: white;
	background: none;
	text-shadow: 0 -.1em .2em black;
	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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

@media print {
	code.dark[class*="language-"],
	pre.dark[class*="language-"] {
		text-shadow: none;
	}
}

pre.dark[class*="language-"],
:not(pre) > code.dark[class*="language-"] {
	background: hsl(30, 20%, 25%);
}

/* Code blocks */
pre.dark[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
	border: .3em solid hsl(30, 20%, 40%);
	border-radius: .5em;
	box-shadow: 1px 1px .5em black inset;
}

/* Inline code */
:not(pre) > code.dark[class*="language-"] {
	padding: .15em .2em .05em;
	border-radius: .3em;
	border: .13em solid hsl(30, 20%, 40%);
	box-shadow: 1px 1px .3em -.1em black inset;
	white-space: normal;
}

.dark .token.comment,
.dark .token.prolog,
.dark .token.doctype,
.dark .token.cdata {
	color: hsl(30, 20%, 50%);
}

.dark .token.punctuation {
	opacity: .7;
}

.dark .token.namespace {
	opacity: .7;
}

.dark .token.property,
.dark .token.tag,
.dark .token.boolean,
.dark .token.number,
.dark .token.constant,
.dark .token.symbol {
	color: hsl(350, 40%, 70%);
}

.dark .token.selector,
.dark .token.attr-name,
.dark .token.string,
.dark .token.char,
.dark .token.builtin,
.dark .token.inserted {
	color: hsl(75, 70%, 60%);
}

.dark .token.operator,
.dark .token.entity,
.dark .token.url,
.language-css .dark .token.string,
.style .dark .token.string,
.dark .token.variable {
	color: hsl(40, 90%, 60%);
}

.dark .token.atrule,
.dark .token.attr-value,
.dark .token.keyword {
	color: hsl(350, 40%, 70%);
}

.dark .token.regex,
.dark .token.important {
	color: #e90;
}

.dark .token.important,
.dark .token.bold {
	font-weight: bold;
}
.dark .token.italic {
	font-style: italic;
}

.dark .token.entity {
	cursor: help;
}

.dark .token.deleted {
	color: red;
}

pre.dark[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.dark[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.dark[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.dark[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.dark[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.dark[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}

/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism-funky&plugins=line-highlight+line-numbers */
/**
 * prism.js Funky theme
 * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/
 * @author Lea Verou
 */

code.funky[class*="language-"],
pre.funky[class*="language-"] {
	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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

/* Code blocks */
pre.funky[class*="language-"] {
	padding: .4em .8em;
	margin: .5em 0;
	overflow: auto;
	background: url('data:image/svg+xml;charset=utf-8,<svg%20version%3D"1.1"%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20width%3D"100"%20height%3D"100"%20fill%3D"rgba(0%2C0%2C0%2C.2)">%0D%0A<polygon%20points%3D"0%2C50%2050%2C0%200%2C0"%20%2F>%0D%0A<polygon%20points%3D"0%2C100%2050%2C100%20100%2C50%20100%2C0"%20%2F>%0D%0A<%2Fsvg>');
	background-size: 1em 1em;
}

code.funky[class*="language-"] {
	background: black;
	color: white;
	box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black;
}

/* Inline code */
:not(pre) > code.funky[class*="language-"] {
	padding: .2em;
	border-radius: .3em;
	box-shadow: none;
	white-space: normal;
}

.funky .token.comment,
.funky .token.prolog,
.funky .token.doctype,
.funky .token.cdata {
	color: #aaa;
}

.funky .token.punctuation {
	color: #999;
}

.funky .token.namespace {
	opacity: .7;
}

.funky .token.property,
.funky .token.tag,
.funky .token.boolean,
.funky .token.number,
.funky .token.constant,
.funky .token.symbol {
	color: #0cf;
}

.funky .token.selector,
.funky .token.attr-name,
.funky .token.string,
.funky .token.char,
.funky .token.builtin {
	color: yellow;
}

.funky .token.operator,
.funky .token.entity,
.funky .token.url,
.language-css .funky .token.string,
.funky .token.variable,
.funky .token.inserted {
	color: yellowgreen;
}

.funky .token.atrule,
.funky .token.attr-value,
.funky .token.keyword {
	color: deeppink;
}

.funky .token.regex,
.funky .token.important {
	color: orange;
}

.funky .token.important,
.funky .token.bold {
	font-weight: bold;
}
.funky .token.italic {
	font-style: italic;
}

.funky .token.entity {
	cursor: help;
}

.funky .token.deleted {
	color: red;
}

/* Plugin styles: Diff Highlight */
pre.funky.diff-highlight.diff-highlight > code .token.deleted:not(.prefix),
pre.funky > code.diff-highlight.diff-highlight .token.deleted:not(.prefix) {
	background-color: rgba(255, 0, 0, .3);
	display: inline;
}

pre.funky.diff-highlight.diff-highlight > code .token.inserted:not(.prefix),
pre.funky > code.diff-highlight.diff-highlight .token.inserted:not(.prefix) {
	background-color: rgba(0, 255, 128, .3);
	display: inline;
}

pre.funky[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.funky[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.funky[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.funky[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.funky[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.funky[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}

/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism-tomorrow&plugins=line-highlight+line-numbers */
/**
 * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/chriskempson/tomorrow-theme
 * @author Rose Pritchard
 */

code.tomorrow-night[class*="language-"],
pre.tomorrow-night[class*="language-"] {
	color: #ccc;
	background: none;
	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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre.tomorrow-night[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code.tomorrow-night[class*="language-"],
pre.tomorrow-night[class*="language-"] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) > code.tomorrow-night[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.tomorrow-night .token.comment,
.tomorrow-night .token.block-comment,
.tomorrow-night .token.prolog,
.tomorrow-night .token.doctype,
.tomorrow-night .token.cdata {
	color: #999;
}

.tomorrow-night .token.punctuation {
	color: #ccc;
}

.tomorrow-night .token.tag,
.tomorrow-night .token.attr-name,
.tomorrow-night .token.namespace,
.tomorrow-night .token.deleted {
	color: #e2777a;
}

.tomorrow-night .token.function-name {
	color: #6196cc;
}

.tomorrow-night .token.boolean,
.tomorrow-night .token.number,
.tomorrow-night .token.function {
	color: #f08d49;
}

.tomorrow-night .token.property,
.tomorrow-night .token.class-name,
.tomorrow-night .token.constant,
.tomorrow-night .token.symbol {
	color: #f8c555;
}

.tomorrow-night .token.selector,
.tomorrow-night .token.important,
.tomorrow-night .token.atrule,
.tomorrow-night .token.keyword,
.tomorrow-night .token.builtin {
	color: #cc99cd;
}

.tomorrow-night .token.string,
.tomorrow-night .token.char,
.tomorrow-night .token.attr-value,
.tomorrow-night .token.regex,
.tomorrow-night .token.variable {
	color: #7ec699;
}

.tomorrow-night .token.operator,
.tomorrow-night .token.entity,
.tomorrow-night .token.url {
	color: #67cdcc;
}

.tomorrow-night .token.important,
.tomorrow-night .token.bold {
	font-weight: bold;
}
.tomorrow-night .token.italic {
	font-style: italic;
}

.tomorrow-night .token.entity {
	cursor: help;
}

.tomorrow-night .token.inserted {
	color: green;
}

pre.tomorrow-night[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.tomorrow-night[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.tomorrow-night[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.tomorrow-night[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.tomorrow-night[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.tomorrow-night[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}

/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism-twilight&plugins=line-highlight+line-numbers */
/**
 * prism.js Twilight theme
 * Based (more or less) on the Twilight theme originally of Textmate fame.
 * @author Remy Bach
 */
code.twilight[class*="language-"],
pre.twilight[class*="language-"] {
	color: white;
	background: none;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 1em;
	text-align: left;
	text-shadow: 0 -.1em .2em black;
	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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre.twilight[class*="language-"],
:not(pre) > code.twilight[class*="language-"] {
	background: hsl(0, 0%, 8%); /* #141414 */
}

/* Code blocks */
pre.twilight[class*="language-"] {
	border-radius: .5em;
	border: .3em solid hsl(0, 0%, 33%); /* #282A2B */
	box-shadow: 1px 1px .5em black inset;
	margin: .5em 0;
	overflow: auto;
	padding: 1em;
}

pre.twilight[class*="language-"]::-moz-selection {
	/* Firefox */
	background: hsl(200, 4%, 16%); /* #282A2B */
}

pre.twilight[class*="language-"]::selection {
	/* Safari */
	background: hsl(200, 4%, 16%); /* #282A2B */
}

/* Text Selection colour */
pre.twilight[class*="language-"]::-moz-selection, pre.twilight[class*="language-"] ::-moz-selection,
code.twilight[class*="language-"]::-moz-selection, code.twilight[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */
}

pre.twilight[class*="language-"]::selection, pre.twilight[class*="language-"] ::selection,
code.twilight[class*="language-"]::selection, code.twilight[class*="language-"] ::selection {
	text-shadow: none;
	background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */
}

/* Inline code */
:not(pre) > code.twilight[class*="language-"] {
	border-radius: .3em;
	border: .13em solid hsl(0, 0%, 33%); /* #545454 */
	box-shadow: 1px 1px .3em -.1em black inset;
	padding: .15em .2em .05em;
	white-space: normal;
}

.twilight .token.comment,
.twilight .token.prolog,
.twilight .token.doctype,
.twilight .token.cdata {
	color: hsl(0, 0%, 47%); /* #777777 */
}

.twilight .token.punctuation {
	opacity: .7;
}

.twilight .token.namespace {
	opacity: .7;
}

.twilight .token.tag,
.twilight .token.boolean,
.twilight .token.number,
.twilight .token.deleted {
	color: hsl(14, 58%, 55%); /* #CF6A4C */
}

.twilight .token.keyword,
.twilight .token.property,
.twilight .token.selector,
.twilight .token.constant,
.twilight .token.symbol,
.twilight .token.builtin {
	color: hsl(53, 89%, 79%); /* #F9EE98 */
}

.twilight .token.attr-name,
.twilight .token.attr-value,
.twilight .token.string,
.twilight .token.char,
.twilight .token.operator,
.twilight .token.entity,
.twilight .token.url,
.language-css .twilight .token.string,
.style .twilight .token.string,
.twilight .token.variable,
.twilight .token.inserted {
	color: hsl(76, 21%, 52%); /* #8F9D6A */
}

.twilight .token.atrule {
	color: hsl(218, 22%, 55%); /* #7587A6 */
}

.twilight .token.regex,
.twilight .token.important {
	color: hsl(42, 75%, 65%); /* #E9C062 */
}

.twilight .token.important,
.twilight .token.bold {
	font-weight: bold;
}
.twilight .token.italic {
	font-style: italic;
}

.twilight .token.entity {
	cursor: help;
}

pre.twilight[data-line] {
	padding: 1em 0 1em 3em;
	position: relative;
}

/* Markup */
.language-markup .twilight .token.tag,
.language-markup .twilight .token.attr-name,
.language-markup .twilight .token.punctuation {
	color: hsl(33, 33%, 52%); /* #AC885B */
}

/* Make the tokens sit above the line highlight so the colours don't look faded. */
.twilight .token {
	position: relative;
	z-index: 1;
}

.line-highlight {
	background: hsla(0, 0%, 33%, 0.25); /* #545454 */
	background: linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0)); /* #545454 */
	border-bottom: 1px dashed hsl(0, 0%, 33%); /* #545454 */
	border-top: 1px dashed hsl(0, 0%, 33%); /* #545454 */
	left: 0;
	line-height: inherit;
	margin-top: 0.75em; /* Same as .prism’s padding-top */
	padding: inherit 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	white-space: pre;
	z-index: 0;
}

.line-highlight:before,
.line-highlight[data-end]:after {
	background-color: hsl(215, 15%, 59%); /* #8794A6 */
	border-radius: 999px;
	box-shadow: 0 1px white;
	color: hsl(24, 20%, 95%); /* #F5F2F0 */
	content: attr(data-start);
	font: bold 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;
}

.line-highlight[data-end]:after {
	bottom: .4em;
	content: attr(data-end);
	top: auto;
}

pre.twilight[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.twilight[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.twilight[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.twilight[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.twilight[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.twilight[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}



/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism-okaidia&plugins=line-highlight+line-numbers */
/**
 * okaidia theme for JavaScript, CSS and HTML
 * Loosely based on Monokai textmate theme by http://www.monokai.nl/
 * @author ocodia
 */

code.okaidia[class*="language-"],
pre.okaidia[class*="language-"] {
	color: #f8f8f2;
	background: none;
	text-shadow: 0 1px rgba(0, 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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

/* Code blocks */
pre.okaidia[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
	border-radius: 0.3em;
}

:not(pre) > code.okaidia[class*="language-"],
pre.okaidia[class*="language-"] {
	background: #272822;
}

/* Inline code */
:not(pre) > code.okaidia[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.okaidia .token.comment,
.okaidia .token.prolog,
.okaidia .token.doctype,
.okaidia .token.cdata {
	color: #8292a2;
}

.okaidia .token.punctuation {
	color: #f8f8f2;
}

.okaidia .token.namespace {
	opacity: .7;
}

.okaidia .token.property,
.okaidia .token.tag,
.okaidia .token.constant,
.okaidia .token.symbol,
.okaidia .token.deleted {
	color: #f92672;
}

.okaidia .token.boolean,
.okaidia .token.number {
	color: #ae81ff;
}

.okaidia .token.selector,
.okaidia .token.attr-name,
.okaidia .token.string,
.okaidia .token.char,
.okaidia .token.builtin,
.okaidia .token.inserted {
	color: #a6e22e;
}

.okaidia .token.operator,
.okaidia .token.entity,
.okaidia .token.url,
.language-css .okaidia .token.string,
.style .okaidia .token.string,
.okaidia .token.variable {
	color: #f8f8f2;
}

.okaidia .token.atrule,
.okaidia .token.attr-value,
.okaidia .token.function,
.okaidia .token.class-name {
	color: #e6db74;
}

.okaidia .token.keyword {
	color: #66d9ef;
}

.okaidia .token.regex,
.okaidia .token.important {
	color: #fd971f;
}

.okaidia .token.important,
.okaidia .token.bold {
	font-weight: bold;
}
.okaidia .token.italic {
	font-style: italic;
}

.okaidia .token.entity {
	cursor: help;
}

pre.okaidia[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.okaidia[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.okaidia[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.okaidia[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.okaidia[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.okaidia[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}

/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism-coy&plugins=line-highlight+line-numbers */
/**
 * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics);
 * @author Tim  Shedor
 */

code.coy[class*="language-"],
pre.coy[class*="language-"] {
	color: black;
	background: none;
	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;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

/* Code blocks */
pre.coy[class*="language-"] {
	position: relative;
	margin: .5em 0;
	overflow: visible;
	padding: 0;
}
pre.coy[class*="language-"]>code {
	position: relative;
	border-left: 10px solid #358ccb;
	box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf;
	background-color: #fdfdfd;
	background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
	background-size: 3em 3em;
	background-origin: content-box;
	background-attachment: local;
}

code.coy[class*="language-"] {
	max-height: inherit;
	height: inherit;
	padding: 0 1em;
	display: block;
	overflow: auto;
}

/* Margin bottom to accommodate shadow */
:not(pre) > code.coy[class*="language-"],
pre.coy[class*="language-"] {
	background-color: #fdfdfd;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 1em;
}

/* Inline code */
:not(pre) > code.coy[class*="language-"] {
	position: relative;
	padding: .2em;
	border-radius: 0.3em;
	color: #c92c2c;
	border: 1px solid rgba(0, 0, 0, 0.1);
	display: inline;
	white-space: normal;
}

pre.coy[class*="language-"]:before,
pre.coy[class*="language-"]:after {
	content: '';
	z-index: -2;
	display: block;
	position: absolute;
	bottom: 0.75em;
	left: 0.18em;
	width: 40%;
	height: 20%;
	max-height: 13em;
	box-shadow: 0px 13px 8px #979797;
	-webkit-transform: rotate(-2deg);
	-moz-transform: rotate(-2deg);
	-ms-transform: rotate(-2deg);
	-o-transform: rotate(-2deg);
	transform: rotate(-2deg);
}

pre.coy[class*="language-"]:after {
	right: 0.75em;
	left: auto;
	-webkit-transform: rotate(2deg);
	-moz-transform: rotate(2deg);
	-ms-transform: rotate(2deg);
	-o-transform: rotate(2deg);
	transform: rotate(2deg);
}

.coy .token.comment,
.coy .token.block-comment,
.coy .token.prolog,
.coy .token.doctype,
.coy .token.cdata {
	color: #7D8B99;
}

.coy .token.punctuation {
	color: #5F6364;
}

.coy .token.property,
.coy .token.tag,
.coy .token.boolean,
.coy .token.number,
.coy .token.function-name,
.coy .token.constant,
.coy .token.symbol,
.coy .token.deleted {
	color: #c92c2c;
}

.coy .token.selector,
.coy .token.attr-name,
.coy .token.string,
.coy .token.char,
.coy .token.function,
.coy .token.builtin,
.coy .token.inserted {
	color: #2f9c0a;
}

.coy .token.operator,
.coy .token.entity,
.coy .token.url,
.coy .token.variable {
	color: #a67f59;
	background: rgba(255, 255, 255, 0.5);
}

.coy .token.atrule,
.coy .token.attr-value,
.coy .token.keyword,
.coy .token.class-name {
	color: #1990b8;
}

.coy .token.regex,
.coy .token.important {
	color: #e90;
}

.language-css .coy .token.string,
.style .coy .token.string {
	color: #a67f59;
	background: rgba(255, 255, 255, 0.5);
}

.coy .token.important {
	font-weight: normal;
}

.coy .token.bold {
	font-weight: bold;
}
.coy .token.italic {
	font-style: italic;
}

.coy .token.entity {
	cursor: help;
}

.coy .token.namespace {
	opacity: .7;
}

@media screen and (max-width: 767px) {
	pre.coy[class*="language-"]:before,
	pre.coy[class*="language-"]:after {
		bottom: 14px;
		box-shadow: none;
	}

}

/* Plugin styles: Line Numbers */
pre.coy[class*="language-"].line-numbers.line-numbers {
	padding-left: 0;
}

pre.coy[class*="language-"].line-numbers.line-numbers code {
	padding-left: 3.8em;
}

pre.coy[class*="language-"].line-numbers.line-numbers .line-numbers-rows {
	left: 0;
}

/* Plugin styles: Line Highlight */
pre.coy[class*="language-"][data-line] {
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
}
pre.coy[data-line] code {
	position: relative;
	padding-left: 4em;
}
pre.coy .line-highlight {
	margin-top: 0;
}

pre.coy[data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.coy[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.coy[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.coy[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.coy[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.coy[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}

/** -----------------------------
* 
* prism-material-oceanic.css
* href: https://github.com/PrismJS/prism-themes/blob/master/themes/prism-material-oceanic.css
*
*/

code.oceanic[class*="language-"],
pre.oceanic[class*="language-"] {
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	color: #c3cee3;
	background: #263238;
	font-family: Roboto Mono, monospace;
	font-size: 1em;
	line-height: 1.5em;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

code.oceanic[class*="language-"]::-moz-selection,
pre.oceanic[class*="language-"]::-moz-selection,
code.oceanic[class*="language-"] ::-moz-selection,
pre.oceanic[class*="language-"] ::-moz-selection {
	background: #363636;
}

code.oceanic[class*="language-"]::selection,
pre.oceanic[class*="language-"]::selection,
code.oceanic[class*="language-"] ::selection,
pre.oceanic[class*="language-"] ::selection {
	background: #363636;
}

:not(pre) > code.oceanic[class*="language-"] {
	white-space: normal;
	border-radius: 0.2em;
	padding: 0.1em;
}

pre.oceanic[class*="language-"] {
	overflow: auto;
	position: relative;
	margin: 0.5em 0;
	padding: 1.25em 1em;
}

.oceanic.language-css > code,
.oceanic.language-sass > code,
.oceanic.language-scss > code {
	color: #fd9170;
}

.oceanic[class*="language-"] .namespace {
	opacity: 0.7;
}

.oceanic .token.atrule {
	color: #c792ea;
}

.oceanic .token.attr-name {
	color: #ffcb6b;
}

.oceanic .token.attr-value {
	color: #c3e88d;
}

.oceanic .token.attribute {
	color: #c3e88d;
}

.oceanic .token.boolean {
	color: #c792ea;
}

.oceanic .token.builtin {
	color: #ffcb6b;
}

.oceanic .token.cdata {
	color: #80cbc4;
}

.oceanic .token.char {
	color: #80cbc4;
}

.oceanic .token.class {
	color: #ffcb6b;
}

.oceanic .token.class-name {
	color: #f2ff00;
}

.oceanic .token.color {
	color: #f2ff00;
}

.oceanic .token.comment {
	color: #546e7a;
}

.oceanic .token.constant {
	color: #c792ea;
}

.oceanic .token.deleted {
	color: #f07178;
}

.oceanic .token.doctype {
	color: #546e7a;
}

.oceanic .token.entity {
	color: #f07178;
}

.oceanic .token.function {
	color: #c792ea;
}

.oceanic .token.hexcode {
	color: #f2ff00;
}

.oceanic .token.id {
	color: #c792ea;
	font-weight: bold;
}

.oceanic .token.important {
	color: #c792ea;
	font-weight: bold;
}

.oceanic .token.inserted {
	color: #80cbc4;
}

.oceanic .token.keyword {
	color: #c792ea;
	font-style: italic;
}

.oceanic .token.number {
	color: #fd9170;
}

.oceanic .token.operator {
	color: #89ddff;
}

.oceanic .token.prolog {
	color: #546e7a;
}

.oceanic .token.property {
	color: #80cbc4;
}

.oceanic .token.pseudo-class {
	color: #c3e88d;
}

.oceanic .token.pseudo-element {
	color: #c3e88d;
}

.oceanic .token.punctuation {
	color: #89ddff;
}

.oceanic .token.regex {
	color: #f2ff00;
}

.oceanic .token.selector {
	color: #f07178;
}

.oceanic .token.string {
	color: #c3e88d;
}

.oceanic .token.symbol {
	color: #c792ea;
}

.oceanic .token.tag {
	color: #f07178;
}

.oceanic .token.unit {
	color: #f07178;
}

.oceanic .token.url {
	color: #fd9170;
}

.oceanic .token.variable {
	color: #f07178;
}

.line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: inherit 0;
	margin-top: 1em; /* Same as .prism’s padding-top */

	background: hsla(24, 20%, 50%,.08);
	background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

	pointer-events: none;

	line-height: inherit;
	white-space: pre;
}

.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: hsla(24, 20%, 50%,.4);
	color: hsl(24, 20%, 95%);
	font: bold 65%/1.5 sans-serif;
	text-align: center;
	vertical-align: .3em;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
	content: none;
}

pre.oceanic[id].linkable-line-numbers span.line-numbers-rows {
	pointer-events: all;
}
pre.oceanic[id].linkable-line-numbers span.line-numbers-rows > span:before {
	cursor: pointer;
}
pre.oceanic[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
	background-color: rgba(128, 128, 128, .2);
}

pre.oceanic[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre.oceanic[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; /* works for line-numbers below 1000 lines */
	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: 0.8em;
	text-align: right;
}