<div class="container">
	<div class="todo_list">
		<ul>
			<li><!--TO DO ITEM START-->
				<label>
					<input type="checkbox" class="hidden_real_check"/>
					<div class="todo_element">
						
						<span class="customized_ckeck">
							<span class="checkbox">
								<span class='internal_one'></span>
								<span class='internal_two'></span>
							</span>
						</span>
						<span class="element_title">Something important to do</span>
					</div>
				</label>
			</li><!--TO DO ITEM END-->
			
			<li><!--TO DO ITEM START-->
				<label>
					<input type="checkbox" checked class="hidden_real_check"/>
					<div class="todo_element">
						
						<span class="customized_ckeck">
							<span class="checkbox">
								<span class='internal_one'></span>
								<span class='internal_two'></span>
							</span>
						</span>
						<span class="element_title">Another something</span>
					</div>
				</label>
			</li><!--TO DO ITEM END-->
			
			<li><!--TO DO ITEM START-->
				<label>
					<input type="checkbox" class="hidden_real_check"/>
					<div class="todo_element">
						
						<span class="customized_ckeck">
							<span class="checkbox">
								<span class='internal_one'></span>
								<span class='internal_two'></span>
							</span>
						</span>
						<span class="element_title">Get a new pencil</span>
					</div>
				</label>
			</li><!--TO DO ITEM END-->
			
			<li><!--TO DO ITEM START-->
				<label>
					<input type="checkbox" class="hidden_real_check"/>
					<div class="todo_element">
						
						<span class="customized_ckeck">
							<span class="checkbox">
								<span class='internal_one'></span>
								<span class='internal_two'></span>
							</span>
						</span>
						<span class="element_title">Finish some task today</span>
					</div>
				</label>
			</li><!--TO DO ITEM END-->
		</ul>
	</div>
</div>
body{
	background: #f5f5f5;
}

.container{
	width: 100%;
	max-width: 300px;
	margin: 50px auto;
}

.todo_list{
	background: #fff;
	box-shadow: 0 0 27px #ccc;
}

.todo_list ul {
	list-style: none;
	padding: 0;
}

.todo_list ul li label{
	display: block;
	position: relative;
	padding: 0 10px;
}

.hidden_real_check{
	width: 100%;
	height: 100%;
	opacity:0;
	position: absolute;
}

.todo_element{
	border-bottom: 1px solid #ddd;
	padding: 10px 0;
}
.todo_list ul li:last-child .todo_element{
	border-bottom: none;
}

.customized_ckeck{
	display: inline-flex;
	width: 15%;
	height: 2em;
	align-items: center;
	justify-content: flex-end;
}
.element_title{
	display: inline-block;
	width: 85%;
	height: 2em;
	float: right;
	font-family: 'Open Sans', sans-serif;
	line-height: 2em;
	position : relative;
	color:#333;
	letter-spacing:1px;
}

.element_title:after{
	content: '';
	position: absolute;
	top :50%;
	height: 2px;
	width: 0;
	background-image: linear-gradient(90deg, #4facfe, #00f2fe);
	left: -5px;
	z-index: 2;
	transition: 0.3s;
}

.element_title:before{
	content: '';
	position: absolute;
	top :0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255,255,255,0.7);
	z-index: 1;
	transition: 0.3s;
	opacity:0;
}

.todo_list ul li label .hidden_real_check:checked + .todo_element .element_title::after {width: 90%;}
.todo_list ul li label .hidden_real_check:checked + .todo_element .element_title::before {opacity: 1;}
.checkbox {
	width: 25px;
	height: 25px;
	margin-right:5px;
	position: relative;
	transition: 0.1s;
	transition-delay: 0.3s;
}
.checkbox span[class*='internal_'] {
	position: absolute;
	top: 0; right: 0; left: 0; bottom: 0;
}
.checkbox:after{
	content: '✔';
	position: absolute;
	top:0; left: 2px; right: -2px; bottom: 0;
	display: flex;
	align-items: center;
	justify-content:center;
	color: #4facfe;
	transform: scale(0);
	transition: 0.4s;
}
.checkbox:before{
	content: '';
	position: absolute;
	top:0; left: 2px; right: -2px; bottom: 0;
	border-radius:50%;
	border : 5px dotted #4facfe;
	transform: scale(0) rotate(0);
	transition: 0.5s;
	transition-delay: 0.3s;
}
.checkbox span[class*='internal_']::after, .checkbox span[class*='internal_']::before{
	content: '';
	position: absolute;
	top: 0px; left: 2px;
	height: 100%;
	width: 100%;
	border-radius:50%;
	border: 2px solid transparent;
	transform: rotate(45deg);
	box-sizing: border-box;
}
.checkbox span.internal_one::after{
	border-top-color:#4facfe !important;
	transition: 0.4s;
}
.checkbox span.internal_one::before{
	border-left-color:#4facfe !important;
	transition: 0.3s;
	transition-delay:0.1s;
}
.checkbox span.internal_two::after{
	border-bottom-color:#4facfe !important;
	transition: 0.2s;
	transition-delay:0.2s;
}
.checkbox span.internal_two::before{
	border-right-color:#4facfe !important;
	transition: 0.1s;
	transition-delay:0.3s;
}
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox .internal_one:after{
	transform: rotate(-225deg);
}
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox .internal_one:before{
	transform: rotate(-135deg);
}
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox .internal_two:after{
	transform: rotate(-45deg);
}
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox span[class*='internal_']:after,
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox span[class*='internal_']:before{
	border-color: transparent !important;
}
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox:after {
	transform : scale(1);
}
.todo_list ul li label .hidden_real_check:checked + .todo_element .checkbox:before {
	transform : scale(1.6) rotate(-90deg);
	opacity: 0;
} 

External CSS

  1. https://fonts.googleapis.com/css?family=Open+Sans

External JavaScript

This Pen doesn't use any external JavaScript resources.