.c-checkbox input, .c-radio input {
    opacity: 0 !important;
    position: absolute !important;
    margin-left: 0 !important;
}

.c-checkbox input[type=checkbox]:checked + span, .c-checkbox input[type=radio]:checked + span, .c-radio input[type=checkbox]:checked + span, .c-radio input[type=radio]:checked + span {
    border-color: #5d9cec !important;
    background-color: #5d9cec !important;
}

.c-checkbox span, .c-radio span {
    position: relative !important;
    display: inline-block !important;
    vertical-align: top !important;
    /*margin-left: -20px !important;*/
    width: 20px !important;
    height: 20px !important;
    border-radius: 2px !important;
    border: 1px solid #ccc !important;
    margin-right: 5px !important;
    text-align: center !important;
}

.fa {
    display: inline-block !important;
    font: normal normal normal 14px/1 FontAwesome !important;
    font-size: inherit !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.c-checkbox input[type=checkbox]:checked + span:before, .c-checkbox input[type=radio]:checked + span:before, .c-radio input[type=checkbox]:checked + span:before, .c-radio input[type=radio]:checked + span:before {
    color: #fff !important;
    opacity: 1 !important;
    transition: color .3s ease-out !important;
}

.c-checkbox span:before, .c-radio span:before {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    opacity: 0 !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 18px !important;
    vertical-align: middle !important;
}

.c-checkbox span:before, .c-radio span:before {
    margin-left: 1px !important;
}

.fa-check:before {
    content: "\f00c" !important;
}

.isMoney:before {
    position: absolute;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    color: #0f2556;
    content: "\f154";
}

div.isMoney:before {
    left: -0.2rem;
    top: -0.1rem;
}

span.isMoney:before {
    top: 1rem;
    left: 0;
    font-size: 1.1rem;
}

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

/* override for selects pending CSS overhaul ref: .editfield-with-unit */
select.editfield-minimal option {
    background-color: #ebf0f2;
    padding: 16px 15px 17px;
}

select.editfield-minimal {
    margin: 0 0 10px;
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 6px;
    box-shadow: inset 0 2px 0 0 #c6cacc;
    display: inline-block;
    color: #566266;
    font-weight: 500;
    font-size: 1rem;
    background-color: #ebf0f2;
}

.big-blue {
    font-size: 133% !important;
    color: #00aeef;
}

.i4f-blue {
    color: #00aeef !important;
}

.card-text-sm {
    font-size: 0.8rem !important;
}

#criteriaForm fieldset, #criteriaForm fieldset fieldset { /* todo: use constant FORM_NAME for ID */
    border: 0;
    padding: 0;
    margin: 0;
}

.itemBtn {
    margin-left: 3rem;
    width: 12rem;
}