If you put overflow hidden on a parent-element all child-elements inside it will get cut outside of its box.
By changing the value to overflow visible you are allowing the child-elements to be visible even if they are positioned outside of its parent.
For the line-height: If you have an element that is not a ‘td’ (or is displayed as a ‘td’ width css) you can’t use the style:vertical-align:middle. To achieve the same effect in this case you tell the text it is 36px high = the same as the circle. This will place the text in the middle of 36px’s.