/*
base00  #fdf6e3  Default Background
base01  #eee8d5  Lighter Background (Used for status bars, line number and folding marks)
base02  #93a1a1  Selection Background
base03  #839496  Comments, Invisibles, Line Highlighting
base04  #657b83  Dark Foreground (Used for status bars)
base05  #586e75  Default Foreground, Caret, Delimiters, Operators
base06  #073642  Light Foreground (Not often used)
base07  #002b36  Light Background (Not often used)
base08  #dc322f  Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09  #cb4b16  Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A  #b58900  Classes, Markup Bold, Search Text Background
base0B  #859900  Strings, Inherited Class, Markup Code, Diff Inserted
base0C  #2aa198  Support, Regular Expressions, Escape Characters, Markup Quotes
base0D  #268bd2  Functions, Methods, Attribute IDs, Headings
base0E  #6c71c4  Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F  #d33682  Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>

base00  #002b36  Default Background
base01  #073642  Lighter Background (Used for status bars, line number and folding marks)
base02  #586e75  Selection Background
base03  #657b83  Comments, Invisibles, Line Highlighting
base04  #839496  Dark Foreground (Used for status bars)
base05  #93a1a1  Default Foreground, Caret, Delimiters, Operators
base06  #eee8d5  Light Foreground (Not often used)
base07  #fdf6e3  Light Background (Not often used)
base08  #dc322f  Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09  #cb4b16  Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A  #b58900  Classes, Markup Bold, Search Text Background
base0B  #859900  Strings, Inherited Class, Markup Code, Diff Inserted
base0C  #2aa198  Support, Regular Expressions, Escape Characters, Markup Quotes
base0D  #268bd2  Functions, Methods, Attribute IDs, Headings
base0E  #6c71c4  Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F  #d33682  Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
*/

:root {
  --hljs-solarized-light-base00:  #fdf6e3;
  --hljs-solarized-light-base01:  #eee8d5;
  --hljs-solarized-light-base02:  #93a1a1;
  --hljs-solarized-light-base03:  #839496;
  --hljs-solarized-light-base04:  #657b83;
  --hljs-solarized-light-base05:  #586e75;
  --hljs-solarized-light-base06:  #073642;
  --hljs-solarized-light-base07:  #002b36;
  --hljs-solarized-light-base08:  #dc322f;
  --hljs-solarized-light-base09:  #cb4b16;
  --hljs-solarized-light-base0A:  #b58900;
  --hljs-solarized-light-base0B:  #859900;
  --hljs-solarized-light-base0C:  #2aa198;
  --hljs-solarized-light-base0D:  #268bd2;
  --hljs-solarized-light-base0E:  #6c71c4;
  --hljs-solarized-light-base0F:  #d33682;

  --hljs-solarized-dark-base00:  #002b36;
  --hljs-solarized-dark-base01:  #073642;
  --hljs-solarized-dark-base02:  #586e75;
  --hljs-solarized-dark-base03:  #657b83;
  --hljs-solarized-dark-base04:  #839496;
  --hljs-solarized-dark-base05:  #93a1a1;
  --hljs-solarized-dark-base06:  #eee8d5;
  --hljs-solarized-dark-base07:  #fdf6e3;
  --hljs-solarized-dark-base08:  var(--hljs-solarized-light-base08);
  --hljs-solarized-dark-base09:  var(--hljs-solarized-light-base09);
  --hljs-solarized-dark-base0A:  var(--hljs-solarized-light-base0A);
  --hljs-solarized-dark-base0B:  var(--hljs-solarized-light-base0B);
  --hljs-solarized-dark-base0C:  var(--hljs-solarized-light-base0C);
  --hljs-solarized-dark-base0D:  var(--hljs-solarized-light-base0D);
  --hljs-solarized-dark-base0E:  var(--hljs-solarized-light-base0E);
  --hljs-solarized-dark-base0F:  var(--hljs-solarized-light-base0F);
}

