content has an opacity set on it of .8
This means every single tag inside #content has 100% opacity-- which, for them, equals only 80%. To them, their ancestor's .8 opacity is the most opaque anyone can ever achieve.
This is why setting a child to opacity: 1 doesn't "fix" this... the child believes it's already 1, or 100% of the 80%, because it is.
It's hard to notice on most of your other elements, but it's there.
You'll need to absolutely rethink your setup.
Also: how can I see the prices with the keyboard?