.form-required label:after {
    content: '*';
    color: #dc3545;
}

.form-msg {    
    display: none;
}

.form-error .form-msg,
.form-warning .form-msg {
    z-index: 1000;
    display: block;
    position: absolute;
    bottom: -10px;
    padding: 1px 10px;
    right: 15px;
    text-decoration: none;
    cursor: pointer;
    font-size: 8pt;
    transition: all 0.1s;
}

.form-error .form-msg:hover,
.form-warning .form-msg:hover {
    font-size: 12pt;
}

.form-error .form-msg {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.form-error .form-control {
    border: 1px solid #f5c6cb;
}

.form-error label {
    color: #dc3545;
}

.form-warning .form-msg {
    background: #fff3cd;
    border: 1px solid #ffdf7e;
    color: #856404;
}

.form-warning .form-control {
    border: 1px solid #ffdf7e;
}

.form-warning label {
    color: #e0a800;
}