body,
html {
    height: 100%;
    margin: 0;
    padding: 0
}

body {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0
}

ol,
ul {
    list-style-type: none
}

.ui-notification {
    background: #FF8;
    font: 12px/24px arial, sans-serif;
    display: none;
    margin: 0 0 0 -4px;
    padding: 0 10px;
    position: fixed;
    text-align: center;
    top: 0;
    z-index: 10
}

.status-error {
    background: #C00;
    color: #FFF;
    display: inline-block
}

.ui-editor {
    float: left;
    height: 100%;
    position: relative;
    width: 50%
}

.ui-resizer {
    background: #CCC;
    border: solid #FFF;
    border-width: 0 2px;
    bottom: 0;
    cursor: ew-resize;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px
}

.resizing,
.resizing:hover,
.ui-resizer:hover {
    background: #EEE;
    border-color: #EEE
}

.ui-field {
    border: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #333;
    height: 100%;
    margin: 0;
    min-width: 0;
    outline: 0 0;
    overflow: hidden;
    padding: 30px;
    resize: none;
    width: 100%;
    width: calc(100% - 5px)
}

.ui-field:focus {
    color: #000
}

.ui-field:hover {
    overflow: auto
}

.ui-aside {
    background: #FFF;
    height: 100%;
    overflow: hidden;
    position: relative
}

.ui-aside:hover {
    overflow: auto
}

.ui-treeview {
    cursor: default;
    padding: 30px;
    position: relative
}

.ui-menu {
    height: 40px;
    position: fixed;
    right: 20px;
    width: 40px;
    z-index: 1
}

.ui-menu::before {
    background: url(img/gear.svg) no-repeat 50% 50% / 25px;
    content: '';
    display: block;
    height: 40px;
    opacity: .5;
    position: fixed;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: opacity 3500ms ease, -webkit-transform 100ms ease;
    transition: opacity 3500ms ease, transform 100ms ease;
    width: 40px
}

.ui-menu:hover::before {
    opacity: 1;
    -webkit-transform: rotate(0);
    transform: rotate(0)
}

.ui-menu-dropdown {
    display: none;
    padding: 20px;
    position: absolute;
    right: -22px;
    top: 18px;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none
}

.ui-menu:hover .ui-menu-dropdown {
    display: block
}

.ui-menu-panel {
    background: #FFF;
    border: solid 1px #CCC;
    box-shadow: 0 3px 2px -3px rgba(0, 0, 0, .2);
    color: #555;
    display: block;
    font-family: Ubuntu, Arial, sans-serif;
    font-size: 78%;
    padding: 2px;
    position: relative;
    -moz-user-select: none;
    white-space: nowrap
}

.ui-menu-panel:before {
    background: #FFF;
    border: solid #CCC;
    border-radius: 0 0 20px;
    border-width: 1px 0 0 1px;
    content: '';
    display: block;
    height: 6px;
    position: absolute;
    right: 18px;
    top: -4px;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 6px
}

.ui-menu-item {
    color: inherit;
    cursor: pointer;
    display: block;
    padding: 3px 10px 3px 5px;
    text-decoration: none
}

.ui-menu-item:hover {
    background-color: #1e90ff;
    color: #FFF
}

.ui-menu-separator {
    border: 0;
    border-top: solid 1px #E5E5E5;
    height: 0;
    margin: 2px -2px;
    padding: 0
}

.ui-menu-item::before {
    content: '';
    display: inline-block;
    width: 1.2em
}

.beautify #beautify::before,
.show-indexes #show-indexes::before,
.show-types #show-types::before {
    content: '✔'
}

@media (max-width: 500px) {
    .ui-editor {
        float: none;
        height: 50%;
        width: 100%
    }

    .ui-field {
        height: calc(100% - 5px);
        width: 100%
    }

    .ui-resizer {
        border-width: 2px 0;
        bottom: 0;
        cursor: ns-resize;
        height: 1px;
        left: 0;
        top: auto;
        width: 100%
    }

    .ui-aside {
        height: 50%
    }
}

