With the background you are using, with colors ranging from white to black, there is virtually NO font color that is going to make things legible in all cases.
You can do something like a transparent background to the content area such as the following, but the problem is that not all browsers understand this so most IE users will see just a solid white background (thanks Microsoft for being sooooo far behind the rest of the world).
background-color: rgba(255, 255, 255, 0.7);
Another line can be added to the above to catch most of IE, but I don't have it handy. If you decide to go this way, I'll work up the code for IE.