html, body, .fullheight {
    height: 100%;
}

.fullwidth {
    width: 100%;
}

main {
    padding-top: 5rem;
    padding-bottom: 60px;
    flex: 1 0 auto;
}

body {
    display: flex;
    flex-direction: column;
}

footer.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 60px;
    line-height: 60px;
    background-color: #f5f5f5;
    box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
    position: relative;
    text-align: center;
}

.wider-container {
    width: calc(100% - 2em);
    margin-left: 1em;
    margin-right: 1em;
}

nav {
    z-index: 99;
}

.navbar-expand-md {
    position: fixed;
    width: 100%;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5);
}

.dashboard-card {
    margin-bottom: 15px;
    z-index: 0;
}

.card {
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.247);
    transition-duration: 0.1s;
    border-radius: 10px;
}

.card:hover {
    background-color: rgb(65, 65, 65);
}

.fa {
    filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.5));
    -webkit-filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.5));
}

.fa-check::before {
    color: #28a745;
}

.fa-times::before {
    color: #dc3545;
}

button.btn-link {
    cursor: pointer;
}

.inline-block {
    display: inline-block;
}

.inline-flex, .pagination {
    display: inline-flex;
}

.tree .list-group > .list-group-item {
    margin-left: 20px;
}

.tree .list-group > .list-group {
    margin-left: 20px;
}

.tree .collapser i {
    cursor: pointer;
    /* color: #007bff; */
}

.select2-container {
    margin-right: 0.5rem;
}

.list-group-item.antipad {
    padding-top: 0;
    padding-bottom: 0;
}

.flex-1 { flex: 1; }
.flex-2 { flex: 2; }

.reports-report img:not([alt]) {
    max-width: 100%;
}

/* https://stackoverflow.com/questions/44467377/bootstrap-4-multilevel-dropdown-inside-navigation */
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu a::after {
  transform: rotate(-90deg);
  position: absolute;
  right: 6px;
  top: .8em;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .1rem;
  margin-right: .1rem;
}

.pull-right {
    float: right;
}

.btn-group-xs > .btn, .btn-xs {
  padding  : .25rem .4rem;
  font-size  : .875rem;
  line-height  : .5;
  border-radius : .2rem;
}

[draggable] {
    cursor: move;
    user-select: none;
}

.key {
    border: 1px outset black;
    border-radius: 3px;
    padding: 5px;
    font-family: monospace;
}

textarea {
    font-family: monospace;
}

.no-vert-pad {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
}

#currentPassword {
    background-color: white !important;
}

#ruler {
    visibility: hidden;
    white-space: nowrap;
}

table.form-control {
    color: inherit;
    background-color: inherit;
    height: auto;
}

table.form-control th, table.form-control td {
    padding: 0 1em 0 0;
}

input[type="radio"][disabled] {
    opacity: 0.3;
}

.bg-black {
    background-color: black;
}
