/* Global styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  padding-top: 56px;
  color: #333;
  font: 400 14px 'Montserrat', sans-serif;
}

button {
  font: 400 14px 'Montserrat', sans-serif;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

h2 {
  font: 400 16px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.memberSmall {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 12px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a[href] {
  color: #0489c3;
  text-decoration: none;
}

a[href]:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

.full {
  height: 100%;
  width: 100;
}

.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-row-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.flex-row-wrap-right {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.flex-row-spaced {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}

.inline-flex-row {
  display: inline-flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-45-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 45%;
}

.flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.flex-item-90-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 90%;
}

.flex-item-even {
  flex-grow: 1;
  flex-shrink: 0;
  padding: 5px;
}

.indent {
  margin-left: 1.5em;
  font: 400 14px 'Montserrat', sans-serif;
  line-height: 150%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}

body.busy, body.busy * {
  cursor: progress !important;
}

.pointer {
  cursor: pointer;
}

.shadow {
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.16),
              0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

input.textbox {
  width: 20em;
  font: 400 16px 'Montserrat', sans-serif;
}

select, button, input {
  border-radius: 0px;
  border-style: solid;
  border-width: 1px;
}

button.link {
  background-color: transparent;
  color: #0489c3;
  border-style: none;
  border-width: 0;
}

button.big {
  font-size: 20px;
}

@-webkit-keyframes fadeIn {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

@-moz-keyframes fadeIn {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeIn {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    -ms-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    -ms-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  animation: shake 0.5s;
  -webkit-animation: shake 0.5s;
}

/* allocation-profile */

.allocation-profile .heap-space {
  display: inline-block;
  width: 33%;
}

.allocation-profile .heap-space.right,
.allocation-profile .heap-space.right .memberList,
.allocation-profile .heap-space.right .legend * {
  direction: rtl;
}

.allocation-profile .compactable {
  position: relative;
}

.allocation-profile .compact {
  position: absolute;
  bottom: 20px;
  left: 50%;
  width: 8em;
  margin-left: -4em;
}

.allocation-profile .heap-space.right * {
  direction: ltr;
  text-align: right;
}

.allocation-profile div.chart {
  display: block;
  position: relative;
  height: 150px;
}
.allocation-profile div.chart > div.host {
  display: inline-block;
  position: absolute;
  bottom: 0px;
  top: 0;
}
.allocation-profile div.chart > div.legend {
  position: absolute;
  width: 150px;
  top: 25px;
  bottom: 0;
  overflow-y: auto;
}
.allocation-profile .heap-space.left div.host {
  left: 200px;
  width: 180px;
}
.allocation-profile .heap-space.right div.host {
  right: 150px;
  width: 180px;
}
.allocation-profile .heap-space.left div.legend {
  left: 0;
}
.allocation-profile .heap-space.right div.legend {
  right: 0;
}

.allocation-profile .collection {
  height: 100%;
}

.allocation-profile .collection.expanded {
  top: 160px;
}

.allocation-profile .container {
  padding-left: 5%;
  padding-right: 5%;
}

.allocation-profile .collection-item {
  background-color: #FFFFFF;
  box-sizing: border-box;
  line-height: 20px;
}

.allocation-profile .collection-item:hover {
  background-color: #d2e7fe;
}

.allocation-profile .header .collection-item:hover {
  background-color: #FFFFFF;
}

.allocation-profile .header .collection-item:last-child {
  margin-bottom: -3px;
  border-bottom: solid 1px #AAAAAA;
}

.allocation-profile .header .collection-item span {
  font-weight: bolder;
}

.allocation-profile .collection-item :nth-child(2n+2).group,
.allocation-profile .collection-item :nth-child(8n+1),
.allocation-profile .collection-item :nth-child(8n+2),
.allocation-profile .collection-item :nth-child(8n+3),
.allocation-profile .collection-item :nth-child(8n+4) {
  background-color: #EEEEEE;
}

.allocation-profile .collection-item:hover :nth-child(2n+1).group,
.allocation-profile .collection-item:hover :nth-child(8n+1),
.allocation-profile .collection-item:hover :nth-child(8n+2),
.allocation-profile .collection-item:hover :nth-child(8n+3),
.allocation-profile .collection-item:hover :nth-child(8n+4) {
  background-color: #afd5fd;
}

.allocation-profile .header .collection-item :nth-child(2n+2).group,
.allocation-profile .header .collection-item :nth-child(8n+5),
.allocation-profile .header .collection-item :nth-child(8n+6),
.allocation-profile .header .collection-item :nth-child(8n+7),
.allocation-profile .header .collection-item :nth-child(8n+8) {
  background-color: #FFFFFF;
}

.allocation-profile .header .collection-item :nth-child(2n+1).group,
.allocation-profile .header .collection-item :nth-child(8n+1),
.allocation-profile .header .collection-item :nth-child(8n+2),
.allocation-profile .header .collection-item :nth-child(8n+3),
.allocation-profile .header .collection-item :nth-child(8n+4) {
  background-color: #DDDDDD;
}

.allocation-profile .collection-item .group {
  display: inline-block;
  width: 24em;
  text-align: center;
  padding-right: 0.5em;
  line-height: 20px;
  border-right: solid 1px #AAAAAA;
}

.allocation-profile .collection-item .bytes {
  display: inline-block;
  width: 6em;
  text-align: right;
  line-height: 20px;
  padding-right: 0.5em;
}

.allocation-profile .collection-item .instances {
  display: inline-block;
  width: 6em;
  text-align: right;
  padding-right: 0.5em;
  line-height: 20px;
  border-right: solid 1px #AAAAAA;
}

.allocation-profile .collection-item .name {
  padding-left: 0.5em;
  padding-right: 0.5em;
  display: inline-block;
}

.allocation-profile .collection-item > button,
.allocation-profile .collection-item > button:active {
  background-color: transparent;
  color: #0489c3;
  border-style: none;
}

.allocation-profile .collection-item > button:hover {
  text-decoration: underline;
}

/* class-ref */

.class-ref > a[href]:hover {
    text-decoration: underline;
}
.class-ref > a[href] {
    color: #0489c3;
    text-decoration: none;
}

/* code-ref */

.code-ref > a[href]:hover {
  text-decoration: underline;
}
.code-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.code-ref .emphasize {
  font-style: italic;
}


/* class-tree */

.class-tree {
  position: relative;
  display: block;
  height: 100%;
}

.class-tree .virtual-tree {
  position: absolute;
  height: auto;
  top: 60px;
  bottom: 0;
  left: 0;
  right: 0;
}

.class-tree .virtual-tree .container {
  padding-left: 10%;
  padding-right: 10%;
}

