body {
    margin: 0;
    font-family: "Open Sans","Helvetica Neue",sans-serif;
    font-size: 14px;
}

.page-container {
    min-height: 100vh;
    max-width: 1500px;
    margin: auto;
    padding: 0 32px;
    display: flex;
    flex-direction: column;
}
.content-container {
    flex-grow: 1;
    display: flex;
    flex-direction: row;
}

.page-header {
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 64px;
    border-bottom: 1px solid #c8c8c8;
}
.page-header h1 {
    margin: 0;
}
.page-header .nds-logo {
    height: 60%;
}
.page-header .rub-logo {
    height: 75%;
}

.sidebar {
    padding: 32px 16px;
}
.sidebar .ui-menu {
    width: 250px;
}
.ui-menu .active {
    background-color: rgba(0, 53, 96, 0.15);
}

.main-content {
    padding: 32px;
    flex-grow: 1;
}
.ui-tabs {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ui-tabs-panels {
    flex-grow: 1;
}
.ui-tabs-panel {
    height: 100%;
    display: flex;
    flex-direction: column;
}
body .ui-tabs .ui-tabs-panels .ui-tabs-panel {
    padding: 1em;
}

.button {
    margin: 0;
    padding: .5em 1em;
    background-color: #007ad9;
    color: #fff;
    border: 1px solid #007ad9;
    border-radius: 4px;
    cursor: pointer;
    transition: 0.3s;
}
.button:disabled {
    color: #c8c8c8;
    background-color: #0069bb;
    cursor: not-allowed;
}

.button:hover {
    background-color: #116fbf;
    border: 1px solid #116fbf;
}

.ui-tabs-panel iframe {
    flex-grow: 1;
    display: block;
    width: 100%;
    border: 1px solid #000;
    margin-top: 1em;
}

.db-reset-form {
    align-self: flex-end;
    float: right;
}
.db-reset-form .submit-check {
    vertical-align: middle;
    transition: opacity 0.1s ease-out;
    opacity: 0;
}
.db-reset-form.success .submit-check {
    opacity: 1;
}

.button-row {
    display: flex;
    align-items: baseline;
}
.button-row button {
    margin: 0;
    background-color: #007ad9;
    color: #fff;
    border: 1px solid #56a1dc;
    border-left-width: 0;
    padding: .3em 0.75em;
    cursor: pointer;
}
.button-row button:first-child {
    margin-left: 8px;
    border-left-width: 1px;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}
.button-row button:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.button-row button:hover {
    background-color: #008af7;
}
.button-row button:active {
    background-color: #1999ff;
}
.button-row button.active {
    background-color: #004377;
}
input.io-field, textarea.io-field {
    border: 1px solid black;
    width: 100%;
    font-family: monospace;
    padding: 8px;
}

pre {
    white-space: pre-wrap;
    word-wrap: anywhere;
}
textarea {
    resize: vertical;
}

.row {
    display: flex;
    flex-direction: row;
    column-gap: 16px;
}
.col {
    display: flex;
    flex-direction: column;
}
.col > label {
    display: block;
}

.CodeMirror {
    border: 1px solid black;
    height: auto;
    width: 100%;
    padding: 2px;
}
.CodeMirror-scroll {
    min-height: 75px;
}
.CodeMirror-wrap pre.CodeMirror-line, .CodeMirror-wrap pre.CodeMirror-line-like {
    word-break: break-word !important;
}
.CodeMirror-matchingtag {
    background: initial;
}
.CodeMirror-focused .CodeMirror-matchingtag {
    background: rgba(255, 150, 0, .3);
}
