aligning the text in the middle (vertically)

the 40px just made it stick to the bottom. however, with 1em, you can change the height of the input and the text inside will always stay in the middle. (vertically)