body {
    position: relative;
    min-height: 100vh;
}

.js-only {
    display: none;
}

body > .container {
    padding: 30px 0 60px;
}

body.page-index {
    padding-bottom: 60px;
}

body.page-index > .container:empty {
    padding: 0px;
}

body.page-index > .jumbotron {
    margin-bottom: 0px;
}

h2 .fas {
    font-size: .75em;
}

h3 .fas {
    font-size: .8em;
}

.breadcrumb {
    margin-bottom: 2rem;
}

.table td, .table th {
    padding: .4rem;
}

tbody > tr.selected {
    background-color: rgb(218, 231, 255);
}

.table-hover > tbody > tr.selected:hover {
    background-color: rgb(205, 212, 226);
}

.row-actions .row-action {
    padding-right: 15px;
}

.row-actions .row-action:last-child {
    padding-right: 0px;
}

.well > .form-inline {
    margin-bottom: 15px;
}

.form-inline > .form-group + .btn {
    margin-left: 10px;
}

.form-inline > .form-group.row + .btn {
    margin-left: 25px;
}

.input-group-center {
    margin: 0 -1px;
}

.input-group-center > .input-group-text {
    border-radius: 0px;
}

.form-group.row > .control-label {
    display: flex;
    align-items: center;
    margin-bottom: 0px;
}

.form-control-static {
    margin-bottom: 0px;
}

label > input, label > select {
    margin: 0px 5px;
}

div.dataTables_wrapper div.dataTables_paginate {
    margin-top: 7px;
}

.data-table-ajax tbody td:last-child,
.data-table-ajax thead th:last-child {
    white-space: nowrap;
}

button > .fas, button > .far,
a > .fas, a > .far,
td > .fas:last-child, td > .far:last-child {
    margin-right: 5px;
}

.fas + a, .far + a  {
    margin-left: 5px;
}

a + .fas, a + .far {
    margin-left: 10px;
}

.code-editor {
    height: 400px;
}

.gpg-text {
    font-family: monospace;
}

#toast-container {
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 999;
}

#ajax-block {
    display: none;
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background: rgba(0, 0, 0, .5);
    z-index: 9999;
}

#ajax-block.show {
    display: flex !important;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px;
    line-height: 60px;
}

.footer p {
    margin-bottom: 0px;
}

.fas.spinning {
    animation: spin 1s infinite linear;
    -webkit-animation: spin2 1s infinite linear;
}

.fas.spinning.hidden {
    display: none;
}

@keyframes spin {
    from { transform: scale(1) rotate(0deg); }
    to { transform: scale(1) rotate(360deg); }
}

@-webkit-keyframes spin2 {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
