input[type=radio], input[type=checkbox] {
	opacity: 0;
	position: absolute;
}

input[type=radio], input[type=checkbox],
.checkbox, .radio {
	display: inline-block;
	vertical-align: middle;
	margin: 5px;
	cursor: pointer;
}

label.checkbox, label.radio {
	position: relative;
	text-transform: none;
	line-height: 22px;
}

	label.checkbox.small, label.radio.small {
		line-height: 17px;
		font-size: 13px;
	}

	label.checkbox:before, label.radio:before {
		content: '';
		background: #FFF;
		border: 1px solid #ced4da;
		display: inline-block;
		vertical-align: bottom;
		width: 24px;
		height: 24px;
		padding: 3px;
		margin-right: 10px;
		line-height: 1;
		text-align: center;
	}

label.checkbox.small:before, label.radio.small:before {
	width: 17px;
	height: 17px;
}

label.radio:before { border-radius: 50%; }

input[type=checkbox]:checked + label.checkbox:before, input[type=radio]:checked + label.radio:before, input[type=checkbox]:checked + input[type=hidden] + label.checkbox:before, input[type=radio]:checked + input[type=hidden] + label.radio:before {
	background: #85694E;
}

input[type=checkbox].dark:checked + label.checkbox:before, input[type=radio].dark:checked + label.radio:before {
	background: #555;
}

input[type=radio]:checked + label.radio:before {
	box-shadow: inset 0px 0px 0px 4px #fff;
}

input[type=checkbox]:checked + input[type=hidden] + label.checkbox:before {
	content: "\f26e";
	font-family: 'bootstrap-icons';
	background: #85694E;
	color: #FFF;
}

input[type=checkbox].dark:checked + label.checkbox:before {
	background: #555;
}

input[type=checkbox] + label.checkbox.small:before {
	border: 1px solid #BBB;
	width: 16px;
	height: 16px;
	margin: 0 8px 1px 0;
	font-size: 7px;
	line-height: .8;
	font-weight: 800;
}

input[type=checkbox].error + label.checkbox:before, input[type=radio].error + label.radio:before {
	border: 2px solid red;
}

input[type=checkbox].error + label.checkbox:before, input[type=radio].error + label.radio:before, input[type=checkbox].input-validation-error + label.checkbox:before, input[type=radio].input-validation-error + label.radio:before {
	border: 2px solid red;
}

input[type=checkbox].input-validation-error + input[type=hidden] + label.checkbox:before {
	border: 2px solid red;
}

