.fusion-syntax-highlighter-container {
  position: relative;

  .syntax-highlighter-copy-code {
    text-align: right;
    display: inline-block;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
    transition: 0.2s opacity;

    .syntax-highlighter-copy-code-title {
      cursor: pointer;
      padding: 5px 10px;
      display: inline-block;
    }
  }

  &:hover {
    .syntax-highlighter-copy-code {
      opacity: 1;
      transition: 0.2s opacity;
    }
  }

  &.fusion-syntax-highlighter-theme-dark {
    .syntax-highlighter-copy-code {
      background: rgba(255,255,255,0.15);
      color: #ffffff;
      transition: background 0.2s ease-in-out;

      &.syntax-highlighter-copying {
        background: rgba(255,255,255,0.25) !important;
      }

      &:hover {
        background: rgba(255,255,255,0.20);
      }
    }
  }

  &.fusion-syntax-highlighter-theme-light {
    .syntax-highlighter-copy-code {
      background: rgba(0,0,0,0.1);
      color: #333333;
      transition: background 0.2s ease-in-out;

      &.syntax-highlighter-copying {
        background: rgba(0,0,0,0.25) !important;
      }

      &:hover {
        background: rgba(0,0,0,0.15);
      }
    }
  }

  .CodeMirror {
    &-code {
      padding-top: 5px;
      padding-bottom: 5px;
    }

    pre {
      padding-left: 20px;
      padding-right: 20px;
    }

    .CodeMirror-gutters {
      border: none;
    }
  }
}
/*
	Name: Elegant
*/
.cm-s-elegant span.cm-atom,
.cm-s-elegant span.cm-number,
.cm-s-elegant span.cm-string {
  color: #762;
}

.cm-s-elegant span.cm-comment {
  color: #262;
  font-style: italic;
  line-height: 1em;
}

.cm-s-elegant span.cm-meta {
  color: #555;
  font-style: italic;
  line-height: 1em;
}

.cm-s-elegant span.cm-variable {
  color: black;
}

.cm-s-elegant span.cm-variable-2 {
  color: #b11;
}

.cm-s-elegant span.cm-qualifier {
  color: #555;
}

.cm-s-elegant span.cm-keyword {
  color: #730;
}

.cm-s-elegant span.cm-builtin {
  color: #30a;
}

.cm-s-elegant span.cm-link {
  color: #762;
}

.cm-s-elegant span.cm-error {
  background-color: #fdd;
}

.cm-s-elegant .CodeMirror-activeline-background {
  background: #e8f2ff;
}

.cm-s-elegant .CodeMirror-matchingbracket {
  outline: 1px solid grey;
  color: black !important;
}
/*
	Name:       Hopscotch
	Author:     Jan T. Sott
	CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
	Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-hopscotch.CodeMirror {
  background: #322931;
  color: #d5d3d5;
}

.cm-s-hopscotch div.CodeMirror-selected {
  background: #433b42 !important;
}

.cm-s-hopscotch .CodeMirror-gutters {
  background: #322931;
  border-right: 0;
}

.cm-s-hopscotch .CodeMirror-linenumber {
  color: #797379;
}

.cm-s-hopscotch .CodeMirror-cursor {
  border-left: 1px solid #989498 !important;
}

.cm-s-hopscotch span.cm-comment {
  color: #b33508;
}

.cm-s-hopscotch span.cm-atom {
  color: #c85e7c;
}

.cm-s-hopscotch span.cm-number {
  color: #c85e7c;
}

.cm-s-hopscotch span.cm-attribute,
.cm-s-hopscotch span.cm-property {
  color: #8fc13e;
}

.cm-s-hopscotch span.cm-keyword {
  color: #dd464c;
}

.cm-s-hopscotch span.cm-string {
  color: #fdcc59;
}

.cm-s-hopscotch span.cm-variable {
  color: #8fc13e;
}

.cm-s-hopscotch span.cm-variable-2 {
  color: #1290bf;
}

.cm-s-hopscotch span.cm-def {
  color: #fd8b19;
}

.cm-s-hopscotch span.cm-error {
  background: #dd464c;
  color: #989498;
}

.cm-s-hopscotch span.cm-bracket {
  color: #d5d3d5;
}

.cm-s-hopscotch span.cm-tag {
  color: #dd464c;
}

.cm-s-hopscotch span.cm-link {
  color: #c85e7c;
}

.cm-s-hopscotch .CodeMirror-matchingbracket {
  text-decoration: underline;
  color: white !important;
}

.cm-s-hopscotch .CodeMirror-activeline-background {
  background: #302020;
}
/*
	Name:       oceanic-next
	Author:     Filype Pereira (https://github.com/fpereira1)
	Original oceanic-next color scheme by Dmitri Voronianski (https://github.com/voronianski/oceanic-next-color-scheme)
*/
.cm-s-oceanic-next.CodeMirror {
  background: #304148;
  color: #f8f8f2;
}

