$lui-codeblock-background: $grey-200 !default;
$lui-codeblock-color: $grey-800 !default;
$lui-codeblock-emphasis-color: $orange-200 !default;
$lui-codeblock-keyword-color: $blue-100 !default;
$lui-codeblock-tag-color: $green-200 !default;
$lui-codeblock-comment-color: $grey-300 !default;
$lui-codeblock-important-color: $red-300 !default;
$lui-codeblock-function-color: $light-blue-500 !default;
$lui-codeblock-variable-color: $teal-100 !default;
$lui-codeblock-string-color: $yellow-700 !default;

pre, code {
  font-family: $lui-monospace-font-family;
}

.hljs {
  display: block;
  padding: 0.5em;
  background: $lui-codeblock-background;
}

.hljs,
.hljs-tag,
.css .hljs-rules,
.css .hljs-value,
.css .hljs-function
.hljs-preprocessor,
.hljs-pragma {
  color: $lui-codeblock-color;
}

.hljs-strongemphasis,
.hljs-strong,
.hljs-emphasis {
  color: $lui-codeblock-emphasis-color;
}

.hljs-bullet,
.hljs-blockquote,
.hljs-horizontal_rule,
.hljs-number,
.hljs-regexp,
.alias .hljs-keyword,
.hljs-literal,
.hljs-hexcolor {
  color: $lui-codeblock-keyword-color;
}

.hljs-tag .hljs-value,
.hljs-code,
.hljs-title,
.css .hljs-class,
.hljs-class .hljs-title:last-child {
  color: $lui-codeblock-tag-color;
}

.hljs-link_url {
  font-size: 80%;
}

.hljs-strong,
.hljs-strongemphasis {
  font-weight: normal;
}

.hljs-emphasis,
.hljs-strongemphasis,
.hljs-class .hljs-title:last-child {
  font-style: italic;
}

.hljs-keyword,
.hljs-function,
.hljs-change,
.hljs-winutils,
.hljs-flow,
.lisp .hljs-title,
.clojure .hljs-built_in,
.nginx .hljs-title,
.tex .hljs-special,
.hljs-header,
.hljs-attribute,
.hljs-symbol,
.hljs-symbol .hljs-string,
.hljs-tag .hljs-title,
.hljs-value,
.alias .hljs-keyword:first-child,
.css .hljs-tag,
.css .unit,
.css .hljs-important {
  color: $lui-codeblock-important-color;
}

.hljs-function .hljs-keyword,
.hljs-class .hljs-keyword:first-child,
.hljs-constant,
.css .hljs-attribute {
  color: $lui-codeblock-function-color;
}

.hljs-variable,
.hljs-params,
.hljs-class .hljs-title {
  color: $lui-codeblock-variable-color;
}

.hljs-string,
.css .hljs-id,
.hljs-subst,
.haskell .hljs-type,
.ruby .hljs-class .hljs-parent,
.hljs-built_in,
.sql .hljs-aggregate,
.django .hljs-template_tag,
.django .hljs-variable,
.smalltalk .hljs-class,
.django .hljs-filter .hljs-argument,
.smalltalk .hljs-localvars,
.smalltalk .hljs-array,
.hljs-attr_selector,
.hljs-pseudo,
.hljs-addition,
.hljs-stream,
.hljs-envvar,
.apache .hljs-tag,
.apache .hljs-cbracket,
.tex .hljs-command,
.hljs-prompt,
.hljs-link_label,
.hljs-link_url {
  color: $lui-codeblock-string-color;
}

.hljs-comment,
.hljs-javadoc,
.java .hljs-annotation,
.python .hljs-decorator,
.hljs-template_comment,
.hljs-pi,
.hljs-doctype,
.hljs-deletion,
.hljs-shebang,
.apache .hljs-sqbracket,
.tex .hljs-formula {
  color: $lui-codeblock-comment-color;
}

.coffeescript .javascript,
.javascript .xml,
.tex .hljs-formula,
.xml .javascript,
.xml .vbscript,
.xml .css,
.xml .hljs-cdata,
.xml .php,
.php .xml {
  opacity: 0.5;
}
