:root{
}

input[type="checkbox"]{	
	display:-webkit-box;	
	display:-ms-flexbox;	
	display:flex;
	min-width:1.2rem;
	height:1.2rem;
	margin:3px;
}

input[type="checkbox"]:before{		
		width:1.2rem;
		height:1.2rem;
		content:' ';
		display:inline-block;
		background-color:white;		

		-webkit-transition-timing-function:cubic-bezier(.075, .820, .165, 1);		

		-o-transition-timing-function:cubic-bezier(.075, .820, .165, 1);		

		transition-timing-function:cubic-bezier(.075, .820, .165, 1);
		-webkit-transition-duration:.5s;
		-o-transition-duration:.5s;
		transition-duration:.5s;
		-webkit-transition-property:background-color, border-color;
		-o-transition-property:background-color, border-color;
		transition-property:background-color, border-color;

		border:2px solid transparent;
		border-radius:2px;		
		outline:max(2px, 0.15em) solid currentColor;		
	}

input[type="checkbox"]:hover{
		cursor:pointer;
	}

input[type="checkbox"]:hover:before{
			outline-color:#3d92c4;
		}

input[type="checkbox"]:checked:hover:before{
			outline-color:#3d92c4;
		}

input[type="checkbox"]:checked:before{
			background-color:#3d92c4;
  		border-color:white;
		}

input[type="checkbox"]:disabled{
		cursor:not-allowed;
	}

input[type="checkbox"]:disabled:before{
			outline-color:#5d7585;
		}

input[type="checkbox"]:disabled:checked:before{
			background-color:#5d7585;
		}

input[type="checkbox"]:focus:before{
		outline-color:#0d77b5;
	}

input[type="checkbox"]:focus-visible{
		border:none;
		outline:none;
	}

input[type="checkbox"]:focus-visible:before{
			outline:3px solid #0d77b5;
		}