.cm-s-oceanic-next div.CodeMirror-selected {
  background: rgba(101, 115, 126, 0.33);
}

.cm-s-oceanic-next .CodeMirror-line > span > span::selection,
.cm-s-oceanic-next .CodeMirror-line > span::selection,
.cm-s-oceanic-next .CodeMirror-line::selection {
  background: rgba(101, 115, 126, 0.33);
}

.cm-s-oceanic-next .CodeMirror-line > span > span::-moz-selection,
.cm-s-oceanic-next .CodeMirror-line > span::-moz-selection,
.cm-s-oceanic-next .CodeMirror-line::-moz-selection {
  background: rgba(101, 115, 126, 0.33);
}

.cm-s-oceanic-next .CodeMirror-gutters {
  background: #304148;
  border-right: 10px;
}

.cm-s-oceanic-next .CodeMirror-guttermarker {
  color: white;
}

.cm-s-oceanic-next .CodeMirror-guttermarker-subtle {
  color: #d0d0d0;
}

.cm-s-oceanic-next .CodeMirror-linenumber {
  color: #d0d0d0;
}

.cm-s-oceanic-next .CodeMirror-cursor {
  border-left: 1px solid #f8f8f0;
}

.cm-s-oceanic-next span.cm-comment {
  color: #65737E;
}

.cm-s-oceanic-next span.cm-atom {
  color: #C594C5;
}

.cm-s-oceanic-next span.cm-number {
  color: #F99157;
}

.cm-s-oceanic-next span.cm-property {
  color: #99C794;
}

.cm-s-oceanic-next span.cm-attribute,
.cm-s-oceanic-next span.cm-keyword {
  color: #C594C5;
}

.cm-s-oceanic-next span.cm-builtin {
  color: #66d9ef;
}

.cm-s-oceanic-next span.cm-string {
  color: #99C794;
}

.cm-s-oceanic-next span.cm-variable,
.cm-s-oceanic-next span.cm-variable-2,
.cm-s-oceanic-next span.cm-variable-3 {
  color: #f8f8f2;
}

.cm-s-oceanic-next span.cm-def {
  color: #6699CC;
}

.cm-s-oceanic-next span.cm-bracket {
  color: #5FB3B3;
}

.cm-s-oceanic-next span.cm-tag {
  color: #C594C5;
}

.cm-s-oceanic-next span.cm-header {
  color: #C594C5;
}

.cm-s-oceanic-next span.cm-link {
  color: #C594C5;
}

.cm-s-oceanic-next span.cm-error {
  background: #C594C5;
  color: #f8f8f0;
}

.cm-s-oceanic-next .CodeMirror-activeline-background {
  background: rgba(101, 115, 126, 0.33);
}

.cm-s-oceanic-next .CodeMirror-matchingbracket {
  text-decoration: underline;
  color: white !important;
}