.class-tree .virtual-tree .class-tree-item {
  line-height: 25px;
  height: 25px;
}

.class-tree .virtual-tree .class-tree-item .name {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

/* code-view */

.code-view .table {
  table-layout: fixed;
}

.code-view th:nth-of-type(1),
.code-view td:nth-of-type(1) {
  min-width: 10em;
  text-align: left;
}

.code-view th:nth-of-type(2),
.code-view td:nth-of-type(2) {
  min-width: 8em;
  text-align: left;
}

.code-view th:nth-of-type(3),
.code-view td:nth-of-type(3) {
  min-width: 8em;
  text-align: left;
}

.code-view th:nth-of-type(4),
.code-view td:nth-of-type(4) {
  text-align: left;
  overflow: visible;
  white-space: pre;
  padding-right: 1em;
  width: 1px;
}

.code-view th:nth-of-type(5),
.code-view td:nth-of-type(5) {
  text-align: left;
  overflow: visible;
}

.code-view tr:hover > td {
  background-color: #F4C7C3;
}

.code-view .code-comment {
  color: grey;
  font-style: italic;
}

/* context-ref */

.context-ref > a[href]:hover {
  text-decoration: underline;
}
.context-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.context-ref > a[href] * {
  color: inherit;
}
.context-ref .emphasize {
  font-style: italic;
}


/* cpu-profile */

.cpu-profile {
  position: relative;
  display: block;
  height: 100%;
}

.cpu-profile > .cpu-profile-virtual-tree {
  position: absolute;
  height: auto;
  top: 320px;
  bottom: 0;
  left: 0;
  right: 0;
}

/* cpu-profile-table */

.cpu-profile-table {
  position: relative;
  display: block;
  height: 100%;
}
.cpu-profile-table .cpu-profile-virtual-tree {
  height: 100%;
  min-height: 600px;
  padding-top: 250px;
  margin-top: -250px;
}
.cpu-profile-table .profile-trees {
  vertical-align: text-top;
  min-width: 100%;
  height: 100%;
  padding-top: 160px;
  margin-top: -160px;
  padding-bottom: 100px;
  margin-bottom: -100px;
  padding-left: 5%;
  padding-right: 5%;
  min-height: 600px;
}
.cpu-profile-table .profile-trees .virtual-collection {
  height: 100%;
  width: 100%;
  border: solid 1px #888888;
  box-shadow: 2px 2px 5px #888888;
}
.cpu-profile-table .profile-trees > .profile-trees-all {
  vertical-align: text-top;
  display: inline-block;
  width: 50%;
  height: 100%;
  padding: 5px;
}
.cpu-profile-table .profile-trees > .profile-trees-current {
  vertical-align: text-top;
  display: inline-block;
  width: 50%;
  height: 100%;
}
.cpu-profile-table .profile-trees .profile-trees-caller {
  vertical-align: text-top;
  display: inline-block;
  width: 100%;
  height: 50%;
  padding: 5px;
  margin-top: -17px;
  padding-top: 22px;
}
.cpu-profile-table .profile-trees .profile-trees-selected {
  vertical-align: text-top;
  display: block;
  height: 24px;
  line-height: 24px;
  margin: 5px;
  border: solid 1px #888888;
  box-shadow: 2px 2px 5px #888888;
  padding-left: 5px;
  padding-right: 5px;
}
.cpu-profile-table .profile-trees .profile-trees-selected > * {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
  width: 100%;
}
.cpu-profile-table .profile-trees .profile-trees-callee {
  vertical-align: text-top;
  display: inline-block;
  width: 100%;
  height: 50%;
  padding: 5px;
  margin-bottom: -17px;
  padding-bottom: 22px;
}
.cpu-profile-table .function-item {
  box-sizing: border-box;
  line-height: 20px;
}
.cpu-profile-table .header {
  box-sizing: border-box;
  line-height: 20px;
}
.cpu-profile-table .header .function-item:last-child {
  margin-bottom: -3px;
  border-bottom: solid 1px #AAAAAA;
}
.cpu-profile-table .function-item .inclusive,
.cpu-profile-table .function-item .exclusive {
  display: inline-block;
  width: 7em;
  text-align: right;
  padding-right: 0.5em;
  line-height: 20px;
}
.cpu-profile-table .buffer .function-item .inclusive {
  background-color: #EEEEEE;
}
.cpu-profile-table .buffer .function-item.selected .inclusive {
  background-color: #51a3fb;
}
.cpu-profile-table .buffer .function-item:hover .inclusive {
  background-color: #afd5fd;
}
.cpu-profile-table .header .function-item .inclusive {
  background-color: #DDDDDD;
}
.cpu-profile-table .buffer .function-item.selected {
  background-color: #60abfb;
}
.cpu-profile-table .buffer .function-item:hover {
  background-color: #d2e7fe;
}
.cpu-profile-table .function-item .exclusive {
}
.cpu-profile-table .function-item .name {
  padding-left: 0.5em;
  padding-left: 0.5em;
}
.cpu-profile-table .function-item > button,
.cpu-profile-table .function-item > button:active {
  background-color: transparent;
  color: #0489c3;
  border-style: none;
}
.cpu-profile-table .function-item > button:hover {
  text-decoration: underline;
}

/* cpu-profile-virtual-tree */

.cpu-profile-virtual-tree {
  display: block;
  height: 600px;
}

.cpu-profile-virtual-tree .tree-item {
  box-sizing: border-box;
  line-height: 30px;
  height: 30px;
  padding-left: 5%;
  padding-right: 5%;
}

.cpu-profile-virtual-tree .tree-item > .inclusive,
.cpu-profile-virtual-tree .tree-item > .exclusive,
.cpu-profile-virtual-tree .tree-item > .percentage {
  display: inline-block;
  text-align: right;
  width: 4em;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.cpu-profile-virtual-tree .tree-item > .exclusive {
  margin-right: 1.5em;
}

.cpu-profile-virtual-tree .tree-item > .name {
  display: inline;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

/* curly-block */

.curly-block span.curly-block {
  color: #0489c3;
  cursor: pointer;
}
.curly-block span.curly-block.disabled {
  color: white;
  cursor: wait;
}

/* debugger-console */

.debugger-console {
  display: block;
  margin: 0px 20px 10px 20px;
}
.debugger-console .normal {
  font: normal 14px consolas, courier, monospace;
  white-space: pre;
  line-height: 125%;
}
.debugger-console .bold {
  font: bold 14px consolas, courier, monospace;
  white-space: pre;
  line-height: 125%;
}
.debugger-console .red {
  font: normal 14px consolas, courier, monospace;
  white-space: pre;
  line-height: 125%;
  color: red;
}
.debugger-console .green {
  font: normal 14px consolas, courier, monospace;
  white-space: pre;
  line-height: 125%;
  color: green;
}
.debugger-console .spacer {
  height: 20px;
}

/* debugger-frame */

.debugger-frame {
  display: block;
  position: relative;
  padding: 5px;
  border: 1px solid white;
}
.debugger-frame:hover {
  border: 1px solid #e0e0e0;
}
.debugger-frame.shadow {
  box-shadow:  0 2px 10px 0 rgba(0, 0, 0, 0.16),
               0 2px 5px 0 rgba(0, 0, 0, 0.26);
}
.debugger-frame.causalFrame {
  background-color: #D7CCC8;
}
.debugger-frame.current {
  box-shadow:  0 2px 10px 0 rgba(0, 0, 0, 0.26),
               0 2px 5px 0 rgba(0, 0, 0, 0.46);
  border: 1px solid #444;
}
.debugger-frame > button {
  display: block;
  width: 100%;
  text-align: left;
  background-color: transparent;
  border: none;
}
.debugger-frame .frameSummaryText {
  display: inline-block;
  padding: 5px;
}
.debugger-frame .frameId {
  display: inline-block;
  width: 60px;
}
.debugger-frame .frameExpander {
  position: absolute;
  right: 5px;
  top: 5px;
  display: none;
}
.debugger-frame:hover .frameExpander{
  display: inline-block;
}
.debugger-frame .frameContractor {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: inline-block;
}
.debugger-frame .frameContractor > button {
  background-color: transparent;
  border: none;
}
.debugger-frame .flex-item-script {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 765px;
}
.debugger-frame .flex-item-vars {
  flex-grow: 5;
  flex-shrink: 0;
  flex-basis: 250px;
  overflow-x: hidden;
}
.debugger-frame .frameVars {
  position: relative;
  top: 5px;
  padding-left:2em;
  padding-bottom: 5px;
}

/* debugger-input */

.debugger-input .container {
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.debugger-input .textBox {
  flex: 1 1 auto;
  margin: 20px;
  padding: 5px;
  font: 400 16px consolas, courier, monospace;
  width: 95%;
}
.debugger-input .modalPrompt {
  flex: 0 0 auto;
  margin-top: 20px;
  margin-left: 20px;
  padding: 5px;
  font: 400 16px consolas, courier, monospace;
  color: red;
}
.debugger-input .modalPrompt.hidden {
  display: none;
}

/* debugger-message */

.debugger-message {
  display: block;
  position: relative;
  padding: 5px;
  border: 1px solid white;
}
.debugger-message:hover {
  border: 1px solid #e0e0e0;
}
.debugger-message.shadow {
  box-shadow:  0 2px 10px 0 rgba(0, 0, 0, 0.16),
  0 2px 5px 0 rgba(0, 0, 0, 0.26);
}
.debugger-message.current {
  box-shadow:  0 2px 10px 0 rgba(0, 0, 0, 0.26),
  0 2px 5px 0 rgba(0, 0, 0, 0.46);
  border: 1px solid #444;
}
.debugger-message > button {
  display: block;
  width: 100%;
  text-align: left;
  background-color: transparent;
  border: none;
}
.debugger-message .messageSummaryText {
  display: inline-block;
  padding: 5px;
}
.debugger-message .messageId {
  display: inline-block;
  font-weight: bold;
  width: 100px;
}
.debugger-message .messageExpander {
  position: absolute;
  right: 5px;
  top: 5px;
  display: none;
}
.debugger-message:hover .messageExpander {
  display: inline-block;
}
.debugger-message.shadow:hover .messageExpander {
  display: none;
}
.debugger-message .messageContractor {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: inline-block;
}
.debugger-message .flex-item-script {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 765px;
}
.debugger-message .flex-item-vars {
  flex-grow: 5;
  flex-shrink: 0;
  flex-basis: 225px;
}

/* debugger-page */

.debugger-page {
  height: 100%;
}
.debugger-page .variable {
  height: 100%;
  margin-bottom: -75px;
  padding-bottom: 75px;
}
.debugger-page .stack {
  flex: 0 0 auto;
  overflow-y: auto;
  height: 62%;
}
.debugger-page .splitter {
  height: 0px;
  margin: 0px;
  font-size: 1px;
  border-bottom: 1px solid #888;
}
.debugger-page .console {
  flex: 1 1 auto;
  overflow-x: auto;
  overflow-y: auto;
  height: 38%;
}
.debugger-page .commandline {
  flex: 0 0 auto;
}

/* debugger-stack */

.debugger-stack {
  position: relative;
}
.debugger-stack .sampledMessage {
  margin: 0px 20px 10px 20px;
  font: 400 14px 'Montserrat', sans-serif;
  line-height: 125%;
}
.debugger-stack .sampledMessage > button {
  background-color: transparent;
  border: none;
  color: #0489c3;
  text-decoration: none;
  margin-right: 1em;
}
.debugger-stack .sampledMessage > button:hover {
    text-decoration: underline;
}
.debugger-stack .splitter {
  height: 0px;
  margin: 0px;
  font-size: 1px;
  border-bottom: 1px dashed #888;
}
.debugger-stack .noMessages,
.debugger-stack .noStack {
  margin: 10px 0px 10px 25px;
  font: bold 14px 'Montserrat', sans-serif;
  line-height: 125%;
}

.debugger-stack .sampledMessage.hidden,
.debugger-stack .noMessages.hidden,
.debugger-stack .noStack.hidden {
  display: none;
}

/* error-ref */

.error-ref > pre {
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding-left: 10px;
  padding-right: 10px;
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: pre;
}

/* eval-box */

.eval-box a[href]:hover {
    text-decoration: underline;
}
.eval-box a[href] {
    color: #0489c3;
    text-decoration: none;
}
.eval-box .quicks > button:hover {
  background-color: transparent;
  border: none;
  text-decoration: underline;
}
.eval-box .quicks > button {
  background-color: transparent;
  border: none;
  color: #0489c3;
  padding: 0;
  margin-right: 1em;
  text-decoration: none;
}
.eval-box .emphasize {
  font-style: italic;
}
.eval-box .indent {
  margin-left: 1.5em;
  font: 400 14px 'Montserrat', sans-serif;
  line-height: 150%;
}
.eval-box .stackTraceBox {
  margin-left: 1.5em;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 10px;
  font-family: consolas, courier, monospace;
  font-size: 12px;
  white-space: pre;
  overflow-x: auto;
}
.eval-box .heading {
  line-height: 30px;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-width: 450px;
  padding-right: 150px;
}
.eval-box .heading .textbox {
  width: 100%;
  min-width: 300px;
}
.eval-box .heading .buttons {
  position: absolute;
  top: 0;
  right: 0px;
}
.eval-box .heading .buttons button{
  margin-right: 1em;
}
.eval-box.historyExpr,
.eval-box .historyValue {
  vertical-align: text-top;
  font: 400 14px 'Montserrat', sans-serif;
}
.eval-box .historyExpr button {
  display: block;
  color: black;
  border: none;
  background: none;
  text-decoration: none;
  padding: 6px 6px;
  cursor: pointer;
  white-space: pre-line;
}
.eval-box .historyExpr button:hover {
  background-color: #fff3e3;
}
.eval-box .historyValue {
  display: block;
  padding: 6px 6px;
}
.eval-box .historyDelete button {
  border: none;
  background: none;
}
eval-box .historyDelete button:hover {
  color: #BB3311;
}

/* flag-list */

.flag-list .comment {
  color: #aaa;
}

.flag-list .flag {
  padding: 3px 0;
}

.flag-list .name {
  font-weight: bold;
  margin-right: 0.7em;
}

.flag-list .value {
  margin-left: 0.7em;
}

/* function-ref */

.function-ref > a[href]:hover {
  text-decoration: underline;
}
.function-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.function-ref .emphasize {
  font-style: italic;
}


/* heap-snapshot */

.heap-snapshot .statusMessage {
  font-size: 150%;
  font-weight: bold;
}
.heap-snapshot .statusBox {
  height: 100%;
  padding: 1em;
}
.heap-snapshot .explanation {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  max-height: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.heap-snapshot .virtual-tree {
  position: absolute;
  height: auto;
  top: 250px;
  bottom: 0;
  left: 0;
  right: 0;
}
.heap-snapshot .tree-item {
  box-sizing: border-box;
  line-height: 30px;
  height: 30px;
  padding-left: 5%;
  padding-right: 5%;

  display: flex;
  flex-direction: row;
}
.heap-snapshot .tree-item > .size,
.heap-snapshot .tree-item > .percentage {
  text-align: right;
  margin-left: 0.25em;
  margin-right: 0.25em;
  flex-basis: 5em;
  flex-grow: 0;
  flex-shrink: 0;
}
.heap-snapshot .tree-item > .edge {
  margin-left: 0.25em;
  margin-right: 0.25em;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
.heap-snapshot .tree-item > .name {
  margin-left: 0.5em;
  margin-right: 0.5em;
  flex-basis: 0;
  flex-grow: 4;
  flex-shrink: 4;
}
.heap-snapshot .tree-item > .link {
  margin-left: 0.25em;
  margin-right: 0.25em;
  flex-grow: 0;
  flex-shrink: 0;
}

/* process-snapshot */

.process-snapshot .statusMessage {
  font-size: 150%;
  font-weight: bold;
}
.process-snapshot .statusBox {
  height: 100%;
  padding: 1em;
}
.process-snapshot .explanation {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  max-height: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.process-snapshot .virtual-tree {
  position: absolute;
  height: auto;
  top: 250px;
  bottom: 0;
  left: 0;
  right: 0;
}
.process-snapshot .tree-item {
  box-sizing: border-box;
  line-height: 30px;
  height: 30px;
  padding-left: 5%;
  padding-right: 5%;

  display: flex;
  flex-direction: row;
}
.process-snapshot .tree-item > .size,
.process-snapshot .tree-item > .percentage {
  text-align: right;
  margin-left: 0.25em;
  margin-right: 0.25em;
  flex-basis: 5em;
  flex-grow: 0;
  flex-shrink: 0;
}
.process-snapshot .tree-item > .edge {
  margin-left: 0.25em;
  margin-right: 0.25em;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
.process-snapshot .tree-item > .name {
  margin-left: 0.5em;
  margin-right: 0.5em;
  flex-basis: 0;
  flex-grow: 4;
  flex-shrink: 4;
}
.process-snapshot .tree-item > .link {
  margin-left: 0.25em;
  margin-right: 0.25em;
  flex-grow: 0;
  flex-shrink: 0;
}

/* icdata-ref */

.icdata-ref > a[href]:hover {
  text-decoration: underline;
}
.icdata-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.icdata-ref > a[href] * {
  color: inherit;
}
.icdata-ref .emphasize {
  font-style: italic;
}


/* inbound-reference */

.inbound-reference > a[href]:hover {
  text-decoration: underline;
}
.inbound-reference > a[href] {
  color: #0489c3;
  text-decoration: none;
}

.inbound-reference .indent {
  margin-left: 1.5em;
  font: 400 14px 'Montserrat', sans-serif;
  line-height: 150%;
}
.inbound-reference .stackTraceBox {
  margin-left: 1.5em;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 10px;
  font-family: consolas, courier, monospace;
  font-size: 12px;
  white-space: pre;
  overflow-x: auto;
}

/* instance-ref */

.instance-ref > a[href]:hover {
  text-decoration: underline;
}
.instance-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.instance-ref > a[href] * {
  color: inherit;
}
.instance-ref .emphasize {
  font-style: italic;
}
.instance-ref .indent {
  margin-left: 1.5em;
  font: 400 14px 'Montserrat', sans-serif;
  line-height: 150%;
}
.instance-ref .stackTraceBox {
  margin-left: 1.5em;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 10px;
  font-family: consolas, courier, monospace;
  font-size: 12px;
  white-space: pre;
  overflow-x: auto;
}

/* isolate-counter-chart */

.isolate-counter-chart {
  display: block;
  position: relative;
  height: 300px;
  min-width: 350px;
}
.isolate-counter-chart > div.host {
  position: absolute;
  left: 0;
  bottom: 20px;
  top: 5px;
  right: 250px;
}
.isolate-counter-chart > div.legend {
  position: absolute;
  width: 250px;
  top: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
}

/* isolate-location */

.isolate-location > span {
  font-weight: bold;
}
.isolate-location > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.isolate-location > a[href]:hover {
  text-decoration: underline;
}

/* isolate-reconnect */

.isolate-reconnect div.doubleSpaced {
  line-height: 2em;
}

/* isolate-ref */

.isolate-ref > a[href]:hover {
  text-decoration: underline;
}
.isolate-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}

/* isolate-run-state */

.isolate-run-state > span {
  font-weight: bold;
}

/* isolate-shared-summary */

.isolate-shared-summary {
  display: block;
}

.isolate-ref-container {
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 5px;
  font-weight: bolder;
}

.isolate-state-container {
  display: inline-block;
}

.isolate-shared-summary > .summary {
  height: 350px;
  position: relative;
}
.isolate-shared-summary .menu {
  float: right;
  top: 0;
  right: 0;
}
.isolate-shared-summary .isolate-counter-chart {
  position: absolute;
  left: 0;
  top: 0;
  right: 230px;
  clear: both;
}
.isolate-shared-summary .errorBox {
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 2em;
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: pre;
}

/* library-ref */

.library-ref > a[href]:hover {
  text-decoration: underline;
}
.library-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.library-ref .emphasize {
  font-style: italic;
}


.nav-option {
  float: right;
  margin: 3px;
  padding: 8px;
}

.nav-option label {
  color: white;
}

/* logging-list */

.logging-list .outlined {
  -webkit-box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.75);
  -moz-box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.75);
  box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.75);
  margin: 4px;
}
.logging-list .logItem {
  display: inline-block;
  font: normal 14px consolas, courier, monospace;
  white-space: pre;
  line-height: 125%;
  width: 100%;
}
.logging-list .level {
  display: inline-block;
  width: 5em;
}
.logging-list .time {
  display: inline-block;
  width: 12em;
}
.logging-list .FINEST {
  background-color: #FAFAFA;
}
.logging-list .FINER {
  background-color: #ECEFF1;
}
.logging-list .FINE {
  background-color: #EFEBE9;
}
.logging-list .CONFIG {
  background-color: #FFF3E0;
}
.logging-list .INFO {
  background-color: #F1F8E9;
}
.logging-list .WARNING {
  background-color: #FFE0B2;
}
.logging-list .SEVERE {
  background-color: #FFCCBC;
}
.logging-list .SHOUT {
  background-color: #FFCDD2;
}

/* memory-graph */

.memory-graph .chart-legend-row,
.memory-graph .chart-legend-row div {
  display: inline;
}

.memory-graph .chart-legend-row div.chart-legend-color {
  display: inline-block;
  margin: auto 8px;
}

.memory-graph .chart-legend-row:nth-child(2n) div.chart-legend-color {
  display: none;
}

/* megamorphic-cache-ref */

.megamorphic-cache-ref > a[href]:hover {
    text-decoration: underline;
}
.megamorphic-cache-ref > a[href] {
    color: #0489c3;
    text-decoration: none;
}
.megamorphic-cache-ref > a[href] * {
    color: inherit;
}
.megamorphic-ref .emphasize {
  font-style: italic;
}

/* dashboards common */

.memory-dashboard,
.timeline-dashboard {
  display: block;
  height: 100%;
  margin-top: -30px;
}

.memory-profile > div > h1,
.timeline-dashboard > div > h1 {
  overflow: hidden;
  border-bottom: 1px solid #d5d5d5;
}

.memory-dashboard button:disabled,
.timeline-dashboard button:disabled,
.memory-dashboard button:disabled:hover,
.timeline-dashboard button:disabled:hover {
  text-decoration: none;
  background-color: #eee;
  background-image: linear-gradient(#eee, #eee);
  border: 1px solid #eee;
  border-radius: 2px;
  cursor: default;
}

.timeline-dashboard p {
  margin-top: 0.4em;
}

.memory-dashboard button,
.timeline-dashboard button,
.memory-dashboard button:active,
.timeline-dashboard button:active {
  text-decoration: none;
  background-color: #ddd;
  background-image: linear-gradient(#eee, #ddd);
  border: 1px solid #d5d5d5;
  border-radius: 2px;
  cursor: pointer;
}

.memory-dashboard button:hover,
.timeline-dashboard button:hover {
  text-decoration: none;
  background-color: #ccc;
  background-image: linear-gradient(#ddd, #ccc);
  border-color: #c7c7c7;
}

.memory-profile .header_button,
.timeline-dashboard .header_button {
  padding: 3px 5px;
  margin: 0px 1px;
  min-width: 130px;
}

.memory-profile .header_button,
.timeline-dashboard .header_button {
  margin-left: 6px;
}

.header_button.left-pad {
  margin-left: 75px;
}

.memory-profile .header_button:first-child,
.timeline-dashboard .header_button:first-child {
  margin-left: 30px;
}

.memory-profile .tab_buttons,
.timeline-dashboard .tab_buttons {
  position: relative;
  top: 1px;
  float: right;
}

.memory-profile .tab_buttons button,
.timeline-dashboard .tab_buttons button {
  padding: 5px 5px;
  min-width: 100px
}

.memory-profile .tab_buttons button:not(:first-child),
.timeline-dashboard .tab_buttons button:not(:first-child) {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.memory-profile .tab_buttons button:not(:last-child),
.timeline-dashboard  .tab_buttons button:not(:last-child) {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}


/* memory-dashboard */

.memory-dashboard .memory-graph {
  height: 350px;
}

.memory-dashboard .memory-profile {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  top: 300px;
}

.memory-dashboard .memory-profile .memory-allocations {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 39px;
}

.memory-dashboard .memory-profile .memory-snapshot {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 45px;
}

/* metric-graph */

.metric-graph {
  display: block;
}

.metric-graph .graph {
  height: 100%;
  margin-top: -30px;
  padding: 20px;
  padding-top: 60px;
}

.metric-graph .graph > div {
  height: 100%;
}

/* memory-allocations */

.memory-allocations .container {
  padding-left: 5%;
  padding-right: 5%;
}

.memory-allocations .collection-item {
  background-color: #FFFFFF;
  box-sizing: border-box;
  line-height: 20px;
}

.memory-allocations .collection-item:hover {
  background-color: #d2e7fe;
}

.memory-allocations .header .collection-item:hover {
  background-color: #FFFFFF;
}

.memory-allocations .header .collection-item:last-child {
  margin-bottom: -3px;
  border-bottom: solid 1px #AAAAAA;
}

.memory-allocations .header .collection-item span {
  font-weight: bolder;
}

.memory-allocations .collection-item :nth-child(2n+2).group,
.memory-allocations .collection-item :nth-child(4n+3),
.memory-allocations .collection-item :nth-child(4n+4) {
  background-color: #EEEEEE;
}

.memory-allocations .collection-item:hover :nth-child(2n+2).group,
.memory-allocations .collection-item:hover :nth-child(4n+3),
.memory-allocations .collection-item:hover :nth-child(4n+4) {
  background-color: #afd5fd;
}

.memory-allocations .header .collection-item :nth-child(2n+1).group,
.memory-allocations .header .collection-item :nth-child(4n+1),
.memory-allocations .header .collection-item :nth-child(4n+2) {
  background-color: #FFFFFF;
}

.memory-allocations .header .collection-item :nth-child(2n+2).group,
.memory-allocations .header .collection-item :nth-child(4n+3),
.memory-allocations .header .collection-item :nth-child(4n+4) {
  background-color: #DDDDDD;
}

.memory-allocations .collection-item .group {
  display: inline-block;
  width: 12em;
  text-align: right;
  padding-right: 0.5em;
  line-height: 20px;
  border-right: solid 1px #AAAAAA;
}

.memory-allocations .collection-item .bytes {
  display: inline-block;
  width: 6em;
  text-align: right;
  line-height: 20px;
  padding-right: 0.5em;
}

.memory-allocations .collection-item .instances {
  display: inline-block;
  width: 6em;
  text-align: right;
  padding-right: 0.5em;
  line-height: 20px;
  border-right: solid 1px #AAAAAA;
}

.memory-allocations .collection-item .name {
  padding-left: 0.5em;
  padding-right: 0.5em;
  display: inline-block;
}

.memory-allocations .collection-item > button,
.memory-allocations .collection-item > button:active,
.memory-allocations .collection-item .group button,
.memory-allocations .collection-item .group button:active {
  background: transparent;
  color: #0489c3;
  border: 0px none;
  border-radius: 0px;
  padding: 0;
}

.memory-allocations .collection-item > button:hover,
.memory-allocations .collection-item .group button:hover {
  text-decoration: underline;
  border-radius: 0px;
}


/* memory-snapshot */

.memory-snapshot .statusMessage {
  font-size: 150%;
  font-weight: bold;
}
.memory-snapshot .statusBox {
  height: 100%;
  padding: 1em;
}
.memory-snapshot .explanation {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  max-height: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.memory-snapshot .virtual-tree {
  position: absolute;
  height: auto;
  top: 50px;
  bottom: 0;
  left: 0;
  right: 0;
}
.memory-snapshot .tree-item {
  box-sizing: border-box;
  line-height: 30px;
  height: 30px;
  padding-left: 5%;
  padding-right: 5%;
}
.memory-snapshot .tree-item > .size,
.memory-snapshot .tree-item > .percentage {
  display: inline-block;
  text-align: right;
  width: 4em;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.memory-snapshot .tree-item > .name {
  display: inline;
  margin-left: 0.5em;
}

/* metric-graph */

.metrics-page > div {
  display: block;
  height: 100%;
}

.metrics-page > div > .graph {
  display: block;
  height: 100%;
  margin-top: -300px;
  padding-top: 300px;
}

/* nav-bar */

nav.nav-bar {
  line-height: normal;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}
nav.nav-bar > ul {
  display: inline-table;
  position: relative;
  list-style: none;
  padding-left: 0;
  margin: 0;
  width: 100%;
  z-index: 1000;
  font: 400 16px 'Montserrat', sans-serif;
  color: white;
  background-color: #0489c3;
}

/* nav-menu */
li.nav-menu:before {
  display: inline-block;
  content: '>';
  margin-left: 0.5em;
  margin-right: 0.5em;
}
nav.nav-bar > ul *:first-child li.nav-menu:before,
nav.nav-bar > ul .nav-reload > li:before {
  content: '';
  margin-left: 0;
  margin-right: 0;
}
li.nav-menu, .nav-menu_label {
  display: inline-block;
}
.nav-menu_label > a {
  display: inline-block;
  padding: 12px 8px;
  color: White;
  text-decoration: none;
}
.nav-menu_label:hover > a {
  background: #455;
}
.nav-menu_label > ul {
  display: none;
  position: absolute;
  top: 98%;
  list-style: none;
  margin: 0;
  padding: 0;
  width: auto;
  z-index: 1000;
  font: 400 16px 'Montserrat', sans-serif;
  color: white;
  background: #567;
}
.nav-menu_label > ul:after {
  content: ""; clear: both; display: block;
}
.nav-menu_label:hover > ul {
  display: block;
}

/* nav-menu-item */

.nav-menu-item li.nav-menu-item {
  float: none;
  border-top: 1px solid #677;
  border-bottom: 1px solid #556; position: relative;
}
.nav-menu-item li.nav-menu-item:hover {
  background: #455;
}
.nav-menu-item li.nav-menu-item > a {
  display: block;
  padding: 12px 12px;
  color: white;
  text-decoration: none;
}
.nav-menu-item li.nav-menu-item > ul {
  display: none;
  position: absolute;
  top:0;
  left: 100%;
  list-style: none;
  padding: 0;
  margin-left: 0;
  width: auto;
  z-index: 1000;
  font: 400 16px 'Montserrat', sans-serif;
  color: white;
  background: #567;
}
.nav-menu-item li.nav-menu-item > ul:after {
  content: ""; clear: both; display: block;
}
.nav-menu-item li.nav-menu-item:hover > ul {
  display: block;
}

/* nav-notify */

.nav-notify > div {
  float: right;
}
.nav-notify > div > div {
  display: block;
  position: absolute;
  top: 98%;
  right: 0;
  margin: 0;
  padding: 0;
  width: auto;
  z-index: 1000;
  background: none;
}

/* nav-exception & nav-event */

.nav-exception > div, .nav-event > div {
  position: relative;
  padding: 16px;
  margin-top: 10px;
  margin-right: 10px;
  padding-right: 25px;
  width: 500px;
  color: #ddd;
  background: rgba(0,0,0,.6);
  border: solid 2px white;
  box-shadow: 0 0 5px black;
  border-radius: 5px;
  animation: fadein 1s;
}

.nav-exception *, .nav-event * {
  color: #ddd;
  font-size: 12px;
}

.nav-exception > div > a[href],
.nav-event > div > a[href] {
  color: white;
  text-decoration: none;
}

.nav-exception > div > a[href]:hover,
.nav-event > div > a[href]:hover {
  text-decoration: underline;
}

.nav-exception > div > div {
  margin-left:20px;
  white-space: pre
}

.nav-exception > div > button, .nav-event > div > button {
  background: transparent;
  border: none;
  position: absolute;
  display: block;
  top: 4px;
  right: 4px;
  height: 18px;
  width: 18px;
  line-height: 16px;
  border-radius: 9px;
  color: white;
  font-size: 18px;
  cursor: pointer;
  text-align: center;
}

.nav-exception > div > button:hover, .nav-event > div > button:hover {
  background: rgba(255,255,255,0.5);
}

/* nav-refresh */

.nav-refresh > li > button {
  color: #000;
  margin: 3px;
  padding: 8px;
  border-width: 2px;
  line-height: 13px;
  font-size: 13px;
  font: 400 'Montserrat', sans-serif;
}
.nav-refresh > li > button[disabled] {
  color: #aaa;
  cursor: wait;
}
.nav-refresh > li {
  float: right;
  margin: 0;
}

/* nav-refresh */

.nav-reload > li > button {
  color: #000;
  margin: 3px;
  padding: 8px;
  border-width: 2px;
  line-height: 13px;
  font-size: 13px;
  font: 400 'Montserrat', sans-serif;
}
.nav-reload ul > li {
  display: block;
  width: 100%;
  padding: 2px;
}
.nav-reload ul > li > button {
  display: inline-block;
  padding: 8px;
  width: 100%;
}
.nav-reload > li > button[disabled],
.nav-reload ul > li > button[disabled] {
  color: #aaa;
  cursor: wait;
}
.nav-reload > li {
  float: right;
  margin: 0;
}

/* object-common && class-instances */

.class-instances button:hover,
.object-common button:hover {
  background-color: transparent;
  border: none;
  text-decoration: underline;
}
.class-instances button,
.object-common button {
  background-color: transparent;
  border: none;
  color: #0489c3;
  padding: 0;
  margin: -8px 4px;
  font-size: 20px;
  text-decoration: none;
}

/* object-pool-ref */

.object-pool-ref > a[href]:hover {
  text-decoration: underline;
}

.object-pool-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.object-pool-ref > a[href] * {
  color: inherit;
}
.object-pool-ref .emphasize {
  font-style: italic;
}

/* object-pool-view */

.object-pool-view .hexadecimal {
  font-family: monospace;
}

/* observatory-application */

.observatory-application {
  display: block;
  height: 100%;
}

.observatory-application > div {
  display: block;
  height: 100%;
}

/* persistent-handles-page */

.persistent-handles-page {
  display: block;
  height: 100%;
}
.persistent-handles-page .persistent-handles,
.persistent-handles-page .weak-persistent-handles {
  margin-top: -70px;
  padding-top: 70px;
  height: 50%;
}
.persistent-handles-page .weak-item,
.persistent-handles-page .collection-item {
  box-sizing: border-box;
  line-height: 20px;
  padding-left: 5%;
  padding-right: 5%;
}
.persistent-handles-page .header {
  box-sizing: border-box;
  line-height: 20px;
}
.persistent-handles-page .header .weak-item:last-child {
  margin-bottom: -3px;
  border-bottom: solid 1px #AAAAAA;
}
.persistent-handles-page .weak-item .external-size,
.persistent-handles-page .weak-item .peer,
.persistent-handles-page .weak-item .object {
  display: inline-block;
  width: 7em;
  text-align: right;
  padding-right: 0.5em;
  line-height: 20px;
}
.persistent-handles-page .weak-item .peer {
  width: 11em;
  font-family: monospace;
}
.persistent-handles-page .weak-item .object {
  text-align: left;
  width: 25em;
}
.persistent-handles-page .buffer .weak-item:hover {
  background-color: #d2e7fe;
}
.persistent-handles-page .weak-item .finalizer {
  padding-left: 0.5em;
}
.persistent-handles-page .weak-item > button,
.persistent-handles-page .weak-item > button:active {
  background-color: transparent;
  color: #0489c3;
  border-style: none;
}
.persistent-handles-page .weak-item > button:hover {
  text-decoration: underline;
}

/* ports-page */

.ports-page .port-number {
  font-weight: bold;
}

/* script-ref */

.script-ref > a[href]:hover {
  text-decoration: underline;
}
.script-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.script-ref .emphasize {
  font-style: italic;
}


/* source-link */

.source-link > a[href]:hover {
    text-decoration: underline;
}

.source-link > a[href] {
    color: #0489c3;
    text-decoration: none;
}


/* observatory-application */

.observatory-application {
  display: block;
  height: 100%;
}

.observatory-application > div {
  display: block;
  height: 100%;
}

/* sample-buffer-control */

.sample-buffer-control {
  white-space: nowrap;
}

.sample-buffer-control .statusMessage {
  font-size: 150%;
  font-weight: bold;
}

.sample-buffer-control .statusBox {
  height: 100%;
  padding: 1em;
}

.sample-buffer-control .center {
  align-items: center;
  justify-content: center;
}

.sample-buffer-control .notice {
  background-color: #fcf8e3;
}

.sample-buffer-control .red {
  background-color: #f2dede;
}

.sample-buffer-control .shadow {
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.16),
              0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

/* script-inset */

.script-inset {
  position: relative;
}
.script-inset button.refresh,
.script-inset button.toggle-profile {
  background-color: transparent;
  padding: 0;
  margin: 0;
  border: none;
  position: absolute;
  display: inline-block;
  top: 5px;
}
.script-inset button.refresh > svg,
.script-inset button.toggle-profile > svg {
  fill: #888888;
}
.script-inset button.refresh {
  right: 5px;
}
.script-inset button.toggle-profile {
  right: 30px;
}
.script-inset button.toggle-profile.enabled > svg {
  fill: #BB3322;
}
.script-inset a {
  color: #0489c3;
  text-decoration: none;
}
.script-inset a:hover {
  text-decoration: underline;
}
.script-inset .sourceInset {
}
.script-inset .sourceTable {
  position: relative;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  overflow-x: scroll;
}
.script-inset .sourceRow {
  display: flex;
  flex-direction: row;
  width: 100%;
}
.script-inset .sourceItem,
.script-inset .sourceItemCurrent {
  vertical-align: top;
  font: 400 14px consolas, courier, monospace;
  line-height: 125%;
  white-space: pre;
  max-width: 0;
}
.script-inset .currentLine {
  background-color: #fff;
}
.script-inset .currentCol {
  background-color: #6cf;
}
.script-inset .hitsCurrent,
.script-inset .hitsNone,
.script-inset .hitsNotExecuted,
.script-inset .hitsExecuted,
.script-inset .hitsCompiled,
.script-inset .hitsNotCompiled {
  display: table-cell;
  vertical-align: top;
  font: 400 14px consolas, courier, monospace;
  margin-left: 5px;
  margin-right: 5px;
  text-align: right;
  color: #a8a8a8;
}
.script-inset .hitsCurrent {
  background-color: #6cf;
  color: black;
}
.script-inset .hitsNotExecuted {
  background-color: #faa;
}
.script-inset .hitsExecuted {
  background-color: #aea;
}
.script-inset .hitsCompiled {
  background-color: #e0e0e0;
}
.script-inset .hitsNotCompiled {
  background-color: #f0c5c5;
}
.script-inset .noCopy {}
.script-inset .emptyBreakpoint,
.script-inset .possibleBreakpoint,
.script-inset .busyBreakpoint,
.script-inset .unresolvedBreakpoint,
.script-inset .resolvedBreakpoint  {
  display: table-cell;
  vertical-align: top;
  font: 400 14px consolas, courier, monospace;
  width: 1em;
  text-align: center;
  cursor: pointer;
}
.script-inset .possibleBreakpoint {
  color: #e0e0e0;
}
.script-inset .possibleBreakpoint:hover {
  color: white;
  background-color: #777;
}
.script-inset .busyBreakpoint {
  color: white;
  background-color: black;
  cursor: wait;
}
.script-inset .unresolvedBreakpoint {
  color: white;
  background-color: #cac;
}
.script-inset .resolvedBreakpoint {
  color: white;
  background-color: #e66;
}
.script-inset .unresolvedBreakAnnotation {
  color: white;
  background-color: #cac;
}
.script-inset .resolvedBreakAnnotation {
  color: white;
  background-color: #e66;
}
.script-inset .notSourceProfile,
.script-inset .noProfile,
.script-inset .coldProfile,
.script-inset .mediumProfile,
.script-inset .hotProfile {
  display: table-cell;
  vertical-align: top;
  font: 400 14px consolas, courier, monospace;
  width: 4em;
  text-align: right;
  cursor: pointer;
  margin-left: 5px;
  margin-right: 5px;
}
.script-inset .notSourceProfile {
}
.script-inset .noProfile {
  background-color: #e0e0e0;
}
.script-inset .coldProfile {
  background-color: #aea;
}
.script-inset .mediumProfile {
  background-color: #fe9;
}
.script-inset .hotProfile {
  background-color: #faa;
}

/* search-bar */

.search-bar {
  background: white;
  padding: 5px;
}
.search-bar > input {
  width: 300px;
  line-height: 20px;
  border-color: #DDDDDD;
  padding-left: 2px;
  padding-right: 2px;
}

.search-bar button:enabled,
.search-bar button:enabled:hover,
.search-bar button:disabled,
.search-bar button:disabled:hover,
.search-bar button:active {
  border: none;
  background: none;
  background-color: transparent;
  line-height: 20px;
  margin-left: 0.5em;
  margin-right: 0.5em;
  outline: none;
}

.search-bar button:disabled,
.search-bar button:disabled:hover {
  color: #DDDDDD;
}

.search-bar button:enabled,
.search-bar button:enabled:active {
  color: #BBBBBB;
}

.search-bar button:enabled:hover {
  color: #AAAAAA;
  text-shadow: 1px 1px 2px #dddddd;
}

/* stack-trace-tree-config */

.stack-trace-tree-config {
  white-space: nowrap;
}

/* timeline-dashboard */

.timeline-dashboard .iframe {
  position: absolute;
  top: 90px;
  bottom: 0;
  left: 0;
  right: 0;
}
.timeline-dashboard h1 {
  margin-bottom: 5px;
}
.timeline-dashboard .iframe iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* timeline-page */

.timeline-page .iframe {
  height: 100%;
  width: 100%;
  margin-top: -120px;
  padding-top: 120px;
}
.timeline-page .iframe iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* type-arguments-ref */

.type-arguments-ref a[href]:hover {
  text-decoration: underline;
}
.type-arguments-ref a[href] {
  color: #0489c3;
  text-decoration: none;
}
.type-arguments-ref .emphasize {
  font-style: italic;
}


/* token-stream-ref */

.token-stream-ref a[href]:hover {
  text-decoration: underline;
}
.token-stream-ref a[href] {
  color: #0489c3;
  text-decoration: none;
}
.token-stream-ref .emphasize {
  font-style: italic;
}


/* unknown-ref */

.unknown-ref > a[href]:hover {
  text-decoration: underline;
}
.unknown-ref > a[href] {
  color: #0489c3;
  text-decoration: none;
}
.unknown-ref > a[href] * {
  color: inherit;
}
.unknown-ref .emphasize {
  font-style: italic;
}


/* view-footer */

.view-footer {
  padding: 1em;
  padding-top: 10.3em;
  float: right;
  align-content: right;
}

.view-footer > a {
  margin-bottom: 0.17em;
  font-size: 90%;
  float: right;
  clear: both;
  display: block;
}

/* virtual-collection */

.virtual-collection {
  position: relative;
  display: block;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
}

.virtual-collection .viewport {
  position: absolute;
  display: block;
  overflow-y: auto;
  overflow-x: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.virtual-collection .header {
  background: white;
  position: relative;
  display: block;
  z-index: +1;
}

.virtual-collection .search-bar {
  position: relative;
  display: block;
  z-index: +1;
  float: right;
  top: 2px;
  right: 25px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  box-shadow: 0px 1px 2px #AAAAAA;
}

.virtual-collection .spacer {
  overflow: hidden;
  background: transparent;
  display: inline-block;
  min-width: 100%;
}

.virtual-collection .buffer {
  background: transparent;
  position: relative;
  display: inline-block;
  min-width: 100%;
}

.virtual-collection .header > div,
.virtual-collection .buffer > div {
  white-space: nowrap;
}

.virtual-collection .header.attached > div,
.virtual-collection .buffer > div {
/*  display: inline-block;*/
}

.virtual-collection .buffer > div {
  min-width: 100%;
  white-space: nowrap;
}

.virtual-collection .marked,
.virtual-collection .marked * {
  background: yellow !important;
}

/* virtual-tree */

.virtual-tree .expander,
.virtual-tree .expander:hover,
.virtual-tree .expander:active {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  width: 19px;
  border: 0px none;
  background: transparent;
  padding: 0;
}

.virtual-tree .expander:focus {
  outline: none;
}

.virtual-tree .lines,
.virtual-tree .lines > span {
  display: inline-block;
  vertical-align: top;
  height: 100%;
  line-height: 100%;
}

.virtual-tree .lines:before,
.virtual-tree .lines > span:before {
  display: inline-block;
  content: '';
}

.virtual-tree .lines > span {
  width: 3px;
  margin-left: 8px;
  margin-right: 8px;
}

.virtual-tree .lines > span:nth-child(5n) {
  background-color: #673AB7;
}

.virtual-tree .lines > span:nth-child(5n+1) {
  background-color: #F44336;
}

.virtual-tree .lines > span:nth-child(5n+2) {
  background-color: #4CAF50;
}

.virtual-tree .lines > span:nth-child(5n+3) {
  background-color: #3F51B5;
}

.virtual-tree .lines > span:nth-child(5n+4) {
  background-color: #FF9800;
}

/* vm-connect-target */

.vm-connect-target > a {
  color: #0489c3;
  text-decoration: none;
}

.vm-connect-target > a:hover {
  text-decoration: underline;
}

.vm-connect-target > button.delete-button {
  margin-left: 0.28em;
  padding: 4px;
  background: transparent;
  border: none !important;
}

.vm-connect-target > button.delete-button:hover {
  background: #ff0000;
}

/* vm-connect */

.vm-connect ul {
  list-style-type: none;
}

.treemapTile {
  position: absolute;
  box-sizing: border-box;
  border: solid 1px;
  font-size: 10px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  cursor: default;
}
