body .book {
  .book-body {
    // prism.js default theme
    /* PrismJS 1.21.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apl+applescript+aql+arduino+arff+asciidoc+aspnet+asm6502+autohotkey+autoit+bash+basic+batch+bbcode+bison+bnf+brainfuck+brightscript+bro+c+csharp+cpp+cil+clojure+cmake+coffeescript+concurnas+csp+crystal+css-extras+cypher+d+dart+dax+dhall+diff+django+dns-zone-file+docker+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+firestore-security-rules+flow+fortran+ftl+gml+gcode+gdscript+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+http+hpkp+hsts+ichigojam+icon+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keyman+kotlin+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+lolcode+lua+makefile+markdown+markup-templating+matlab+mel+mizar+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+pascaligo+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plsql+powerquery+powershell+processing+prolog+properties+protobuf+pug+puppet+pure+purebasic+python+q+qml+qore+r+racket+jsx+tsx+reason+regex+renpy+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+stan+iecst+stylus+swift+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+turtle+twig+typescript+typoscript+unrealscript+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+wiki+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=line-numbers+show-language+highlight-keywords+normalize-whitespace+toolbar+copy-to-clipboard+match-braces */
    /**
     * prism.js default theme for JavaScript, CSS and HTML
     * Based on dabblet (http://dabblet.com)
     * @author Lea Verou
     */

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

    pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
    code[class*="language-"]::selection, code[class*="language-"] ::selection {
      text-shadow: none;
      background: #b3d4fc;
    }

    @media print {
      code[class*="language-"],
      pre[class*="language-"] {
        text-shadow: none;
      }
    }

    /* Code blocks */

    pre[class*="language-"] {
      padding: 1em;
      margin: .5em 0;
      overflow: auto;
    }

    :not(pre) > code[class*="language-"],
    pre[class*="language-"] {
      background: #f5f2f0;
    }

    /* Inline code */

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

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

    .token.punctuation {
      color: #999;
    }

    .token.namespace {
      opacity: .7;
    }

    .token.property,
    .token.tag,
    .token.boolean,
    .token.number,
    .token.constant,
    .token.symbol,
    .token.deleted {
      color: #905;
    }

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

    .token.operator,
    .token.entity,
    .token.url,
    .language-css .token.string,
    .style .token.string {
      color: #9a6e3a;
      /* This background color was intended by the author of this theme. */
      //background: hsla(0, 0%, 100%, .5);
    }

    .token.atrule,
    .token.attr-value,
    .token.keyword {
      color: #07a;
    }

    .token.function,
    .token.class-name {
      color: #DD4A68;
    }

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

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

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

    .token.entity {
      cursor: help;
    }

    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 {
      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;
    }

    /* Separate line b/c rules are thrown out if selector is invalid.
       IE11 and old Edge versions don't support :focus-within. */

    div.code-toolbar:focus-within > .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;
    }

    .token.punctuation.brace-hover,
    .token.punctuation.brace-selected {
      outline: solid 1px;
    }

    .rainbow-braces .token.punctuation.brace-level-1,
    .rainbow-braces .token.punctuation.brace-level-5,
    .rainbow-braces .token.punctuation.brace-level-9 {
      color: #E50;
      opacity: 1;
    }

    .rainbow-braces .token.punctuation.brace-level-2,
    .rainbow-braces .token.punctuation.brace-level-6,
    .rainbow-braces .token.punctuation.brace-level-10 {
      color: #0B3;
      opacity: 1;
    }

    .rainbow-braces .token.punctuation.brace-level-3,
    .rainbow-braces .token.punctuation.brace-level-7,
    .rainbow-braces .token.punctuation.brace-level-11 {
      color: #26F;
      opacity: 1;
    }

    .rainbow-braces .token.punctuation.brace-level-4,
    .rainbow-braces .token.punctuation.brace-level-8,
    .rainbow-braces .token.punctuation.brace-level-12 {
      color: #E0E;
      opacity: 1;
    }
  }

  &.color-theme-1 {
    .book-body {
      //Solarized Color Schemes

      /* PrismJS 1.21.0
https://prismjs.com/download.html#themes=prism-solarizedlight&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apl+applescript+aql+arduino+arff+asciidoc+aspnet+asm6502+autohotkey+autoit+bash+basic+batch+bbcode+bison+bnf+brainfuck+brightscript+bro+c+csharp+cpp+cil+clojure+cmake+coffeescript+concurnas+csp+crystal+css-extras+cypher+d+dart+dax+dhall+diff+django+dns-zone-file+docker+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+firestore-security-rules+flow+fortran+ftl+gml+gcode+gdscript+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+http+hpkp+hsts+ichigojam+icon+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keyman+kotlin+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+lolcode+lua+makefile+markdown+markup-templating+matlab+mel+mizar+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+pascaligo+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plsql+powerquery+powershell+processing+prolog+properties+protobuf+pug+puppet+pure+purebasic+python+q+qml+qore+r+racket+jsx+tsx+reason+regex+renpy+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+stan+iecst+stylus+swift+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+turtle+twig+typescript+typoscript+unrealscript+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+wiki+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=line-numbers+show-language+highlight-keywords+normalize-whitespace+toolbar+copy-to-clipboard+match-braces */
      /*
       Solarized Color Schemes originally by Ethan Schoonover
       http://ethanschoonover.com/solarized

       Ported for PrismJS by Hector Matos
       Website: https://krakendev.io
       Twitter Handle: https://twitter.com/allonsykraken)
      */

      /*
      SOLARIZED HEX
      --------- -------
      base03    #002b36
      base02    #073642
      base01    #586e75
      base00    #657b83
      base0     #839496
      base1     #93a1a1
      base2     #eee8d5
      base3     #fdf6e3
      yellow    #b58900
      orange    #cb4b16
      red       #dc322f
      magenta   #d33682
      violet    #6c71c4
      blue      #268bd2
      cyan      #2aa198
      green     #859900
      */

      code[class*="language-"],
      pre[class*="language-"] {
        color: #657b83; /* base00 */
        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[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
      code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
        background: #073642; /* base02 */
      }

      pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
      code[class*="language-"]::selection, code[class*="language-"] ::selection {
        background: #073642; /* base02 */
      }

      /* Code blocks */

      pre[class*="language-"] {
        padding: 1em;
        margin: .5em 0;
        overflow: auto;
        border-radius: 0.3em;
      }

      :not(pre) > code[class*="language-"],
      pre[class*="language-"] {
        background-color: #fdf6e3; /* base3 */
      }

      /* Inline code */

      :not(pre) > code[class*="language-"] {
        padding: .1em;
        border-radius: .3em;
      }

      .token.comment,
      .token.prolog,
      .token.doctype,
      .token.cdata {
        color: #93a1a1; /* base1 */
      }

      .token.punctuation {
        color: #586e75; /* base01 */
      }

      .token.namespace {
        opacity: .7;
      }

      .token.property,
      .token.tag,
      .token.boolean,
      .token.number,
      .token.constant,
      .token.symbol,
      .token.deleted {
        color: #268bd2; /* blue */
      }

      .token.selector,
      .token.attr-name,
      .token.string,
      .token.char,
      .token.builtin,
      .token.url,
      .token.inserted {
        color: #2aa198; /* cyan */
      }

      .token.entity {
        color: #657b83; /* base00 */
        background: #eee8d5; /* base2 */
      }

      .token.atrule,
      .token.attr-value,
      .token.keyword {
        color: #859900; /* green */
      }

      .token.function,
      .token.class-name {
        color: #b58900; /* yellow */
      }

      .token.regex,
      .token.important,
      .token.variable {
        color: #cb4b16; /* orange */
      }

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

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

      .token.entity {
        cursor: help;
      }

      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 {
        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;
      }

      /* Separate line b/c rules are thrown out if selector is invalid.
         IE11 and old Edge versions don't support :focus-within. */

      div.code-toolbar:focus-within > .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;
      }

      .token.punctuation.brace-hover,
      .token.punctuation.brace-selected {
        outline: solid 1px;
      }

      .rainbow-braces .token.punctuation.brace-level-1,
      .rainbow-braces .token.punctuation.brace-level-5,
      .rainbow-braces .token.punctuation.brace-level-9 {
        color: #E50;
        opacity: 1;
      }

      .rainbow-braces .token.punctuation.brace-level-2,
      .rainbow-braces .token.punctuation.brace-level-6,
      .rainbow-braces .token.punctuation.brace-level-10 {
        color: #0B3;
        opacity: 1;
      }

      .rainbow-braces .token.punctuation.brace-level-3,
      .rainbow-braces .token.punctuation.brace-level-7,
      .rainbow-braces .token.punctuation.brace-level-11 {
        color: #26F;
        opacity: 1;
      }

      .rainbow-braces .token.punctuation.brace-level-4,
      .rainbow-braces .token.punctuation.brace-level-8,
      .rainbow-braces .token.punctuation.brace-level-12 {
        color: #E0E;
        opacity: 1;
      }
    }
  }

  &.color-theme-2 {
    .book-body {
      //okaidia theme
      /* PrismJS 1.21.0
 https://prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apl+applescript+aql+arduino+arff+asciidoc+aspnet+asm6502+autohotkey+autoit+bash+basic+batch+bbcode+bison+bnf+brainfuck+brightscript+bro+c+csharp+cpp+cil+clojure+cmake+coffeescript+concurnas+csp+crystal+css-extras+cypher+d+dart+dax+dhall+diff+django+dns-zone-file+docker+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+firestore-security-rules+flow+fortran+ftl+gml+gcode+gdscript+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+http+hpkp+hsts+ichigojam+icon+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keyman+kotlin+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+lolcode+lua+makefile+markdown+markup-templating+matlab+mel+mizar+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+pascaligo+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plsql+powerquery+powershell+processing+prolog+properties+protobuf+pug+puppet+pure+purebasic+python+q+qml+qore+r+racket+jsx+tsx+reason+regex+renpy+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+stan+iecst+stylus+swift+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+turtle+twig+typescript+typoscript+unrealscript+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+wiki+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=line-numbers+show-language+highlight-keywords+normalize-whitespace+toolbar+copy-to-clipboard+match-braces */
      /**
       * okaidia theme for JavaScript, CSS and HTML
       * Loosely based on Monokai textmate theme by http://www.monokai.nl/
       * @author ocodia
       */

      code[class*="language-"],
      pre[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[class*="language-"] {
        padding: 1em;
        margin: .5em 0;
        overflow: auto;
        border-radius: 0.3em;
      }

      :not(pre) > code[class*="language-"],
      pre[class*="language-"] {
        background: #272822;
      }

      /* Inline code */

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

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

      .token.punctuation {
        color: #f8f8f2;
      }

      .token.namespace {
        opacity: .7;
      }

      .token.property,
      .token.tag,
      .token.constant,
      .token.symbol,
      .token.deleted {
        color: #f92672;
      }

      .token.boolean,
      .token.number {
        color: #ae81ff;
      }

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

      .token.operator,
      .token.entity,
      .token.url,
      .language-css .token.string,
      .style .token.string,
      .token.variable {
        color: #f8f8f2;
      }

      .token.atrule,
      .token.attr-value,
      .token.function,
      .token.class-name {
        color: #e6db74;
      }

      .token.keyword {
        color: #66d9ef;
      }

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

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

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

      .token.entity {
        cursor: help;
      }

      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 {
        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;
      }

      /* Separate line b/c rules are thrown out if selector is invalid.
         IE11 and old Edge versions don't support :focus-within. */

      div.code-toolbar:focus-within > .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;
      }

      .token.punctuation.brace-hover,
      .token.punctuation.brace-selected {
        outline: solid 1px;
      }

      .rainbow-braces .token.punctuation.brace-level-1,
      .rainbow-braces .token.punctuation.brace-level-5,
      .rainbow-braces .token.punctuation.brace-level-9 {
        color: #E50;
        opacity: 1;
      }

      .rainbow-braces .token.punctuation.brace-level-2,
      .rainbow-braces .token.punctuation.brace-level-6,
      .rainbow-braces .token.punctuation.brace-level-10 {
        color: #0B3;
        opacity: 1;
      }

      .rainbow-braces .token.punctuation.brace-level-3,
      .rainbow-braces .token.punctuation.brace-level-7,
      .rainbow-braces .token.punctuation.brace-level-11 {
        color: #26F;
        opacity: 1;
      }

      .rainbow-braces .token.punctuation.brace-level-4,
      .rainbow-braces .token.punctuation.brace-level-8,
      .rainbow-braces .token.punctuation.brace-level-12 {
        color: #E0E;
        opacity: 1;
      }
    }
  }
}

