.checkbox_label {
	display: inline-block;
	position: relative;
	color:#ffffff;
	font-size:17px;
	font-weight:400;
	text-align:left;
	cursor: pointer;
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
}

input[type="checkbox"]
.checkbox_label::before,
input[type="radio"]
.checkbox_label::before {
	width: 20px;
	height: 20px;
	top: 50%;
	left: 0;
	margin-top: -25px;
	position: absolute;
	cursor: pointer;
}

input[type="checkbox"], input[type="radio"]{
	opacity: 0;
	-webkit-appearance: none;
	display: inline-block;
	vertical-align: middle;
	
	position:absolute;
	top:7px;
	left:0;
	width: 25px;
	height: 25px;
	cursor:pointer;
	z-index:1;
}

.checkbox_label::before {
	content: '';
	width:20px;
	height:20px;
	border-radius:3px;
	border:2px solid #c6cbcf;
	display:inline-block;
	vertical-align:middle;
	margin-right:10px;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
input[type="checkbox"]:checked + .checkbox_label::before,
input[type="radio"]:checked + .checkbox_label::before{
	opacity: 0.8;
}
.checkbox_label.error:before{
	border:2px solid rgba(225,0,0,0.4);
}

/* General SVG and path styles */

.ac-custom svg {
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	margin-top: -10px;
	left: 3px;
	pointer-events: none;
}

.ac-custom svg path {
	stroke: #c6cbcf;
	stroke-width: 13px;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}
