input {
	outline: none;
	box-sizing: border-box;
}

.wrapper {
	width: 360px;
	background: #ffffff;
	padding: 30px 110px 20px 110px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.wrapper .input-data {
	height: 40px;
	width: 100%;
	margin-top: 5px;
	position: relative;
}

.wrapper .input-data input {
	height: 100%;
	width: 100%;
	border: none;
	font-size: 17px;
	border-bottom: 2px solid silver;
}

.input-data input:focus~label,
.input-data input:valid~label {
	transform: translateY(-22px);
	font-size: 15px;
	color: #4158d0;
}
.wrapper .input-data label {
	position: absolute;
	bottom: 10px;
	left: 0;
	color: grey;
	pointer-event: none;
	transition: all 0.3s ease;
}
.wrapper .input-data .underline {
	position: absolute;
	bottom: 0px;
	height: 2px;
	width: 100%;
}

.input-data .underline:before {
	position: absolute;
	content: "";
	height: 100%;
	width: 100%;
	background: #4158d0;
	transform: scaleX(0);
	transition: transform 0.35s ease;
}

.input-data input:focus~.underline:before,
.input-data input:valid~.underline:before {
	transform: scaleX(1);
}
