.group {
	position: relative;
	margin-bottom: 35px;
}
label {
	color: #fff;
	font-size: 18px;
	font-weight: normal;
	position: absolute;
	pointer-events: none;
	left: 5px;
	top: 10px;
	transition: 0.2s ease all;
	-moz-transition: 0.2s ease all;
	-webkit-transition: 0.2s ease all;
}
input:focus ~ label, input:valid ~ label {
 top:-20px;
 font-size:14px;
 color:#fff;
}
 select:focus ~ label, select:valid ~ label {
 top:-20px;
 font-size:14px;
 color:#fff;
}
.bar {
	position: relative;
	display: block;
	width: 100%;
}
.bar:before, .bar:after {
	content: '';
	height: 2px;
	width: 0;
	bottom: 1px;
	position: absolute;
	background: #fff;
	transition: 0.2s ease all;
	-moz-transition: 0.2s ease all;
	-webkit-transition: 0.2s ease all;
}
.bar:before {
	left: 50%;
}
.bar:after {
	right: 50%;
}
input:focus ~ .bar:before, input:focus ~ .bar:after {
	width: 50%;
}
.highlight {
	position: absolute;
	height: 60%;
	width: 100px;
	top: 25%;
	left: 0;
	pointer-events: none;
	opacity: 0.5;
}
input:focus ~ .highlight {
	-webkit-animation: inputHighlighter 0.3s ease;
	-moz-animation: inputHighlighter 0.3s ease;
	animation: inputHighlighter 0.3s ease;
}
@-webkit-keyframes inputHighlighter {
from {
background:#fff;
}
to {
width:0;
background:transparent;
}
}
@-moz-keyframes inputHighlighter {
from {
background:#fff;
}
to {
width:0;
background:transparent;
}
}
@keyframes inputHighlighter {
from {
background:#fff;
}
to {
width:0;
background:transparent;
}
}
