.my-input {
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
}

.my-input label {
    opacity: 0.5;
    position: absolute;
    -moz-transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
    -o-transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
    -webkit-transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
    transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    transform: translate(4px, 6px);
    pointer-events: none;
    float: left;
    left: 16px;
}

.my-input input:focus ~ label, .my-input input:not([value=""]) ~ label, .my-input input[type="checkbox"] ~ label {
    bottom: initial;
    opacity: 1;
    -moz-transform: translate(4px, 0px);
    -ms-transform: translate(4px, 0px);
    -webkit-transform: translate(4px, 0px);
    transform: translate(0px, -16px);
    font-size: x-small;
}

.my-input input {
    height: 25px;
    width: 100%;
}

.my-input input[type="checkbox"] {
	height: initial;
    width: initial;
}

.my-input input[type=date]::-webkit-datetime-edit {
    opacity: 0;
}

.my-input input[type=date]:focus::-webkit-datetime-edit, .my-input input:not([value=""])::-webkit-datetime-edit {
    opacity: 1;
}

.my-input:first-of-type {
    padding-top: 16px;
}

.my-input:last-of-type {
    padding-bottom: 16px;
}