It's possible that Opera, Chrome and Safari don't support that CSS. Looks like CSS3 to me. Some aspects of CSS3 are not supported in current browsers. I could be wrong, not having explored CSS3 that much, but that's my guess.
Any reason you are using Css and not jQuery?