.form-control,
.form-control:focus,
.custom-select,
.custom-select:focus{
    border           : 1px solid #3c3c3c;
    border-radius    : 0;
    background-color : transparent;
    font-size        : 16px;
    box-shadow       : none;
    width            : 100%;
    padding          : 0.375rem 0.75rem;
}

footer .form-control{
    height : 51px;
}

label .fa-asterisk{
    font-size  : .4em;
    padding    : 0 3px;
    position   : relative;
    margin-top : -5px;
}

input[type="checkbox"],
input[type="radio"]{
    position           : absolute;
    margin             : 0px;
    height             : 20px;
    width              : 20px;
    -webkit-appearance : none !important;
    -moz-appearance    : none !important;
    appearance         : none !important;
    outline            : none;
    z-index            : 20;
}

input[type="checkbox"].disabled,
input[type="radio"].disabled{
    pointer-events : none;
    opacity        : .7;
}

input[type="checkbox"].disabled ~ .form-check-label:before,
input[type="radio"].disabled ~ .form-check-label:before,
input[type="checkbox"].disabled ~ .form-radio-label:before,
input[type="radio"].disabled ~ .form-radio-label:before{
    background : rgb(191 190 190);
    opacity    : .5;
}

.form-check-label,
.form-radio-label{
    position        : relative;
    display         : flex;
    font-weight     : 400;
    justify-content : flex-start;
    line-height     : 1.2;
}

.form-check-label:before,
.form-radio-label:before{
    content       : ' ';
    height        : 20px;
    width         : 22px;
    border        : 3px solid var(--green-0);
    box-shadow    : 0 2px 0 var(--green-1);
    background    : #ffffff;
    margin-right  : 10px;
    border-radius : 50%;
}

.form-check-label:before{
    height        : 20px;
    width         : 20px;
    border-radius : 10%;
}

.form-check-label:after,
.form-radio-label:after{
    position      : absolute;
    display       : flex;
    top           : calc(50% - 6px);
    left          : 4px;
    height        : 12px;
    width         : 13px;
    background    : var(--green-0);
    transition    : all .3s ease;
    border-radius : 50%;
}

.form-check-label:after{
    left          : 5px;
    right         : 0;
    height        : 10px;
    width         : 10px;
    border-radius : 10%;
}

input[type="checkbox"].has-error ~ .form-check-label:before{
    border : 1px solid #BF3F3F;
}

input[type="radio"]:checked ~ .form-radio-label:after,
input[type="checkbox"]:checked ~ .form-check-label:after,
input[type="radio"]:checked + input[type="radio"] + .form-radio-label:after,
input[type="checkbox"]:checked + input[type="checkbox"] + .form-check-label:after,
input[type="radio"]:checked + .form-radio-label:after,
input[type="checkbox"]:checked + .form-check-label:after{
    content   : '';
    transform : translateY(2px);
}

input[type="radio"]:checked ~ .form-radio-label:before,
input[type="checkbox"]:checked ~ .form-check-label:before,
input[type="radio"]:checked + input[type="radio"] + .form-radio-label:before,
input[type="checkbox"]:checked + input[type="checkbox"] + .form-check-label:before{
    /*background-color : var(--green-0);*/
    /*border-color     : transparent;*/
    box-shadow : none;
    transform  : translateY(2px);
}

.form-radio-label[data-toggle="collapse"]:not(.collapsed):before{
    background-color : rgb(38, 167, 183);
    border-color     : rgb(38, 167, 183);
    box-shadow       : 0 2px 3px rgb(0 0 0 / 35%);
}

.form-radio-label[data-toggle="collapse"]:not(.collapsed):after{
    content : '';
}

label{
    margin-bottom   : 0;
    color           : #495057;
    pointer-events  : none;
    cursor          : text;
    display         : flex;
    align-items     : center;
    justify-content : flex-start;
    font-size       : 1em;
}

label.has-error{
    color : #BF3F3F;
}

label.form-radio-label[data-toggle="collapse"]{
    pointer-events : inherit;
    cursor         : inherit;
}

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

.form-control::-webkit-input-placeholder{
    color       : #ababab;
    font-weight : 100;
}

.form-control::-moz-placeholder{
    color       : #ababab;
    font-weight : 100;
    font-size   : .8rem;
}

.form-control::-ms-placeholder{
    color       : #ababab;
    font-weight : 100;
    font-size   : .8rem;
}

.form-control::placeholder{
    color       : #ababab;
    font-weight : 100;
    font-size   : .8rem;
}

.input-daterange input:first-child{
    -webkit-border-radius : 0px;
    -moz-border-radius    : 0px;
    border-radius         : 0px;
}

.text-css, .text-css:hover, .text-css:focus{
    border-color     : transparent;
    background-color : #fff;
    background-image : none;
    cursor           : default;
    pointer-events   : none;
    appearance       : none;
}

.input-daterange .form-control{
    position : relative !important;
    width    : 100% !important;
    z-index  : 10;
}

.bi-calendar3{
    position : absolute;
    left     : 7px;
    top      : 7px;
    z-index  : 0;
}

.disabled {
    pointer-events: none;
    border: none!important;
    -webkit-appearance: initial;
    padding: 0;
}