header {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

main {
    margin-bottom: 2rem;
}

.table td, .table th {
    vertical-align: middle;
}

label.required:after {
    content: " *";
    color: red;
}

.text-right {
    text-align: right;
}

.clear {
    clear: both;
}

.form-group.row {
    margin-top: 5px;
    margin-bottom: 5px;
}

.commands-exec .form-inline {
    display: inline-block;
}

.form-error-icon {
    display: none;
}

.signpost-buttons {
    display: grid;
}

.signpost-buttons button {
    margin: 0.5rem 0 0.5rem 0;
}

.tip {
    position: relative;
    display: inline-block;
    cursor: pointer;
    --tip-content: '?';
}

.tip:before {
    content: var(--tip-content);
    font-size: smaller;
    font-weight: bold;
    padding: 0.1rem 0.5rem;
    border-radius: 50%;
    background-color: #f0f0f0;
    color: #333;
    position: absolute;
    top: -1.5rem;
    left: 0.2rem;
}

.tip-text {
    position: absolute;
    z-index: 9999;
    background-color: rgb(240, 240, 240);
    border-radius: 1rem;
    padding: 0.4rem 0.9rem 0.4rem 0.9rem;
    margin: 0.5rem;
    width: 32rem;
    left: -4rem;
}

.navbar-nav .nav-item {
    margin: 0 0.2rem 0 0.2rem;
}