
input:required:invalid,
select:required:invalid,
textarea:required:invalid {
    border: 2px solid #e74c3c;  /* red border */
    background: #fdecea;        /* light red background */
}
.form-check-input {
    cursor: pointer;
    background-color: #afb8a6;
}
.form-check-label-sm {
    color: #797777;
    font-size: 0.56rem;
    font-family: Arial, sans-serif;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.form-floating > .form-control {
    padding-bottom: 0 !important;
    height: fit-content !important;
}
.form-floating > label {
    padding-bottom: 0 !important;
    height: fit-content !important;
}
.form-floating .field-help {
    position: absolute;
    top: 0.7rem;
    right: 0.2rem;
    transform: translateY(-50%);
    cursor: pointer;
    color: #6c757d;
    z-index: 5;
}
.form-floating .field-help:hover {
    color: #0d6efd;
}
.form-group .field-help {
    position: absolute;
    top: 0.8rem;
    right: 0.15rem;
    transform: translateY(-50%);
    cursor: pointer;
    color: #6c757d;
    z-index: 5;
}
.form-group .field-help:hover {
    color: #0d6efd;
}

.form-control.xs,
.form-select.xs {
    height: 25px;
    font-size: 0.75rem;
    padding: 2px 6px;
}
.address_form {
    width: 100%;
    margin: 0.4rem 0 0.4rem 0;
    border-color: #0d6efd;
}
.address_form_title {
    color: white !important;
    background-color: #0d6efd; 
    border-color: #0d6efd;
}

.text-grey-out, .text-form {
    color: #797777;
    font-style: italic;
    font-size: 0.7rem !important;
}
.text-form-required {
    color: #8a8080 !important;
    font-size: 0.8rem !important;    
    font-family: Arial, sans-serif;
    padding-left: 10px;
}
.text-form-required::first-letter {
    color: red;
    font-weight: bolder;
}
.text-success {
    color: #0d6efd;
    font-weight: bold;
}
.form-field-remark {
    color: red !important;
    font-size: 0.69rem !important;
    font-weight: bolder;
    padding-left: 10px;
}