.has-error {
    color: red;
}

.has-error .form-control,
.login-card-body .input-group.has-error .input-group-text,
.register-card-body .input-group.has-error .input-group-text,
.login-card-body .input-group.has-error .form-control:focus ~ .input-group-append .input-group-text,
.login-card-body .input-group.has-error .form-control:focus ~ .input-group-prepend .input-group-text,
.register-card-body .input-group.has-error .form-control:focus ~ .input-group-append .input-group-text,
.register-card-body .input-group.has-error .form-control:focus ~ .input-group-prepend .input-group-text,
.has-error .select2-container--default .select2-selection--single {
    border-color: red;
    color: red;
}

.help-block {
    margin-top: 4px;
}

.alert ul {
    margin: 0 !important;
}

div.dataTables_wrapper div.dataTables_filter {
    text-align: left;
}

div.dataTables_wrapper div.dataTables_length {
    text-align: right;
}

@media screen and (max-width: 767px) {
    div.dataTables_wrapper div.dataTables_length,
    div.dataTables_wrapper div.dataTables_filter {
        text-align: center;
    }
}

.dataTables_wrapper div.row:nth-child(2) {
    overflow-x: auto;
}
.dataTables_wrapper div.row:nth-child(3) > div {
    margin-top: 1rem;
}

div.dataTables_wrapper div.dataTables_filter label {
    display: flex;
}

div.dataTables_wrapper div.dataTables_filter input {
    width: 70%;
    background: #f4f6f9;
}

@media screen and (max-width: 767px) {
    div.dataTables_wrapper div.dataTables_filter input {
        width: 99%;
    }
}

table thead tr {
    background-color: #f4f6f9;
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, .03);
}

.table-payments td {
    vertical-align: middle;
}

.table-payments td.col-action {
    width: 1%;
}

.table-registrations tr {
    cursor: pointer;
}