/* 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;
}

.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%;
}

.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 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 560px;
}

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


/* 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;
}

.isolate-state-container {
  display: inline-block;
  min-width: 18ex;
}

.isolate-shared-summary > .summary {
  height: 300px;
  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;
}
