.tree-visualization {
  display: flex;
  flex-direction: column;
}

.tree-visualization > .toolbar {
  padding: 5px;
  flex-shrink: 0;
}

.tree-visualization > .toolbar label {
  cursor: pointer;
  margin-right: 5px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
          user-select: none;
  white-space: nowrap;
}

.tree-visualization ul {
  margin: 0;
  padding-left: 20px;
  overflow: auto;
}

.tree-visualization > ul {
  cursor: default;
  box-sizing: border-box;
  font-family: monospace;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
          user-select: none;
  flex: 1;
}

.tree-visualization .value-body {
  min-width: 300px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.highlight { 
  background-color: #efefef;
  padding: 7px 7px 7px 10px;
  border: 1px solid #ddd;
  overflow: hidden;
}

.code {
  font-family:'Bitstream Vera Sans Mono','Courier', monospace;
}

.highlight .c { color: #586E75 } /* Comment */
.highlight .err { color: #93A1A1 } /* Error */
.highlight .g { color: #93A1A1 } /* Generic */
.highlight .k { color: #859900 } /* Keyword */
.highlight .l { color: #93A1A1 } /* Literal */
.highlight .n { color: #93A1A1 } /* Name */
.highlight .o { color: #859900 } /* Operator */
.highlight .x { color: #CB4B16 } /* Other */
.highlight .p { color: #93A1A1 } /* Punctuation */
.highlight .cm { color: #586E75 } /* Comment.Multiline */
.highlight .cp { color: #859900 } /* Comment.Preproc */
.highlight .c1 { color: #586E75 } /* Comment.Single */
.highlight .cs { color: #859900 } /* Comment.Special */
.highlight .gd { color: #2AA198 } /* Generic.Deleted */
.highlight .ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #DC322F } /* Generic.Error */
.highlight .gh { color: #CB4B16 } /* Generic.Heading */
.highlight .gi { color: #859900 } /* Generic.Inserted */
.highlight .go { color: #93A1A1 } /* Generic.Output */
.highlight .gp { color: #93A1A1 } /* Generic.Prompt */
.highlight .gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #CB4B16 } /* Generic.Subheading */
.highlight .gt { color: #93A1A1 } /* Generic.Traceback */
.highlight .kc { color: #CB4B16 } /* Keyword.Constant */
.highlight .kd { color: #268BD2 } /* Keyword.Declaration */
.highlight .kn { color: #859900 } /* Keyword.Namespace */
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
.highlight .kr { color: #268BD2 } /* Keyword.Reserved */
.highlight .kt { color: #DC322F } /* Keyword.Type */
.highlight .ld { color: #93A1A1 } /* Literal.Date */
.highlight .m { color: #2AA198 } /* Literal.Number */
.highlight .s { color: #2AA198 } /* Literal.String */
.highlight .na { color: #93A1A1 } /* Name.Attribute */
.highlight .nb { color: #B58900 } /* Name.Builtin */
.highlight .nc { color: #268BD2 } /* Name.Class */
.highlight .no { color: #CB4B16 } /* Name.Constant */
.highlight .nd { color: #268BD2 } /* Name.Decorator */
.highlight .ni { color: #CB4B16 } /* Name.Entity */
.highlight .ne { color: #CB4B16 } /* Name.Exception */
.highlight .nf { color: #268BD2 } /* Name.Function */
.highlight .nl { color: #93A1A1 } /* Name.Label */
.highlight .nn { color: #93A1A1 } /* Name.Namespace */
.highlight .nx { color: #555 } /* Name.Other */
.highlight .py { color: #93A1A1 } /* Name.Property */
.highlight .nt { color: #268BD2 } /* Name.Tag */
.highlight .nv { color: #268BD2 } /* Name.Variable */
.highlight .ow { color: #859900 } /* Operator.Word */
.highlight .w { color: #93A1A1 } /* Text.Whitespace */
.highlight .mf { color: #2AA198 } /* Literal.Number.Float */
.highlight .mh { color: #2AA198 } /* Literal.Number.Hex */
.highlight .mi { color: #2AA198 } /* Literal.Number.Integer */
.highlight .mo { color: #2AA198 } /* Literal.Number.Oct */
.highlight .sb { color: #586E75 } /* Literal.String.Backtick */
.highlight .sc { color: #2AA198 } /* Literal.String.Char */
.highlight .sd { color: #93A1A1 } /* Literal.String.Doc */
.highlight .s2 { color: #2AA198 } /* Literal.String.Double */
.highlight .se { color: #CB4B16 } /* Literal.String.Escape */
.highlight .sh { color: #93A1A1 } /* Literal.String.Heredoc */
.highlight .si { color: #2AA198 } /* Literal.String.Interpol */
.highlight .sx { color: #2AA198 } /* Literal.String.Other */
.highlight .sr { color: #DC322F } /* Literal.String.Regex */
.highlight .s1 { color: #2AA198 } /* Literal.String.Single */
.highlight .ss { color: #2AA198 } /* Literal.String.Symbol */
.highlight .bp { color: #268BD2 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #268BD2 } /* Name.Variable.Class */
.highlight .vg { color: #268BD2 } /* Name.Variable.Global */
.highlight .vi { color: #268BD2 } /* Name.Variable.Instance */
.highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */

/*
  Icon Font: fontcustom
*/

@font-face {
  font-family: "fontcustom";
  src: url(625c5e624e004cae6e1f6836aae141d9.eot);
  src: url(625c5e624e004cae6e1f6836aae141d9.eot?#iefix) format("embedded-opentype"),
       url(data:application/font-woff;base64,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) format("woff2"),
       url(data:application/font-woff;base64,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) format("woff"),
       url(8bdc90308550206513e26c84c61d1fc5.ttf) format("truetype"),
       url(8dd9325f25e6da9359e5f0dc460a1ac6.svg#fontcustom) format("svg");
  font-weight: normal;
  font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: "fontcustom";
    src: url(8dd9325f25e6da9359e5f0dc460a1ac6.svg#fontcustom) format("svg");
  }
}

[data-icon]:before { content: attr(data-icon); }

[data-icon]:before,
.icon-GraphQL_Logo:before,
.icon-handlebars:before,
.icon-icu:before,
.icon-java:before,
.icon-ocaml:before,
.icon-reason:before,
.icon-rust:before,
.icon-scala:before {
  display: inline-block;
  font-family: "fontcustom";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-rendering: optimizeLegibility;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

.icon-GraphQL_Logo:before { content: "\f100"; }
.icon-handlebars:before { content: "\f101"; }
.icon-icu:before { content: "\f102"; }
.icon-java:before { content: "\f107"; }
.icon-ocaml:before { content: "\f106"; }
.icon-reason:before { content: "\f105"; }
.icon-rust:before { content: "\f104"; }
.icon-scala:before { content: "\f103"; }

html {
  font-size: 14px;
  box-sizing: border-box;
  font-family: Verdana, sans-serif;
}

body {
  margin: 0;
}

#page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  /* prevents the page to growing larger than the viewport*/
  max-height: 100vh;
}

#container {
  flex: 1;
  /* for Firefox, otherwise it overflows the parent*/
  min-height: 0;
}

#main {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#contribution {
  font-size: 0.9em;
  color: #555;
  height: 25px;
  text-align: center;
  line-height: 25px;
  background-color: #efefef;
  border-top: 1px solid #ddd;
}

.cover {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
}

.hasError {
  -webkit-filter: blur(3px);
          filter: blur(3px);
}

.loadingIndicator {
  font-size: 200%;
  color: #555;
}

.dropIndicator {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border: 3px dashed #888;
  border-radius: 10px;
}

.dropIndicator > div {
  max-width: 90%;
  color: #888;
  font-size: 32px;
}

.banner {
  background-color: #b8dff7;
  border-right: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

#Toolbar {
  flex: 0 0 auto;
  font-family: monospace;
  line-height: 32px;
  border-bottom: 1px solid #ddd;
  color: #454545;
  padding-left: 10px;
  padding-right: 10px;
  z-index: 200;
  display:flex;
  flex-wrap: wrap;
}

#Toolbar > * {
  flex: 0 0 auto;
  border-right: 1px solid #ddd;
}

#Toolbar,
#Toolbar .menuButton ul {
  background-color: #efefef;
}

#Toolbar > *,
#Toolbar > .menuButton > span,
#Toolbar button {
  background-color: transparent;
  box-sizing: border-box;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  min-width: 90px;
  outline: none;
}

#Toolbar > .menuButton > span {
  cursor: default;
  padding: 0px 6px;
}

#Toolbar > * button {
  height: 100%;
  border: none;
  cursor: pointer;
}

#Toolbar > h1 {
  padding: 0;
  padding-right: 10px;
  margin: 0;
  font-size: 18px;
}

#Toolbar > a {
  color: inherit;
  text-decoration: none;
}

#Toolbar .menuButton:hover > ul {
  display: block;
}

#Toolbar .menuButton ul {
  position: fixed;
  padding: 0;
  margin: 0;
  list-style: none;
  display: none;
  border: 1px solid #ddd;
  max-height: calc(100vh - 65px);
  overflow-y: auto;
  z-index: 500;
}

#Toolbar .menuButton ul li {
  white-space: nowrap;
}

#Toolbar .menuButton ul button {
  line-height: 28px;
  padding-top: 2px;
  padding-bottom: 2px;
  /* for scrollbar */
  padding-right: 15px;
  text-align: left;
  width: 100%;
}

#Toolbar > *.disabled,
#Toolbar button:disabled,
#Toolbar button:disabled:hover,
#Toolbar button:disabled:active {
  background-color: transparent;
  color: #888;
  cursor: default;
}

#Toolbar .menuButton li.selected {
  background-color: rgba(0, 0, 0, 0.05);
}

#Toolbar > a:hover,
#Toolbar > .button:hover,
#Toolbar ul button:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

#Toolbar > a:active,
#Toolbar button:active {
  background-color: rgba(0, 0, 0, 0.3);
}

#info {
  color: #898989;
  cursor: default;
  border: none;
  margin-left: auto;
}

#info.small {
  font-size: 12px;
  line-height: 1.3em;
}

.errorMessage {
  font-family: Verdana, non-serif;
  font-size: 1.2em;
}

.errorMessage h3 {
  padding-top: 0;
  margin-top: 0;
  color: #CC0000;
}

.splitpane-content {
  flex: 1;
  /* for Firefox, otherwise it overflows the parent*/
  min-height: 0;
  min-width: 0;
}

.splitpane {
  flex: 1;
  /* for Firefox, otherwise it overflows the parent*/
  min-height: 0;
  min-width: 0;
}

.splitpane-divider {
  background-color: #ddd;
}

.splitpane-divider.horizontal {
  width: 5px;
}

.splitpane-divider.vertical {
  height: 5px;
}

.splitpane-divider:hover {
  background-color: #999;
  cursor: col-resize;
}

.splitpane-divider.vertical:hover {
  cursor: row-resize;
}

.output {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: none;
  padding: 0;
}

.output .toolbar {
  font-size: 14px;
  margin-left: -1px;
  border-bottom: 1px solid #ddd;
}

.output .toolbar > button {
  margin: 0;
  height: 100%;
  min-width: 90px;
  border: 1px solid transparent;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  font-size: 14px;
  background-color: transparent;
  display: inline-block;
  vertical-align: top;
  outline: none;
  cursor: pointer;
}

.output .toolbar > button.active {
  border-color: #999;
  background-color: #999;
  color: #f5f5f5;
}

.output .toolbar .time {
  float: right;
  margin-right: 10px;
  font-size: 10px;
  line-height: 25px;
}

.output > .container {
  overflow: auto;
  flex: 1;
  display: flex;
}

.output > .no-toolbar {
  top: 0;
}

#JSONEditor .CodeMirror {
  font-size: 0.9em;
}

#JSONEditor .CodeMirror,
#JSONEditor .CodeMirror-gutters {
  background-color: #efefef;
}

.editor {
  display: flex;
  flex: 1;
  /* needed to make editor at most as wide as the parent splitpane*/
  min-width: 0;
  min-height: 0;
}

li.entry {
  margin: 0;
  list-style: none;
  padding: 5px;
  position: relative;
}

.CodeMirror .marked,
.entry.highlighted {
  border-radius: 2px;
  background-color: rgba(255,240,6,0.4);
}

.entry > .value {
  white-space: pre-wrap;
}

.entry > .value .s {
  cursor: text;
  -webkit-user-select: text;
  user-select: text;
}

.entry.toggable::before {
  content: '+';
  color: green;
  position: absolute;
  left: -10px;
}

.entry.toggable.open::before {
  content: '-';
  color: red;
}

.entry .invokeable {
  cursor: pointer;
}

.entry .invokeable:hover {
  text-decoration: underline;
}

.placeholder {
  font-size: 0.9em;
}

.compact,
.tokenName,
.entry.toggable > .key {
  cursor: pointer;
}

.compact:hover,
.tokenName:hover,
.entry.toggable > .key:hover > .name {
  text-decoration: underline;
}

.CodeMirror {
  height: auto;
  flex: 1;
}

.CodeMirror-scroll {
  overflow: auto;
}

.editor .CodeMirror-gutters {
  background-color: white;
  border: none;
}

.CodeMirror .ErrorGutter {
  width: .7em;
}

.CodeMirror pre.errorMarker {
  background-color: #EB949433;
}

/* Dialog */
.dialog {
  align-items: center;
  background-color: rgba(255, 255, 255, 0.7);
  bottom: 0;
  color: #333;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000;
}

.dialog .inner {
  max-height: 90vh;
  background-color: white;
  box-shadow: 0px 0px 10px #555;
  border-radius: 3px;
  min-width: 400px;
  display: flex;
  flex-direction: column;
}

.dialog .header {
  flex-shrink: 0;
  padding: 10px 10px 0px 10px;
}

.dialog .body {
  overflow: auto;
  padding: 10px;
}

.dialog .footer {
  flex-shrink: 0;
  padding: 0 10px 10px 10px;
  text-align: right;
}

.dialog .inner h3 {
  margin: 0 0 10px 0;
  padding: 0;
}

#SettingsDialog ul.settings {
  margin: 0;
  padding: 0;
  list-style: none;
}

#SettingsDialog ul.settings li {
  padding: 3px 0;
}


body .CodeMirror-hints,
body .CodeMirror-Tern-tooltip {
  z-index: 1000;
}

.shareInfo dd {
  margin: 0;
  margin-top: 5px;
  margin-bottom: 10px;
}

.shareInfo input {
  font-size: 15px;
  padding: 5px;
  width: calc(100% - 10px);
}

.toggleBtn {
  position: absolute;
  right: 0;
  z-index: 10;
  cursor: pointer;
  outline: none;
}

.toggleBtn > .btnText {
  padding-left: 5px;
  font-size: 12px;
}

.settings-drawer__expanded {
  width: 200px;
  border-right: 1px solid #ddd;
}

.settings-drawer__collapsed {
  width: 20px;
  background-color: #ddd;
}