pre code.hljs {
  border: solid;
  border-width: thick;
  border-color: #cdbc84;
  padding: 3px 5px;
  text-align: left;
  overflow-x: auto;
  color: var(--hljs-solarized-light-base05);
  background: var(--hljs-solarized-light-base00);
}

.night_mode pre code.hljs {
  color: var(--hljs-solarized-dark-base05);
  background: var(--hljs-solarized-dark-base00);
  border-color: #052831;
}

.hljs::selection,
.hljs ::selection {
  background-color: var(--hljs-solarized-light-base02);
  color: var(--hljs-solarized-light-base05);
}
.night_mode .hljs::selection,
.night_mode .hljs ::selection {
  background-color: var(--hljs-solarized-dark-base02);
  color: var(--hljs-solarized-dark-base05);
}

/* purposely do not highlight these things */
.hljs-formula,
.hljs-params,
.hljs-property
{}

/* base03 - #839496 -  Comments, Invisibles, Line Highlighting */
.hljs-comment {
  color: var(--hljs-solarized-light-base03);
}

/* base04 - #657b83 -  Dark Foreground (Used for status bars) */
.hljs-tag {
  color: var(--hljs-solarized-light-base04);
}

/* base05 - #586e75 -  Default Foreground, Caret, Delimiters, Operators */
.hljs-subst,
.hljs-punctuation,
.hljs-operator {
  color: var(--hljs-solarized-light-base05);
}

.hljs-operator {
  opacity: 0.7;
}

/* base08 - Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted */
.hljs-bullet,
.hljs-variable,
.hljs-template-variable,
.hljs-selector-tag,
.hljs-name,
.hljs-deletion {
  color: var(--hljs-solarized-light-base08);
}

/* base09 - Integers, Boolean, Constants, XML Attributes, Markup Link Url */
.hljs-symbol,
.hljs-number,
.hljs-link,
.hljs-attr,
.hljs-variable.constant_,
.hljs-literal {
  color: var(--hljs-solarized-light-base09);
}

/* base0A - Classes, Markup Bold, Search Text Background */
.hljs-title,
.hljs-class .hljs-title,
.hljs-title.class_
{
  color: var(--hljs-solarized-light-base0A);
}

.hljs-strong {
  font-weight:bold;
  color: var(--hljs-solarized-light-base0A);
}

/* base0B - Strings, Inherited Class, Markup Code, Diff Inserted */
.hljs-code,
.hljs-addition,
.hljs-title.class_.inherited__,
.hljs-string {
  color: var(--hljs-solarized-light-base0B);
}

/* base0C - Support, Regular Expressions, Escape Characters, Markup Quotes */
.hljs-built_in,
.hljs-doctag, /* guessing */
.hljs-quote,
.hljs-keyword.hljs-atrule,
.hljs-regexp {
  color: var(--hljs-solarized-light-base0C);
}

/* base0D - Functions, Methods, Attribute IDs, Headings */
.hljs-function .hljs-title,
.hljs-attribute,
.ruby .hljs-property,
.hljs-title.function_,
.hljs-section {
  color: var(--hljs-solarized-light-base0D);
}

/* base0E - Keywords, Storage, Selector, Markup Italic, Diff Changed */
.hljs-type,
/* .hljs-selector-id, */
/* .hljs-selector-class, */
/* .hljs-selector-attr, */
/* .hljs-selector-pseudo, */
.hljs-template-tag,
.diff .hljs-meta,
.hljs-keyword {
  color: var(--hljs-solarized-light-base0E);
}
.hljs-emphasis {
  color: var(--hljs-solarized-light-base0E);
  font-style: italic;
}

/* base0F - Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?> */
.hljs-meta,
/*
  prevent top level .keyword and .string scopes
  from leaking into meta by accident
*/
.hljs-meta .hljs-keyword,
.hljs-meta .hljs-string
{
  color: var(--hljs-solarized-light-base0F);
}

.hljs-meta .hljs-keyword,
/* for v10 compatible themes */
.hljs-meta-keyword {
  font-weight: bold;
}


