/* Base for label styling */
	[type="radio"]:not(:checked),
	[type="radio"]:checked {
		position: absolute;
		left: -9999px;
	}
	[type="radio"]:not(:checked) + label,
	[type="radio"]:checked + label {
		position: relative;
		padding-left: 25px;
		cursor: pointer;
		font-size:12px;
		text-align:left;
		width:100%;
	}

	/* checkbox aspect */
	[type="radio"]:not(:checked) + label:before,
	[type="radio"]:checked + label:before {
		content: '';
		position: absolute;
		left:0; top: 2px;
		width: 13px; height: 13px;
		border: 1px solid #dbdee2;
		background: #fff;
		border-radius: 3px;
	}
	/* checked mark aspect */
	[type="radio"]:not(:checked) + label:after,
	[type="radio"]:checked + label:after {
		content: '✔';
		position: absolute;
		top: 0; left: 3px;
		font-size: 10px;
		color: #09ad7e;
		line-height: 1.75;
		-webkit-transition: all .2s;
		-moz-transition: all .2s;
		-ms-transition: all .2s;
		transition: all .2s;
	}
	/* checked mark aspect changes */
	[type="radio"]:not(:checked) + label:after {
		opacity: 0;
		-webkit-transform: scale(0);
		-moz-transform: scale(0);
		-ms-transform: scale(0);
		transform: scale(0);
	}
	[type="radio"]:checked + label:after {
		opacity: 1;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
	}
	/* disabled checkbox */
	[type="radio"]:disabled:not(:checked) + label:before,
	[type="radio"]:disabled:checked + label:before {
		box-shadow: none;
		border-color: #bbb;
		background-color: #ddd;
	}
	[type="radio"]:disabled:checked + label:after {
		color: #999;
	}
	[type="radio"]:disabled + label {
		color: #aaa;
	}
	/* accessibility */
	[type="radio"]:checked:focus + label:before,
	[type="radio"]:not(:checked):focus + label:before {
		border: 1px dotted blue;
	}
