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

.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(4n+3),
.allocation-profile .collection-item :nth-child(4n+4) {
  background-color: #EEEEEE;
}

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

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

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

.allocation-profile .collection-item .group {
  display: inline-block;
  width: 12em;
  text-align: right;
  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%;
}
.heap-snapshot .tree-item > .size,
.heap-snapshot .tree-item > .percentage {
  display: inline-block;
  text-align: right;
  width: 4em;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

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


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