/* purposely do not highlight these things */
.night_mode .hljs-formula,
.night_mode .hljs-params,
.night_mode .hljs-property
{}

/* base03 - #657b83 -  Comments, Invisibles, Line Highlighting */
.night_mode .hljs-comment {
  color: var(--hljs-solarized-dark-base03);
}

/* base04 - #839496 -  Dark Foreground (Used for status bars) */
.night_mode .hljs-tag {
  color: var(--hljs-solarized-dark-base04);
}

/* base05 - #93a1a1 -  Default Foreground, Caret, Delimiters, Operators */
.night_mode .hljs-subst,
.night_mode .hljs-punctuation,
.night_mode .hljs-operator {
  color: var(--hljs-solarized-dark-base05);
}

.night_mode .hljs-operator {
  opacity: 0.7;
}

/* base08 - Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted */
.night_mode .hljs-bullet,
.night_mode .hljs-variable,
.night_mode .hljs-template-variable,
.night_mode .hljs-selector-tag,
.night_mode .hljs-name,
.night_mode .hljs-deletion {
  color: var(--hljs-solarized-dark-base08);
}

/* base09 - Integers, Boolean, Constants, XML Attributes, Markup Link Url */
.night_mode .hljs-symbol,
.night_mode .hljs-number,
.night_mode .hljs-link,
.night_mode .hljs-attr,
.night_mode .hljs-variable.constant_,
.night_mode .hljs-literal {
  color: var(--hljs-solarized-dark-base09);
}

/* base0A - Classes, Markup Bold, Search Text Background */
.night_mode .hljs-title,
.night_mode .hljs-class .hljs-title,
.night_mode .hljs-title.class_
{
  color: var(--hljs-solarized-dark-base0A);
}

.night_mode .hljs-strong {
  font-weight:bold;
  color: var(--hljs-solarized-dark-base0A);
}

/* base0B - Strings, Inherited Class, Markup Code, Diff Inserted */
.night_mode .hljs-code,
.night_mode .hljs-addition,
.night_mode .hljs-title.class_.inherited__,
.night_mode .hljs-string {
  color: var(--hljs-solarized-dark-base0B);
}

/* base0C - Support, Regular Expressions, Escape Characters, Markup Quotes */
.night_mode .hljs-built_in,
.night_mode .hljs-doctag, /* guessing */
.night_mode .hljs-quote,
.night_mode .hljs-keyword.hljs-atrule,
.night_mode .hljs-regexp {
  color: var(--hljs-solarized-dark-base0C);
}

/* base0D - Functions, Methods, Attribute IDs, Headings */
.night_mode .hljs-function .hljs-title,
.night_mode .hljs-attribute,
.night_mode .ruby .hljs-property,
.night_mode .hljs-title.function_,
.night_mode .hljs-section {
  color: var(--hljs-solarized-dark-base0D);
}

/* base0E - Keywords, Storage, Selector, Markup Italic, Diff Changed */
.night_mode .hljs-type,
/* .hljs-selector-id, */
/* .hljs-selector-class, */
/* .hljs-selector-attr, */
/* .hljs-selector-pseudo, */
.night_mode .hljs-template-tag,
.night_mode .diff .hljs-meta,
.night_mode .hljs-keyword {
  color: var(--hljs-solarized-dark-base0E);
}
.night_mode .hljs-emphasis {
  color: var(--hljs-solarized-dark-base0E);
  font-style: italic;
}

/* base0F - Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?> */
.night_mode .hljs-meta,
/*
prevent top level .keyword and .string scopes
from leaking into meta by accident
 */
.night_mode .hljs-meta .hljs-keyword,
.night_mode .hljs-meta .hljs-string
{
  color: var(--hljs-solarized-dark-base0F);
}

.night_mode .hljs-meta .hljs-keyword,
/* for v10 compatible themes */
.night_mode .hljs-meta-keyword {
  font-weight: bold;
}
