/* PrismJS 1.16.0
https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript&plugins=line-highlight+line-numbers+file-highlight+toolbar+show-language */

/**
 * prism.js Dark theme for JavaScript, CSS and HTML
 * Based on the slides of the talk “/Reg(exp){2}lained/”
 * @author Lea Verou
 */

code[class*="language-"], pre[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[class*="language-"], pre[class*="language-"] {
		text-shadow: none;
	}
}

pre[class*="language-"], :not(pre)>code[class*="language-"] {
	background: hsl(209, 20%, 25%);
}

/* Code blocks */

pre[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[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;
}

.token.comment, .token.prolog, .token.doctype, .token.cdata {
	color: hsl(30, 20%, 50%);
}

.token.punctuation {
	opacity: .7;
}

.namespace {
	opacity: .7;
}

.token.property, .token.tag, .token.boolean, .token.number, .token.constant, .token.symbol {
	color: hsl(350, 40%, 70%);
}

.token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted {
	color: hsl(75, 70%, 60%);
}

.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string, .token.variable {
	color: hsl(40, 90%, 60%);
}

.token.atrule, .token.attr-value, .token.keyword {
	color: hsl(350, 40%, 70%);
}

.token.regex, .token.important {
	color: #e90;
}

.token.important, .token.bold {
	font-weight: bold;
}

.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.deleted {
	color: red;
}

pre[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[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;
	/* 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 {
	pointer-events: none;
	display: block;
	counter-increment: linenumber;
}

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

div.code-toolbar {
	position: relative;
}

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

div.code-toolbar:hover>.toolbar {
	opacity: 1;
}

div.code-toolbar>.toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar>.toolbar a {
	cursor: pointer;
}

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

div.code-toolbar>.toolbar a, div.code-toolbar>.toolbar button, div.code-toolbar>.toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2);
	border-radius: .5em;
}

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