.custom-checkbox {
	position: relative;
}
.custom-checkbox input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	border: 1px solid #ccc;
	background-color: #fff;
	opacity: 0;
	align-items: flex-start;
}
.custom-checkbox > label {
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	position: relative;
	margin: 0;
	min-height: 24px;
	display: flex;
	padding-left: 36px;
	cursor: pointer;
	align-items: center;
}
.custom-checkbox > label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	border: 1px solid #ccc;
	background-color: #fff;
	box-shadow: 0 4px 11px rgba(14,10,109,.15);
	transition: .3s;
}
.custom-checkbox > label > span {
	display: flex;
	align-items: center;
	letter-spacing: 0;
}
.custom-checkbox > label::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00c";
	color: #fff;
	font-size: 16px;
	position: absolute;
	top: 1px;
	left: 5px;
	transition: .3s;
	opacity: 0;
	pointer-events: none;
}
.custom-checkbox > label:hover::before {
	background-color: #fff;
	box-shadow: 0 0 0 3px #e0e1fa;
}
.custom-checkbox input[type="checkbox"]:checked + label::before {
	border: 1px solid #120d8b;
	background-color: #120d8b;
}
.custom-checkbox input[type="checkbox"]:checked + label::after {
	opacity: 1;
}