.c-checkbox {
	position: relative;
}

.c-checkbox.c-checkbox-inline .c-checkbox {
	display: inline-block;
}

.form-inline .c-checkbox.c-checkbox-inline {
	margin-right: 20px;
	top: 3px;
}

.c-checkbox input[type=checkbox] {
	visibility: hidden;
	position: absolute;
}

.c-checkbox label:not(.control-label) {
	cursor: pointer;
	padding-left: 30px;
}

.c-checkbox label > span {
	display: block;
	position: absolute;
	left: 0;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

.c-checkbox label > span.inc {
	background: #fff;
	left: -10px;
	top: -10px;
	height: 40px;
	width: 40px;
	opacity: 0;
	border-radius: 50% !important;
	-moz-border-radius: 50% !important;
	-webkit-border-radius: 50% !important;
}

.c-checkbox label > .box {
	top: 2px;
	border: 2px solid green;
	height: 20px;
	width: 20px;
	z-index: 5;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.ie .c-checkbox label > .box {
	top: 2px;
}

.c-checkbox label > .check {
	top: -2px;
	left: 6px;
	width: 10px;
	height: 20px;
	border: 2px solid darkgreen;
	border-top: none;
	border-left: none;
	opacity: 0;
	z-index: 5;
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	transform: rotate(180deg);
	-webkit-transition-delay: 0.3s;
	-moz-transition-delay: 0.3s;
	transition-delay: 0.3s;
}

/* for c-ckeckbox */
.c-checkbox label > span.inc {
	-webkit-animation: growCircle 0.3s ease;
	-moz-animation: growCircle 0.3s ease;
	animation: growCircle 0.3s ease;
}

.c-checkbox input[type=checkbox]:checked ~ label > .box {
	opacity: 0;
	-webkit-transform: scale(0) rotate(-180deg);
	-moz-transform: scale(0) rotate(-180deg);
	transform: scale(0) rotate(-180deg);
}

.c-checkbox input[type=checkbox]:checked ~ label > .check {
	opacity: 1;
	-webkit-transform: scale(1) rotate(45deg);
	-moz-transform: scale(1) rotate(45deg);
	transform: scale(1) rotate(45deg);
}

.c-checkbox input[type=checkbox]:disabled ~ label,
.c-checkbox input[type=checkbox][disabled] ~ label {
	cursor: not-allowed;
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.c-checkbox input[type=checkbox]:disabled ~ label > .box,
.c-checkbox input[type=checkbox][disabled] ~ label > .box {
	cursor: not-allowed;
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.c-checkbox input[type=checkbox]:disabled:checked ~ label > .check,
.c-checkbox input[type=checkbox][disabled]:checked ~ label > .check {
	cursor: not-allowed;
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.c-checkbox.has-error label {
	color: #e7505a;
}

.c-checkbox.has-error label > .box {
	border-color: #e7505a;
}

.c-checkbox.has-error label > .check {
	border-color: #e7505a;
}

.has-error .input-group-text {
	border-color: #e7505a;
}

.has-danger .input-group-text {
	border-color: #e7505a;
}

.c-checkbox.has-info label {
	color: #4eabe6;
}

.c-checkbox.has-info label > .box {
	border-color: #4eabe6;
}

.c-checkbox.has-info label > .check {
	border-color: #4eabe6;
}

.has-info .input-group-text {
	border-color: #4eabe6;
}

.c-checkbox.has-success label {
	color: #5dc09c;
}

.c-checkbox.has-success label > .box {
	border-color: #5dc09c;
}

.c-checkbox.has-success label > .check {
	border-color: #5dc09c;
}

.has-success .input-group-text {
	border-color: #5dc09c;
}

.c-checkbox.has-warning label {
	color: #ed9c28;
}

.c-checkbox.has-warning label > .box {
	border-color: #ed9c28;
}

.c-checkbox.has-warning label > .check {
	border-color: #ed9c28;
}

.has-warning .input-group-text {
	border-color: #ed9c28;
}

.c-radio {
	position: relative;
}

.c-radio.c-radio-inline {
	display: inline-block;
}

.form-inline .c-radio.c-radio-inline {
	margin-right: 20px;
	top: 3px;
}

.c-radio input[type=radio] {
	visibility: hidden;
	position: absolute;
}

.c-radio label:not(.control-label) {
	cursor: pointer;
	padding-left: 30px;
}

.c-radio label > span {
	display: block;
	position: absolute;
	left: 0;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

.c-radio label > span.inc {
	background: #fff;
	left: -10px;
	top: -10px;
	height: 40px;
	width: 40px;
	opacity: 0;
	border-radius: 50% !important;
	-moz-border-radius: 50% !important;
	-webkit-border-radius: 50% !important;
}

.c-radio label > .box {
	top: 1px;
	border: 2px solid green;
	height: 20px;
	width: 20px;
	border-radius: 50% !important;
	-moz-border-radius: 50% !important;
	-webkit-border-radius: 50% !important;
	z-index: 5;
}

.ie .c-radio label > .box {
	top: 2px;
}

.c-radio label > .check {
	top: 6px;
	left: 5px;
	width: 10px;
	height: 10px;
	background: darkgreen;
	opacity: 0;
	z-index: 6;
	display: block;
	border-radius: 50% !important;
	-moz-border-radius: 50% !important;
	-webkit-border-radius: 50% !important;
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	transform: scale(0);
}

.c-radio label > span.inc {
	-webkit-animation: growCircleRadio 0.3s ease;
	-moz-animation: growCircleRadio 0.3s ease;
	animation: growCircleRadio 0.3s ease;
}

.c-radio input[type=radio]:checked ~ label > .check {
	opacity: 1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	transform: scale(1);
}

.c-radio input[type=radio]:disabled ~ label,
.c-radio input[type=radio][disabled] ~ label {
	cursor: not-allowed;
	opacity: 0.7;
}

.c-radio input[type=radio]:disabled ~ label > .box,
.c-radio input[type=radio][disabled] ~ label > .box {
	cursor: not-allowed;
	opacity: 0.7;
}

.c-radio input[type=radio]:disabled:checked ~ label > .check,
.c-radio input[type=radio][disabled]:checked ~ label > .check {
	cursor: not-allowed;
	opacity: 0.7;
}

.c-radio.has-error label {
	color: #e7505a;
}

.c-radio.has-error label > .box {
	border-color: #e7505a;
}
.c-radio.has-error label > .check {
	background: #e7505a;
}

.c-radio.has-info label {
	color: #4eabe6;
}

.c-radio.has-info label > .box {
	border-color: #4eabe6;
}

.c-radio.has-info label > .check {
	background: #4eabe6;
}

.c-radio.has-success label {
	color: #5dc09c;
}

.c-radio.has-success label > .box {
	border-color: #5dc09c;
}

.c-radio.has-success label > .check {
	background: #5dc09c;
}

.c-radio.has-warning label {
	color: #ed9c28;
}

.c-radio.has-warning label > .box {
	border-color: #ed9c28;
}

.c-radio.has-warning label > .check {
	background: #ed9c28;
}

.c-radio.has-joe label {
	color: #32c5d2;
}

.c-radio.has-joe label > .box {
	border-color: #32c5d2;
}

.c-radio.has-joe label > .check {
	background: #32c5d2;
}

.form-c-radios.has-error > label {
	color: #e7505a;
}

.form-c-radios.has-info > label {
	color: #4eabe6;
}

.form-c-radios.has-success > label {
	color: #5dc09c;
}

.form-c-radios.has-warning > label {
	color: #ed9c28;
}

.form-c-radios.has-joe > label {
	color: #32c5d2;
}

.c-radio-list {
	margin: 10px 0;
}

.form-horizontal .c-radio-list {
	margin-top: 0;
}

.c-radio-list .c-radio {
	display: block;
	margin-bottom: 10px;
}

.c-radio-inline {
	margin: 10px 0;
}

.form-horizontal .c-radio-inline {
	margin-top: 8px;
}

.c-radio-inline .c-radio {
	display: inline-block;
	margin-right: 20px;
}

.c-radio-inline .c-radio:last-child {
	margin-right: 0;
}