#frmSignup div.row {
    clear: both;
}
#frmSignup .col-12,
#frmSignup .col-11,
#frmSignup .col-10,
#frmSignup .col-9,
#frmSignup .col-8,
#frmSignup .col-7,
#frmSignup .col-6,
#frmSignup .col-5,
#frmSignup .col-4,
#frmSignup .col-3,
#frmSignup .col-2,
#frmSignup .col-1 {
    display: block;
    float:left;
}
#frmSignup .col-12 { width: 100%; }
#frmSignup .col-11 { width: 91.66666664%; }
#frmSignup .col-10 { width: 83.33333333%; }
#frmSignup .col-9 { width: 75%; }
#frmSignup .col-8 { width: 66.66666664%; }
#frmSignup .col-7 { width: 58.33333333%; }
#frmSignup .col-6 { width: 50%; }
#frmSignup .col-5 { width: 41.66666664%; }
#frmSignup .col-4 { width: 33.33333333%; }
#frmSignup .col-3 { width: 25%; }
#frmSignup .col-2 { width: 16.66666664%; }
#frmSignup .col-1 { width:  8.33333333%; }

#frmSignup .form-group {
    padding: 0.75em;
}
#frmSignup .form-group label {
    display: block;
    float: left;
    width: calc(150px - 1em);
    text-align: right;
    padding-right: 1em;
}
#frmSignup .form-group input[type=text],
#frmSignup .form-group select {
    display: block;
    float: left;
    width: calc(100% - 150px + 0.8em);
}
#frmSignup .form-group input.dob {
    width: calc(33.333333% - 50px + 0.266666664em);
}
#frmSignup .form-group label.checkbox-terms {
    width: calc(100% - 1em);
    text-align:left;
}
#frmSignup table.details {
    border: 1px solid #000;
}
#frmSignup table.details td {
    padding-left: 0.8em;
    padding-right: 0.8em;
}
#frmSignup label sup i.fa-star.fa-xs {
    color: #f00;
    font-size: .5em;
}
#frmSignup input.is-invalid,
#frmSignup select.is-invalid {
    border: 2px solid #f00;
}
#frmSignup label.is-invalid {
    color: #f00;
}
#frmSignup .is-valid {
    border: 2px solid limegreen;
}
#frmSignup input.button.is-valid {
    border: none;
}
#frmSignup .is-invalid:focus {
    box-shadow: inset 0 0 0 1px rgba(255,0,0,1);
}
