figure.code_display {
    display: block;
    /* margin: 1em 0; */
    width: 100%;
    color: #f1f5f9;
    /* border: 1px solid #111; */
    border-radius: 3px;
    /* background: rgb(22, 22, 22); */
  }
  
  figure.code_display figcaption {
    display: block;
    font-family: sans-serif;  /* need to change this */
    padding: 5px 10px 4px 10px;
    border-bottom: 1px solid #111;
    border-radius: 3px 3px 0 0;
    font-weight: bold;
    font-variant: small-caps;
    background: #111;
    color: #f1f5f9;
  }
  
  .code_display .numbers {
     cursor: context-menu;
     -webkit-user-select: none;
      -moz-user-select: none;
    -ms-user-select: none;
      user-select: none;
    box-shadow: inset 0 0 4px 0 rgba(0, 0, 0, 0.5);
  }
  
  
  .code_display pre {
    font-size: 0.8em;
  }
  
  .code_display pre,
  .code_display pre code,
  .code_display pre samp {
    display: block;
    margin: 0;
    cursor: text;
    background: transparent;
    color: #f1f5f9;
    font-size: 0.8rem;
  }
  
  .code_display pre code,
  .code_display pre samp {
    /* enforce white-space for IE7 */
    white-space: pre !important;
    /* enforce word-wrap for mobile safari */
    word-wrap: normal !important;
    padding: 10px;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    overflow-x: none;
    /* box-shadow: inset 0 1px 0 1px rgba(0, 0, 0, 0.5); */

  }
  
  
  /* additional focus rules to provide a visual cue */
  
  .code_display pre [contenteditable]:focus {
    border-radius: 0 0 3px 0;
    outline: none;
    /* background: rgb(22, 22, 22); */
    /* box-shadow: inset 0 1px 4px 1px rgba(0, 0, 0, 0.5); */
  }
  
  .code_display pre.line-numbers {
    position: relative;
  }
  
  .code_display pre.line-numbers code,
  .code_display pre.line-numbers samp {
    margin-left: 3em;
    border-left: 1px solid #000;
  }
  
  .code_display pre.line-numbers > div {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 0 0 0 3px;
    overflow: hidden;
    counter-reset: line;
  }
  
  .code_display pre.line-numbers > div > span {
    display: block;
    width: 2.5em;
    padding: 0 0.5em 0 0;
    text-align: right;
    color: #777;
    overflow: hidden;
    counter-increment: line;
  }
  
  .code_display pre.line-numbers > div > span::before {
    content: counter(line);
  }
  
  .code_display pre.line-numbers > div > span:first-child {
    margin-top: 10px;
  }
  
  .code_display pre.line-numbers > div > span:nth-child(odd) {
    background: #111;
  }
  
  @media print {
    .code_display pre code {
      overflow-x: visible;
      white-space: pre-wrap;
    }
    .code_display pre.line-numbers div {
      display: none;
    }
    .code_display pre.line-numbers > code,
    .code_display pre.line-numbers > samp {
      margin-left: 0;
    }
  }
  
  .code_display code.hljs {
      padding-top: 10px;
  }
  /* double-up the syntax elements for cross-browser RTF-keystroke support */
  
  .code_display pre b,
  .code_display pre strong {
    font-weight: normal;
    color: #039;
  }
  
  .code_display pre u,
  .code_display pre u b,
  .code_display pre u strong {
    text-decoration: none;
    color: #083;
  }
  
  .code_display pre i,
  .code_display pre em,
  .code_display pre i *,
  .code_display pre em *,
  .code_display pre i * *,
  .code_display pre em * * {
    letter-spacing: -0.1em;
    text-decoration: none;
    font-style: normal;
    color: #c55;
  }
  
  .hljs {
    color: #a9b7c6;
    background: rgb(22, 22, 22);
    display: block;
    overflow-x: auto;
    padding: 0.5em;
  }
  
  .hljs-number,
  .hljs-literal,
  .hljs-symbol,
  .hljs-bullet {
    color: #FF8040;
  }
  
  .hljs-keyword,
  .hljs-selector-tag,
  .hljs-deletion {
    color: #569CD6;
  }
  
  .hljs-variable,
  .hljs-template-variable,
  .hljs-link {
    color: #FF8040;
  }
  
  .hljs-comment,
  .hljs-quote {
    color: #57A64A;
  }
  
  .hljs-meta {
    color: #D2A8A1;
  }
  
  .hljs-string,
  .hljs-attribute,
  .hljs-addition {
    color: lightslategray;
  }
  
  .hljs-section,
  .hljs-title,
  .hljs-type {
    color: #ffc66d;
  }
  
  .hljs-name,
  .hljs-selector-id,
  .hljs-selector-class {
    color: #e8bf6a;
  }
  
  .hljs-emphasis {
    font-style: italic;
  }
  
  .hljs-strong {
    font-weight: bold;
  }
  
  
  