.popup-container {
    background: rgba(0, 0, 0, .8);
    display: none;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.popup-container.show {
    display: table
}

.popup-centerer {
    cursor: pointer;
    display: table-cell;
    vertical-align: middle
}

.popup {
    background: url(img/avatar.png) #FFF bottom center no-repeat;
    border: solid 10px #FFF;
    border-radius: 50%;
    cursor: default;
    font-family: Ubuntu, Arial, Helvetica, sans-serif;
    height: 290px;
    margin-left: auto;
    margin-right: auto;
    max-width: 50%;
    padding: 4em 5em 6em;
    position: relative;
    text-align: center;
    width: 290px
}

.links {
    font-size: 73%;
    margin-top: 1.4em
}

.link {
    color: #1e90ff;
    cursor: pointer;
    text-decoration: underline
}

.title {
    font-size: 140%;
    font-weight: 700
}

small {
    font-size: 73%
}

.bitcoin {
    background-image: none
}

.bitcoin .main,
.second {
    display: none
}

.bitcoin .second,
.main {
    display: block;
    margin: 0 -3em
}

.json {
    font-family: monospace;
    line-height: 152%;
    word-wrap: break-word
}

.property {
    color: #204a87
}

.number {
    color: #ad7fa8
}

.string {
    color: #4e9a06
}

.boolean {
    color: #c4a000
}

.null {
    color: #babdb6;
    font-style: italic
}

.error {
    background: url(img/syntax-error.png) repeat-x left bottom;
    border-radius: 3px;
    cursor: default;
    padding: 0;
    text-shadow: none
}

.error::after {
    background: rgba(255, 0, 0, .4);
    border-radius: 2px;
    content: "";
    display: block;
    height: 17px;
    left: 10px;
    margin-top: -17px;
    position: absolute;
    width: 10px
}

.error:hover::after {
    background: rgba(255, 0, 0, .8)
}

.show-indexes ol {
    counter-reset: idx -1
}

.show-indexes ol>li::before {
    color: #A40000;
    content: counter(idx)'.';
    counter-increment: idx;
    font-family: arial;
    font-weight: 700;
    padding: 0 5px 0 0;
    vertical-align: bottom
}

.show-indexes.color ol>li::before {
    background-color: #a40000
}

li,
ol,
ul {
    display: inline;
    margin: 0;
    padding: 0
}

.beautify li,
.beautify ol,
.beautify ul {
    border-left: solid 1px transparent;
    display: block
}

.beautify ol,
.beautify ul {
    margin: 0 0 0 2px;
    padding: 0 0 0 23px
}

.beautify ol {
    border-radius: 10px 0 0
}

.collapsed>.toggle-end,
.toggle {
    cursor: pointer;
    margin: -10px;
    padding: 10px
}

.collapsed:hover>.toggle,
.collapsed:hover>.toggle-end,
.toggle:hover,
.toggle:hover~.toggle-end {
    font-weight: 700
}

.toggle:hover::before {
    font-weight: 400
}

.toggle:hover+ol {
    border-left: solid 1px rgba(164, 0, 0, .5)
}

.toggle:hover+ul {
    border-left: solid 1px rgba(114, 159, 207, .5)
}

.toggle:hover+ol * {
    color: rgba(164, 0, 0, .5)
}

.toggle:hover+ul * {
    color: rgba(114, 159, 207, .5)
}

.collapsed>ol,
.collapsed>ul {
    display: none !important
}

.object>.toggle,
.object>.toggle-end {
    color: #729FCF
}

.object>.toggle::before {
    border-color: #729FCF;
    color: #729FCF
}

.collapsed.object .toggle-end::before {
    content: '…';
    display: inline
}

.array>.toggle,
.array>.toggle-end {
    color: #A40000
}

.array>.toggle::before {
    border-color: #A40000;
    color: #A40000
}

.collapsed.array .toggle-end::before {
    content: attr(card);
    display: inline
}

.array::before,
.boolean::before,
.number::before,
.object::before,
.string::before {
    border-radius: 2px;
    color: #FFF;
    margin: 0 2px;
    opacity: .4;
    padding: .1em .2em;
    word-wrap: normal
}

.show-types .object::before {
    background-color: #729fcf;
    content: 'object'
}

.show-types .array::before {
    background-color: #a40000;
    content: 'array'
}

.show-types .number::before {
    background-color: #ad7fa8;
    content: 'number'
}

.show-types .string::before {
    background-color: #4e9a06;
    content: 'string'
}

.show-types .boolean::before {
    background-color: #c4a000;
    content: 'boolean'
}
