/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-funky&languages=markup+css+clike+javascript+javadoclike+markup-templating+php+php-extras */
/**
 * prism.js Funky theme
 * Based on "Polyfilling the gaps" talk slides http://lea.verou.me/polyfilling-the-gaps/
 * @author Lea Verou
 * Enhanced with JetBrains Mono font and improved link styles
 */

code[class*="language-"],
pre[class*="language-"] {
	font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 15px;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.6;
	letter-spacing: 0.02em;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	
	/* Enable font ligatures */
	font-feature-settings: "liga" 1, "calt" 1;
	-webkit-font-feature-settings: "liga" 1, "calt" 1;
	-moz-font-feature-settings: "liga" 1, "calt" 1;
}


pre[class*="language-"] {
	padding: 1.5rem;
	margin: 0;
	background-size: 1em 1em;
}

code[class*="language-"] {
	color: white;
}


:not(pre) > code[class*="language-"] {
	padding: .2em;
	border-radius: .3em;
	box-shadow: none;
	white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #aaa;
}

.token.punctuation {
	color: #999;
}

.token.namespace {
	opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol {
	color: #0cf;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin {
	color: #32CD32;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.token.variable,
.token.inserted {
	color: yellowgreen;
}

.token.atrule,
.token.attr-value,
.token.keyword {
	color: deeppink;
}

.token.function {
	color: #61dafb;
	text-shadow: 0 0 8px rgba(97, 218, 251, 0.4);
}

.token.regex,
.token.important {
	color: orange;
}

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

.token.entity {
	cursor: help;
}

.token.deleted {
	color: red;
}


pre.diff-highlight.diff-highlight > code .token.deleted:not(.prefix),
pre > code.diff-highlight.diff-highlight .token.deleted:not(.prefix) {
	background-color: rgba(255, 0, 0, .3);
	display: inline;
}

pre.diff-highlight.diff-highlight > code .token.inserted:not(.prefix),
pre > code.diff-highlight.diff-highlight .token.inserted:not(.prefix) {
	background-color: rgba(0, 255, 128, .3);
	display: inline;
}


.token a {
	color: #61de2a;
	font-size: 1.2em;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all 0.2s ease;
	padding: 0.1em 0.3em;
	margin: 0 -0.3em;
	border-radius: 3px;
}

.token a:hover {
	color: #FF5722;
	background: rgba(255, 87, 34, 0.15);
	border-bottom-color: #FF5722;
}

.token a:hover::after {
	content: ' →';
	opacity: 0.7;
}


@media only screen and (max-width: 768px) {
	code[class*="language-"],
	pre[class*="language-"] {
		font-size: 13px;
		line-height: 1.5;
	}
	
	pre[class*="language-"] {
		padding: 1rem;
	}
}

@media only screen and (max-width: 480px) {
	code[class*="language-"],
	pre[class*="language-"] {
		font-size: 12px;
		white-space: pre-wrap;
		word-break: break-word;
	}

	pre[class*="language-"] {
		padding: 0.75rem;
	}

	.token a {
		font-size: 1em;
	}
}


@keyframes blink {
	0%, 50% { opacity: 1; }
	51%, 100% { opacity: 0; }
}

.cursor {
	display: inline-block;
	width: 2px;
	height: 1.2em;
	background: #d4d4d4;
	margin-left: 2px;
	animation: blink 1s infinite;
	vertical-align: text-bottom;
}

