input[type="checkbox"],
input[type="radio"]{
    position: absolute;
    right: 9000px;
}

/*Check box*/
input[type="checkbox"]+.label-text:before {
    content: "\f096";
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    width: 1em;
    display: inline-block;
    margin-right: 5px;
}

input[type="checkbox"]:checked+.label-text:before {
    content: "\f14a";
    color: #2980b9;
    animation: effect 250ms ease-in;
}

input[type="checkbox"]:disabled+.label-text {
    color: #aaa;
}

input[type="checkbox"]:disabled+.label-text:before {
    content: "\f0c8";
    color: #ccc;
}

/*Radio box*/

input[type="radio"]+.label-text:before {
    content: "\f10c";
    font-family: "FontAwesome";
    
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    width: 1em;
    display: inline-block;
    margin-right: 5px;
}

input[type="radio"]:checked+.label-text:before {
    content: "\f192";
    color: #8e44ad;
    animation: effect 250ms ease-in;
}

input[type="radio"]:disabled+.label-text {
    color: #aaa;
}

input[type="radio"]:disabled+.label-text:before {
    content: "\f111";
    color: #ccc;
}

/*Radio Toggle*/

.toggle input[type="radio"]+.label-text:before {
    content: "\f204";
    font-family: "FontAwesome";
    
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    width: 1em;
    display: inline-block;
    margin-right: 10px;
}

.toggle input[type="radio"]:checked+.label-text:before {
    content: "\f205";
    color: #16a085;
    animation: effect 250ms ease-in;
}

.toggle input[type="radio"]:disabled+.label-text {
    color: #aaa;
}

.toggle input[type="radio"]:disabled+.label-text:before {
    content: "\f204";
    color: #ccc;
}


@keyframes effect {
    0% {
        transform: scale(0);
    }

    25% {
        transform: scale(1.3);
    }

    75% {
        transform: scale(1.4);
    }

    100% {
        transform: scale(1);
    }
}



/* sample usage */
/* 
<label for="select_${i}" class="form-label"></label>
<label>
    <input id="select_${i}" type="checkbox"><span class="label-text">text</span>
</label> */