JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<h1>Checkbox :</h1> 

<input id="checkbox1" type="checkbox" />
<label for="checkbox1"></label>
<input id="checkbox2" type="checkbox" checked />
<label for="checkbox2"></label>

<h1>Radio :</h1>

<input id="radio1" type="radio" name="group" />
<label for="radio1"></label>

<input id="radio2" type="radio" name="group" checked />
<label for="radio2"></label>

<input id="radio3" type="radio" name="group" />
<label for="radio3"></label>

CSS

body {
    margin: 30px;
    text-align: center;
}

input[type=checkbox],
input[type=radio]{
    display: none;
}

input[type=checkbox] + label,
input[type=radio] + label {
	display: inline-block;
	width: 50px;
	height: 30px;
	position: relative;
	cursor: pointer;
	appearance:         none;
	-webkit-appearance: none;
	-moz-appearance:    none;
	box-shadow:         inset 0px 5px 40px -13px rgba(0, 0, 0, 0.75);
	-webkit-box-shadow: inset 0px 5px 40px -13px rgba(0, 0, 0, 0.75);
	-moz-box-shadow:    inset 0px 5px 40px -13px rgba(0, 0, 0, 0.75);
	-o-box-shadow:      inset 0px 5px 40px -13px rgba(0, 0, 0, 0.75);
	border-radius:         15px;
	-webkit-border-radius: 15px;
	-moz-border-radius:    15px;
	-o-border-radius:      15px;
	background-color: #fff;
	padding: 1px;
	margin: 0px;
	transition:         all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition:    all 0.3s ease-out;
	-o-transition:      all 0.3s ease-out;	
	transform:         scale(1);
	-webkit-transform: scale(1); /*Adjust size here*/
	-moz-transform:    scale(1);
	-o-transform:      scale(1);
}

input[type=checkbox]:checked + label,
input[type=radio]:checked + label {
	box-shadow:         inset 0px 0px 0px 20px #53d76a, inset 0px 5px 40px -13px rgba(132, 132, 132, 1);
	-webkit-box-shadow: inset 0px 0px 0px 20px #53d76a, inset 0px 5px 40px -13px rgba(132, 132, 132, 1);
	-moz-box-shadow:    inset 0px 0px 0px 20px #53d76a, inset 0px 5px 40px -13px rgba(132, 132, 132, 1);
	-o-box-shadow:      inset 0px 0px 0px 20px #53d76a, inset 0px 5px 40px -13px rgba(132, 132, 132, 1);
}

input[type=checkbox] + label:after,
input[type=radio] + label:after {
    left: 0;
	content: " ";
	position: absolute;
	width: 28px;
	height: 28px;
	cursor: pointer;
	border-radius:         15px;
	-webkit-border-radius: 15px;
	-moz-border-radius:    15px;
	-o-border-radius:      15px;
	box-shadow:         0px 2px 2px 1px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.2);
	-moz-box-shadow:  ...